|
@@ -1,6 +1,9 @@
|
|
|
package com.xynet.marketing.service.impl;
|
|
|
|
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
|
+import cn.hutool.json.JSONArray;
|
|
|
+import cn.hutool.json.JSONObject;
|
|
|
+import cn.hutool.json.JSONUtil;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
@@ -101,9 +104,9 @@ public class MemberCouponServiceImpl extends ServiceImpl<MemberCouponMapper, Mem
|
|
|
LocalDate now = LocalDate.now();
|
|
|
String thirdMemberId = param.getString("thirdMemberId");
|
|
|
String deviceId = param.getString("deviceId");
|
|
|
- String orderAmount = param.getString("orderAmount");
|
|
|
+ Integer orderAmount = param.getInt("orderAmount");
|
|
|
String thirdMercId = param.getString("thirdMercId");
|
|
|
- //List<Object> goodsIdList = param.getList("goodsIdList");
|
|
|
+ List<JMap<String, Object>> goodsList = param.getListMap("goodsList");
|
|
|
LambdaQueryWrapper<MemberCoupon> lqw = new LambdaQueryWrapper<MemberCoupon>()
|
|
|
.eq(MemberCoupon::getThirdMemberId, thirdMemberId)
|
|
|
.eq(MemberCoupon::getMercId, getMercId(thirdMercId))
|
|
@@ -115,23 +118,42 @@ public class MemberCouponServiceImpl extends ServiceImpl<MemberCouponMapper, Mem
|
|
|
if (!Emptys.check(list)) {
|
|
|
return result;
|
|
|
}
|
|
|
- //判断设备是否符合
|
|
|
- list.forEach(item -> {
|
|
|
- if (item.getIsAllDevice()) {
|
|
|
- result.add(JHashMap.copy(item));
|
|
|
+ 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 {
|
|
|
//判断设备是否符合
|
|
|
List<Map<String, Object>> deviceList = deviceService.list(
|
|
|
new JHashMap<String, Object>()
|
|
|
.set("deviceId", deviceId)
|
|
|
- .set("actId", item.getCouponId())
|
|
|
+ .set("actId", memberCoupon.getCouponId())
|
|
|
.set("actType", "coupon")
|
|
|
);
|
|
|
if (Emptys.check(deviceList)) {
|
|
|
- result.add(JHashMap.copy(item));
|
|
|
+ deviceCondition = true;
|
|
|
+ //result.add(JHashMap.copy(item));
|
|
|
}
|
|
|
}
|
|
|
- });
|
|
|
+ //判断商品是否符合
|
|
|
+ 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 (priceCondition) {
|
|
|
+ result.add(JHashMap.copy(memberCoupon));
|
|
|
+ }
|
|
|
+ }
|
|
|
return result;
|
|
|
}
|
|
|
|