Browse Source

分类未删除之前的

fubojin 3 weeks ago
parent
commit
c3c65c2407

+ 1 - 1
yami-shop-api/src/main/java/com/yami/shop/api/controller/MyOrderController.java

@@ -351,7 +351,7 @@ public class MyOrderController {
         List<OrderItem> orderItems = orderItemService.getOrderItemsByOrderNumber(orderNumber);
         order.setOrderItems(orderItems);
         // 取消订单
-        orderService.cancelOrders(Collections.singletonList(order));
+        orderService.cancelOrders(Collections.singletonList(order),"用户主动取消");
         // 清除缓存
         for (OrderItem orderItem : orderItems) {
             productService.removeProductCacheByProdId(orderItem.getProdId());

+ 1 - 1
yami-shop-groupbuy/yami-shop-groupbuy-comment/src/main/java/com/yami/shop/groupbuy/comment/service/impl/GroupTeamServiceImpl.java

@@ -254,7 +254,7 @@ public class GroupTeamServiceImpl extends ServiceImpl<GroupTeamMapper, GroupTeam
 
         // 取消订单,还原库存
         if (CollectionUtils.isNotEmpty(returnStockOrders)) {
-            orderService.cancelOrders(returnStockOrders);
+            orderService.cancelOrders(returnStockOrders,"用户主动取消");
         }
         // 批量保存机器人
         if (robot.size() > 0) {

+ 1 - 1
yami-shop-platform/src/main/java/com/yami/shop/platform/task/OrderTask.java

@@ -79,7 +79,7 @@ public class OrderTask {
 
 
         //TODO zx定时任务加回积分待完善
-        orderService.cancelOrders(orders);
+        orderService.cancelOrders(orders,"未按时支付");
 
         // 移除缓存
         this.removeCache(orders);

+ 2 - 0
yami-shop-service/src/main/java/com/yami/shop/dao/CategoryProdMapper.java

@@ -25,6 +25,8 @@ public interface CategoryProdMapper extends BaseMapper<CategoryProd> {
 
 	void deleteByCategoryId(Long categoryId);
 
+	void deleteByCodeAndProdId (@Param("code")String code, @Param("prodId")Long prodId);
+
 	void deleteByProdId(Long prodId);
 
 	/**

+ 1 - 1
yami-shop-service/src/main/java/com/yami/shop/service/OrderService.java

@@ -96,7 +96,7 @@ public interface OrderService extends IService<Order> {
      */
     List<Order> selectCancelOrders(Integer orderStatus, DateTime lessThanUpdateTime);
 
-    void cancelOrders(List<Order> orders);
+    void cancelOrders(List<Order> orders, String reason);
 
     void receiptOrder(List<Order> orders);
 

+ 14 - 2
yami-shop-service/src/main/java/com/yami/shop/service/hb/impl/HBGoodsService.java

@@ -274,7 +274,6 @@ public class HBGoodsService implements IHBGoodsService {
             log.info("门店分类已存在,无需添加");
             //二级添加门店-分类绑定商品管理
             addCategoryProd(prodId, shopCategoryByCode);
-            return;
         }
     }
 
@@ -635,6 +634,7 @@ public class HBGoodsService implements IHBGoodsService {
      */
     private void convertCategoryCodeToId(JSONArray categoryCode, Long spuId) {
         log.info("新增商品分类处理{}", categoryCode);
+        List<String> list = new ArrayList<>();
         for (Object o : categoryCode) {
             JSONObject jsonObject = JSON.parseObject(o.toString());
 
@@ -642,10 +642,22 @@ public class HBGoodsService implements IHBGoodsService {
             if (StringUtils.isEmpty(ztFrontCategoryCodeLevel)) {
                 ztFrontCategoryCodeLevel = jsonObject.getString("ztFrontCategoryCode");
             }
+            list.add(ztFrontCategoryCodeLevel);
             addCategoryProdHb(spuId, ztFrontCategoryCodeLevel);
+        }
 
-
+        //删除多余的 分类绑定商品数据
+        log.info("删除多余的 分类绑定商品数据{}", list);
+        List<CategoryProdHb> categoryProdsHb = categoryProdHbMapper.selectList(new LambdaQueryWrapper<CategoryProdHb>()
+                .eq(CategoryProdHb::getProdId, spuId)
+                .notIn(CategoryProdHb::getCode, list)
+                .eq(CategoryProdHb::getIsDelete, 0) );
+        for (CategoryProdHb categoryProdHb : categoryProdsHb) {
+            categoryProdHb.setIsDelete(1);
+            categoryProdHbMapper.updateById(categoryProdHb);
+            categoryProdMapper.deleteByCodeAndProdId(categoryProdHb.getCode(), spuId);
         }
+
     }
 
     private void addCategoryProdHb(Long spuId, String ztFrontCategoryCodeLevel) {

+ 2 - 2
yami-shop-service/src/main/java/com/yami/shop/service/impl/OrderServiceImpl.java

@@ -261,11 +261,11 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public void cancelOrders(List<Order> orders) {
+    public void cancelOrders(List<Order> orders, String cancelReason) {
         if (CollectionUtil.isEmpty(orders)) {
             return;
         }
-        orderMapper.cancelOrders(orders,"未按时支付");
+        orderMapper.cancelOrders(orders,cancelReason);
         List<OrderItem> allOrderItems = new ArrayList<>();
         for (Order order : orders) {
             List<OrderItem> orderItems = order.getOrderItems();

+ 6 - 0
yami-shop-service/src/main/resources/mapper/CategoryProdMapper.xml

@@ -8,6 +8,12 @@
         where category_id = #{categoryId}
     </delete>
 
+    <update id="deleteByCodeAndProdId">
+        update tz_category_prod
+        set is_delete = 1
+        where code = #{code} and prod_id = #{prodId}
+    </update>
+
     <delete id="deleteByProdId">
         delete
         from tz_category_prod

+ 1 - 0
yami-shop-service/src/main/resources/mapper/ShopCategoryMapper.xml

@@ -110,6 +110,7 @@
             )
         </if>
         group by fc.id
+        ORDER BY fc.num ASC
     </select>