Pārlūkot izejas kodu

增加优惠劵功能

zangguocen 3 gadi atpakaļ
vecāks
revīzija
333a14f9c5

+ 8 - 3
yijia-coupon/src/main/java/com/yijia/coupon/controller/CouponInfoController.java

@@ -8,6 +8,7 @@ import java.util.stream.Collectors;
 
 import com.yijia.common.core.domain.model.LoginUser;
 import com.yijia.common.utils.SecurityUtils;
+import com.yijia.system.service.ISysDeptService;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
@@ -39,15 +40,19 @@ public class CouponInfoController extends BaseController
 {
     @Autowired
     private ICouponInfoService couponInfoService;
-
+    @Autowired
+    private ISysDeptService sysDeptService;
     /**
      * 查询优惠劵列表
      */
     @GetMapping("/list")
     public TableDataInfo list(CouponInfo couponInfo)
     {
-        LoginUser currentUser = SecurityUtils.getLoginUser();
-        couponInfo.setStationId(currentUser.getUser().getDeptId());
+        List<String> stationidlist = sysDeptService.levelDeptList(couponInfo.getLevelId());
+        if(stationidlist!=null && stationidlist.size()>0){
+            couponInfo.setStationIdList(stationidlist);
+            couponInfo.setStationId(null);
+        }
         startPage();
         SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
         List<CouponInfo> list = couponInfoService.selectCouponInfoList(couponInfo);

+ 43 - 12
yijia-coupon/src/main/java/com/yijia/coupon/controller/CouponIssueController.java

@@ -53,9 +53,15 @@ public class CouponIssueController extends BaseController
                 if(issue!=null && issue.getShowId()!=null){
                     issue.setShowIdList(Arrays.asList(issue.getShowId().split(",")));
                 }
+                if(issue!=null && issue.getAppointedDays()!=null){
+                    issue.setAppointedDaysList(Arrays.asList(issue.getAppointedDays().split(",")));
+                }
+                if(issue!=null && issue.getCycleDays()!=null){
+                    issue.setCycleDaysList(Arrays.asList(issue.getCycleDays().split(",")));
+                }
                 CouponIssueRelation couponIssueRelation =new CouponIssueRelation();
                 couponIssueRelation.setIssueId(issue.getId());
-                List<CouponIssueRelation> detailList = couponIssueRelationService.selectCouponIssueRelationList(couponIssueRelation);
+                List<Integer> detailList = couponIssueRelationService.selectCouponIdList(couponIssueRelation);
                 if(detailList!=null &&detailList.size()>0){
                     issue.setCouponIssueRelationList(detailList);
                 }
@@ -88,7 +94,16 @@ public class CouponIssueController extends BaseController
             //查询发放对应的优惠
             CouponIssueRelation relation =new CouponIssueRelation();
             relation.setCouponId(couponIssue.getId());
-            List<CouponIssueRelation>  list =  couponIssueRelationService.selectCouponIssueRelationList(relation);
+            if(couponIssue!=null && couponIssue.getShowId()!=null){
+                couponIssue.setShowIdList(Arrays.asList(couponIssue.getShowId().split(",")));
+            }
+            if(couponIssue!=null && couponIssue.getAppointedDays()!=null){
+                couponIssue.setAppointedDaysList(Arrays.asList(couponIssue.getAppointedDays().split(",")));
+            }
+            if(couponIssue!=null && couponIssue.getCycleDays()!=null){
+                couponIssue.setCycleDaysList(Arrays.asList(couponIssue.getCycleDays().split(",")));
+            }
+            List<Integer>  list =  couponIssueRelationService.selectCouponIdList(relation);
             couponIssue.setCouponIssueRelationList(list);
         }
         return AjaxResult.success(couponIssue);
@@ -107,15 +122,23 @@ public class CouponIssueController extends BaseController
             String verification= StringUtils.join( couponIssue.getShowIdList(),",");
             couponIssue.setShowId(verification);
         }
+        if(couponIssue!=null && couponIssue.getAppointedDaysList()!=null&&couponIssue.getAppointedDaysList().size()>0 ){
+            couponIssue.setAppointedDays(StringUtils.join( couponIssue.getAppointedDaysList(),","));
+        }
+        if(couponIssue!=null && couponIssue.getCycleDaysList()!=null && couponIssue.getCycleDaysList().size()>0){
+            couponIssue.setCycleDays(StringUtils.join( couponIssue.getCycleDaysList(),","));
+        }
         LoginUser currentUser = SecurityUtils.getLoginUser();
