Joburgess преди 4 години
родител
ревизия
e14196fedb

+ 8 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/SysCouponCodeDao.java

@@ -1,9 +1,13 @@
 package com.ym.mec.biz.dal.dao;
 
+import com.ym.mec.biz.dal.dto.SysCouponCodeDto;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.biz.dal.entity.SysCouponCode;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.List;
+import java.util.Map;
+
 public interface SysCouponCodeDao extends BaseDAO<Long, SysCouponCode> {
 
     /**
@@ -16,5 +20,8 @@ public interface SysCouponCodeDao extends BaseDAO<Long, SysCouponCode> {
      */
     int countWithUserAndCoupon(@Param("userId") Integer userId,
                                @Param("couponId") Integer couponId);
-	
+
+    List<SysCouponCodeDto> querySysCouponUseList(Map<String, Object> params);
+    int countSysCouponUseList(Map<String, Object> params);
+
 }

+ 178 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/SysCouponCodeDto.java

@@ -0,0 +1,178 @@
+package com.ym.mec.biz.dal.dto;
+
+import com.ym.mec.biz.dal.enums.CouponTypeEnum;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.util.Date;
+
+/**
+ * @Author Joburgess
+ * @Date 2021/9/8 0008
+ */
+public class SysCouponCodeDto {
+
+    @ApiModelProperty("分部编号")
+    private Integer organId;
+
+    @ApiModelProperty("分部名称")
+    private String organName;
+
+    @ApiModelProperty("用户编号")
+    private Integer userId;
+
+    @ApiModelProperty("用户名称")
+    private String userName;
+
+    @ApiModelProperty("手机号")
+    private String phone;
+
+    @ApiModelProperty("优惠券编号")
+    private Integer couponId;
+
+    @ApiModelProperty("优惠券类型")
+    private CouponTypeEnum couponType;
+
+    @ApiModelProperty("优惠券名称")
+    private String couponName;
+
+    @ApiModelProperty("描述")
+    private String couponDescription;
+
+    @ApiModelProperty("优惠码")
+    private String code;
+
+    @ApiModelProperty("订单编号")
+    private Long paymentOrderId;
+
+    @ApiModelProperty("使用状态:0未使用,1已使用")
+    private Integer usageStatus;
+
+    @ApiModelProperty("实际使用时间")
+    private java.util.Date usedTime;
+
+    @ApiModelProperty("使用开始日期")
+    private java.util.Date useStartDate;
+
+    @ApiModelProperty("使用截止日期")
+    private java.util.Date useDeadlineDate;
+
+    public Integer getOrganId() {
+        return organId;
+    }
+
+    public void setOrganId(Integer organId) {
+        this.organId = organId;
+    }
+
+    public String getOrganName() {
+        return organName;
+    }
+
+    public void setOrganName(String organName) {
+        this.organName = organName;
+    }
+
+    public Integer getUserId() {
+        return userId;
+    }
+
+    public void setUserId(Integer userId) {
+        this.userId = userId;
+    }
+
+    public String getUserName() {
+        return userName;
+    }
+
+    public void setUserName(String userName) {
+        this.userName = userName;
+    }
+
+    public String getPhone() {
+        return phone;
+    }
+
+    public void setPhone(String phone) {
+        this.phone = phone;
+    }
+
+    public Integer getCouponId() {
+        return couponId;
+    }
+
+    public void setCouponId(Integer couponId) {
+        this.couponId = couponId;
+    }
+
+    public CouponTypeEnum getCouponType() {
+        return couponType;
+    }
+
+    public void setCouponType(CouponTypeEnum couponType) {
+        this.couponType = couponType;
+    }
+
+    public String getCouponName() {
+        return couponName;
+    }
+
+    public void setCouponName(String couponName) {
+        this.couponName = couponName;
+    }
+
+    public String getCouponDescription() {
+        return couponDescription;
+    }
+
+    public void setCouponDescription(String couponDescription) {
+        this.couponDescription = couponDescription;
+    }
+
+    public String getCode() {
+        return code;
+    }
+
+    public void setCode(String code) {
+        this.code = code;
+    }
+
+    public Long getPaymentOrderId() {
+        return paymentOrderId;
+    }
+
+    public void setPaymentOrderId(Long paymentOrderId) {
+        this.paymentOrderId = paymentOrderId;
+    }
+
+    public Integer getUsageStatus() {
+        return usageStatus;
+    }
+
+    public void setUsageStatus(Integer usageStatus) {
+        this.usageStatus = usageStatus;
+    }
+
+    public Date getUsedTime() {
+        return usedTime;
+    }
+
+    public void setUsedTime(Date usedTime) {
+        this.usedTime = usedTime;
+    }
+
+    public Date getUseStartDate() {
+        return useStartDate;
+    }
+
+    public void setUseStartDate(Date useStartDate) {
+        this.useStartDate = useStartDate;
+    }
+
+    public Date getUseDeadlineDate() {
+        return useDeadlineDate;
+    }
+
+    public void setUseDeadlineDate(Date useDeadlineDate) {
+        this.useDeadlineDate = useDeadlineDate;
+    }
+}

