瀏覽代碼

提现协议修改

liweifan 3 年之前
父節點
當前提交
1cf26a4655

+ 5 - 2
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/SysUserContractRecordDao.java

@@ -18,8 +18,11 @@ public interface SysUserContractRecordDao extends BaseMapper<SysUserContractReco
 
     int insertBatch(@Param("entities") List<SysUserContractRecord> entities);
 
-    Boolean checkContractSign(@Param("userId")Long userId,@Param("contractType") String contractType);
+    Boolean checkContractSign(@Param("userId") Long userId, @Param("contractType") String contractType);
 
-    void contractCallbackUpdate(@Param("param") Map<String, Object> map);
+    void contractCallbackUpdate(@Param("status") String status,
+                                @Param("serialNo") String serialNo,
+                                @Param("url") String url,
+                                @Param("errMsg") String errMsg);
 }
 

+ 50 - 39
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/UserWithdrawalService.java

@@ -18,24 +18,28 @@ import java.util.Map;
 
 /**
  * 用户账户提现表 服务类
+ *
  * @author liweifan
  * @date 2022-03-30
  */
-public interface UserWithdrawalService extends IService<UserWithdrawal>  {
+public interface UserWithdrawalService extends IService<UserWithdrawal> {
 
-	/**
+    /**
      * 查询详情
+     *
      * @author liweifan
- 	 * @date 2022-03-30
+     * @date 2022-03-30
      */
-	UserWithdrawalVo detail(Long id);
+    UserWithdrawalVo detail(Long id);
 
     /**
      * 分页查询
+     *
      * @author liweifan
- 	 * @date 2022-03-30
+     * @date 2022-03-30
      */
     IPage<UserWithdrawalVo> selectPage(IPage<UserWithdrawalVo> page, TeacherWithdrawalSearch query);
+
     /***
      * 查询集合
      * @author liweifan
@@ -43,43 +47,50 @@ public interface UserWithdrawalService extends IService<UserWithdrawal>  {
      * @updateTime 2022/4/15 18:04
      * @return: java.util.List<com.yonge.cooleshow.biz.dal.vo.UserWithdrawalVo>
      */
-	List<UserWithdrawalVo> selectList(TeacherWithdrawalSearch query);
-	/***
-	 * 查询提现页面信息
-	 * @author liweifan
-	 * @param: userId
-	 * @updateTime 2022/4/7 14:31
-	 * @return: com.yonge.cooleshow.common.entity.HttpResponseResult<com.yonge.cooleshow.biz.dal.vo.res.WithdrawalInfoRes>
-	 */
+    List<UserWithdrawalVo> selectList(TeacherWithdrawalSearch query);
+
+    /***
+     * 查询提现页面信息
+     * @author liweifan
+     * @param: userId
+     * @updateTime 2022/4/7 14:31
+     * @return: com.yonge.cooleshow.common.entity.HttpResponseResult<com.yonge.cooleshow.biz.dal.vo.res.WithdrawalInfoRes>
+     */
     HttpResponseResult<WithdrawalInfoRes> getWithdrawalInfo(Long userId);
-	/***
-	 * 用户发起提现申请
-	 * @author liweifan
-	 * @param: user
-	 * @param: withdrawalReq
-	 * @updateTime 2022/4/7 15:26
-	 * @return: com.yonge.cooleshow.common.entity.HttpResponseResult<java.lang.Boolean>
-	 */
-	HttpResponseResult<Boolean> withdrawal(SysUser user, WithdrawalReq withdrawalReq);
 
-	/**
-	 * 提现回调
-	 * @param callback
-	 */
-	void callback(UserWithdrawalCallback callback,String jsonStr);
+    /***
+     * 用户发起提现申请
+     * @author liweifan
+     * @param: user
+     * @param: withdrawalReq
+     * @updateTime 2022/4/7 15:26
+     * @return: com.yonge.cooleshow.common.entity.HttpResponseResult<java.lang.Boolean>
+     */
+    HttpResponseResult<Boolean> withdrawal(SysUser user, WithdrawalReq withdrawalReq);
+
+    /**
+     * 提现回调
+     *
+     * @param callback
+     */
+    void callback(UserWithdrawalCallback callback, String jsonStr);
 
-	/**
-	 * 异步回调接收-签署协议
-	 * @param map
-	 */
-	void contractCallback(Map<String, Object> map);
+    /**
+     * 异步回调接收-签署协议
+     * @param status
+     * @param serialNo
+     * @param url
+     * @param errMsg
+     */
+    void contractCallback(String status, String serialNo, String url, String errMsg);
 
-	/***
-	 * 导入
-	 * @author liweifan
-	 * @param: dataList
-	 * @updateTime 2022/4/20 9:45
-	 * @return: com.yonge.cooleshow.common.entity.HttpResponseResult<java.util.List<com.yonge.toolset.utils.easyexcel.ErrMsg>>
-	 */
+
+    /***
+     * 导入
+     * @author liweifan
+     * @param: dataList
+     * @updateTime 2022/4/20 9:45
+     * @return: com.yonge.cooleshow.common.entity.HttpResponseResult<java.util.List < com.yonge.toolset.utils.easyexcel.ErrMsg>>
+     */
     /*void importExcel(List<ExcelDataReaderProperty<UserWithdrawalExport>> dataList, Long userId);*/
 }

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

@@ -187,8 +187,8 @@ public class UserWithdrawalServiceImpl extends ServiceImpl<UserWithdrawalDao, Us
     }
 
     @Override