-        List<CouponIssueRelation> list = couponIssue.getCouponIssueRelationList();
         couponIssue.setCreateBy(String.valueOf(currentUser.getUser().getUserId()));
         i=couponIssueService.insertCouponIssue(couponIssue);
+        List<Integer> list = couponIssue.getCouponIssueRelationList();
         if(list!=null && list.size()>0){
-            for (CouponIssueRelation detail : list){
-                detail.setIssueId(couponIssue.getId());
-                detail.setCreateBy(String.valueOf(currentUser.getUser().getUserId()));
-                i=  couponIssueRelationService.insertCouponIssueRelation(detail);
+            for (Integer couponId : list){
+                CouponIssueRelation issueRetail = new CouponIssueRelation();
+                issueRetail.setIssueId(couponIssue.getId());
+                issueRetail.setCouponId(Long.valueOf(couponId));
+                issueRetail.setCreateBy(String.valueOf(currentUser.getUser().getUserId()));
+                i=  couponIssueRelationService.insertCouponIssueRelation(issueRetail);
             }
         }
         return toAjax(i);
@@ -134,8 +157,14 @@ public class CouponIssueController extends BaseController
             String verification= StringUtils.join( couponIssue.getShowIdList(),",");
             couponIssue.setShowId(verification);
         }
+        if(couponIssue!=null && couponIssue.getAppointedDays()!=null){
+            couponIssue.setAppointedDaysList(Arrays.asList(couponIssue.getAppointedDays().split(",")));
+        }
+        if(couponIssue!=null && couponIssue.getCycleDays()!=null){
+            couponIssue.setCycleDaysList(Arrays.asList(couponIssue.getCycleDays().split(",")));
+        }
         LoginUser currentUser = SecurityUtils.getLoginUser();
-        List<CouponIssueRelation> list = couponIssue.getCouponIssueRelationList();
+        List<Integer> list = couponIssue.getCouponIssueRelationList();
         couponIssue.setUpdateBy(String.valueOf(currentUser.getUser().getUserId()));
         i=couponIssueService.updateCouponIssue(couponIssue);
         //删除所有的已绑定的优惠劵