+ 50 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/page/SysCouponCodeQueryInfo.java

@@ -0,0 +1,50 @@
+package com.ym.mec.biz.dal.page;
+
+import com.ym.mec.common.page.QueryInfo;
+
+/**
+ * @Author Joburgess
+ * @Date 2021/9/8 0008
+ */
+public class SysCouponCodeQueryInfo extends QueryInfo {
+
+    private Integer organId;
+
+    private String couponName;
+
+    private Long paymentOrderId;
+
+    private Integer usageStatus;
+
+    public Integer getOrganId() {
+        return organId;
+    }
+
+    public void setOrganId(Integer organId) {
+        this.organId = organId;
+    }
+
+    public String getCouponName() {
+        return couponName;
+    }
+
+    public void setCouponName(String couponName) {
+        this.couponName = couponName;
+    }
+
+    public Long getPaymentOrderId() {
+        return paymentOrderId;
+    }
+
+    public void setPaymentOrderId(Long paymentOrderId) {
+        this.paymentOrderId = paymentOrderId;
+    }
+
+    public Integer getUsageStatus() {
+        return usageStatus;
+    }
+
+    public void setUsageStatus(Integer usageStatus) {
+        this.usageStatus = usageStatus;
+    }
+}

+ 12 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/SysCouponCodeService.java

@@ -1,6 +1,9 @@
 package com.ym.mec.biz.service;
 
+import com.ym.mec.biz.dal.dto.SysCouponCodeDto;
 import com.ym.mec.biz.dal.entity.SysCouponCode;
+import com.ym.mec.biz.dal.page.SysCouponCodeQueryInfo;
+import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.service.BaseService;
 
 public interface SysCouponCodeService extends BaseService<Long, SysCouponCode> {
@@ -16,4 +19,13 @@ public interface SysCouponCodeService extends BaseService<Long, SysCouponCode> {
      */
     boolean exchangeCoupon(Integer userId, Integer couponId, Long paymentOrderId);
 
+    /**
+     * @describe 优惠券领取列表
+     * @author Joburgess
+     * @date 2021/9/8 0008
+     * @param queryInfo:
+     * @return com.ym.mec.common.page.PageInfo<com.ym.mec.biz.dal.dto.SysCouponCodeDto>
+     */
+    PageInfo<SysCouponCodeDto> querySysCouponUseList(SysCouponCodeQueryInfo queryInfo);
+
 }

+ 26 - 6
mec-biz/src/main/java/com/ym/mec/biz/service/impl/SysCouponCodeServiceImpl.java

@@ -1,21 +1,24 @@
 package com.ym.mec.biz.service.impl;
 
+import com.ym.mec.biz.dal.dao.SysCouponCodeDao;
 import com.ym.mec.biz.dal.dao.SysCouponDao;
+import com.ym.mec.biz.dal.dto.SysCouponCodeDto;
 import com.ym.mec.biz.dal.entity.SysCoupon;
+import com.ym.mec.biz.dal.entity.SysCouponCode;
+import com.ym.mec.biz.dal.page.SysCouponCodeQueryInfo;
+import com.ym.mec.biz.service.SysCouponCodeService;
 import com.ym.mec.common.dal.BaseDAO;
+import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.service.IdGeneratorService;
+import com.ym.mec.common.service.impl.BaseServiceImpl;
+import com.ym.mec.util.collection.MapUtil;
 import com.ym.mec.util.date.DateUtil;
 import org.springframework.beans.factory.annotation.Autowired;
-import com.ym.mec.common.service.impl.BaseServiceImpl;
-import com.ym.mec.biz.dal.entity.SysCouponCode;
-import com.ym.mec.biz.service.SysCouponCodeService;
-import com.ym.mec.biz.dal.dao.SysCouponCodeDao;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Isolation;
 import org.springframework.transaction.annotation.Transactional;
 
-import java.util.Date;
-import java.util.Objects;
+import java.util.*;
 
 @Service
 public class SysCouponCodeServiceImpl extends BaseServiceImpl<Long, SysCouponCode>  implements SysCouponCodeService {
@@ -74,4 +77,21 @@ public class SysCouponCodeServiceImpl extends BaseServiceImpl<Long, SysCouponCod
 		sysCouponCodeDao.insert(sysCouponCode);
 		return true;
 	}
+
+	@Override
+	public PageInfo<SysCouponCodeDto> querySysCouponUseList(SysCouponCodeQueryInfo queryInfo) {
+		PageInfo<SysCouponCodeDto> pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
+		Map<String, Object> params = new HashMap<String, Object>();
+		MapUtil.populateMap(params, queryInfo);
+
+		List<SysCouponCodeDto> dataList = new ArrayList<>();
+		int count = sysCouponCodeDao.countSysCouponUseList(params);
+		if (count > 0) {
+			pageInfo.setTotal(count);
+			params.put("offset", pageInfo.getOffset());
+			dataList = sysCouponCodeDao.querySysCouponUseList(params);
+		}
+		pageInfo.setRows(dataList);
+		return pageInfo;
+	}
 }

