Parcourir la source

feat(member_coupon): 实现会员优惠券分页查询功能

- 添加通用查询封装方法 commonQueryWrapper- 实现页面数据反显逻辑 reflectName
- 完成分页查询方法 page,包括查询、转换和反显处理
hechunping il y a 3 mois
Parent
commit
8c7ca4223e

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

@@ -1,14 +1,18 @@
 package com.xynet.marketing.service.impl;
 
 import cn.hutool.core.bean.BeanUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 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.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;
@@ -32,9 +36,46 @@ public class MemberCouponServiceImpl extends ServiceImpl<MemberCouponMapper, Mem
 
     private MercProjectDeviceService deviceService;
 
+    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"))
+                .eq(Emptys.check(param.getInt("mercId")), MemberCoupon::getMercId, param.getInt("mercId"))
+                .eq(Emptys.check(param.getInt("couponId")), MemberCoupon::getCouponId, param.getInt("couponId"))
+                .eq(Emptys.check(param.getString("thirdMemberId")), MemberCoupon::getThirdMemberId, param.getString("thirdMemberId"))
+                .eq(Emptys.check(param.getString("status")), MemberCoupon::getStatus, param.getString("status"))
+                .eq(Emptys.check(param.getString("type")), MemberCoupon::getType, param.getString("type"));
+        return lqw;
+    }
+
+    /**
+     * 反显信息
+     *
+     * @param param
+     * @return
+     */
+    private List<Map<String, Object>> reflectName(List<Map<String, Object>> param) {
+        param.forEach(item -> {
+            item.put("typeName", CouponTypeEnum.getEnum(item.get("type").toString()).getValue());
+            item.put("statusName", MemberCouponStatusEnum.getEnum(item.get("status").toString()).getValue());
+        });
+
+
+        return param;
+    }
+
+
     @Override
     public Page<Map<String, Object>> page(JMap<String, Object> param) {
-        return null;
+        LambdaQueryWrapper<MemberCoupon> lqw = commonQueryWrapper(param).orderByAsc(MemberCoupon::getId);
+        Page<MemberCoupon> page = new Page<>(param.getInt("pageNum"), param.getInt("pageSize"), false);
+        Page<MemberCoupon> list = page(page, lqw);
+        //转换成MAP
+        Page<Map<String, Object>> copy = JHashMap.copy(list);
+        //反显信息
+        List<Map<String, Object>> records = copy.getRecords();
+        records = reflectName(records);
+        //重新封装并返回
+        return copy.setRecords(records);
     }
 
     @Override