diff --git a/framework/src/main/java/cn/lili/common/cache/CachePrefix.java b/framework/src/main/java/cn/lili/common/cache/CachePrefix.java index 49d4fc13..e2734e35 100644 --- a/framework/src/main/java/cn/lili/common/cache/CachePrefix.java +++ b/framework/src/main/java/cn/lili/common/cache/CachePrefix.java @@ -177,7 +177,7 @@ public enum CachePrefix { /** * 店铺管理员角色权限对照表 */ - SHOP_URL_ROLE, + STORE_URL_ROLE, /** * 手机验证标识 @@ -449,7 +449,12 @@ public enum CachePrefix { /** * 文章 */ - ARTICLE_CACHE + ARTICLE_CACHE, + + /** + * 店铺分类 + */ + STORE_CATEGORY ; diff --git a/framework/src/main/java/cn/lili/common/enums/ResultCode.java b/framework/src/main/java/cn/lili/common/enums/ResultCode.java index f1cffc46..3e05417f 100644 --- a/framework/src/main/java/cn/lili/common/enums/ResultCode.java +++ b/framework/src/main/java/cn/lili/common/enums/ResultCode.java @@ -338,6 +338,7 @@ public enum ResultCode { STORE_APPLY_DOUBLE_ERROR(50003, "已有店铺,无需重复申请!"), STORE_NOT_OPEN(50004, "该会员未开通店铺"), STORE_NOT_LOGIN_ERROR(50005, "未登录店铺"), + STORE_CLOSE_ERROR(50006, "店铺关闭,请联系管理员"), /** * 结算单 diff --git a/framework/src/main/java/cn/lili/modules/distribution/serviceimpl/DistributionOrderServiceImpl.java b/framework/src/main/java/cn/lili/modules/distribution/serviceimpl/DistributionOrderServiceImpl.java index 4b64ab99..e30bedb0 100644 --- a/framework/src/main/java/cn/lili/modules/distribution/serviceimpl/DistributionOrderServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/distribution/serviceimpl/DistributionOrderServiceImpl.java @@ -2,6 +2,7 @@ package cn.lili.modules.distribution.serviceimpl; import cn.hutool.core.date.DateField; import cn.hutool.core.date.DateTime; +import cn.hutool.json.JSONUtil; import cn.lili.common.utils.CurrencyUtil; import cn.lili.common.utils.PageUtil; import cn.lili.modules.distribution.entity.dos.Distribution; @@ -13,8 +14,12 @@ import cn.lili.modules.distribution.service.DistributionOrderService; import cn.lili.modules.distribution.service.DistributionService; import cn.lili.modules.order.order.entity.dos.Order; import cn.lili.modules.order.order.entity.dos.StoreFlow; +import cn.lili.modules.order.order.entity.enums.PayStatusEnum; import cn.lili.modules.order.order.service.OrderService; import cn.lili.modules.order.order.service.StoreFlowService; +import cn.lili.modules.system.entity.dos.Setting; +import cn.lili.modules.system.entity.dto.DistributionSetting; +import cn.lili.modules.system.entity.enums.SettingEnum; import cn.lili.modules.system.service.SettingService; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; @@ -56,6 +61,13 @@ public class DistributionOrderServiceImpl extends ServiceImpl storeFlowList = storeFlowService.list(new LambdaQueryWrapper() .eq(StoreFlow::getOrderSn, orderSn) .isNotNull(StoreFlow::getDistributionRebate)); - Double rebate=0.0; + Double rebate = 0.0; //循环店铺流水记录判断是否包含分销商品 //包含分销商品则进行记录分销订单、计算分销总额 for (StoreFlow storeFlow : storeFlowList) { - rebate=CurrencyUtil.add(rebate,storeFlow.getDistributionRebate()); + rebate = CurrencyUtil.add(rebate, storeFlow.getDistributionRebate()); DistributionOrder distributionOrder = new DistributionOrder(storeFlow); distributionOrder.setDistributionId(order.getDistributionId()); //分销员信息 @@ -80,26 +92,59 @@ public class DistributionOrderServiceImpl extends ServiceImpl distributionOrderList = this.list(new LambdaQueryWrapper() + .eq(DistributionOrder::getOrderSn, orderSn)); + + //分销金额 + Double rebate = 0.0; + + //包含分销商品则进行记录分销订单、计算分销总额 + for (DistributionOrder distributionOrder : distributionOrderList) { + rebate = CurrencyUtil.add(rebate, distributionOrder.getRebate()); + } + + //如果包含分销商品则记录会员的分销总额 + if (rebate != 0.0) { + distributionService.addRebate(CurrencyUtil.sub(0, rebate), order.getDistributionId()); + } + } + + //修改分销订单的状态 this.update(new LambdaUpdateWrapper().eq(DistributionOrder::getOrderSn, orderSn) .set(DistributionOrder::getDistributionOrderStatus, DistributionOrderStatusEnum.CANCEL.name())); + } @Override @@ -117,18 +162,15 @@ public class DistributionOrderServiceImpl extends ServiceImpl().eq(DistributionOrder::getOrderItemSn, storeFlow.getOrderItemSn()) + if (distributionOrder.getDistributionOrderStatus().equals(DistributionOrderStatusEnum.CANCEL.name())) { + return; + } else if (distributionOrder.getDistributionOrderStatus().equals(DistributionOrderStatusEnum.WAIT_BILL.name())) { + this.update(new LambdaUpdateWrapper() + .eq(DistributionOrder::getOrderItemSn, storeFlow.getOrderItemSn()) .set(DistributionOrder::getDistributionOrderStatus, DistributionOrderStatusEnum.CANCEL.name())); - }else{ - //创建分销退款订单 - DistributionOrder backDistributionOrder = new DistributionOrder(); - - this.save(backDistributionOrder); + } else { //修改分销员提成金额 - distributionService.subCanRebate(CurrencyUtil.sub(0,storeFlow.getDistributionRebate()),distributionOrder.getDistributionId()); + distributionService.subCanRebate(CurrencyUtil.sub(0, storeFlow.getDistributionRebate()), distributionOrder.getDistributionId()); } } } diff --git a/framework/src/main/java/cn/lili/modules/goods/serviceimpl/GoodsSkuServiceImpl.java b/framework/src/main/java/cn/lili/modules/goods/serviceimpl/GoodsSkuServiceImpl.java index e6361cd3..4f4446d5 100644 --- a/framework/src/main/java/cn/lili/modules/goods/serviceimpl/GoodsSkuServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/goods/serviceimpl/GoodsSkuServiceImpl.java @@ -227,8 +227,8 @@ public class GoodsSkuServiceImpl extends ServiceImpl i map.put("promotionMap", goodsIndex.getPromotionMap()); //获取参数信息 - if(goodsVO.getGoodsParamsDTOList().size()>0){ - map.put("goodsParamsDTOList",goodsVO.getGoodsParamsDTOList()); + if (goodsVO.getGoodsParamsDTOList() != null && goodsVO.getGoodsParamsDTOList().size() > 0) { + map.put("goodsParamsDTOList", goodsVO.getGoodsParamsDTOList()); } //记录用户足迹 @@ -628,7 +628,9 @@ public class GoodsSkuServiceImpl extends ServiceImpl i if (spec.getValue() != null && StringUtils.isNotEmpty(spec.getValue().toString())) { thumbnail = goodsGalleryService.getGoodsGallery(images.get(0).get("url")).getThumbnail(); small = goodsGalleryService.getGoodsGallery(images.get(0).get("url")).getSmall(); - } else { + } + } else { + if (spec.getValue() != null) { //设置商品名称 goodsName.append(" ").append(spec.getValue()); //规格简短信息 diff --git a/framework/src/main/java/cn/lili/modules/member/serviceimpl/MemberServiceImpl.java b/framework/src/main/java/cn/lili/modules/member/serviceimpl/MemberServiceImpl.java index 0f88afc6..273549ec 100644 --- a/framework/src/main/java/cn/lili/modules/member/serviceimpl/MemberServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/member/serviceimpl/MemberServiceImpl.java @@ -145,7 +145,7 @@ public class MemberServiceImpl extends ServiceImpl impleme if (member.getHaveStore()) { Store store = storeService.getById(member.getStoreId()); if (!store.getStoreDisable().equals(StoreStatusEnum.OPEN.name())) { - throw new ServiceException(ResultCode.USER_NOT_EXIST); + throw new ServiceException(ResultCode.STORE_CLOSE_ERROR); } } else { throw new ServiceException(ResultCode.USER_NOT_EXIST); diff --git a/framework/src/main/java/cn/lili/modules/order/order/mapper/OrderMapper.java b/framework/src/main/java/cn/lili/modules/order/order/mapper/OrderMapper.java index 081f4ae4..4c14bf22 100644 --- a/framework/src/main/java/cn/lili/modules/order/order/mapper/OrderMapper.java +++ b/framework/src/main/java/cn/lili/modules/order/order/mapper/OrderMapper.java @@ -41,7 +41,7 @@ public interface OrderMapper extends BaseMapper { @Select("SELECT o.sn,o.create_time,o.member_name,o.consignee_name,o.consignee_mobile,o.consignee_address_path,o.consignee_detail," + "o.payment_method, o.logistics_name,o.freight_price,o.goods_price,o.discount_price,o.flow_price,oi.goods_name,oi.num," + - "o.remark,o.order_status,o.pay_status,o.deliver_status,o.need_receipt,o.store_name FROM li_order_item oi INNER JOIN li_order o ON oi.order_sn=o.sn") + "o.remark,o.order_status,o.pay_status,o.deliver_status,o.need_receipt,o.store_name FROM li_order_item oi INNER JOIN li_order o ON oi.order_sn=o.sn ${ew.customSqlSegment}") List queryExportOrder(@Param(Constants.WRAPPER) Wrapper queryWrapper); @Select("select * from li_order ${ew.customSqlSegment} ") diff --git a/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/PromotionServiceImpl.java b/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/PromotionServiceImpl.java index 3f0e520e..24a23d6a 100644 --- a/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/PromotionServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/PromotionServiceImpl.java @@ -1,12 +1,12 @@ package cn.lili.modules.promotion.serviceimpl; import cn.hutool.core.date.DateTime; +import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.json.JSONUtil; import cn.lili.common.enums.ResultCode; import cn.lili.common.trigger.message.PromotionMessage; import cn.lili.common.exception.ServiceException; -import cn.lili.common.utils.DateUtil; import cn.lili.modules.order.cart.entity.vo.FullDiscountVO; import cn.lili.modules.promotion.entity.dos.*; import cn.lili.modules.promotion.entity.enums.*; @@ -17,7 +17,6 @@ import cn.lili.modules.search.service.EsGoodsIndexService; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; -import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.mongodb.core.MongoTemplate; @@ -365,8 +364,17 @@ public class PromotionServiceImpl implements PromotionService { this.throwPromotionException(promotionTypeEnum, promotionMessage.getPromotionId(), promotionMessage.getPromotionStatus()); return false; } + + //修改活动状态 seckill.setPromotionStatus(promotionMessage.getPromotionStatus()); result = this.seckillService.update(promotionMessage.updateWrapper()); + + //判断参与活动的商品是否为空,如果为空则返回 + if(seckill.getSeckillApplyList()==null){ + return result; + } + + //循环秒杀商品数据,将数据按照时间段进行存储 for (SeckillApply seckillApply : seckill.getSeckillApplyList()) { if (seckillApply.getPromotionApplyStatus().equals(PromotionApplyStatusEnum.PASS.name())) { //下一个时间,默认为当天结束时间 @@ -383,12 +391,12 @@ public class PromotionServiceImpl implements PromotionService { } } Seckill seckill1 = JSONUtil.toBean(JSONUtil.toJsonStr(seckill), Seckill.class); - String format = cn.hutool.core.date.DateUtil.format(seckill.getStartTime(), DateUtil.STANDARD_DATE_FORMAT); - DateTime parseStartTime = cn.hutool.core.date.DateUtil.parse((format + " " + seckillApply.getTimeLine()), "yyyy-MM-dd HH"); - DateTime parseEndTime = cn.hutool.core.date.DateUtil.parse((format + " " + nextHour), "yyyy-MM-dd HH"); + String format = DateUtil.format(seckill.getStartTime(), cn.lili.common.utils.DateUtil.STANDARD_DATE_FORMAT); + DateTime parseStartTime = DateUtil.parse((format + " " + seckillApply.getTimeLine()), "yyyy-MM-dd HH"); + DateTime parseEndTime = DateUtil.parse((format + " " + nextHour), "yyyy-MM-dd HH"); //如果是当天最后的时间段则设置到当天结束时间的59分59秒 if (nextHour == seckillApply.getTimeLine()) { - parseEndTime = cn.hutool.core.date.DateUtil.parse((format + " " + nextHour + ":59:59"), DateUtil.STANDARD_FORMAT); + parseEndTime = DateUtil.parse((format + " " + nextHour + ":59:59"), cn.lili.common.utils.DateUtil.STANDARD_FORMAT); } seckill1.setStartTime(parseStartTime); //当时商品的秒杀活动活动结束时间为下个时间段的开始 diff --git a/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/SeckillServiceImpl.java b/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/SeckillServiceImpl.java index 6faa260d..3f759076 100644 --- a/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/SeckillServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/SeckillServiceImpl.java @@ -19,6 +19,7 @@ import cn.lili.modules.promotion.entity.dos.Seckill; import cn.lili.modules.promotion.entity.dos.SeckillApply; import cn.lili.modules.promotion.entity.enums.PromotionStatusEnum; import cn.lili.modules.promotion.entity.enums.PromotionTypeEnum; +import cn.lili.modules.promotion.entity.enums.SeckillApplyStatusEnum; import cn.lili.modules.promotion.entity.vos.SeckillSearchParams; import cn.lili.modules.promotion.entity.vos.SeckillVO; import cn.lili.modules.promotion.mapper.SeckillMapper; @@ -111,6 +112,17 @@ public class SeckillServiceImpl extends ServiceImpl impl @Override public void init() { + //清除演示数据 + + List seckillList=list(); + for (Seckill seckill: seckillList) { + this.timeTrigger.delete(TimeExecuteConstant.PROMOTION_EXECUTOR, + seckill.getStartTime().getTime(), + DelayQueueTools.wrapperUniqueKey(DelayTypeEnums.PROMOTION, (PromotionTypeEnum.SECKILL.name() + seckill.getId())), + rocketmqCustomProperties.getPromotionTopic()); + this.removeById(seckill.getId()); + } + Setting setting = settingService.get(SettingEnum.SECKILL_SETTING.name()); SeckillSetting seckillSetting = new Gson().fromJson(setting.getSettingValue(), SeckillSetting.class); for (int i=1;i<=30;i++){ @@ -124,6 +136,9 @@ public class SeckillServiceImpl extends ServiceImpl impl SeckillVO seckillVO=new SeckillVO(); BeanUtil.copyProperties(seckill,seckillVO); + + seckillVO.setSeckillApplyStatus(SeckillApplyStatusEnum.NOT_APPLY.name()); + seckillVO.setSeckillApplyList(null); //检查秒杀活动参数 checkSeckillParam(seckillVO, seckill.getStoreId()); //保存到MYSQL中 diff --git a/framework/src/main/java/cn/lili/modules/store/service/StoreGoodsLabelService.java b/framework/src/main/java/cn/lili/modules/store/service/StoreGoodsLabelService.java index 7ba4c0f9..2a886deb 100644 --- a/framework/src/main/java/cn/lili/modules/store/service/StoreGoodsLabelService.java +++ b/framework/src/main/java/cn/lili/modules/store/service/StoreGoodsLabelService.java @@ -22,13 +22,6 @@ public interface StoreGoodsLabelService extends IService { */ List listByStoreId(String storeId); - /** - * 获取当前店铺的店铺分类列表 - * - * @return 店铺分类列表 - */ - List listByStore(); - /** * 添加商品分类 * diff --git a/framework/src/main/java/cn/lili/modules/store/serviceimpl/StoreGoodsLabelServiceImpl.java b/framework/src/main/java/cn/lili/modules/store/serviceimpl/StoreGoodsLabelServiceImpl.java index 38f69fee..72b1513e 100644 --- a/framework/src/main/java/cn/lili/modules/store/serviceimpl/StoreGoodsLabelServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/store/serviceimpl/StoreGoodsLabelServiceImpl.java @@ -1,7 +1,10 @@ package cn.lili.modules.store.serviceimpl; +import cn.lili.common.cache.Cache; +import cn.lili.common.cache.CachePrefix; import cn.lili.common.security.AuthUser; import cn.lili.common.security.context.UserContext; +import cn.lili.modules.goods.entity.vos.CategoryVO; import cn.lili.modules.store.entity.dos.StoreGoodsLabel; import cn.lili.modules.store.entity.vos.StoreGoodsLabelVO; import cn.lili.modules.store.mapper.StoreGoodsLabelMapper; @@ -10,10 +13,12 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.ArrayList; +import java.util.Comparator; import java.util.List; /** @@ -26,11 +31,21 @@ import java.util.List; @Transactional(rollbackFor = Exception.class) public class StoreGoodsLabelServiceImpl extends ServiceImpl implements StoreGoodsLabelService { + //缓存 + @Autowired + private Cache cache; + @Override public List listByStoreId(String storeId) { - //TODO 从缓存获取店铺商品分类列表 + + //从缓存中获取店铺分类 + if (cache.hasKey(CachePrefix.STORE_CATEGORY.getPrefix() + storeId + "tree")) { + return (List) cache.get(CachePrefix.CATEGORY.getPrefix() + "tree"); + } + List list = list(storeId); List storeGoodsLabelVOList = new ArrayList<>(); + //循环列表判断是否为顶级,如果为顶级获取下级数据 list.stream() .filter(storeGoodsLabel -> storeGoodsLabel.getLevel() == 0) @@ -43,15 +58,55 @@ public class StoreGoodsLabelServiceImpl extends ServiceImpl() { + @Override + public int compare(StoreGoodsLabelVO o1, StoreGoodsLabelVO o2) { + return o1.getSortOrder().compareTo(o2.getSortOrder()); + } + }); + + if (storeGoodsLabelVOList.size() != 0) { + cache.put(CachePrefix.CATEGORY.getPrefix() + storeId + "tree", storeGoodsLabelVOList); + } return storeGoodsLabelVOList; } @Override - public List listByStore() { + public StoreGoodsLabel addStoreGoodsLabel(StoreGoodsLabel storeGoodsLabel) { //获取当前登录商家账号 AuthUser tokenUser = UserContext.getCurrentUser(); - //返回列表 - return list(tokenUser.getId()); + storeGoodsLabel.setStoreId(tokenUser.getStoreId()); + //保存店铺分类 + this.save(storeGoodsLabel); + //清除缓存 + removeCache(storeGoodsLabel.getStoreId()); + return storeGoodsLabel; + } + + @Override + public StoreGoodsLabel editStoreGoodsLabel(StoreGoodsLabel storeGoodsLabel) { + //修改当前店铺的商品分类 + AuthUser tokenUser = UserContext.getCurrentUser(); + LambdaUpdateWrapper lambdaUpdateWrapper = Wrappers.lambdaUpdate(); + lambdaUpdateWrapper.eq(StoreGoodsLabel::getStoreId, tokenUser.getStoreId()); + lambdaUpdateWrapper.eq(StoreGoodsLabel::getId, storeGoodsLabel.getId()); + //修改店铺分类 + this.update(storeGoodsLabel, lambdaUpdateWrapper); + //清除缓存 + removeCache(storeGoodsLabel.getStoreId()); + return storeGoodsLabel; + } + + @Override + public void removeStoreGoodsLabel(String storeLabelId) { + + //删除店铺分类 + this.removeById(storeLabelId); + + //清除缓存 + removeCache(UserContext.getCurrentUser().getStoreId()); } /** @@ -66,28 +121,10 @@ public class StoreGoodsLabelServiceImpl extends ServiceImpl lambdaUpdateWrapper = Wrappers.lambdaUpdate(); - lambdaUpdateWrapper.eq(StoreGoodsLabel::getStoreId, tokenUser.getStoreId()); - lambdaUpdateWrapper.eq(StoreGoodsLabel::getId, storeGoodsLabel.getId()); - this.update(storeGoodsLabel, lambdaUpdateWrapper); - return storeGoodsLabel; - } - - @Override - public void removeStoreGoodsLabel(String storeLabelId) { - this.removeById(storeLabelId); + /** + * 清除缓存 + */ + private void removeCache(String storeId) { + cache.remove(CachePrefix.CATEGORY.getPrefix() + storeId + "tree"); } } diff --git a/framework/src/main/java/cn/lili/modules/system/mapper/StoreLogisticsMapper.java b/framework/src/main/java/cn/lili/modules/system/mapper/StoreLogisticsMapper.java index 23bb348b..a0c06324 100644 --- a/framework/src/main/java/cn/lili/modules/system/mapper/StoreLogisticsMapper.java +++ b/framework/src/main/java/cn/lili/modules/system/mapper/StoreLogisticsMapper.java @@ -15,13 +15,13 @@ import java.util.List; */ public interface StoreLogisticsMapper extends BaseMapper { - @Select("SELECT l.* FROM li_logistics l RIGHT JOIN li_store_logistics sl ON l.id=sl.logistics_id WHERE sl.store_id=#{storeId}") + @Select("SELECT l.* FROM li_logistics l RIGHT JOIN li_store_logistics sl ON l.id=sl.logistics_id WHERE sl.store_id=#{storeId} AND l.disabled='OPEN'") List getSelectedStoreLogistics(String storeId); - @Select("SELECT l.name FROM li_logistics l RIGHT JOIN li_store_logistics sl ON l.id=sl.logistics_id WHERE sl.store_id=#{storeId}") + @Select("SELECT l.name FROM li_logistics l RIGHT JOIN li_store_logistics sl ON l.id=sl.logistics_id WHERE sl.store_id=#{storeId} AND l.disabled='OPEN'") List getSelectedStoreLogisticsName(String storeId); - @Select("SELECT *, ( SELECT sl.id FROM li_store_logistics sl WHERE l.id = sl.logistics_id AND sl.store_id=#{storeId} ) AS selected FROM li_logistics l;") + @Select("SELECT *, ( SELECT sl.id FROM li_store_logistics sl WHERE l.id = sl.logistics_id AND sl.store_id=#{storeId} ) AS selected FROM li_logistics l AND l.disabled='OPEN';") List getStoreLogistics(String storeId); } \ No newline at end of file diff --git a/manager-api/src/main/java/cn/lili/controller/goods/CategoryManagerController.java b/manager-api/src/main/java/cn/lili/controller/goods/CategoryManagerController.java index cd88b664..f88fea98 100644 --- a/manager-api/src/main/java/cn/lili/controller/goods/CategoryManagerController.java +++ b/manager-api/src/main/java/cn/lili/controller/goods/CategoryManagerController.java @@ -61,14 +61,6 @@ public class CategoryManagerController { @PostMapping @ApiOperation(value = "添加商品分类") public ResultMessage saveCategory(@Valid Category category) { - - //不能添加重复的分类名称 - Category category1 = new Category(); - category1.setName(category.getName()); - List list = categoryService.findByAllBySortOrder(category1); - if (StringUtils.isNotEmpty(list)) { - throw new ServiceException(ResultCode.CATEGORY_NOT_EXIST); - } //非顶级分类 if (category.getParentId() != null && !category.getParentId().equals("0")) { Category parent = categoryService.getById(category.getParentId()); @@ -90,15 +82,7 @@ public class CategoryManagerController { public ResultMessage updateCategory(@Valid CategoryVO category) { Category catTemp = categoryService.getById(category.getId()); if (catTemp == null) { - throw new ServiceException(ResultCode.CATEGORY_PARENT_NOT_EXIST); - } - //不能添加重复的分类名称 - Category category1 = new Category(); - category1.setName(category.getName()); - category1.setId(category.getId()); - List list = categoryService.findByAllBySortOrder(category1); - if (StringUtils.isNotEmpty(list)) { - throw new ServiceException(ResultCode.CATEGORY_NAME_IS_EXIST); + throw new ServiceException(ResultCode.CATEGORY_NOT_EXIST); } categoryService.updateCategory(category); diff --git a/manager-api/src/main/java/cn/lili/controller/other/ArticleManagerController.java b/manager-api/src/main/java/cn/lili/controller/other/ArticleManagerController.java index e91ec47f..5fade9b3 100644 --- a/manager-api/src/main/java/cn/lili/controller/other/ArticleManagerController.java +++ b/manager-api/src/main/java/cn/lili/controller/other/ArticleManagerController.java @@ -53,8 +53,8 @@ public class ArticleManagerController { } @ApiOperation(value = "添加文章") - @PostMapping - public ResultMessage
save(@Valid Article article) { + @PostMapping(consumes = "application/json", produces = "application/json") + public ResultMessage
save(@RequestBody Article article) { article.setType(ArticleEnum.OTHER.name()); articleService.save(article); return ResultUtil.data(article); @@ -62,8 +62,8 @@ public class ArticleManagerController { @ApiOperation(value = "修改文章") @ApiImplicitParam(name = "id", value = "文章ID", required = true, paramType = "path") - @PutMapping("update/{id}") - public ResultMessage
update(@Valid Article article, @PathVariable("id") String id) { + @PutMapping(value = "update/{id}", consumes = "application/json", produces = "application/json") + public ResultMessage
update(@RequestBody Article article, @PathVariable("id") String id) { article.setId(id); return ResultUtil.data(articleService.updateArticle(article)); } diff --git a/update-sql/version4.1to4.2.sql b/update-sql/version4.1to4.2.sql index 40296ccc..f7e80053 100644 --- a/update-sql/version4.1to4.2.sql +++ b/update-sql/version4.1to4.2.sql @@ -4,4 +4,6 @@ ALTER TABLE li_distribution ADD settlement_bank_account_num varchar ( 200 ); ALTER TABLE li_distribution ADD settlement_bank_branch_name varchar ( 200 ); /** 文章分类添加默认值**/ -ALTER TABLE li_article_category alter column sort set default 0; \ No newline at end of file +ALTER TABLE li_article_category alter column sort set default 0; +/** 添加分销提现菜单**/ +INSERT INTO `lilishop`.`li_menu`(`id`, `create_by`, `create_time`, `delete_flag`, `update_by`, `update_time`, `description`, `front_route`, `icon`, `level`, `name`, `parent_id`, `path`, `sort_order`, `title`, `front_component`) VALUES (1410862675914764290, 'admin', '2021-07-02 15:27:29', b'0', 'admin', '2021-07-02 15:27:45', 'null', 'distribution/distributionCash', '', 2, 'distributionCash', '1374173575405109248', 'distributionCash', 5.00, '分销提现', 'null'); \ No newline at end of file