Przeglądaj źródła

优惠券,随行付回调

jk-GitHub-coder 3 lat temu
rodzic
commit
70cd80759d

+ 18 - 0
YijiaRestful/src/main/java/com/platform/yijia/controller/CouponController.java

@@ -35,6 +35,24 @@ public class CouponController {
     @Resource
     private CouponService couponService;
 
+
+    //获取优惠券信息
+    @RequestMapping(value = "/selectStaGrantCouponList", method = RequestMethod.GET)
+    @ResponseBody
+    @ApiOperation(value = "获取油站已发放的优惠券信息", httpMethod = "GET", notes = "获取油站已发放的优惠券信息")
+    public String selectStaGrantCouponList(@ApiParam(value = "油站ID", required = true) @RequestParam Integer stationId){
+        Gson gson =new Gson();
+        ResultData resultData = null;
+        try {
+            resultData = ResultData.success("获取油站已发放的优惠券信息");
+        }catch (Exception e){
+            logger.error("获取油站已发放的优惠券错误信息:" + e.getMessage());
+            resultData = ResultData.error(CodeMsg.SEARCH_FAIL);
+        }
+        return  gson.toJson(resultData);
+    }
+
+
     //获取优惠券信息
     @RequestMapping(value = "/selectCouponInfo", method = RequestMethod.GET)
     @ResponseBody

+ 8 - 1
YijiaRestful/src/main/java/com/platform/yijia/controller/ElectronicMembershipCardController.java

@@ -1045,7 +1045,7 @@ public class ElectronicMembershipCardController {
     @RequestMapping(value = "/getCardRechargeCallback", consumes = "application/json", method = RequestMethod.POST)
     @ResponseBody
     @Transactional
-    public void getCardRechargeCallback(@RequestBody JSONObject request){
+    public JSONObject getCardRechargeCallback(@RequestBody JSONObject request){
         logger.info("=========================电子会员卡(储蓄卡)充值功能随行付回调功能===============================");
         logger.info("电子会员卡(储蓄卡)充值功能随行付回调返回过来的参数:"+request);
         //logger.info("ordNo信息:" + request.get("ordNo").toString());
@@ -1179,7 +1179,10 @@ public class ElectronicMembershipCardController {
         String resultStr = RSASignature.getOrderContent(result);
         //JSONObject req = new JSONObject();
         System.out.println(resultStr);
+        JSONObject req = new JSONObject();
         if (RSASignature.doCheck(resultStr, sign, SXFPaySign.sxfPublic)) {
+            req.put("code","success");
+            req.put("msg","成功");
             logger.info("验签成功");
             //随行付回调验签成功更新客户电子卡余额 和 更新客户充值记录状态
             CustomerCardUseRecord customerCardUseRecord = new CustomerCardUseRecord();
@@ -1283,7 +1286,11 @@ public class ElectronicMembershipCardController {
             }
         }else {
             logger.info("验签失败");
+            req.put("code","fail");
+            req.put("msg","失败");
         }
+        logger.info("返回随行付参数信息:"+req.toString());
+        return req;
     }
 
     //获取用户电子会员卡(储蓄卡)充值消费记录

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

@@ -223,6 +223,7 @@ public class PayController {
                         reqData.put("outFrontFailUrl", ""); //js 支付,前台 事变通知地址
                         //globalPrefix
                         String notifyUrl = "https://"+domainName+"/"+globalPrefix+"/getCallback";
+                        logger.info("随行付调用回调地址:" + notifyUrl);
                         //reqData.put("notifyUrl", "https://www.huijy.net/api/getCallback"); //回调地址
                         reqData.put("notifyUrl", notifyUrl); //回调地址
                         //reqData.put("needReceipt", "00"); //电子发票功能 微信开具电子 发票使用
@@ -417,7 +418,7 @@ public class PayController {
     @RequestMapping(value = "/getCallback", consumes = "application/json", method = RequestMethod.POST)
     @ResponseBody
     @Transactional
-    public void getCallback(@RequestBody JSONObject request) throws ParseException {
+    public JSONObject getCallback(@RequestBody JSONObject request) throws ParseException {
         logger.info("-------------------------------回调开始----------------------------------------------");
         logger.info("回调返回过来的参数"+request);
 //        logger.info("ordNo信息:" + request.get("ordNo").toString());
@@ -558,10 +559,9 @@ public class PayController {
         JSONObject req = new JSONObject();
         System.out.println(resultStr);
         if (RSASignature.doCheck(resultStr, sign, SXFPaySign.sxfPublic)) {
-            logger.info("验签成功");
             req.put("code","success");
-            req.put("msg","修改订单状态成功");
-            logger.info("返回随行付参数信息:"+req.toString());
+            req.put("msg","成功");
+            logger.info("验签成功");
             //验签成功,修改订单状态
             List<PayOrder> list = payOrderService.getPayOrderList(ordNo);
             //logger.info("根据订单号,查询订单"+gson.toJson(list));
@@ -738,6 +738,8 @@ public class PayController {
             req.put("code","fail");
             req.put("msg","失败");
         }
+        logger.info("返回随行付参数信息:"+req.toString());
+        return req;
     }
 
     //插入客户信息

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

@@ -436,6 +436,7 @@ public class PayOrderController {
         amt =amt.signum() == -1 ? new BigDecimal("0.01"): amt.setScale(2, BigDecimal.ROUND_HALF_UP);
         if(oilLiters.toString().equals("0.00")){
             amt = new BigDecimal("0.01");
+            sellAmt = new BigDecimal("0.01");
             driverDiscountAmt = new BigDecimal("0.00");
             discountAmt = new BigDecimal("0.00");
             sellDiscountAmt = new BigDecimal("0.00");

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

@@ -11,6 +11,9 @@ public interface CouponMapper {
     //获取加油券信息
     Coupon selectCouponInfo(Coupon coupon);
 
+    //获取油站已发放的加油券
+    List<Coupon> selectStaGrantCouponList(Coupon coupon);
+
     //获取用户优惠券
     List<UserCoupon> selectUserCoupons(UserCoupon userCoupon);
 

+ 21 - 4
YijiaRestful/src/main/java/com/platform/yijia/pojo/Coupon.java

@@ -14,18 +14,35 @@ public class Coupon {
     private Integer stationId;              //油站ID
     private String couponName;              //优惠券名称;
     private String couponType;              //优惠券类型: 1现金劵,2折扣券,3兑换券;
-    private BigDecimal couponThresholdAmt;  //优惠券使用门槛金额;
-    private String isMarketPlan;            //是否叠加营销方案;
+    private BigDecimal couponThresholdAmt;  //优惠券使用门槛金额 1.无门槛,2满减劵,3折扣;
+
+    private String oilName;                 //油品
     private String oilType;                 //1 柴油,2 汽油;
-    private String couponAmt;               //优惠券优惠金额;
+    private BigDecimal couponAmt;           //优惠券优惠金额;
     private Integer couponNum;              //优惠券数量;
     private String effectiveTimeType;       //有效时间类型: 1,固定时间;2,领取后x天内有效;
     private Date effectiveTimeStart;        //固定时间-有效开始时间;
     private Date effectiveTimeEnd;          //固定时间-有效结束时间;
     private Integer effectiveDayNum;        //有效天数;
-    private Integer couponReceiveNum;       //优惠劵领取数量;
+
+    private Integer couponReceiveNum;       //优惠劵领取数量 单个用户优惠劵领取数量;
+    private Integer couponHoldNum;          //单个用户优惠劵持有数量
+    private Integer couponCumulativeNum;    //优惠劵所有用户累计领取数量
+    private Integer couponUseNum;           //优惠劵累计使用数量
+
     private String openPlatform;            //'发放平台,1.微信 2支付宝';
     private String grantStatus;             //发放状态:0,未发放;1,已发放;
     private String status;                  //有效状态:0,未生效; 1,生效;2,失效;
     private String createBy;                //创建人;
+    private Date createTime;                //创建时间;
+    private String updateBy;                //更新人
+    private Date updateTime;                //更新时间
+    private String delFlag;                 //是否删除优惠劵 1是 0 否
+    private String couponDetails;           //优惠内容
+    private String verification;            //优惠劵选中的站点
+
+    //优惠活动是否叠加
+    private String isCardFlag;              //是否电子卡
+    private String isGradeFlag;             //是否等级
+    private String isMarketFlag;            //是否叠加营销方案;
 }

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

@@ -11,6 +11,9 @@ public interface CouponService {
     //获取加油券信息
     Coupon selectCouponInfo(Coupon coupon);
 
+    //获取油站已发放的加油券
+    List<Coupon> selectStaGrantCouponList(Coupon coupon);
+
     //获取用户优惠券
     List<UserCoupon> selectUserCoupons(UserCoupon userCoupon);
 

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

@@ -14,6 +14,12 @@ public class CouponServiceImpl implements CouponService {
     @Resource
     private CouponMapper couponMapper;
 
+    //获取油站已发放的加油券
+    @Override
+    public List<Coupon> selectStaGrantCouponList(Coupon coupon) {
+        return couponMapper.selectStaGrantCouponList(coupon);
+    }
+
     //获取加油券信息
     @Override
     public Coupon selectCouponInfo(Coupon coupon) {

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

@@ -8,19 +8,52 @@
     <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" />
+
+    <result column="oil_name"                 jdbcType="VARCHAR"   property="oilName" />
     <result column="oil_type"                 jdbcType="VARCHAR"   property="oilType" />
-    <result column="coupon_amt"               jdbcType="VARCHAR"   property="couponAmt" />
+    <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" />
     <result column="effective_time_start"     jdbcType="TIMESTAMP" property="effectiveTimeStart" />
     <result column="effective_time_end"       jdbcType="TIMESTAMP" property="effectiveTimeEnd" />
     <result column="effective_day_num"        jdbcType="INTEGER"   property="effectiveDayNum" />
+
     <result column="coupon_receive_num"       jdbcType="INTEGER"   property="couponReceiveNum" />
+    <result column="coupon_hold_num"          jdbcType="INTEGER"   property="couponHoldNum" />
+    <result column="coupon_cumulative_num"    jdbcType="INTEGER"   property="couponCumulativeNum" />
+    <result column="coupon_use_num"           jdbcType="INTEGER"   property="couponUseNum" />
+
     <result column="open_platform"            jdbcType="VARCHAR"   property="openPlatform" />
     <result column="grant_status"             jdbcType="VARCHAR"   property="grantStatus" />
     <result column="status"                   jdbcType="VARCHAR"   property="status" />
+    <result column="create_by"                jdbcType="VARCHAR"   property="createBy" />
+    <result column="create_time"              jdbcType="TIMESTAMP" property="createTime" />
+    <result column="update_by"                jdbcType="VARCHAR"   property="updateBy" />
+
+      <result column="update_by"              jdbcType="TIMESTAMP"   property="updateTime" />
+      <result column="del_flag"               jdbcType="VARCHAR"   property="delFlag" />
+      <result column="update_by"              jdbcType="VARCHAR"   property="couponDetails" />
+      <result column="verification"           jdbcType="VARCHAR"   property="verification" />
+
+      <result column="is_card_flag"           jdbcType="VARCHAR"   property="isCardFlag" />
+      <result column="is_grade_flag"          jdbcType="VARCHAR"   property="isGradeFlag" />
+      <result column="is_market_flag"         jdbcType="VARCHAR"   property="isMarketFlag" />
   </resultMap>
 
+    <!--发放方式,优惠劵信息-->
+   <resultMap id="CouponIssueBaseResultMap"       type="com.platform.yijia.pojo.CouponIssue">
+       <result column="id"                        jdbcType="INTEGER"   property="id" />
+       <result column="issue_type"                jdbcType="VARCHAR"   property="issueType" />
+       <result column="discount_threshold_amt"    jdbcType="DECIMAL"   property="discountThresholdAmt" />
+       <result column="status"                    jdbcType="VARCHAR"    property="status" />
+       <result column="station_id"                jdbcType="INTEGER"   property="stationId" />
+       <result column="create_by"                 jdbcType="VARCHAR"    property="createBy" />
+       <result column="create_time"               jdbcType="TIMESTAMP" property="createTime" />
+       <result column="update_by"                 jdbcType="VARCHAR"    property="updateBy" />
+       <result column="update_time"               jdbcType="TIMESTAMP" property="updateTime" />
+       <result column="show_id"                   jdbcType="VARCHAR"    property="showId" />
+   </resultMap>
+
     <!--用户优惠券-->
   <resultMap id="UserCouponsBaseResultMap"    type="com.platform.yijia.pojo.UserCoupon">
     <result column="coupon_id"                jdbcType="INTEGER"   property="couponId" />
@@ -54,9 +87,26 @@
 
 
   <sql id="Base_Column_List">
-    id, station_id, coupon_name, coupon_type, coupon_threshold_amt, oil_type, coupon_amt, coupon_num, effective_time_type,
-    effective_time_start, effective_time_end, effective_day_num, coupon_receive_num, open_platform, grant_status, status
+    id, station_id, coupon_name, coupon_type, coupon_threshold_amt, oil_name, oil_type, coupon_amt, coupon_num, effective_time_type,
+    effective_time_start, effective_time_end, effective_day_num, coupon_receive_num, coupon_hold_num, coupon_cumulative_num, coupon_use_num,
+    open_platform, grant_status, status, create_by, create_time, update_by, update_time, del_flag, coupon_details, verification,
+    is_card_flag, is_grade_flag, is_market_flag, edit_flag
   </sql>
+
+    <!--获取油站所分发的加油券-->
+    <select id="selectStaGrantCouponList" parameterType="com.platform.yijia.pojo.Coupon" resultMap="BaseResultMap">
+        SELECT
+            <include refid="Base_Column_List"/>
+        FROM
+            coupon_info
+        <where>
+            <if test="stationId !=null">
+                station_id = #{stationId}
+            </if>
+        </where>
+    </select>
+
+
   <!--获取加油券信息-->
   <select id="selectCouponInfo" parameterType="com.platform.yijia.pojo.Coupon" resultMap="BaseResultMap">
         SELECT