Quellcode durchsuchen

运费模板管理增加店铺商户ID

杨展威 vor 1 Jahr
Ursprung
Commit
636d83ab66

+ 6 - 0
feifan-module-mall/feifan-module-trade-biz/pom.xml

@@ -108,6 +108,12 @@
             <artifactId>feifan-spring-boot-starter-biz-dict</artifactId>
         </dependency>
 
+        <dependency>
+            <groupId>cn.newfeifan.zx</groupId>
+            <artifactId>feifan-module-system-biz</artifactId>
+            <version>${revision}</version>
+        </dependency>
+
     </dependencies>
 
 </project>

+ 3 - 1
feifan-module-mall/feifan-module-trade-biz/src/main/java/cn/newfeifan/mall/module/trade/controller/admin/delivery/DeliveryExpressTemplateController.java

@@ -44,6 +44,8 @@ public class DeliveryExpressTemplateController {
         return success(true);
     }
 
+
+
     @DeleteMapping("/delete")
     @Operation(summary = "删除快递运费模板")
     @Parameter(name = "id", description = "编号", required = true)
@@ -54,7 +56,7 @@ public class DeliveryExpressTemplateController {
     }
 
     @GetMapping("/get")
-        @Operation(summary = "获得快递运费模板")
+    @Operation(summary = "获得快递运费模板")
     @Parameter(name = "id", description = "编号", required = true, example = "1024")
     @PreAuthorize("@ss.hasPermission('trade:delivery:express-template:query')")
     public CommonResult<DeliveryExpressTemplateDetailRespVO> getDeliveryExpressTemplate(@RequestParam("id") Long id) {

+ 9 - 0
feifan-module-mall/feifan-module-trade-biz/src/main/java/cn/newfeifan/mall/module/trade/controller/admin/delivery/vo/expresstemplate/ShopBO.java

@@ -0,0 +1,9 @@
+package cn.newfeifan.mall.module.trade.controller.admin.delivery.vo.expresstemplate;
+
+import lombok.Data;
+
+@Data
+public class ShopBO {
+    private Long shopId;
+    private Long merId;
+}

+ 8 - 0
feifan-module-mall/feifan-module-trade-biz/src/main/java/cn/newfeifan/mall/module/trade/dal/dataobject/delivery/DeliveryExpressTemplateDO.java

@@ -41,6 +41,14 @@ public class DeliveryExpressTemplateDO extends BaseDO {
     private Integer sort;
 
 
+    /**
+     * 店铺id
+     */
     private Long shopId;
 
+    /**
+     * 商户id
+     */
+    private Long merchantId;
+
 }

+ 0 - 1
feifan-module-mall/feifan-module-trade-biz/src/main/java/cn/newfeifan/mall/module/trade/service/delivery/DeliveryExpressTemplateService.java

@@ -91,5 +91,4 @@ public interface DeliveryExpressTemplateService {
      * @return Map (templateId -> 运费模板设置)
      */
     Map<Long, DeliveryExpressTemplateRespBO> getExpressTemplateMapByIdsAndArea(Collection<Long> ids, Integer areaId);
-
 }

+ 41 - 1
feifan-module-mall/feifan-module-trade-biz/src/main/java/cn/newfeifan/mall/module/trade/service/delivery/DeliveryExpressTemplateServiceImpl.java

@@ -5,6 +5,8 @@ import cn.hutool.core.lang.Assert;
 import cn.hutool.core.util.ObjectUtil;
 import cn.newfeifan.mall.framework.common.pojo.PageResult;
 import cn.newfeifan.mall.framework.common.util.collection.CollectionUtils;
+import cn.newfeifan.mall.module.system.dal.dataobject.user.AdminUserDO;
+import cn.newfeifan.mall.module.system.dal.mysql.user.AdminUserMapper;
 import cn.newfeifan.mall.module.trade.controller.admin.delivery.vo.expresstemplate.*;
 import cn.newfeifan.mall.module.trade.dal.dataobject.delivery.DeliveryExpressTemplateChargeDO;
 import cn.newfeifan.mall.module.trade.dal.dataobject.delivery.DeliveryExpressTemplateDO;
@@ -13,6 +15,10 @@ import cn.newfeifan.mall.module.trade.dal.mysql.delivery.DeliveryExpressTemplate
 import cn.newfeifan.mall.module.trade.dal.mysql.delivery.DeliveryExpressTemplateFreeMapper;
 import cn.newfeifan.mall.module.trade.dal.mysql.delivery.DeliveryExpressTemplateMapper;
 import cn.newfeifan.mall.module.trade.service.delivery.bo.DeliveryExpressTemplateRespBO;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.data.redis.core.StringRedisTemplate;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.validation.annotation.Validated;
@@ -22,6 +28,7 @@ import java.util.*;
 
 import static cn.newfeifan.mall.framework.common.exception.util.ServiceExceptionUtil.exception;
 import static cn.newfeifan.mall.framework.common.util.collection.CollectionUtils.*;
+import static cn.newfeifan.mall.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId;
 import static cn.newfeifan.mall.module.trade.convert.delivery.DeliveryExpressTemplateConvert.INSTANCE;
 import static cn.newfeifan.mall.module.trade.enums.ErrorCodeConstants.EXPRESS_TEMPLATE_NAME_DUPLICATE;
 import static cn.newfeifan.mall.module.trade.enums.ErrorCodeConstants.EXPRESS_TEMPLATE_NOT_EXISTS;
@@ -41,6 +48,12 @@ public class DeliveryExpressTemplateServiceImpl implements DeliveryExpressTempla
     private DeliveryExpressTemplateChargeMapper expressTemplateChargeMapper;
     @Resource
     private DeliveryExpressTemplateFreeMapper expressTemplateFreeMapper;
+    @Resource
+    private StringRedisTemplate stringRedisTemplate;
+
+    @Resource
+    private AdminUserMapper userMapper;
+
 
     @Override
     @Transactional(rollbackFor = Exception.class)
@@ -50,6 +63,9 @@ public class DeliveryExpressTemplateServiceImpl implements DeliveryExpressTempla
 
         // 插入
         DeliveryExpressTemplateDO template = INSTANCE.convert(createReqVO);
+        ShopBO shop = getShop();
+        template.setShopId(shop.getShopId());
+        template.setMerchantId(shop.getMerId());
         expressTemplateMapper.insert(template);
         // 插入运费模板计费表
         if (CollUtil.isNotEmpty(createReqVO.getCharges())) {
@@ -66,6 +82,7 @@ public class DeliveryExpressTemplateServiceImpl implements DeliveryExpressTempla
         return template.getId();
     }
 
+
     @Override
     @Transactional(rollbackFor = Exception.class)
     public void updateDeliveryExpressTemplate(DeliveryExpressTemplateUpdateReqVO updateReqVO) {
@@ -147,7 +164,12 @@ public class DeliveryExpressTemplateServiceImpl implements DeliveryExpressTempla
      * @param id   运费模板编号,可以为 null
      */
     private void validateTemplateNameUnique(String name, Long id) {
-        DeliveryExpressTemplateDO template = expressTemplateMapper.selectByName(name);
+        ShopBO shop = getShop();
+        QueryWrapper<DeliveryExpressTemplateDO> queryWrapper = new QueryWrapper<>();
+        queryWrapper.lambda()
+                .eq(DeliveryExpressTemplateDO::getShopId,shop.getShopId())
+                .eq(DeliveryExpressTemplateDO::getName,name);
+        DeliveryExpressTemplateDO template = expressTemplateMapper.selectOne(queryWrapper);
         if (template == null) {
             return;
         }
@@ -186,6 +208,8 @@ public class DeliveryExpressTemplateServiceImpl implements DeliveryExpressTempla
 
     @Override
     public PageResult<DeliveryExpressTemplateDO> getDeliveryExpressTemplatePage(DeliveryExpressTemplatePageReqVO pageReqVO) {
+        ShopBO shop = getShop();
+        pageReqVO.setShopId(shop.getShopId());
         return expressTemplateMapper.selectPage(pageReqVO);
     }
 
@@ -215,4 +239,20 @@ public class DeliveryExpressTemplateServiceImpl implements DeliveryExpressTempla
         return INSTANCE.convertMap(areaId, templateList, chargeList, freeList);
     }
 
+    private ShopBO getShop() {
+        Long loginUserId = getLoginUserId();
+        String s = stringRedisTemplate.opsForValue().get("shop:" + loginUserId);
+        if (StringUtils.isEmpty(s)) {
+            AdminUserDO adminUserDO = userMapper.selectById(loginUserId);
+            ShopBO shop = new ShopBO();
+            shop.setShopId(adminUserDO.getShopId());
+            shop.setMerId(adminUserDO.getMerchantId());
+            return shop;
+        } else {
+           return JSONObject.parseObject(s, ShopBO.class);
+        }
+    }
+
+
+
 }

+ 3 - 0
feifan-module-system/feifan-module-system-biz/src/main/java/cn/newfeifan/mall/module/system/dal/dataobject/user/AdminUserDO.java

@@ -110,6 +110,9 @@ public class AdminUserDO extends TenantBaseDO {
      */
     private Long shopId;
 
+    /**
+     * 店铺id
+     */
     private Long merchantId;