|
@@ -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);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
}
|