-    public void contractCallback(Map<String, Object> map) {
-        userContractRecordDao.contractCallbackUpdate(map);
+    public void contractCallback(String status, String serialNo, String url, String errMsg) {
+        userContractRecordDao.contractCallbackUpdate(status, serialNo, url, errMsg);
     }
 
     private void successSend(Long userId, String phone) {

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

@@ -31,21 +31,18 @@
     </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}
+        set status_ = #{status},err_msg_ = #{errMsg},url_ = #{url}
+        WHERE contract_no_ = #{serialNo}
     </update>
 
     <select id="checkContractSign" resultType="java.lang.Boolean">
-        select count(1) from (
+        select count(b.id_) from (
             select
                 type_,MAX(version_) as version_
-            from contract_template where status_ = 1 and type_ = #{contractType}  group by type_
+            from contract_template where status_ = 1 and type_ = #{contractType} group by type_
         ) t
         left join contract_template a on t.type_ = a.type_ and t.version_ = a.version_
-        left join sys_user_contract_record b on a.id_ = b.contract_id_
+        left join sys_user_contract_record b on a.id_ = b.contract_id_ and b.status_ = SUCCESS
         where b.user_id_ = #{userId}
     </select>
 

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

@@ -63,7 +63,7 @@ public class SysUserContractRecordController extends BaseController {
         if (user == null || null == user.getId()) {
             return failed(HttpStatus.FORBIDDEN, "请登录");
         }
-
+        //是否签署标识,签署了才入库
         boolean flag = false;
 
         SysUserContractRecord contractRecord = new SysUserContractRecord();

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

@@ -7,6 +7,7 @@ import com.yonge.cooleshow.auth.api.entity.SysUser;
 import com.yonge.cooleshow.biz.dal.dto.req.WithdrawalReq;
 import com.yonge.cooleshow.biz.dal.dto.search.TeacherWithdrawalSearch;
 import com.yonge.cooleshow.biz.dal.entity.UserWithdrawalCallback;
+import com.yonge.cooleshow.biz.dal.enums.DealStatusEnum;
 import com.yonge.cooleshow.biz.dal.service.UserWithdrawalService;
 import com.yonge.cooleshow.biz.dal.support.PageUtil;
 import com.yonge.cooleshow.biz.dal.vo.UserWithdrawalVo;
@@ -29,6 +30,7 @@ import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.http.HttpStatus;
+import org.springframework.util.CollectionUtils;
 import org.springframework.web.bind.annotation.*;
 import springfox.documentation.annotations.ApiIgnore;
 
@@ -120,6 +122,7 @@ public class UserWithdrawalController extends BaseController {
 
     /**
      * 异步回调接收-提现
+     *
      * @param content
      * @param request
      * @return
@@ -151,6 +154,7 @@ public class UserWithdrawalController extends BaseController {
 
     /**
      * 异步回调接收-签署协议
+     *
      * @param content
      * @param request
      * @return
@@ -164,12 +168,30 @@ public class UserWithdrawalController extends BaseController {
             }
             Map<String, Object> map = JSONObject.parseObject(content);
             String jsonStr = (String) map.get("content");
+
+            String return_code = (String) map.get("return_code");
+
             Map<String, Object> record = JSONObject.parseObject(jsonStr);
-            userWithdrawalService.contractCallback(record);
+            if (CollectionUtils.isEmpty(record) || null == record.get("serialNo")) {
+                log.error("签署失败,返回合同编号为空 {}", content);
+                return "failed";
+            }
+
+            if ("T".equals(return_code)) {
+                userWithdrawalService.contractCallback(
+                        DealStatusEnum.SCCESS.getCode(), record.get("serialNo").toString(),
+                        record.get("contractUrl").toString(), null);
+                return "success";
+            } else {
+                String return_message = StringUtil.get(map.get("return_message"));
+                userWithdrawalService.contractCallback(
+                        DealStatusEnum.FAILED.getCode(), record.get("serialNo").toString(), null, return_message);
+                return "failed";
+            }
         } catch (Exception e) {
             log.error("签署失败e:{}", e);
             return "failed";
         }
-        return "success";
+
     }
 }