Procházet zdrojové kódy

后台设置店铺价格

zoujiajian před 2 roky
rodič
revize
b10556b537

+ 33 - 5
netflix-dao/src/main/java/com/cyksj/model/entity/YhShopGoodsRate.java

@@ -1,9 +1,17 @@
 package com.cyksj.model.entity;
 
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.ejlchina.searcher.bean.DbField;
+import com.ejlchina.searcher.bean.DbIgnore;
 import com.ejlchina.searcher.bean.SearchBean;
 import lombok.Getter;
 import lombok.Setter;
 
+import java.util.Date;
+
 
 /**
  * @author zwhui
@@ -11,17 +19,37 @@ import lombok.Setter;
  */
 @Getter
 @Setter
-@SearchBean(tables = "goods_don_shop_price")
-public class YhShopGoodsRate extends BaseEntity{
+@SearchBean(tables = "goods_don_sku sku left join yh_shop_goods_rate yr on yr.sku_id = sku.id")
+public class YhShopGoodsRate{
+
+
+    @TableId(value = "id",type = IdType.AUTO)
+    @DbField("yr.id")
+    private Long id;
 
+
+    @DbField("sku.goods_id")
     private Long goodsId;
 
+    @DbField("sku.id")
     private Long skuId;
 
+    @DbIgnore
+    private Integer rate;
+
+
     /**
-     * 店铺主用户id
+     * 创建时间
      */
-    private Long userId;
 
-    private Integer rate;
+    @TableField(fill = FieldFill.INSERT)
+    @DbField("yr.created_time")
+    private Date createdTime;
+
+    /**
+     * 修改时间
+     */
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    @DbField("yr.update_time")
+    private Date updateTime;
 }

+ 1 - 0
netflix-dao/src/main/java/com/cyksj/model/request/GoodsDonShopRateReq.java

@@ -17,6 +17,7 @@ public class GoodsDonShopRateReq {
     private List<GoodsDonShopRate> list;
     @Data
     public static class GoodsDonShopRate{
+        private Long id;
         private Long goodsId;
         private Long skuId;
         private Integer rate;

+ 3 - 0
netflix-dao/src/main/java/com/cyksj/model/views/YhShopGoodsRateView.java

@@ -35,6 +35,9 @@ public class YhShopGoodsRateView {
     @SearchBean(tables = "goods_don_sku gs left join yh_shop_goods_rate ysgr on gs.id = ysgr.sku_id",
             where = "gs.status = true ")
     public static class YhShopGoodsSkuRateView{
+        @DbField("ysgr.id")
+        private Long id;
+
         @DbField("gs.goods_id")
         private Long goodsId;
         @DbField("gs.id")

+ 0 - 9
netflix-service/src/main/java/com/cyksj/service/mange/goods/CmsGoodsDonSpecServiceImpl.java

@@ -10,11 +10,9 @@ import com.cyksj.common.util.Jsons;
 import com.cyksj.mapper.GoodsDonMapper;
 import com.cyksj.mapper.GoodsDonSkuMapper;
 import com.cyksj.mapper.GoodsDonSpecMapper;
-import com.cyksj.mapper.YhShopGoodsRateMapper;
 import com.cyksj.model.entity.GoodsDon;
 import com.cyksj.model.entity.GoodsDonSku;
 import com.cyksj.model.entity.GoodsDonSpec;
-import com.cyksj.model.entity.YhShopGoodsRate;
 import com.cyksj.model.manage.request.ReqGoodsSkuInsert;
 import com.cyksj.model.manage.request.ReqGoodsSkuSpec;
 import com.cyksj.model.manage.request.ReqGoodsSpecSingle;
@@ -45,8 +43,6 @@ public class CmsGoodsDonSpecServiceImpl extends ServiceImpl<GoodsDonSpecMapper,
 
 	private final GoodsDonSkuMapper goodsDonSkuMapper;
 
-	private final YhShopGoodsRateMapper yhShopGoodsRateMapper;
-
 	@Override
 	@Transactional(rollbackFor = Throwable.class)
 	public void insertOrUpdateSkuSpec(ReqGoodsSkuInsert insert, Boolean isUpdate) throws Exception {
@@ -258,11 +254,6 @@ public class CmsGoodsDonSpecServiceImpl extends ServiceImpl<GoodsDonSpecMapper,
 				}
 			}
 			goodsDonSkuMapper.insert(goodsDonSku);
-
-			YhShopGoodsRate yhShopGoodsRate = new YhShopGoodsRate();
-			yhShopGoodsRate.setGoodsId(goodsDonSku.getGoodsId());
-			yhShopGoodsRate.setSkuId(goodsDonSku.getId());
-			yhShopGoodsRateMapper.insert(yhShopGoodsRate);
 		}
 	}
 

+ 23 - 11
netflix-web/src/main/java/com/cyksj/web/controller/manage/goods/CmsYhShopGoodsController.java → netflix-web/src/main/java/com/cyksj/web/controller/manage/goods/shop/CmsYhShopGoodsController.java

@@ -1,4 +1,4 @@
-package com.cyksj.web.controller.manage.goods;
+package com.cyksj.web.controller.manage.goods.shop;
 
 import cn.dev33.satoken.stp.StpUtil;
 import cn.hutool.core.collection.CollUtil;
@@ -82,14 +82,20 @@ public class CmsYhShopGoodsController {
      * 设置店铺平台价格浮动比例
      */
     @PutMapping("/put/shop/goods/rate")
-    public Result<Void> updShopGoodsRate(@RequestBody GoodsDonShopRateReq req){
-        if (req.getRate() != null){
-            yhShopGoodsRateService.update(Wrappers.lambdaUpdate(YhShopGoodsRate.class).set(YhShopGoodsRate::getRate,req.getRate()));
-        }else {
-            req.getList().forEach(e -> {
-                yhShopGoodsRateService.update(Wrappers.lambdaUpdate(YhShopGoodsRate.class).eq(YhShopGoodsRate::getSkuId,e.getSkuId()).set(YhShopGoodsRate::getRate,e.getRate()));
-            });
-        }
+    public Result<Void> updShopGoodsRate(@RequestBody GoodsDonShopRateReq req) {
+        req.getList().forEach(e -> {
+            YhShopGoodsRate one = yhShopGoodsRateService.getOne(Wrappers.lambdaQuery(YhShopGoodsRate.class)
+                    .eq(YhShopGoodsRate::getSkuId, e.getSkuId()).last("limit 1"));
+            if (one == null) {
+                one = new YhShopGoodsRate();
+                one.setRate(e.getRate());
+                one.setGoodsId(e.getGoodsId());
+                one.setSkuId(e.getSkuId());
+            } else {
+                one.setRate(e.getRate());
+            }
+            yhShopGoodsRateService.saveOrUpdate(one);
+        });
         return GatewayResponse.SUCCESS.newBuilder().toResult();
     }
 
@@ -99,11 +105,17 @@ public class CmsYhShopGoodsController {
     @PutMapping("/set/shop/goods/general/rate")
     public Result<Void> setShopGoodsGeneralRate(@RequestBody GoodsDonShopRateReq req) {
         Integer rate = req.getRate();
-        if (rate == null) {
+        if (rate == null || (rate < 0 && rate > 100)) {
             throw BusinessRuntimeException.getInstance("请输入正确的比例");
         }
         List<Long> goodsIds = req.getGoodsIds();
-        yhShopGoodsRateService.update(Wrappers.lambdaUpdate(YhShopGoodsRate.class).in(YhShopGoodsRate::getGoodsId, goodsIds).set(YhShopGoodsRate::getRate, rate));
+        goodsIds.forEach(goodsId -> {
+            List<YhShopGoodsRate> yhShopGoodsRates = beanSearcher.searchList(YhShopGoodsRate.class, MapUtils.builder().field(YhShopGoodsRate::getGoodsId, goodsId).build());
+            yhShopGoodsRates.forEach(data -> {
+                data.setRate(rate);
+            });
+            yhShopGoodsRateService.saveOrUpdateBatch(yhShopGoodsRates);
+        });
         return GatewayResponse.SUCCESS.newBuilder().toResult();
     }
 

+ 1 - 1
netflix-web/src/main/java/com/cyksj/web/controller/cps/shop/YhShopDateController.java → netflix-web/src/main/java/com/cyksj/web/controller/manage/goods/shop/YhShopDateController.java

@@ -1,4 +1,4 @@
-package com.cyksj.web.controller.cps.shop;
+package com.cyksj.web.controller.manage.goods.shop;
 
 import cn.hutool.core.date.DateTime;
 import cn.hutool.core.date.DateUtil;

+ 1 - 2
netflix-web/src/main/java/com/cyksj/web/controller/cps/shop/YhShopGoodsController.java → netflix-web/src/main/java/com/cyksj/web/controller/manage/goods/shop/YhShopGoodsController.java

@@ -1,4 +1,4 @@
-package com.cyksj.web.controller.cps.shop;
+package com.cyksj.web.controller.manage.goods.shop;
 
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.cyksj.common.exception.BusinessRuntimeException;
@@ -85,7 +85,6 @@ public class YhShopGoodsController {
 	public Result<SearchResult<YhShopGoodsView>> goodsList(){
 		long userId = StpUserUtil.getLoginIdAsLong();
 		SearchResult<YhShopGoodsView> search = beanSearcher.search(YhShopGoodsView.class, MapUtils.builder().field(YhShopGoodsView::getUserId, userId).build());
-		search.getDataList().forEach(e -> e.setList(beanSearcher.searchList(YhShopGoodsView.YhShopGoodsSkuView.class,MapUtils.builder().field(YhShopGoodsView.YhShopGoodsSkuView::getGoodsId,e.getId()).build())));
 		return GatewayResponse.SUCCESS.newBuilder().toResult(search);
 	}
 }

+ 1 - 1
netflix-web/src/main/java/com/cyksj/web/controller/cps/shop/YhShopLoginController.java → netflix-web/src/main/java/com/cyksj/web/controller/manage/goods/shop/YhShopLoginController.java

@@ -1,4 +1,4 @@
-package com.cyksj.web.controller.cps.shop;
+package com.cyksj.web.controller.manage.goods.shop;
 
 import cn.hutool.core.util.StrUtil;
 import cn.hutool.json.JSONObject;