Przeglądaj źródła

feat(marketing): 添加商家优惠券功能

hechunping 4 miesięcy temu
rodzic
commit
178920b9f6

+ 71 - 0
src/main/java/com/xynet/marketing/entity/MercCoupon.java

@@ -0,0 +1,71 @@
+package com.xynet.marketing.entity;
+
+import com.baomidou.mybatisplus.annotation.*;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+
+/**
+ * 商家优惠券表
+ *
+ * @author hechunping
+ * @date 2025/2/10
+ */
+@Data
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = false)
+@TableName("marketing_merc_coupon")
+public class MercCoupon implements Serializable {
+
+    @TableId(type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 商户id
+     */
+    private Integer mercId;
+
+    /**
+     * 优惠券名称
+     */
+    private String name;
+
+    private Boolean isAllDevice = true;
+
+    private Boolean isAllGoods = true;
+
+    private String validType;
+
+    private Integer validDay;
+
+    private LocalDateTime validStartDate;
+
+    private LocalDateTime validEndDate;
+
+    private Integer useMinPrice;
+
+    private String type;
+
+    private String scheme;
+
+    private String status;
+
+    @TableField(fill = FieldFill.INSERT)
+    private LocalDateTime createTime;
+
+    @TableField(fill = FieldFill.UPDATE)
+    private LocalDateTime updateTime;
+
+    private String sendType;
+
+    private String sendConfig;
+
+    private LocalDate sendStartDate;
+
+    private LocalDate sendEndDate;
+
+}

+ 13 - 0
src/main/java/com/xynet/marketing/mapper/MercCouponMapper.java

@@ -0,0 +1,13 @@
+package com.xynet.marketing.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.xynet.marketing.entity.MercCoupon;
+
+/**
+ * 商家优惠券-Mapper
+ *
+ * @author hechunping
+ * @date 2025/02/10
+ */
+public interface MercCouponMapper extends BaseMapper<MercCoupon> {
+}

+ 54 - 0
src/main/java/com/xynet/marketing/service/MercCouponService.java

@@ -0,0 +1,54 @@
+package com.xynet.marketing.service;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.xynet.marketing.utils.collections.map.JMap;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 商家优惠券服务
+ *
+ * @author hechunping
+ * @date 2025/2/10
+ */
+public interface MercCouponService {
+    /**
+     * 对象查询
+     *
+     * @param param
+     * @return
+     */
+    Map<String, Object> obj(JMap<String, Object> param);
+
+    /**
+     * 新增或修改
+     *
+     * @param param
+     * @return
+     */
+    Integer saveOrUpdate(JMap<String, Object> param);
+
+    /**
+     * 列表查询
+     *
+     * @param param
+     * @return
+     */
+    List<Map<String, Object>> list(JMap<String, Object> param);
+
+    /**
+     * 分页查询
+     *
+     * @param param
+     * @return
+     */
+    Page<Map<String, Object>> page(JMap<String, Object> param);
+
+    /**
+     * 单表更新(不包含商品、设备表)
+     *
+     * @param param
+     */
+    void updateSimple(JMap<String, Object> param);
+}

+ 64 - 0
src/main/java/com/xynet/marketing/service/impl/MercCouponServiceImpl.java

@@ -0,0 +1,64 @@
+package com.xynet.marketing.service.impl;
+
+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.MercCoupon;
+import com.xynet.marketing.mapper.MercCouponMapper;
+import com.xynet.marketing.service.MercCouponService;
+import com.xynet.marketing.utils.Emptys;
+import com.xynet.marketing.utils.collections.map.JHashMap;
+import com.xynet.marketing.utils.collections.map.JMap;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 商家优惠券服务-实现类
+ *
+ * @author hechunping
+ * @date 2025/2/10
+ */
+@Service
+@Slf4j
+public class MercCouponServiceImpl extends ServiceImpl<MercCouponMapper, MercCoupon> implements MercCouponService {
+    private LambdaQueryWrapper<MercCoupon> commonQueryWrapper(JMap<String, Object> param) {
+        LambdaQueryWrapper<MercCoupon> lqw = new LambdaQueryWrapper<MercCoupon>()
+                .eq(Emptys.check(param.getInt("id")), MercCoupon::getId, param.getInt("id"));
+        return lqw;
+    }
+
+    @Override
+    public Map<String, Object> obj(JMap<String, Object> param) {
+        LambdaQueryWrapper<MercCoupon> lqw = commonQueryWrapper(param).last("limit 1");
+        MercCoupon obj = getOne(lqw);
+        return JHashMap.copy(obj);
+    }
+
+    @Override
+    public Integer saveOrUpdate(JMap<String, Object> param) {
+        return null;
+    }
+
+    @Override
+    public List<Map<String, Object>> list(JMap<String, Object> param) {
+        LambdaQueryWrapper<MercCoupon> lqw = commonQueryWrapper(param).orderByAsc(MercCoupon::getId);
+        List<MercCoupon> list = list(lqw);
+        return JHashMap.copy(list);
+    }
+
+    @Override
+    public Page<Map<String, Object>> page(JMap<String, Object> param) {
+        LambdaQueryWrapper<MercCoupon> lqw = commonQueryWrapper(param).orderByAsc(MercCoupon::getId);
+        Page<MercCoupon> page = new Page<>(param.getInt("pageCurrent"), param.getInt("pageSize"), true);
+        Page<MercCoupon> list = page(page, lqw);
+        return JHashMap.copy(list);
+    }
+
+    @Override
+    public void updateSimple(JMap<String, Object> param) {
+
+    }
+}