jk-GitHub-coder 3 năm trước cách đây
mục cha
commit
85a1d455b1

+ 42 - 0
YijiaRestful/src/main/java/com/platform/yijia/controller/AppUserInfoController.java

@@ -163,6 +163,48 @@ public class AppUserInfoController {
         return gson.toJson(resultData);
     }
 
+    /***
+     * 易加助手小程序和核销小程序(自己公司俩个小程序)
+     * @param code
+     * @param appType
+     * @return
+     */
+    @ResponseBody
+    @RequestMapping(value = "/getSessionKeyAndOpenIDByAppType")
+    public String getSessionKeyAndOpenIDByAppType(@RequestParam String code, Integer appType){
+        logger.info("微信小程序获取用户openId和sessionKey入参code和appType: "+code +"-----" +appType);
+        Gson gson =new Gson();
+        //返回结果集
+        ResultData resultData = null;
+        if(appType !=null  && StringUtils.isNotBlank(code)){
+            String appId = "";        //微信小程序appID
+            String appSecret = "";      //微信小程序密钥
+            switch (appType.toString()){
+                case "1":
+                    //易核销小程序:
+                    //AppID(小程序ID)wx646259775ca8425b
+                    //密钥:7f5add461319eb61dcc23ebbb412af3f
+                    appId="wx646259775ca8425b";
+                    appSecret="7f5add461319eb61dcc23ebbb412af3f";
+                    break;
+                case "2":
+                    //易加助手小程序:
+                    //AppID(小程序ID)wx2369839a697f1614
+                    //密钥:2745c645e7456cf56d901b2d42000f31
+                    appId="wx2369839a697f1614";
+                    appSecret="2745c645e7456cf56d901b2d42000f31";
+                    break;
+            }
+            Map<String, Object> userSessionKeyAndOpenID = WeiXinUserUtil.getUserSessionKeyAndOpenID(appId, appSecret, code);
+            resultData = ResultData.success(userSessionKeyAndOpenID);
+        }else {
+            resultData = ResultData.error(CodeMsg.REQUEST_FAIL);
+        }
+        return gson.toJson(resultData);
+    }
+
+
+
     /*
      * 解密 encryptedData
      * @param sessionKey

+ 158 - 40
YijiaRestful/src/main/java/com/platform/yijia/controller/CouponController.java

@@ -36,8 +36,6 @@ import java.util.*;
 /*
  * <Title> CouponController </Title>
  * <Description> 优惠券 </Description>
- * @Author JK
- * @Date 2021年7月6日
  */
 @Controller
 @YiJiaRequest()
@@ -195,6 +193,58 @@ public class CouponController {
         return  gson.toJson(resultData);
     }
 