@@ -143,10 +172,12 @@ public class CouponIssueController extends BaseController
         detail.setIssueId(couponIssue.getId());
         i =  couponIssueRelationService.deleteCouponIssueRelation(detail);
         if(list!=null && list.size()>0){
-            for (CouponIssueRelation issueDetail : list){
-                issueDetail.setIssueId(couponIssue.getId());
-                issueDetail.setCreateBy(String.valueOf(currentUser.getUser().getUserId()));
-                i=  couponIssueRelationService.insertCouponIssueRelation(issueDetail);
+            for (Integer couponId : list){
+                CouponIssueRelation issueRetail = new CouponIssueRelation();
+                issueRetail.setIssueId(couponIssue.getId());
+                issueRetail.setCouponId(Long.valueOf(couponId));
+                issueRetail.setCreateBy(String.valueOf(currentUser.getUser().getUserId()));
+                i=  couponIssueRelationService.insertCouponIssueRelation(issueRetail);
             }
         }
         return toAjax(i);

+ 59 - 3
yijia-coupon/src/main/java/com/yijia/coupon/domain/CouponIssue.java

@@ -43,13 +43,69 @@ public class CouponIssue extends BaseEntity
 
     private List<String> showIdList;
 
-    private List<CouponIssueRelation> couponIssueRelationList;
+    private String appointedDays;
+    private String cycleDays;
+    private String availableControl;
+    private String issueName;
 
-    public List<CouponIssueRelation> getCouponIssueRelationList() {
+    private List<String> appointedDaysList;
+    private List<String> cycleDaysList;
+
+    public String getIssueName() {
+        return issueName;
+    }
+
+    public void setIssueName(String issueName) {
+        this.issueName = issueName;
+    }
+
+    public String getAppointedDays() {
+        return appointedDays;
+    }
+
+    public void setAppointedDays(String appointedDays) {
+        this.appointedDays = appointedDays;
+    }
+
+    public String getCycleDays() {
+        return cycleDays;
+    }
+
+    public void setCycleDays(String cycleDays) {
+        this.cycleDays = cycleDays;
+    }
+
+    public String getAvailableControl() {
+        return availableControl;
+    }
+
+    public void setAvailableControl(String availableControl) {
+        this.availableControl = availableControl;
+    }
+
+    public List<String> getAppointedDaysList() {
+        return appointedDaysList;
+    }
+
+    public void setAppointedDaysList(List<String> appointedDaysList) {
+        this.appointedDaysList = appointedDaysList;
+    }
+
+    public List<String> getCycleDaysList() {
+        return cycleDaysList;
+    }
+
+    public void setCycleDaysList(List<String> cycleDaysList) {
+        this.cycleDaysList = cycleDaysList;
+    }
+
+    private List<Integer> couponIssueRelationList;
+
+    public List<Integer> getCouponIssueRelationList() {
         return couponIssueRelationList;
     }
 
-    public void setCouponIssueRelationList(List<CouponIssueRelation> couponIssueRelationList) {
+    public void setCouponIssueRelationList(List<Integer> couponIssueRelationList) {
         this.couponIssueRelationList = couponIssueRelationList;
     }
 

+ 8 - 0
yijia-coupon/src/main/java/com/yijia/coupon/service/ICouponIssueRelationService.java

@@ -65,4 +65,12 @@ public interface ICouponIssueRelationService
      * @return
      */
     public int deleteCouponIssueRelation(CouponIssueRelation detail);
+
+    /**
+     * 查询返回的所选中的优惠劵id
+     *
+     * @param couponIssueRelation
+     * @return
+     */
+    public List<Integer> selectCouponIdList(CouponIssueRelation couponIssueRelation);
 }

+ 11 - 0
yijia-coupon/src/main/java/com/yijia/coupon/service/impl/CouponIssueRelationServiceImpl.java

@@ -1,5 +1,6 @@
 package com.yijia.coupon.service.impl;
 
+import java.util.ArrayList;
 import java.util.List;
 import com.yijia.common.utils.DateUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -98,4 +99,14 @@ public class CouponIssueRelationServiceImpl implements ICouponIssueRelationServi
     public int deleteCouponIssueRelation(CouponIssueRelation detail) {
         return couponIssueRelationMapper.deleteCouponIssueRelation(detail);
     }
+
+    @Override
+    public List<Integer> selectCouponIdList(CouponIssueRelation couponIssueRelation) {
+       List<CouponIssueRelation> list = couponIssueRelationMapper.selectCouponIssueRelationList(couponIssueRelation);
+       List<Integer> integerList =new ArrayList<>();
+       for(CouponIssueRelation relation:list ){
+           integerList.add(relation.getCouponId().intValue());
+       }
+        return integerList;
+    }
 }

+ 1 - 0
yijia-coupon/src/main/resources/mapper/coupon/CouponInfoMapper.xml

@@ -84,6 +84,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
                 </foreach>
             </if>
         </where>
+        order by id desc
     </select>
 
     <select id="selectCouponInfoById" parameterType="Integer" resultMap="CouponInfoResult">

+ 31 - 8
yijia-coupon/src/main/resources/mapper/coupon/CouponIssueMapper.xml

@@ -3,9 +3,10 @@
 PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.yijia.coupon.mapper.CouponIssueMapper">
-    
+
     <resultMap type="CouponIssue" id="CouponIssueResult">
         <result property="id"    column="id"    />
+        <result property="issueName"    column="issue_name"    />
         <result property="issueType"    column="issue_type"    />
         <result property="discountThresholdAmt"    column="discount_threshold_amt"    />
         <result property="status"    column="status"    />
@@ -15,31 +16,42 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="updateBy"    column="update_by"    />
         <result property="updateTime"    column="update_time"    />
         <result property="showId"    column="show_id"    />
+        <result property="appointedDays"    column="appointed_days" />
+        <result property="cycleDays"    column="cycle_days" />
+        <result property="availableControl"    column="available_control" />
     </resultMap>
 
     <sql id="selectCouponIssueVo">
-        select id, issue_type, discount_threshold_amt, status, station_id, create_by, create_time, update_by, update_time, show_id from coupon_issue
+        select id,issue_name, issue_type, discount_threshold_amt, status, station_id, create_by, create_time, update_by, update_time, show_id,
+        appointed_days,cycle_days,available_control
+         from coupon_issue
     </sql>
 
     <select id="selectCouponIssueList" parameterType="CouponIssue" resultMap="CouponIssueResult">
         <include refid="selectCouponIssueVo"/>
-        <where>  
+        <where>
+            <if test="issueName != null  and issueName != ''"> and issue_name = #{issueName}</if>
             <if test="issueType != null  and issueType != ''"> and issue_type = #{issueType}</if>
             <if test="discountThresholdAmt != null "> and discount_threshold_amt = #{discountThresholdAmt}</if>
             <if test="status != null  and status != ''"> and status = #{status}</if>
             <if test="stationId != null "> and station_id = #{stationId}</if>
             <if test="showId != null  and showId != ''"> and show_id = #{showId}</if>
+            <if test="appointedDays != null  and appointedDays != ''"> and appointed_days = #{appointedDays}</if>
+            <if test="cycleDays != null  and cycleDays != ''"> and cycle_days = #{cycleDays}</if>
+            <if test="availableControl != null  and availableControl != ''"> and available_control = #{availableControl}</if>
         </where>
+        order by id desc
     </select>
-    
+
     <select id="selectCouponIssueById" parameterType="Integer" resultMap="CouponIssueResult">
         <include refid="selectCouponIssueVo"/>
         where id = #{id}
     </select>
-        
+
     <insert id="insertCouponIssue" parameterType="CouponIssue" useGeneratedKeys="true" keyProperty="id">
         insert into coupon_issue
         <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="issueName != null">issue_name,</if>
             <if test="issueType != null">issue_type,</if>
             <if test="discountThresholdAmt != null">discount_threshold_amt,</if>
             <if test="status != null">status,</if>
@@ -49,8 +61,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="updateBy != null">update_by,</if>
             <if test="updateTime != null">update_time,</if>
             <if test="showId != null">show_id,</if>
+            <if test="appointedDays != null">appointed_days,</if>
+            <if test="cycleDays != null">cycle_days,</if>
+            <if test="availableControl != null">available_control,</if>
          </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="issueName != null">#{issueName},</if>
             <if test="issueType != null">#{issueType},</if>
             <if test="discountThresholdAmt != null">#{discountThresholdAmt},</if>
             <if test="status != null">#{status},</if>
@@ -60,12 +76,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="updateBy != null">#{updateBy},</if>
             <if test="updateTime != null">#{updateTime},</if>
             <if test="showId != null">#{showId},</if>
+            <if test="appointedDays != null">#{appointedDays},</if>
+            <if test="cycleDays != null">#{cycleDays},</if>
+            <if test="availableControl != null">#{availableControl},</if>
          </trim>
     </insert>
 
     <update id="updateCouponIssue" parameterType="CouponIssue">
         update coupon_issue
         <trim prefix="SET" suffixOverrides=",">
+            <if test="issueName != null">issue_name = #{issueName},</if>
             <if test="issueType != null">issue_type = #{issueType},</if>
             <if test="discountThresholdAmt != null">discount_threshold_amt = #{discountThresholdAmt},</if>
             <if test="status != null">status = #{status},</if>
@@ -75,6 +95,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="updateBy != null">update_by = #{updateBy},</if>
             <if test="updateTime != null">update_time = #{updateTime},</if>
             <if test="showId != null">show_id = #{showId},</if>
+            <if test="appointedDays != null">appointed_days = #{appointedDays},</if>
+            <if test="cycleDays != null">cycle_days = #{cycleDays},</if>
+            <if test="availableControl != null">available_control = #{availableControl},</if>
         </trim>
         where id = #{id}
     </update>
@@ -84,10 +107,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     </delete>
 
     <delete id="deleteCouponIssueByIds" parameterType="String">
-        delete from coupon_issue where id in 
+        delete from coupon_issue where id in
         <foreach item="id" collection="array" open="(" separator="," close=")">
             #{id}
         </foreach>
     </delete>
-    
-</mapper>
+
+</mapper>