cy il y a 3 ans
Parent
commit
f785a8cba7

+ 3 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/SysUserContractRecordDao.java

@@ -6,6 +6,7 @@ import com.yonge.cooleshow.biz.dal.enums.ContractTypeEnum;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * 用户协议记录表-一个用户一种协议一个版本一条记录(SysUserContractRecord)表数据库访问层
@@ -18,5 +19,7 @@ public interface SysUserContractRecordDao extends BaseMapper<SysUserContractReco
     int insertBatch(@Param("entities") List<SysUserContractRecord> entities);
 
     Boolean checkContractSign(@Param("userId")Long userId,@Param("contractType") String contractType);
+
+    void contractCallbackUpdate(@Param("param") Map<String, Object> map);
 }
 

+ 1 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/UserWithdrawalDao.java

@@ -1,6 +1,7 @@
 package com.yonge.cooleshow.biz.dal.dao;
 
 import java.util.List;
+import java.util.Map;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;

+ 6 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/UserWithdrawalService.java

@@ -68,6 +68,12 @@ public interface UserWithdrawalService extends IService<UserWithdrawal>  {
 	 */
 	void callback(UserWithdrawalCallback callback,String jsonStr);
 
+	/**
+	 * 异步回调接收-签署协议
+	 * @param map
+	 */
+	void contractCallback(Map<String, Object> map);
+
 	/***
 	 * 导入
 	 * @author liweifan

+ 8 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/UserWithdrawalServiceImpl.java

@@ -3,6 +3,7 @@ package com.yonge.cooleshow.biz.dal.service.impl;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.yonge.cooleshow.auth.api.entity.SysUser;
+import com.yonge.cooleshow.biz.dal.dao.SysUserContractRecordDao;
 import com.yonge.cooleshow.biz.dal.entity.UserWithdrawalCallback;
 import com.yonge.cooleshow.biz.dal.enums.*;
 import com.yonge.cooleshow.biz.dal.sdk.WithdrawSdk;
@@ -52,6 +53,8 @@ public class UserWithdrawalServiceImpl extends ServiceImpl<UserWithdrawalDao, Us
     private WithdrawSdk withdrawSdk;
     @Autowired
     private SysMessageService sysMessageService;
+    @Autowired
+    private SysUserContractRecordDao userContractRecordDao;
 
     @Override
     public UserWithdrawalVo detail(Long id) {
@@ -183,6 +186,11 @@ public class UserWithdrawalServiceImpl extends ServiceImpl<UserWithdrawalDao, Us
         updateById(detail);
     }
 
+    @Override
+    public void contractCallback(Map<String, Object> map) {
+        userContractRecordDao.contractCallbackUpdate(map);
+    }
+
     private void successSend(Long userId, String phone) {
         Map<Long, String> receivers = new HashMap<>();
         receivers.put(userId, phone);

+ 8 - 0
cooleshow-user/user-biz/src/main/resources/config/mybatis/SysUserContractRecordMapper.xml

@@ -27,6 +27,14 @@
             #{entity.contractNo}, #{entity.remark})
         </foreach>
     </insert>
+    <update id="contractCallbackUpdate" parameterType="java.util.Map">
+        UPDATE sys_user_contract_record
+        <set>
+            <if test="param.contractUrl !=null">url_ = #{param.contractUrl},</if>
+            created_time_ = SYSDATE()
+        </set>
+        WHERE contract_no_ = #{param.serialNo}
+    </update>
 
     <select id="checkContractSign" resultType="java.lang.Boolean">
         select count(1) from (

+ 24 - 1
cooleshow-user/user-teacher/src/main/java/com/yonge/cooleshow/teacher/controller/UserWithdrawalController.java

@@ -119,7 +119,7 @@ public class UserWithdrawalController extends BaseController {
     }
 
     /**
-     * 异步回调接收
+     * 异步回调接收-提现
      * @param content
      * @param request
      * @return
@@ -149,4 +149,27 @@ public class UserWithdrawalController extends BaseController {
         return "success";
     }
 
+    /**
+     * 异步回调接收-签署协议
+     * @param content
+     * @param request
+     * @return
+     */
+    @PostMapping("/contractCallback")
+    public String contractCallback(@RequestBody String content, HttpServletRequest request) {
+        log.info("回调请求地址:{} 请求参数:{}", request.getRemoteAddr(), content);
+        try {
+            if (StringUtils.isBlank(content)) {
+                throw new Exception();
+            }
+            Map<String, Object> map = JSONObject.parseObject(content);
+            String jsonStr = (String) map.get("content");
+            Map<String, Object> record = JSONObject.parseObject(jsonStr);
+            userWithdrawalService.contractCallback(record);
+        } catch (Exception e) {
+            log.error("签署失败e:{}", e);
+            return "failed";
+        }
+        return "success";
+    }
 }