+ 72 - 0
mec-biz/src/main/resources/config/mybatis/SysCouponCodeMapper.xml

@@ -20,6 +20,24 @@
 		<result column="update_time_" property="updateTime" />
 	</resultMap>
 
+	<resultMap id="SysCouponCodeDto" type="com.ym.mec.biz.dal.dto.SysCouponCodeDto">
+		<result column="organ_id_" property="organId"/>
+		<result column="organ_name_" property="organName"/>
+		<result column="user_id_" property="userId"/>
+		<result column="user_name_" property="userName"/>
+		<result column="phone_" property="phone"/>
+		<result column="coupon_id_" property="couponId"/>
+		<result column="coupon_type_" property="couponType" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
+		<result column="coupon_name_" property="couponName"/>
+		<result column="coupon_description_" property="couponDescription"/>
+		<result column="code_" property="code"/>
+		<result column="payment_order_id_" property="paymentOrderId"/>
+		<result column="usage_status_" property="usageStatus"/>
+		<result column="used_time_" property="usedTime"/>
+		<result column="use_start_date_" property="useStartDate"/>
+		<result column="use_deadline_date_" property="useDeadlineDate"/>
+	</resultMap>
+
 	<!-- 根据主键查询一条记录 -->
 	<select id="get" resultMap="SysCouponCode" >
 		SELECT * FROM sys_coupon_code WHERE id_ = #{id}
@@ -94,4 +112,58 @@
 	<select id="countWithUserAndCoupon" resultType="int">
 		SELECT COUNT(id_) FROM sys_coupon_code WHERE user_id_=#{userId} AND coupon_id_=#{couponId}
 	</select>
+
+	<sql id="querySysCouponUseListCondition">
+		<where>
+			<if test="couponName!=null and couponName!=''">
+				AND sc.name_ LIKE CONCAT('%', #{couponName}, '%')
+			</if>
+			<if test="paymentOrderId!=null">
+				AND scc.payment_order_id_=#{paymentOrderId}
+			</if>
+			<if test="usageStatus!=null">
+				AND scc.usage_status_=#{usageStatus}
+			</if>
+			<if test="organId!=null">
+				AND su.organ_id_=#{organId}
+			</if>
+			<if test="search!=null and search!=''">
+				AND (scc.user_id_=#{search} OR su.phone_=#{search} OR su.username_ LIKE CONCAT('%', #{search}, '%'))
+			</if>
+		</where>
+	</sql>
+
+	<select id="querySysCouponUseList" resultMap="SysCouponCodeDto">
+		SELECT
+			organ.name_ organ_name_,
+			su.username_,
+			su.phone_,
+			scc.coupon_id_,
+			sc.type_ coupon_type_,
+			sc.name_ coupon_name_,
+			sc.description_ coupon_description_,
+			scc.code_,
+			scc.payment_order_id_,
+			scc.use_start_date_,
+			scc.use_deadline_date_,
+			scc.used_time_,
+			scc.usage_status_
+		FROM sys_coupon_code scc
+			 LEFT JOIN sys_coupon sc ON scc.coupon_id_=sc.id_
+			 LEFT JOIN sys_user su ON scc.user_id_=su.id_
+			 LEFT JOIN organization organ ON su.organ_id_=organ.id_
+		<include refid="querySysCouponUseListCondition"></include>
+		ORDER BY scc.id_ DESC
+		<include refid="global.limit"></include>
+	</select>
+
+	<select id="countSysCouponUseList" resultType="java.lang.Integer">
+		SELECT
+			COUNT(scc.id_)
+		FROM sys_coupon_code scc
+			LEFT JOIN sys_coupon sc ON scc.coupon_id_=sc.id_
+			LEFT JOIN sys_user su ON scc.user_id_=su.id_
+			LEFT JOIN organization organ ON su.organ_id_=organ.id_
+		<include refid="querySysCouponUseListCondition"></include>
+	</select>
 </mapper>

+ 29 - 0
mec-web/src/main/java/com/ym/mec/web/controller/SysCouponCodeController.java

@@ -0,0 +1,29 @@
+package com.ym.mec.web.controller;
+
+import com.ym.mec.biz.dal.page.SysCouponCodeQueryInfo;
+import com.ym.mec.biz.service.SysCouponCodeService;
+import com.ym.mec.common.controller.BaseController;
+import com.ym.mec.common.entity.HttpResponseResult;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RequestMapping("sysCouponCode")
+@Api(tags = "优惠券")
+@RestController
+public class SysCouponCodeController extends BaseController {
+
+	@Autowired
+	private SysCouponCodeService sysCouponCodeService;
+
+	@ApiOperation("分页查询")
+	@PostMapping(value = "queryPage")
+	@PreAuthorize("@pcs.hasPermissions('sysCouponCode/queryPage')")
+	public HttpResponseResult queryPage(SysCouponCodeQueryInfo queryInfo) {
+		return succeed(sysCouponCodeService.querySysCouponUseList(queryInfo));
+	}
+}