+    /***
+     * 获取核销优惠券信息
+     * @param couponNo
+     * @return
+     */
+    @RequestMapping(value = "/selectCouponVerificationInfo", method = RequestMethod.GET)
+    @ResponseBody
+    @ApiOperation(value = "获取核销优惠券信息", httpMethod = "GET", notes = "获取核销优惠券信息")
+    public String selectCouponVerificationInfo(@ApiParam(value = "核销优惠券码", required = true) @RequestParam String couponNo,
+                                               @ApiParam(value = "用户unionId", required = true) @RequestParam String unionId){
+        Gson gson =new Gson();
+        ResultData resultData = null;
+        try {
+            if(StringUtils.isNotBlank(couponNo) && StringUtils.isNotBlank(unionId)){
+                CouponVerificationUser couponVerificationUser = new CouponVerificationUser();
+                couponVerificationUser.setUnionId(unionId);
+                CouponVerificationUser cu = couponService.selectCouponVerificationUserInfo(couponVerificationUser);
+                if(cu !=null && cu.getStationId() !=null){
+                    Integer stationId = cu.getStationId();
+                    UserCoupon coupon = new UserCoupon();
+                    coupon.setCouponNo(couponNo);
+                    coupon.setUnionId(unionId);
+                    UserCoupon couponInfo = couponService.selectUserCouponInfo(coupon);
+                    if(couponInfo !=null){
+                        String verification = couponInfo.getVerification();
+                        StationInfo stationInfo = new StationInfo();
+                        stationInfo.setStationId(cu.getStationId());
+                        StationInfo stationInfos = stationService.selectStationInfo(stationInfo);
+                        if(StringUtils.isNotBlank(stationInfos.getCouponFlag()) && stationInfos.getCouponFlag().equals("1")){
+                            stationId = stationInfos.getGroupId();
+                        }
+                        boolean contains = verification.contains(stationId.toString());
+                        if(contains){
+                            resultData = ResultData.success(couponInfo);
+                        }else {
+                            resultData = ResultData.error(CodeMsg.ERROR_VERIFICATION);
+                        }
+                    }else {
+                        resultData = ResultData.error(CodeMsg.NO_COUPON);
+                    }
+                }else {
+                    resultData = ResultData.error(CodeMsg.NOT_COUPON_VERIFICATION_USER);
+                }
+            }else {
+                resultData = ResultData.error(CodeMsg.PARAMS_NUll);
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+        }
+        return  gson.toJson(resultData);
+    }
+
     //获取客户所拥有的优惠券
     @RequestMapping(value = "/selectUserCoupons", method = RequestMethod.GET)
     @ResponseBody
@@ -455,56 +505,82 @@ public class CouponController {
         ResultData resultData = null;
         try {
             if(couponVerification !=null && StringUtils.isNoneBlank(couponVerification.getCouponNo()) && StringUtils.isNoneBlank(couponVerification.getUnionId())){
-
+                //核销点
+                String verificationId = couponVerification.getVerification();
                 String unionId = couponVerification.getUnionId();
-                CouponVerificationUser couponVerificationUser = new CouponVerificationUser();
-                couponVerificationUser.setUnionId(unionId);
-                CouponVerificationUser cu = couponService.selectCouponVerificationUserInfo(couponVerificationUser);
-                if(cu !=null && cu.getStationId() !=null){
-                    //核销点
-                    String verificationId = couponVerification.getVerification();
-                    //核销码
-                    String couponNo = couponVerification.getCouponNo();
-                    UserCoupon userCoupon = new UserCoupon();
-                    userCoupon.setCouponNo(couponNo);
-                    //查询当前兑换券是否存在
-                    UserCoupon userCouponInfo = couponService.selectUserCouponInfo(userCoupon);
-                    if(userCouponInfo !=null){
-                        if(userCouponInfo.getCouponIsUsed().equals("0")){
-                            //判断当前优惠券是否是异业券
-                            if(userCouponInfo.getCouponType().equals("3")){
-                                //当前异业券的核销站点
-                                String verification = userCouponInfo.getVerification();
+                //核销码
+                String couponNo = couponVerification.getCouponNo();
+                UserCoupon userCoupon = new UserCoupon();
+                userCoupon.setCouponNo(couponNo);
+                //查询当前兑换券是否存在
+                UserCoupon userCouponInfo = couponService.selectUserCouponInfo(userCoupon);
+                if(userCouponInfo !=null){
+                    if(userCouponInfo.getCouponIsUsed().equals("0")){
+                        //判断当前优惠券是否是异业券
+                        if(userCouponInfo.getCouponType().equals("3")){
+                            //核销人信息
+                            CouponVerificationUser couponVerificationUser = new CouponVerificationUser();
+                            couponVerificationUser.setUnionId(unionId);
+                            CouponVerificationUser cu = couponService.selectCouponVerificationUserInfo(couponVerificationUser);
+                            if(cu !=null && cu.getStationId() !=null){
+                                //异业券核销,使用sys_user中账户核销
                                 StationInfo stationInfo = new StationInfo();
                                 stationInfo.setStationId(cu.getStationId());
                                 StationInfo stationInfos = stationService.selectStationInfo(stationInfo);
-                                if(StringUtils.isNotBlank(stationInfos.getCouponFlag()) && stationInfos.getCouponFlag().equals("1")){
-                                    verificationId = stationInfos.getGroupId().toString();
-                                }
-                                boolean contains = verification.contains(verificationId);
-                                //是否能在该核销点核销
-                                if(contains){
-                                    userCoupon.setCouponIsUsed("1");
-                                    couponService.updateCouponUserInfo(userCoupon);
-                                    couponVerification.setCouponUserId(userCouponInfo.getId());
-                                    couponVerification.setCreateTime(new Date());
-                                    couponVerification.setVerification(cu.getStationId().toString());
-                                    couponService.addCouponVerificationRecord(couponVerification);
-                                    resultData = ResultData.success("核销成功!");
+                                //当前异业券的核销站点
+                                String verification = userCouponInfo.getVerification();
+                                if(StringUtils.isNotBlank(verification)){
+                                    //当前优惠券是否共享
+                                    if(StringUtils.isNotBlank(stationInfos.getCouponFlag()) && stationInfos.getCouponFlag().equals("1")){
+                                        verificationId = stationInfos.getGroupId().toString();
+                                    }
+                                    boolean contains = verification.contains(verificationId);
+                                    //是否能在该核销点核销
+                                    if(contains){
+                                        userCoupon.setCouponIsUsed("2");
+                                        couponService.updateCouponUserInfo(userCoupon);
+//                                    couponVerification.setCouponUserId(userCouponInfo.getId());
+//                                    couponVerification.setCreateTime(new Date());
+//                                    couponVerification.setVerification(cu.getStationId().toString());
+//                                    couponService.addCouponVerificationRecord(couponVerification);
+                                        resultData = ResultData.success("核销成功!");
+                                    }else {
+                                        //油站自己设置自己兑换券
+                                        Integer stationIdVerification = cu.getStationId();
+                                        Integer stationIdCoupon = userCouponInfo.getStationId();
+                                        if(stationIdVerification.toString().equals(stationIdCoupon.toString())){
+                                            userCoupon.setCouponIsUsed("2");
+                                            couponService.updateCouponUserInfo(userCoupon);
+                                            resultData = ResultData.success("核销成功!");
+                                        }else {
+                                            resultData = ResultData.error(CodeMsg.ERROR_VERIFICATION);
+                                        }
+                                        //resultData = ResultData.error(CodeMsg.ERROR_VERIFICATION);
+                                    }
                                 }else {
-                                    resultData = ResultData.error(CodeMsg.ERROR_VERIFICATION);
+                                    //油站自己设置自己兑换券
+                                    Integer stationIdVerification = cu.getStationId();
+                                    Integer stationIdCoupon = userCouponInfo.getStationId();
+                                    if(stationIdVerification.toString().equals(stationIdCoupon.toString())){
+                                        userCoupon.setCouponIsUsed("2");
+                                        couponService.updateCouponUserInfo(userCoupon);
+                                        resultData = ResultData.success("核销成功!");
+                                    }else {
+                                        resultData = ResultData.error(CodeMsg.ERROR_VERIFICATION);
+                                    }
                                 }
                             }else {
-                                resultData = ResultData.error(CodeMsg.NOT_COUPON_VERIFICATION);
+                                //此人不是核销人员
+                                resultData = ResultData.error(CodeMsg.NOT_COUPON_VERIFICATION_USER);
                             }
-                        }else {
-                            resultData = ResultData.error(CodeMsg.COUPON_VERIFICATION_USED);
+                        }else{
+                            resultData = ResultData.error(CodeMsg.NOT_COUPON_VERIFICATION);
                         }
                     }else {
-                        resultData = ResultData.error(CodeMsg.NO_COUPON);
+                        resultData = ResultData.error(CodeMsg.COUPON_VERIFICATION_USED);
                     }
                 }else {
-                    resultData = ResultData.error(CodeMsg.NOT_COUPON_VERIFICATION_USER);
+                    resultData = ResultData.error(CodeMsg.NO_COUPON);
                 }
             }else {
                 resultData = ResultData.error(CodeMsg.PARAMS_NUll);
@@ -516,6 +592,48 @@ public class CouponController {
     }
 
 
+    /***
+     * 获取已核销优惠券信息列表
+     * @param unionId
+     * @return
+     */
+    @RequestMapping(value = "/selectCouponVerificationList", method = RequestMethod.GET)
+    @ResponseBody
+    @ApiOperation(value = "获取核销优惠券信息", httpMethod = "GET", notes = "获取核销优惠券信息")
+    public String selectCouponVerificationList(@ApiParam(value = "用户unionId", required = true) @RequestParam String unionId,
+                                               @RequestParam int pageNum, @RequestParam int pageSize) {
+        Gson gson = new Gson();
+        ResultData resultData = null;
+        if(StringUtils.isNotBlank(unionId)){
+            CouponVerificationUser couponVerificationUser = new CouponVerificationUser();
+            couponVerificationUser.setUnionId(unionId);
+            CouponVerificationUser cu = couponService.selectCouponVerificationUserInfo(couponVerificationUser);
+            if(cu !=null && cu.getStationId() !=null){
+                //
+                Integer stationId = cu.getStationId();
+                UserCoupon userCoupon = new UserCoupon();
+                userCoupon.setStationId(stationId);
+                userCoupon.setCouponType("3");
+                userCoupon.setCouponIsUsed("2");
+                StationInfo stationInfo = new StationInfo();
+                stationInfo.setStationId(cu.getStationId());
+                StationInfo stationInfos = stationService.selectStationInfo(stationInfo);
+                if(StringUtils.isNotBlank(stationInfos.getCouponFlag()) && stationInfos.getCouponFlag().equals("1")){
+                    stationId = stationInfos.getGroupId();
+                }
+                userCoupon.setStationId(stationId);
+                PageHelper.startPage(pageNum, pageSize);
+                List<UserCoupon> userCoupons = couponService.selectCouponVerificationList(userCoupon);
+                PageInfo pageInfo = new PageInfo(userCoupons);
+                resultData = ResultData.success(pageInfo);
+            }else {
+                resultData = ResultData.error(CodeMsg.NOT_COUPON_VERIFICATION_USER);
+            }
+        }else {
+            resultData = ResultData.error(CodeMsg.PARAMS_NUll);
+        }
+        return  gson.toJson(resultData);
+    }
 
     /***
      * //营销方案活动日优惠

+ 46 - 4
YijiaRestful/src/main/java/com/platform/yijia/controller/PayController.java

@@ -201,6 +201,7 @@ public class PayController {
                                     String couponType = ucResult.getCouponType();       //优惠券类型
                                     Double amt = payOrder.getAmt();
                                     Double discountAmt = payOrder.getDiscountAmt();
+                                    Double receivableAmt = payOrder.getReceivableAmt();
                                     BigDecimal amtNew = new BigDecimal(amt.toString());
                                     BigDecimal discountAmtNew = new BigDecimal(discountAmt.toString());
                                     switch (couponType){
@@ -214,13 +215,42 @@ public class PayController {
                                             discountAmtNew = new BigDecimal(amt.toString()).multiply(divide);
                                             break;
                                     }
-                                    if(ucResult.getIsGradeFlag().equals("1")){
 
-                                    }
-                                    if(ucResult.getIsMarketFlag().equals("1")){
+                                    //优惠方案选择
+                                    String discountSetting = stationInfos.getDiscountSetting();
+                                    if(discountSetting!=null && discountSetting.equals("0")){
+                                        //为0时,表示无营销方案,只有等级
+                                        if(!ucResult.getIsGradeFlag().equals("1")){
+                                            //表示该优惠券与等级不叠加
+                                            switch (couponType){
+                                                case "1":
+                                                    amtNew = new BigDecimal(receivableAmt.toString()).subtract(couponAmt);
+                                                    discountAmtNew = couponAmt;
+                                                    break;
+                                                case "2":
+                                                    amtNew = new BigDecimal(receivableAmt.toString()).multiply(couponAmt).divide(new BigDecimal("100"));
+                                                    discountAmtNew = new BigDecimal(receivableAmt.toString()).subtract(amtNew);
+                                                    break;
+                                            }
+                                        }
+                                    }else {
+                                        //不为0时,表示有营销方案
+                                        if(!ucResult.getIsMarketFlag().equals("1")){
+                                            //表示该优惠券与营销方案不叠加
+                                            //表示该优惠券与等级不叠加
+                                            switch (couponType){
+                                                case "1":
+                                                    amtNew = new BigDecimal(receivableAmt.toString()).subtract(couponAmt);
+                                                    discountAmtNew = couponAmt;
+                                                    break;
+                                                case "2":
+                                                    amtNew = new BigDecimal(receivableAmt.toString()).multiply(couponAmt).divide(new BigDecimal("100"));
+                                                    discountAmtNew = new BigDecimal(receivableAmt.toString()).subtract(amtNew);
+                                                    break;
+                                            }
 
+                                        }
                                     }
-
                                     amtNew = amtNew.signum() == -1 ? new BigDecimal("0.01") : amtNew.setScale(2,BigDecimal.ROUND_HALF_UP);
                                     discountAmtNew = discountAmtNew.signum() == -1 ? new BigDecimal("0.01") : discountAmtNew.setScale(2,BigDecimal.ROUND_HALF_UP);
                                     p.setAmt(Double.valueOf(amtNew.toString()));
@@ -948,6 +978,18 @@ public class PayController {
                                 stationService.updateStationBalance(s);
                                 logger.info("LNG加气平台支付更新余额完成!");
                             }else {
+                                if(stationInfos.getCouponEnabledFlag() !=null && stationInfos.getCouponEnabledFlag().equals("1")){
+                                    //discountCoupon
+                                    if(infoMap.containsKey("discountCoupon") && infoMap.get("discountCoupon") !=null && infoMap.get("discountCoupon").toString() !=""){
+                                        UserCoupon userCoupon = new UserCoupon();
+                                        userCoupon.setCouponIsUsed("1");
+                                        String discountCoupon = infoMap.get("discountCoupon").toString();
+                                        userCoupon.setId(Integer.valueOf(discountCoupon));
+                                        userCoupon.setCreateTime(new Date());
+                                        couponService.updateCouponUserInfo(userCoupon);
+                                    }
+                                }
+
                                 //当前系统主要业务逻辑
                                 CustomerManage customerManage = this.insertCustomerManage(infoMap);                              //插入客户积分返回要插入客户的信息
                                 CalculateIntegral calculateIntegral = new CalculateIntegral();

+ 3 - 0
YijiaRestful/src/main/java/com/platform/yijia/dao/CouponMapper.java

@@ -51,4 +51,7 @@ public interface CouponMapper {
 
     //添加核销记录
     void addCouponVerificationRecord(CouponVerification couponVerification);
+
+    //查询已核销的异业券
+    List<UserCoupon> selectCouponVerificationList(UserCoupon userCoupon);
 }

+ 1 - 0
YijiaRestful/src/main/java/com/platform/yijia/pojo/Coupon.java

@@ -14,6 +14,7 @@ import java.util.List;
 public class Coupon {
     private Integer couponId;               //优惠券模板ID;
     private Integer stationId;              //油站ID
+    private String couponRemark;            //优惠券备注
     private String couponName;              //优惠券名称;
     private String couponType;              //优惠券类型: 1现金劵,2折扣券,3兑换券;
     private BigDecimal couponThresholdAmt;  //优惠券使用门槛金额 1.无门槛,2满减劵,3折扣;

+ 1 - 0
YijiaRestful/src/main/java/com/platform/yijia/pojo/CouponVerificationUser.java

@@ -13,4 +13,5 @@ public class CouponVerificationUser {
     private String mobilePhone;     //用户mobilePhone
     private Date createTime;        //创建时间
     private Integer stationId;      //核销点ID
+    private String jiBie;           //组织机构级别
 }

+ 1 - 0
YijiaRestful/src/main/java/com/platform/yijia/pojo/UserCoupon.java

@@ -36,6 +36,7 @@ public class UserCoupon {
 
     //优惠券属性
     private BigDecimal couponThresholdAmt;  //优惠券使用门槛金额;
+    private String couponRemark;            //优惠券备注
     private String couponName;              //优惠券名称
     private String oilName;                 //油品名称
     private String oilType;                 //1 柴油,2 汽油;

+ 3 - 0
YijiaRestful/src/main/java/com/platform/yijia/service/CouponService.java

@@ -51,4 +51,7 @@ public interface CouponService {
 
     //添加核销记录
     void addCouponVerificationRecord(CouponVerification couponVerification);
+
+    //查询已核销的异业券
+    List<UserCoupon> selectCouponVerificationList(UserCoupon userCoupon);
 }

+ 6 - 0
YijiaRestful/src/main/java/com/platform/yijia/service/impl/CouponServiceImpl.java

@@ -102,4 +102,10 @@ public class CouponServiceImpl implements CouponService {
     public int selectUserCouponCount(UserCoupon userCoupon) {
         return couponMapper.selectUserCouponCount(userCoupon);
     }
+
+    //查询已核销的异业券
+    @Override
+    public List<UserCoupon> selectCouponVerificationList(UserCoupon userCoupon) {
+        return couponMapper.selectCouponVerificationList(userCoupon);
+    }
 }

+ 76 - 3
YijiaRestful/src/main/resources/mapper/CouponMapper.xml

@@ -5,6 +5,7 @@
   <resultMap id="BaseResultMap"                type="com.platform.yijia.pojo.Coupon">
     <id     column="id"                       jdbcType="INTEGER"   property="couponId" />
     <result column="station_id"               jdbcType="INTEGER"   property="stationId" />
+      <result column="coupon_remark"          jdbcType="VARCHAR"   property="couponRemark" />
     <result column="coupon_name"              jdbcType="VARCHAR"   property="couponName" />
     <result column="coupon_type"              jdbcType="VARCHAR"   property="couponType" />
     <result column="coupon_threshold_amt"     jdbcType="DECIMAL"   property="couponThresholdAmt" />
@@ -93,6 +94,7 @@
 
     <result column="oil_name"                 jdbcType="VARCHAR"   property="oilName" />
     <result column="oil_type"                 jdbcType="VARCHAR"   property="oilType" />
+    <result column="coupon_remark"            jdbcType="VARCHAR"   property="couponRemark" />
     <result column="coupon_amt"               jdbcType="DECIMAL"   property="couponAmt" />
     <result column="coupon_num"               jdbcType="INTEGER"   property="couponNum" />
     <result column="effective_time_type"      jdbcType="VARCHAR"   property="effectiveTimeType" />
@@ -142,19 +144,19 @@
 
     <!-- 核销站点-->
     <resultMap id="CouponVerificationBaseResultMap"       type="com.platform.yijia.pojo.CouponVerification">
-        <result column="dept_id"            jdbcType="INTEGER"   property="verificationStationId" />
+        <result column="dept_id"            jdbcType="INTEGER"   property="verification" />
         <result column="dept_name"          jdbcType="VARCHAR"   property="verificationName" />
     </resultMap>
 
   <sql id="UserCoupon_Base_Column_List">
-    T1.id, T1.coupon_is_used, T1.coupon_no, T2.id AS coupon_id, T2.station_id, T2.coupon_name, T2.coupon_type, T2.coupon_threshold_amt, T2.oil_name, T2.oil_type, T2.coupon_amt, T2.effective_time_type,
+    T1.id, T1.coupon_is_used, T1.coupon_no, T2.id AS coupon_id, T2.station_id, T2.coupon_name, T2.coupon_remark, T2.coupon_type, T2.coupon_threshold_amt, T2.oil_name, T2.oil_type, T2.coupon_amt, T2.effective_time_type,
     T2.effective_time_start, T2.effective_time_end, T2.effective_day_num, T2.coupon_cumulative_num, T2.coupon_use_num,
     T2.open_platform, T2.status, T2.create_by, T2.create_time, T2.update_by, T2.update_time, T2.del_flag, T2.coupon_details, T2.verification,
     T2.is_card_flag, T2.is_grade_flag, T2.is_market_flag, T2.edit_flag, T2.available_control, T2.appointed_days, T2.cycle_days
   </sql>
 
     <sql id="Coupon_Base_Column_List">
-        T2.id, T2.station_id, T2.coupon_name, T2.coupon_type, T2.coupon_threshold_amt, T2.oil_name, T2.oil_type, T2.coupon_amt, T2.coupon_num, T2.effective_time_type,
+        T2.id, T2.station_id, T2.coupon_name, T2.coupon_type, T2.coupon_remark, T2.coupon_threshold_amt, T2.oil_name, T2.oil_type, T2.coupon_amt, T2.coupon_num, T2.effective_time_type,
         T2.effective_time_start, T2.effective_time_end, T2.effective_day_num, T2.coupon_receive_num, T2.coupon_hold_num, T2.coupon_cumulative_num, T2.coupon_use_num,
         T2.open_platform, T2.status, T2.create_by, T2.create_time, T2.update_by, T2.update_time, T2.del_flag, T2.coupon_details, T2.verification,
         T2.is_card_flag, T2.is_grade_flag, T2.is_market_flag, T2.edit_flag, T2.available_control, T2.appointed_days, T2.cycle_days
@@ -233,6 +235,7 @@
             T3.coupon_hold_num,
             T3.coupon_cumulative_num,
             T3.coupon_use_num,
+            T3.coupon_remark,
             T3.open_platform,
             T3.coupon_details,
             T3.grant_status,
@@ -437,9 +440,11 @@
         SELECT
             T1.union_id,
             T1.mobile_phone,
+            T3.ji_bie,
             T2.dept_id         AS stationId
         FROM            coupon_verification_user      AS T1
         LEFT JOIN       sys_user                      AS T2  ON T1.mobile_phone = T2.phonenumber
+        LEFT JOIN       sys_dept                      AS T3  ON T2.dept_id = T3.dept_id
         <where>
             <if test="unionId !=null and unionId !=''">
                 T1.union_id = #{unionId}
@@ -509,6 +514,9 @@
             <if test="couponNo !=null">
                 AND T1.coupon_no = #{couponNo}
             </if>
+            <if test="unionId !=null">
+                AND T1.union_id = #{unionId}
+            </if>
         </where>
   </select>
 
@@ -548,6 +556,7 @@
         T2.station_id,
         T2.oil_name,
         T2.oil_type,
+        T2.coupon_remark,
         T2.coupon_name,
         T2.coupon_threshold_amt,
         T2.coupon_amt,
@@ -605,6 +614,70 @@
     </where>
   </select>
 
+
+    <!--查询已核销的优惠券-->
+    <select id="selectCouponVerificationList" parameterType="com.platform.yijia.pojo.UserCoupon" resultMap="UserCouponsBaseResultMap">
+        SELECT
+            T1.id,
+            T1.union_id,
+            T1.coupon_id,
+            T1.coupon_no,
+            T1.coupon_is_effective,
+            T1.coupon_is_used,
+            T1.get_coupon_time,
+            T1.coupon_effective_time,
+            T3.issue_name,
+            T2.station_id,
+            T2.oil_name,
+            T2.oil_type,
+            T2.coupon_name,
+            T2.coupon_remark,
+            T2.coupon_threshold_amt,
+            T2.coupon_amt,
+            T2.coupon_type,
+            T2.coupon_details,
+            T2.effective_time_type,
+            T2.effective_time_start,
+            T2.effective_time_end,
+            T2.effective_day_num,
+            T2.status,
+            T2.create_time,
+            T2.is_card_flag,
+            T2.is_grade_flag,
+            T2.is_market_flag,
+            T2.available_control,
+            CASE
+                WHEN  T2.available_control ='0'   THEN  CASE WHEN ( NOW() - T1.coupon_effective_time &lt;= 0) 				         THEN  'true' ELSE 'false'   END
+                WHEN  T2.available_control ='1'   THEN  CASE WHEN LOCATE(DATE_FORMAT(NOW(), '%w'), T2.cycle_days) 			     THEN  'true' ELSE 'false'   END
+                WHEN  T2.available_control ='2'   THEN  CASE WHEN LOCATE(DATE_FORMAT(NOW(), '%e')-1, T2.cycle_days) 		     THEN  'true' ELSE 'false'   END
+                WHEN  T2.available_control ='3'   THEN  CASE WHEN LOCATE(DATE_FORMAT(NOW(), '%Y-%d-%m'), T2.appointed_days)      THEN  'true' ELSE 'false'   END
+            END				        AS canUse,
+            T2.appointed_days,
+            T2.edit_flag,
+            T2.verification,
+            T2.cycle_days
+        FROM      coupon_user               AS  T1
+        LEFT JOIN coupon_info               AS  T2 ON T1.coupon_id = T2.id
+        LEFT JOIN coupon_issue              AS  T3 ON T1.issue_id = T3.id
+        <where>
+            <if test="stationId !=null and stationId !=''">
+                AND T1.station_id = #{stationId} OR  FIND_IN_SET(#{stationId}, T2.verification)
+            </if>
+            <if test="couponType !=null and couponType !=''">
+                AND T2.coupon_type = #{couponType}
+            </if>
+            <if test="couponIsUsed !=null and couponIsUsed !=''">
+                AND T1.coupon_is_used = #{couponIsUsed}
+            </if>
+            <if test="unionId !=null and unionId !=''">
+                AND T1.union_id = #{unionId}
+            </if>
+            <if test="oilName !=null and oilName !=''">
+                AND FIND_IN_SET(#{oilName}, T2.oil_name)
+            </if>
+        </where>
+    </select>
+
     <!--用户获取优惠券-->
     <insert id="addUserCoupon"  parameterType="com.platform.yijia.pojo.UserCoupon" >
         INSERT INTO coupon_user

+ 1 - 0
YijiaRestful/src/main/resources/mapper/PayOrderMapper.xml

@@ -1043,6 +1043,7 @@
         A.driver_oil_price      AS driverOilPrice,
         A.receivable_amt        AS receivableAmt,
         A.discount_amt          AS discountAmt,
+        A.discount_coupon       AS discountCoupon,
         A.created_date          AS createdDate,
         A.pay_date              AS payDate,
         A.consumer_id           AS consumerId,