瀏覽代碼

会员生成支付链接

chao 3 年之前
父節點
當前提交
5501bfe38c

+ 1 - 0
backup.sql

@@ -55,6 +55,7 @@ ADD COLUMN `updateTime` varchar(50) DEFAULT NULL COMMENT '更新时间' AFTER `c
 -- 修改 cm_order_pay_link 支付链接
 ALTER TABLE `cm_order_pay_link`
     ADD COLUMN `vipId` bigint(11) DEFAULT NULL COMMENT '超级会员套餐id' AFTER `orderId`;
+    ADD COLUMN `userId` bigint(11) DEFAULT NULL COMMENT '机构用户id' AFTER `vipId`;
 
 -- 修改 cm_discern_receipt,cm_receipt_order_relation 收款表
 ALTER TABLE `cm_discern_receipt`

+ 6 - 2
src/main/java/com/caimei365/order/controller/PayOrderApi.java

@@ -87,8 +87,9 @@ public class PayOrderApi {
     /**
      *  生成网银支付链接
      * @param payLinkDto {
-     *          orderId       订单ID
-     *          vipId         会员套餐Id
+     *                   orderId       订单ID
+     *                   vipId         会员套餐Id
+     *                   userId        用户ID
      * }
      */
     @ApiOperation("生成网银支付链接(旧:/PayOrder/payLink)")
@@ -100,6 +101,9 @@ public class PayOrderApi {
         if (null != payLinkDto.getOrderId() && null != payLinkDto.getVipId()) {
             return ResponseJson.error("订单Id和超级会员套餐Id不能同时出现!", null);
         }
+        if (null != payLinkDto.getVipId() && null == payLinkDto.getUserId()) {
+            return ResponseJson.error("生成超级会员支付链接,用户Id不能为空!", null);
+        }
         return payOrderService.getPayLink(payLinkDto);
     }
 

+ 2 - 1
src/main/java/com/caimei365/order/mapper/PayOrderMapper.java

@@ -48,9 +48,10 @@ public interface PayOrderMapper {
     /**
      * svip支付链接
      * @param vipId   超级会员套餐Id
+     * @param userId   用户Id
      * @param amount  本次待付款金额
      */
-    OrderPayLinkVo getVipPayLink(Integer vipId, Double amount);
+    OrderPayLinkVo getVipPayLink(Integer vipId, Integer userId, Double amount);
     /**
      * 支付链接
      * @param linkLogo  链接标识

+ 5 - 0
src/main/java/com/caimei365/order/model/dto/PayLinkDto.java

@@ -24,6 +24,11 @@ public class PayLinkDto implements Serializable {
      */
     @ApiModelProperty("会员套餐Id")
     private Integer vipId;
+    /**
+     * 用户id
+     */
+    @ApiModelProperty("用户Id")
+    private Integer userId;
     /**
      * 支付类型,1企业网银,2个人网银
      */

+ 1 - 0
src/main/java/com/caimei365/order/service/PayOrderService.java

@@ -43,6 +43,7 @@ public interface PayOrderService {
      * @param payLinkDto {
      *          orderId       订单ID
      *          vipId         会员套餐Id
+     *          userId        用户ID
      * }
      */
     ResponseJson<String> getPayLink(PayLinkDto payLinkDto);

+ 7 - 2
src/main/java/com/caimei365/order/service/impl/PayOrderServiceImpl.java

@@ -277,6 +277,7 @@ public class PayOrderServiceImpl implements PayOrderService {
      * @param payLinkDto {
      *                   orderId       订单ID
      *                   vipId         会员套餐Id
+     *                   userId        用户ID
      *                   }
      */
     @Override
@@ -290,7 +291,7 @@ public class PayOrderServiceImpl implements PayOrderService {
             }
             orderPayLink = payOrderMapper.getOrderPayLink(payLinkDto.getOrderId(), null);
         } else {
-            orderPayLink = payOrderMapper.getVipPayLink(payLinkDto.getVipId(), null);
+            orderPayLink = payOrderMapper.getVipPayLink(payLinkDto.getVipId(), payLinkDto.getUserId(), null);
         }
         // 时间戳
         long time = System.currentTimeMillis() / 1000;
@@ -303,7 +304,11 @@ public class PayOrderServiceImpl implements PayOrderService {
         Date date = new Date();
         GregorianCalendar calendar = new GregorianCalendar();
         calendar.setTime(date);
-        calendar.add(Calendar.DATE, 1);
+        if (null != payLinkDto.getOrderId()) {
+            calendar.add(Calendar.DATE, 1);
+        } else {
+            calendar.add(Calendar.DATE, 3);
+        }
         if (null == orderPayLink) {
             orderPayLink = new OrderPayLinkVo();
         }

+ 7 - 4
src/main/resources/mapper/PayOrderMapper.xml

@@ -30,8 +30,8 @@
         WHERE userID = #{userId}
     </update>
     <insert id="insertOrderPayLink" keyColumn="id" keyProperty="id"  parameterType="com.caimei365.order.model.vo.OrderPayLinkVo" useGeneratedKeys="true">
-        INSERT INTO cm_order_pay_link (orderId, vipId, linkLogo, unpaidAmount, generateTime, effectiveTime, payStatus, payType, delFlag)
-        VALUES (#{orderId}, #{vipId}, #{linkLogo}, #{unpaidAmount}, #{generateTime}, #{effectiveTime}, #{payStatus}, #{payType}, #{delFlag})
+        INSERT INTO cm_order_pay_link (orderId, vipId, userId, linkLogo, unpaidAmount, generateTime, effectiveTime, payStatus, payType, delFlag)
+        VALUES (#{orderId}, #{vipId}, #{linkLogo},#{userId},#{unpaidAmount}, #{generateTime}, #{effectiveTime}, #{payStatus}, #{payType}, #{delFlag})
     </insert>
     <insert id="insertSplitAccount" keyColumn="id" keyProperty="id"  parameterType="com.caimei365.order.model.po.SplitAccountPo">
         INSERT INTO cm_split_account (orderId, productId, orderProductId,shopId, type, subUserNo, splitAccount,
@@ -53,7 +53,7 @@
     </insert>
     <update id="updateOrderPayLink">
         UPDATE cm_order_pay_link SET
-            orderId = #{orderId}, vipId = #{vipId}, linkLogo = #{linkLogo}, unpaidAmount = #{unpaidAmount}, generateTime = #{generateTime},
+            orderId = #{orderId}, vipId = #{vipId}, userId = #{userId}, linkLogo = #{linkLogo}, unpaidAmount = #{unpaidAmount}, generateTime = #{generateTime},
             effectiveTime = #{effectiveTime}, payStatus = #{payStatus}, payType = #{payType}, delFlag = #{delFlag}
         WHERE id = #{id}
     </update>
@@ -95,6 +95,7 @@
             id,
             orderId,
             vipId,
+            userId,
             linkLogo,
             unpaidAmount,
             generateTime,
@@ -116,6 +117,7 @@
         id,
         orderId,
         vipId,
+        userId,
         linkLogo,
         unpaidAmount,
         generateTime,
@@ -125,7 +127,7 @@
         delFlag
         FROM
         cm_order_pay_link
-        WHERE vipId = #{vipId}
+        WHERE vipId = #{vipId} AND userId=#{userId}
         <if test="amount != null">
             AND unpaidAmount = #{amount}
         </if>
@@ -137,6 +139,7 @@
             id,
             orderId,
             vipId,
+            userId,
             linkLogo,
             unpaidAmount,
             generateTime,