JK 3 years ago
parent
commit
8b5c870643

+ 41 - 16
YijiaRestful/src/main/java/com/platform/yijia/controller/CouponController.java

@@ -394,28 +394,53 @@ public class CouponController {
     }
 
     //异业端核销优惠券,兑换券
-    @RequestMapping(value = "/writeOffCoupon", method = RequestMethod.GET)
+    @RequestMapping(value = "/writeOffCoupon", consumes = "application/json", method = RequestMethod.POST)
     @ResponseBody
     @Transactional
-    @ApiOperation(value = "获取优惠券信息", httpMethod = "GET", notes = "获取优惠券信息")
-    public String writeOffCoupon(@ApiParam(value = "优惠券核销编码", required = true) @RequestParam String couponNo){
+    public String writeOffCoupon(@RequestBody CouponVerification couponVerification){
         Gson gson =new Gson();
         ResultData resultData = null;
         try {
-            UserCoupon userCoupon = new UserCoupon();
-            userCoupon.setCouponNo(couponNo);
-            UserCoupon userCouponInfo = couponService.selectUserCouponInfo(userCoupon);
-            if(userCouponInfo !=null){
-                userCoupon.setCouponIsUsed("1");
-                couponService.updateCouponUserInfo(userCoupon);
-                CouponVerification couponVerification = new CouponVerification();
-                couponVerification.setCouponUserId(userCouponInfo.getId());
-                couponVerification.setCreateTime(new Date());
-                couponVerification.setVerification(userCouponInfo.getStationId().toString());
-                couponService.addCouponVerificationRecord(couponVerification);
-                resultData = ResultData.success("核销成功!");
+            if(couponVerification !=null && StringUtils.isNoneBlank(couponVerification.getCouponNo()) && StringUtils.isNoneBlank(couponVerification.getVerification())){
+                //核销点
+                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();
+                            boolean contains = verification.contains(verificationId);
+                            //是否能在该核销点核销
+                            if(contains){
+                                userCoupon.setCouponIsUsed("1");
+                                couponService.updateCouponUserInfo(userCoupon);
+                                //CouponVerification couponVerification = new CouponVerification();
+                                couponVerification.setCouponUserId(userCouponInfo.getId());
+                                couponVerification.setCreateTime(new Date());
+                                couponVerification.setVerification(verificationId);
+                                couponService.addCouponVerificationRecord(couponVerification);
+                                resultData = ResultData.success("核销成功!");
+                            }else {
+                                resultData = ResultData.error(CodeMsg.ERROR_VERIFICATION);
+                            }
+                        }else {
+                            resultData = ResultData.error(CodeMsg.NOT_COUPON_VERIFICATION);
+                        }
+                    }else {
+                        resultData = ResultData.error(CodeMsg.COUPON_VERIFICATION_USED);
+                    }
+                }else {
+                    resultData = ResultData.error(CodeMsg.NO_COUPON);
+                }
             }else {
-                resultData = ResultData.error(CodeMsg.NO_COUPON);
+                resultData = ResultData.error(CodeMsg.PARAMS_NUll);
             }
         }catch (Exception e){
             e.printStackTrace();

+ 36 - 36
YijiaRestful/src/main/java/com/platform/yijia/controller/PayOrderController.java

@@ -1995,42 +1995,42 @@ public class PayOrderController {
     }
 
 
-    /***
-     * 计算使用优惠券金额
-     * @param ordNo
-     * @param id
-     * @return
-     */
-    @RequestMapping(value = "/updateOrderCoupon", method = RequestMethod.GET)
-    @ResponseBody
-    public String updateOrderCoupon(@RequestParam String ordNo, @RequestParam Integer id){
-        Gson gson =new Gson();
-        ResultData resultData =null;
-
-        PayOrder payOrder = payOrderService.selectOrderInfoByOrdNo(ordNo);
-        UserCoupon userCoupon = new UserCoupon();
-        userCoupon.setCouponId(id);
-        UserCoupon ucr = couponService.selectUserCouponInfo(userCoupon);
-        PayOrder p = new PayOrder();
-        p.setDiscountCoupon(id.toString());
-        p.setDiscountCouponAmt(Double.valueOf(ucr.getCouponAmt().toString()));
-        Double amt = payOrder.getAmt();
-        String couponType = ucr.getCouponType();
-        BigDecimal couponAmt = ucr.getCouponAmt();
-
-        CalCouponAmtInfo calCouponAmtInfo = new CalCouponAmtInfo();
-//        calCouponAmtInfo.setReceivableAmt(payOrder.getReceivableAmt());
-//        calCouponAmtInfo.setIsMarketFlag(userCoupon.getIsMarketFlag());
-//        calCouponAmtInfo.setIsGradeFlag(ucr.get);
-        this.calCouponAmt(calCouponAmtInfo);
-
-
- //       p.setAmt();
-        p.setOrderNo(ordNo);
-        payOrderService.getUpdatePayOrder(p);
-        resultData = ResultData.success("");
-        return  gson.toJson(resultData);
-    }
+//    /***
+//     * 计算使用优惠券金额
+//     * @param ordNo
+//     * @param id
+//     * @return
+//     */
+//    @RequestMapping(value = "/updateOrderCoupon", method = RequestMethod.GET)
+//    @ResponseBody
+//    public String updateOrderCoupon(@RequestParam String ordNo, @RequestParam Integer id){
+//        Gson gson =new Gson();
+//        ResultData resultData =null;
+//
+//        PayOrder payOrder = payOrderService.selectOrderInfoByOrdNo(ordNo);
+//        UserCoupon userCoupon = new UserCoupon();
+//        userCoupon.setCouponId(id);
+//        UserCoupon ucr = couponService.selectUserCouponInfo(userCoupon);
+//        PayOrder p = new PayOrder();
+//        p.setDiscountCoupon(id.toString());
+//        p.setDiscountCouponAmt(Double.valueOf(ucr.getCouponAmt().toString()));
+//        Double amt = payOrder.getAmt();
+//        String couponType = ucr.getCouponType();
+//        BigDecimal couponAmt = ucr.getCouponAmt();
+//
+//        CalCouponAmtInfo calCouponAmtInfo = new CalCouponAmtInfo();
+////        calCouponAmtInfo.setReceivableAmt(payOrder.getReceivableAmt());
+////        calCouponAmtInfo.setIsMarketFlag(userCoupon.getIsMarketFlag());
+////        calCouponAmtInfo.setIsGradeFlag(ucr.get);
+//        this.calCouponAmt(calCouponAmtInfo);
+//
+//
+// //       p.setAmt();
+//        p.setOrderNo(ordNo);
+//        payOrderService.getUpdatePayOrder(p);
+//        resultData = ResultData.success("");
+//        return  gson.toJson(resultData);
+//    }
 
 
     /**

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

@@ -10,6 +10,7 @@ import java.util.Date;
 @Data
 public class CouponVerification {
     private Integer couponVerificationId;   //主键
+    private String couponNo;                //优惠券核销码
     private Integer couponUserId;            //用户领取的优惠券Id
     private String verification;            //优惠券核销站点Id
     private String verificationName;        //核销站点名称

+ 6 - 0
YijiaRestful/src/main/java/com/platform/yijia/utils/CodeMsg.java

@@ -43,6 +43,12 @@ public class CodeMsg {
     public static CodeMsg ISSUE_CLOSE = new CodeMsg(-7,"该领取方式已关闭");
     public static CodeMsg NOT_GIVE_COUPON_TIME = new CodeMsg(-8,"当前时间该领取方式暂未开启");
     public static CodeMsg COUPON_NOT_CONTATINS_OILNAME = new CodeMsg(-9,"当前优惠券不适用此油品");
+    public static CodeMsg ERROR_VERIFICATION = new CodeMsg(-1,"当前异业券不能在此异业端核销!");
+    public static CodeMsg COUPON_VERIFICATION_USED = new CodeMsg(-3,"当前异业券已使用!");
+    public static CodeMsg NOT_COUPON_VERIFICATION = new CodeMsg(-4,"当前优惠券不是异业兑换券!");
+
+
+
 
     public static CodeMsg COUPON_NOT_COUPONTHRESHOLDAMT = new CodeMsg(-10,"当前金额未达到优惠券使用门槛");
 

+ 2 - 5
YijiaRestful/src/main/resources/mapper/CouponMapper.xml

@@ -147,7 +147,7 @@
     </resultMap>
 
   <sql id="UserCoupon_Base_Column_List">
-    T1.coupon_id, 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.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_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
@@ -354,9 +354,6 @@
             <if test="stationId !=null">
                 AND station_id = #{stationId}
             </if>
-            <if test="couponIsUsed !=null and couponIsUsed !=''">
-                AND coupon_is_used = #{couponIsUsed}
-            </if>
             <if test="couponNo !=null and couponNo !=''">
                 AND coupon_no = #{couponNo}
             </if>
@@ -451,7 +448,7 @@
             T1.id = #{id}
           </if>
             <if test="couponNo !=null">
-                T1.coupon_no = #{couponNo}
+                AND T1.coupon_no = #{couponNo}
             </if>
         </where>
   </select>