Browse Source

商家新增PC商城域名、移动端商城域名配置业务

multiwx
dy-hu 10 months ago
parent
commit
8f8b6835bb
  1. 2
      cereshop-app/src/main/java/com/shop/cereshop/app/dao/business/CerePlatformBusinessDAO.java
  2. 35
      cereshop-app/src/main/java/com/shop/cereshop/app/interceptor/AuthorizationInterceptor.java
  3. 4
      cereshop-app/src/main/resources/mybatis/mapper/business/CerePlatformBusinessDAO.xml
  4. 12
      cereshop-commons/src/main/java/com/shop/cereshop/commons/domain/business/CerePlatformBusiness.java
  5. 2
      doc/3.0/update.sql

2
cereshop-app/src/main/java/com/shop/cereshop/app/dao/business/CerePlatformBusinessDAO.java

@ -35,4 +35,6 @@ public interface CerePlatformBusinessDAO extends BaseMapper<CerePlatformBusiness
CerePlatformBusiness checkBusinessIdByPhone(@Param("businessPhone") String businessPhone, @Param("businessid") Long businessid);
CerePlatformBusiness findByDomain(@Param("domain") String domain);
}

35
cereshop-app/src/main/java/com/shop/cereshop/app/interceptor/AuthorizationInterceptor.java

@ -7,12 +7,14 @@ package com.shop.cereshop.app.interceptor;
import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson.JSON;
import com.shop.cereshop.app.dao.business.CerePlatformBusinessDAO;
import com.shop.cereshop.app.redis.service.api.UserRedisService;
import com.shop.cereshop.app.service.buyer.CereBuyerUserService;
import com.shop.cereshop.app.utils.ContextUtil;
import com.shop.cereshop.app.utils.TokenProvider;
import com.shop.cereshop.commons.config.SecurityProperties;
import com.shop.cereshop.commons.constant.CoReturnFormat;
import com.shop.cereshop.commons.domain.business.CerePlatformBusiness;
import com.shop.cereshop.commons.domain.buyer.CereBuyerUser;
import com.shop.cereshop.commons.result.Result;
import com.shop.cereshop.commons.utils.EmptyUtils;
@ -48,6 +50,9 @@ public class AuthorizationInterceptor extends HandlerInterceptorAdapter {
@Autowired
private TokenProvider tokenProvider;
@Autowired
private CerePlatformBusinessDAO cerePlatformBusinessDAO;
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
Result result = new Result();
@ -118,7 +123,20 @@ public class AuthorizationInterceptor extends HandlerInterceptorAdapter {
}
}
String project = request.getHeader("project");
String project = "";
//获取访问的二级域名
String subDomain = getSubDomain(request);
if (ObjectUtil.isNotEmpty(subDomain)){
//从商家设置的商城访问域名表中获取商家id即project
CerePlatformBusiness business = cerePlatformBusinessDAO.findByDomain(subDomain);
if (ObjectUtil.isNotEmpty(business)){
project = String.valueOf(business.getBusinessId());
}
}else {
project = request.getHeader("project");
}
if (EmptyUtils.isEmpty(project) || project.equals("undefined")) {
project = "0";
}
@ -178,4 +196,19 @@ public class AuthorizationInterceptor extends HandlerInterceptorAdapter {
//防止乱码适用于传输JSON数据
response.setHeader("Content-Type", "application/json;charset=UTF-8");
}
/**
* 获取访问的二级域名如subdomain.example.com获取的是subdomain
* @param request
* @return
*/
private String getSubDomain(HttpServletRequest request) {
String host = request.getHeader("Host");
String[] parts = host.split("\\.");
if (parts.length >= 3){
return parts[0];
}
return "";
}
}

4
cereshop-app/src/main/resources/mybatis/mapper/business/CerePlatformBusinessDAO.xml

@ -321,4 +321,8 @@
<select id="checkBusinessIdByPhone" resultType="com.shop.cereshop.commons.domain.business.CerePlatformBusiness">
SELECT business_id FROM cere_platform_business where business_phone=#{businessPhone} and business_id<![CDATA[!= ]]>#{businessId}
</select>
<select id="findByDomain" resultType="com.shop.cereshop.commons.domain.business.CerePlatformBusiness">
SELECT business_id FROM cere_platform_business where pc_domain=#{domain} or mobile_domain=#{domain}
</select>
</mapper>

12
cereshop-commons/src/main/java/com/shop/cereshop/commons/domain/business/CerePlatformBusiness.java

@ -191,6 +191,18 @@ public class CerePlatformBusiness implements Serializable {
@ApiModelProperty(value = "分账账期")
private Integer shareDays;
/**
* PC端商城域名
*/
@ApiModelProperty(value = "PC端商城域名")
private String pcDomain;
/**
* 移动端商城域名
*/
@ApiModelProperty(value = "移动端商城域名")
private String mobileDomain;
private static final long serialVersionUID = 1L;

2
doc/3.0/update.sql

@ -287,3 +287,5 @@ ALTER TABLE `cere_shop_product_lang_info` MODIFY COLUMN `product_brief` varchar(
ALTER TABLE `cere_shop_product` MODIFY COLUMN `classify_id` bigint DEFAULT NULL COMMENT '关联分类id';
ALTER TABLE cere_platform_shop ADD shop_type tinyint(1) DEFAULT 1 COMMENT '店铺类型 1国内贸易 2跨境保税 3海外直邮';
ALTER TABLE cere_platform_business ADD pc_domain varchar(128) DEFAULT '' COMMENT 'pc端商城域名';
ALTER TABLE cere_platform_business ADD mobile_domain varchar(128) DEFAULT '' COMMENT '移动端商城域名';
Loading…
Cancel
Save