+ 110 - 110
cooleshow-user/user-teacher/src/main/java/com/yonge/cooleshow/teacher/controller/WithdrawController.java

@@ -1,110 +1,110 @@
-package com.yonge.cooleshow.teacher.controller;
-
-import com.alibaba.fastjson.JSONObject;
-import com.yonge.cooleshow.biz.dal.entity.UserWithdrawalCallback;
-import com.yonge.cooleshow.biz.dal.service.LingXinService;
-import com.yonge.cooleshow.biz.dal.service.UserWithdrawalCallbackService;
-import com.yonge.cooleshow.common.controller.BaseController;
-import com.yonge.toolset.thirdparty.lingxinpay.RSA;
-import com.yonge.cooleshow.biz.dal.sdk.WithdrawSdk;
-import com.yonge.toolset.utils.json.JsonUtil;
-import io.swagger.annotations.Api;
-import org.apache.commons.lang3.StringUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.web.bind.annotation.*;
-
-import javax.servlet.http.HttpServletRequest;
-import java.util.Map;
-import java.util.UUID;
-
-/**
- * @Description: 提现回调
- * @Author: cy
- * @Date: 2022/5/9
- */
-@RestController
-@RequestMapping("/withdraw")
-@Api(value = "提现回调", tags = "提现回调")
-public class WithdrawController extends BaseController {
-    private final static Logger log = LoggerFactory.getLogger(WithdrawController.class);
-
-    @Value("${withdraw.privateKey}")
-    private String privateKey;//商户自己生成的私钥
-
-    @Autowired
-    private UserWithdrawalCallbackService callbackService;
-    @Autowired
-    private LingXinService lingXinService;
-
-    /**
-     * 异步回调接收
-     *
-     * @param content
-     * @param request
-     * @return
-     */
-    @PostMapping("/callback")
-    public String test(@RequestBody String content, HttpServletRequest request) {
-        System.out.println(privateKey);
-        log.info("交易回调请求地址:{} 请求参数:{}", request.getRemoteAddr(), content);
-        try {
-            if (StringUtils.isBlank(content)) {
-                throw new Exception();
-            }
-            Map<String, Object> map = JSONObject.parseObject(content);
-            String jsonStr = RSA.decryptPri((String) map.get("sign"), privateKey);
-            log.info("jsonStr:{}", jsonStr);
-
-            Map<String, Object> withdrawRecord = JSONObject.parseObject(jsonStr);
-            UserWithdrawalCallback callback = JsonUtil.toJavaObject(withdrawRecord, UserWithdrawalCallback.class);
-            callbackService.insertCallback(callback);
-        } catch (Exception e) {
-            log.error("解密失败e:{}", e);
-            return "failed";
-        }
-        return "success";
-    }
-
-    @PostMapping("/contractCallback")
-    public String contractCallback(@RequestBody String content, HttpServletRequest request) {
-        log.info("回调请求地址:{} 请求参数:{}", request.getRemoteAddr(), content);
-        try {
-            System.out.println("===成功===");
-        } catch (Exception e) {
-            System.out.println("===失败===");
-            return "failed";
-        }
-        return "success";
-    }
-
-    /**
-     * 提现测试接口
-     * @param remark
-     * @return
-     */
-    @GetMapping("/test")
-    public String a(String remark) {
-        WithdrawSdk withdraw = new WithdrawSdk();
-        //输入商户订单号
-        String outerOrderNo = UUID.randomUUID().toString().substring(0, 12);
-        System.out.println("商户订单号:" + outerOrderNo);
-        //输入收款人手机号
-        String name = "何亮";
-        //输入收款人姓名
-        String mobile = "17600220933";
-        //输入收款人身份证号
-        String certificateNo = "130423199206192818";
-        //输入转账金额(单位分)
-        Integer predictAmount = 1;
-        //输入收款人账号
-        String payAccount = "6228480018864836772";
-
-        String requestParam = withdraw.withdraw(outerOrderNo, name, mobile, certificateNo, predictAmount,
-                payAccount, remark);
-        log.info("单笔请求返回参数:{}", requestParam);
-        return requestParam;
-    }
-}
+//package com.yonge.cooleshow.teacher.controller;
+//
+//import com.alibaba.fastjson.JSONObject;
+//import com.yonge.cooleshow.biz.dal.entity.UserWithdrawalCallback;
+//import com.yonge.cooleshow.biz.dal.service.LingXinService;
+//import com.yonge.cooleshow.biz.dal.service.UserWithdrawalCallbackService;
+//import com.yonge.cooleshow.common.controller.BaseController;
+//import com.yonge.toolset.thirdparty.lingxinpay.RSA;
+//import com.yonge.cooleshow.biz.dal.sdk.WithdrawSdk;
+//import com.yonge.toolset.utils.json.JsonUtil;
+//import io.swagger.annotations.Api;
+//import org.apache.commons.lang3.StringUtils;
+//import org.slf4j.Logger;
+//import org.slf4j.LoggerFactory;
+//import org.springframework.beans.factory.annotation.Autowired;
+//import org.springframework.beans.factory.annotation.Value;
+//import org.springframework.web.bind.annotation.*;
+//
+//import javax.servlet.http.HttpServletRequest;
+//import java.util.Map;
+//import java.util.UUID;
+//
+///**
+// * @Description: 提现回调
+// * @Author: cy
+// * @Date: 2022/5/9
+// */
+//@RestController
+//@RequestMapping("/withdraw")
+//@Api(value = "提现回调", tags = "提现回调")
+//public class WithdrawController extends BaseController {
+//    private final static Logger log = LoggerFactory.getLogger(WithdrawController.class);
+//
+//    @Value("${withdraw.privateKey}")
+//    private String privateKey;//商户自己生成的私钥
+//
+//    @Autowired
+//    private UserWithdrawalCallbackService callbackService;
+//    @Autowired
+//    private LingXinService lingXinService;
+//
+//    /**
+//     * 异步回调接收
+//     *
+//     * @param content
+//     * @param request
+//     * @return
+//     */
+//    @PostMapping("/callback")
+//    public String test(@RequestBody String content, HttpServletRequest request) {
+//        System.out.println(privateKey);
+//        log.info("交易回调请求地址:{} 请求参数:{}", request.getRemoteAddr(), content);
+//        try {
+//            if (StringUtils.isBlank(content)) {
+//                throw new Exception();
+//            }
+//            Map<String, Object> map = JSONObject.parseObject(content);
+//            String jsonStr = RSA.decryptPri((String) map.get("sign"), privateKey);
+//            log.info("jsonStr:{}", jsonStr);
+//
+//            Map<String, Object> withdrawRecord = JSONObject.parseObject(jsonStr);
+//            UserWithdrawalCallback callback = JsonUtil.toJavaObject(withdrawRecord, UserWithdrawalCallback.class);
+//            callbackService.insertCallback(callback);
+//        } catch (Exception e) {
+//            log.error("解密失败e:{}", e);
+//            return "failed";
+//        }
+//        return "success";
+//    }
+//
+//    @PostMapping("/contractCallback")
+//    public String contractCallback(@RequestBody String content, HttpServletRequest request) {
+//        log.info("回调请求地址:{} 请求参数:{}", request.getRemoteAddr(), content);
+//        try {
+//            System.out.println("===成功===");
+//        } catch (Exception e) {
+//            System.out.println("===失败===");
+//            return "failed";
+//        }
+//        return "success";
+//    }
+//
+//    /**
+//     * 提现测试接口
+//     * @param remark
+//     * @return
+//     */
+//    @GetMapping("/test")
+//    public String a(String remark) {
+//        WithdrawSdk withdraw = new WithdrawSdk();
+//        //输入商户订单号
+//        String outerOrderNo = UUID.randomUUID().toString().substring(0, 12);
+//        System.out.println("商户订单号:" + outerOrderNo);
+//        //输入收款人手机号
+//        String name = "何亮";
+//        //输入收款人姓名
+//        String mobile = "17600220933";
+//        //输入收款人身份证号
+//        String certificateNo = "130423199206192818";
+//        //输入转账金额(单位分)
+//        Integer predictAmount = 1;
+//        //输入收款人账号
+//        String payAccount = "6228480018864836772";
+//
+//        String requestParam = withdraw.withdraw(outerOrderNo, name, mobile, certificateNo, predictAmount,
+//                payAccount, remark);
+//        log.info("单笔请求返回参数:{}", requestParam);
+//        return requestParam;
+//    }
+//}