|
@@ -107,6 +107,8 @@ public class MemberCouponServiceImpl extends ServiceImpl<MemberCouponMapper, Mem
|
|
|
Integer orderAmount = param.getInt("orderAmount");
|
|
|
String thirdMercId = param.getString("thirdMercId");
|
|
|
List<JMap<String, Object>> goodsList = param.getListMap("goodsList");
|
|
|
+ List<String> goodsIdList = goodsList.stream().map(i -> i.getString("goodsId")).collect(Collectors.toList());
|
|
|
+
|
|
|
LambdaQueryWrapper<MemberCoupon> lqw = new LambdaQueryWrapper<MemberCoupon>()
|
|
|
.eq(MemberCoupon::getThirdMemberId, thirdMemberId)
|
|
|
.eq(MemberCoupon::getMercId, mercService.thirdMercIdToMercId(param.getString("provider-id"), thirdMercId))
|
|
@@ -118,15 +120,22 @@ public class MemberCouponServiceImpl extends ServiceImpl<MemberCouponMapper, Mem
|
|
|
if (!Emptys.check(list)) {
|
|
|
return result;
|
|
|
}
|
|
|
- //TODO 商品限制
|
|
|
+ //查找商家优惠券
|
|
|
+ List<Integer> couponIdList = list.stream().map(i -> i.getCouponId()).collect(Collectors.toList());
|
|
|
+ List<Map<String, Object>> mercCouponList = mercCouponService.list(new JHashMap<String, Object>().set("idList", couponIdList));
|
|
|
+ Map<Integer, Map<String, Object>> mercCouponMap = mercCouponList.stream().collect(Collectors.toMap(i -> Integer.valueOf(i.get("id").toString()), i -> i));
|
|
|
+
|
|
|
+
|
|
|
for (int i = 0; i < list.size(); i++) {
|
|
|
MemberCoupon memberCoupon = list.get(i);
|
|
|
- if (!memberCoupon.getIsAllDevice()) {
|
|
|
+ Map<String, Object> mercCoupon1 = mercCouponMap.get(list.get(i).getCouponId());
|
|
|
+ JMap<String, Object> mercCoupon = new JHashMap<>(mercCoupon1);
|
|
|
+ if (!mercCoupon.getBoolean("isAllDevice")) {
|
|
|
//判断设备是否符合
|
|
|
List<Map<String, Object>> deviceList = deviceService.list(
|
|
|
new JHashMap<String, Object>()
|
|
|
.set("deviceId", deviceId)
|
|
|
- .set("actId", memberCoupon.getCouponId())
|
|
|
+ .set("actId", mercCoupon.getInt("actId"))
|
|
|
.set("actType", "coupon")
|
|
|
);
|
|
|
if (!Emptys.check(deviceList)) {
|
|
@@ -134,18 +143,22 @@ public class MemberCouponServiceImpl extends ServiceImpl<MemberCouponMapper, Mem
|
|
|
}
|
|
|
}
|
|
|
//判断商品是否符合
|
|
|
-// 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 (!mercCoupon.getBoolean("isAllGoods")) {
|
|
|
+ List<Map<String, Object>> projectGoodsList = goodsService.list(
|
|
|
+ new JHashMap<String, Object>()
|
|
|
+ .set("goodsIdList", goodsIdList)
|
|
|
+ .set("actId", memberCoupon.getCouponId())
|
|
|
+ .set("actType", "coupon")
|
|
|
+ );
|
|
|
+ if (!Emptys.check(projectGoodsList)) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
//判断价格是否符合
|
|
|
- if (Objects.equals(memberCoupon.getType(), CouponTypeEnum.T_1.getCode())) {
|
|
|
+ if (Objects.equals(mercCoupon.getString("type"), CouponTypeEnum.T_1.getCode())) {
|
|
|
//满减判断价格
|
|
|
- JSONArray priceJson = JSONUtil.parseArray(memberCoupon.getPrice());
|
|
|
+ JSONArray priceJson = JSONUtil.parseArray(mercCoupon.getString("price"));
|
|
|
JSONObject priceObject = priceJson.getJSONObject(0);
|
|
|
Integer limit = Integer.valueOf(priceObject.get("limit").toString());
|
|
|
if (orderAmount < limit) {
|