Sfoglia il codice sorgente

修复列表为空的BUG

hechunping 1 settimana fa
parent
commit
51390dfeb5

+ 26 - 26
src/main/java/com/xynet/marketing/service/impl/MemberCouponServiceImpl.java

@@ -13,15 +13,13 @@ import com.xynet.marketing.entity.MemberCoupon;
 import com.xynet.marketing.enums.CouponTypeEnum;
 import com.xynet.marketing.enums.MemberCouponStatusEnum;
 import com.xynet.marketing.mapper.MemberCouponMapper;
-import com.xynet.marketing.service.MemberCouponService;
-import com.xynet.marketing.service.MercProjectDeviceService;
-import com.xynet.marketing.service.MercProjectGoodsService;
-import com.xynet.marketing.service.MercService;
+import com.xynet.marketing.service.*;
 import com.xynet.marketing.utils.Emptys;
 import com.xynet.marketing.utils.collections.map.JHashMap;
 import com.xynet.marketing.utils.collections.map.JMap;
 import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.context.annotation.Lazy;
 import org.springframework.stereotype.Service;
 
 import java.time.LocalDate;
@@ -41,7 +39,7 @@ import java.util.stream.Collectors;
  */
 @Service
 @Slf4j
-@AllArgsConstructor
+@AllArgsConstructor(onConstructor_ = @Lazy)
 public class MemberCouponServiceImpl extends ServiceImpl<MemberCouponMapper, MemberCoupon> implements MemberCouponService {
 
     private MercProjectGoodsService goodsService;
@@ -50,6 +48,8 @@ public class MemberCouponServiceImpl extends ServiceImpl<MemberCouponMapper, Mem
 
     private MercService mercService;
 
+    private MercCouponService mercCouponService;
+
     private LambdaQueryWrapper<MemberCoupon> commonQueryWrapper(JMap<String, Object> param) {
         LambdaQueryWrapper<MemberCoupon> lqw = new LambdaQueryWrapper<MemberCoupon>()
                 .eq(Emptys.check(param.getInt("id")), MemberCoupon::getId, param.getInt("id"))
@@ -117,14 +117,10 @@ public class MemberCouponServiceImpl extends ServiceImpl<MemberCouponMapper, Mem
         if (!Emptys.check(list)) {
             return result;
         }
+        //TODO 商品限制
         for (int i = 0; i < list.size(); i++) {
             MemberCoupon memberCoupon = list.get(i);
-            Boolean deviceCondition = false;
-            Boolean priceCondition = false;
-            if (memberCoupon.getIsAllDevice()) {
-                deviceCondition = true;
-                //result.add(JHashMap.copy(item));
-            } else {
+            if (!memberCoupon.getIsAllDevice()) {
                 //判断设备是否符合
                 List<Map<String, Object>> deviceList = deviceService.list(
                         new JHashMap<String, Object>()
@@ -132,26 +128,30 @@ public class MemberCouponServiceImpl extends ServiceImpl<MemberCouponMapper, Mem
                                 .set("actId", memberCoupon.getCouponId())
                                 .set("actType", "coupon")
                 );
-                if (Emptys.check(deviceList)) {
-                    deviceCondition = true;
-                    //result.add(JHashMap.copy(item));
+                if (!Emptys.check(deviceList)) {
+                    continue;
                 }
             }
             //判断商品是否符合
-            if (deviceCondition) {
-                if (Objects.equals(memberCoupon.getType(), CouponTypeEnum.T_1.getCode())) {
-                    //满减判断价格
-                    JSONArray priceJson = JSONUtil.parseArray(memberCoupon.getPrice());
-                    JSONObject priceObject = priceJson.getJSONObject(0);
-                    Integer limit = Integer.valueOf(priceObject.get("limit").toString());
-                    if (orderAmount >= limit) {
-                        priceCondition = true;
-                    }
+//            if (!memberCoupon.getIsAllGoods()) {
+//                List<Map<String, Object>> goodsList1 = goodsService.list(
+//                        new JHashMap<String, Object>()
+//                                .set("goodsIdList", goodsList)
+//                                .set("actId", memberCoupon.getCouponId())
+//                                .set("actType", "coupon")
+//                );
+//            }
+            //判断价格是否符合
+            if (Objects.equals(memberCoupon.getType(), CouponTypeEnum.T_1.getCode())) {
+                //满减判断价格
+                JSONArray priceJson = JSONUtil.parseArray(memberCoupon.getPrice());
+                JSONObject priceObject = priceJson.getJSONObject(0);
+                Integer limit = Integer.valueOf(priceObject.get("limit").toString());
+                if (orderAmount < limit) {
+                    continue;
                 }
             }
-            if (priceCondition) {
-                result.add(JHashMap.copy(memberCoupon));
-            }
+            result.add(JHashMap.copy(memberCoupon));
         }
         return result;
     }