Parcourir la source

Merge branch 'master' of http://git.dayaedu.com/yonge/cooleshow

liujunchi il y a 2 ans
Parent
commit
6fe1c3cd1f

+ 1 - 1
cooleshow-auth/auth-server/src/main/java/com/yonge/cooleshow/auth/service/impl/SysUserDeviceServiceImpl.java

@@ -97,7 +97,7 @@ public class SysUserDeviceServiceImpl extends BaseServiceImpl<Long, SysUserDevic
 		
 		SysUserDevice sysUserDevice = sysUserDeviceDao.get(id);
 		if(sysUserDevice != null){
-			sysUserDevice.setDelFlag(false);
+			sysUserDevice.setDelFlag(true);
 			
 			sysUserDeviceDao.update(sysUserDevice);
 		}

+ 0 - 1
cooleshow-common/src/main/java/com/yonge/cooleshow/common/enums/ContractTemplateTypeEnum.java

@@ -4,7 +4,6 @@ import com.baomidou.mybatisplus.annotation.EnumValue;
 import com.yonge.toolset.base.enums.BaseEnum;
 
 public enum ContractTemplateTypeEnum implements BaseEnum<String, ContractTemplateTypeEnum> {
-    REGISTER(ContractTemplateSourceEnum.PLATFORM, "注册"),
     BUY_ORDER(ContractTemplateSourceEnum.PLATFORM, "平台购买商品"),
     WITHDRAW(ContractTemplateSourceEnum.LINGXINPAY, "用户结算");
 

+ 12 - 3
cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/ContractTemplateController.java

@@ -1,12 +1,15 @@
 package com.yonge.cooleshow.admin.controller;
 
+import com.alibaba.cloud.commons.lang.StringUtils;
 import com.yonge.cooleshow.common.enums.ContractTemplateSourceEnum;
 import com.yonge.cooleshow.common.enums.ContractTemplateTypeEnum;
+import com.yonge.toolset.base.util.StringUtil;
+
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiOperation;
-
 import io.swagger.annotations.ApiParam;
+
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpStatus;
 import org.springframework.http.MediaType;
@@ -62,6 +65,9 @@ public class ContractTemplateController extends BaseController {
 	@PreAuthorize("@pcs.hasPermissions('contractTemplate/add')")
 	public HttpResponseResult<Object> add(@RequestBody ContractTemplate contractTemplate) {
 		contractTemplate.setSource(ContractTemplateSourceEnum.PLATFORM.getCode());
+		if(StringUtil.isEmpty(contractTemplate.getType())){
+			contractTemplate.setType(ContractTemplateTypeEnum.BUY_ORDER.getCode());
+		}
 
         SysUser sysUser = sysUserFeignService.queryUserInfo();
         if(sysUser == null || sysUser.getId() == null){
@@ -77,8 +83,11 @@ public class ContractTemplateController extends BaseController {
 	@ApiOperation("更新")
 	@PostMapping(value = "/update", consumes = MediaType.APPLICATION_JSON_UTF8_VALUE, produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
 	@PreAuthorize("@pcs.hasPermissions('contractTemplate/update')")
-	public HttpResponseResult<Object> update(@RequestBody ContractTemplate tenantContractTemplate) {
-		contractTemplateService.update(tenantContractTemplate);
+	public HttpResponseResult<Object> update(@RequestBody ContractTemplate contractTemplate) {
+		if(StringUtil.isEmpty(contractTemplate.getType())){
+			contractTemplate.setType(ContractTemplateTypeEnum.BUY_ORDER.getCode());
+		}
+		contractTemplateService.update(contractTemplate);
 		return succeed();
 	}
 

+ 2 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/ContractTemplateDao.java

@@ -13,6 +13,8 @@ public interface ContractTemplateDao extends BaseDAO<Integer, ContractTemplate>
 
     List<ContractTemplateDto> queryPageList(Map<String, Object> params);
 
+    Integer queryMaxVersion(@Param("contractSource") String contractSource, @Param("type") String type);
+
     ContractTemplate queryLatestContractTemplate(@Param("contractSource") String contractSource, @Param("type") String type);
 
     int disableContract(@Param("type") String type);

+ 24 - 10
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/sdk/WithdrawSdk.java

@@ -199,11 +199,11 @@ public class WithdrawSdk {
             String resultJsonStr = HttpUtil.postForHttp(apiUrl + "/bpotop_trade/single", JSONObject.toJSONString(mapParam), null);
             logger.info("单笔请求返回参数:{}", resultJsonStr);
 
-            Map<String,Object> mapTypes = JSON.parseObject(resultJsonStr);
+            Map<String, Object> mapTypes = JSON.parseObject(resultJsonStr);
             String returnCode = String.valueOf(mapTypes.get("return_code"));
-            if (returnCode.equals("T")){
+            if (returnCode.equals("T")) {
                 return HttpResponseResult.succeed(true);
-            }else{
+            } else {
                 return HttpResponseResult.failed(String.valueOf(mapTypes.get("return_message")));
             }
         } catch (IOException e) {
@@ -251,9 +251,10 @@ public class WithdrawSdk {
 
     /**
      * 查询商户余额(单位为:分,范围:1~10000000000)
+     *
      * @return
      */
-    public BigDecimal balanceQuery(){
+    public BigDecimal balanceQuery() {
         Map<String, Object> requestMap = new HashMap<>();
         requestMap.put("outMemberNo", memberNo);
         requestMap.put("charset", "UTF-8");
@@ -270,18 +271,31 @@ public class WithdrawSdk {
         } catch (Exception e) {
             throw new ThirdpartyException("加密失败:{}", e.getMessage());
         }
-
         String resultJsonStr = null;
         try {
             resultJsonStr = HttpUtil.postForHttp(apiUrl + "/bpotop_trade/balance_query", JSONObject.toJSONString(requestMap), null);
-            logger.info("查询余额响应参数:{}", resultJsonStr);
-
-            String decryptStr = RSA.decryptPri(resultJsonStr, privateKey);
-            Map stringToMap =  JSONObject.parseObject(decryptStr);
-            return new BigDecimal(String.valueOf(stringToMap.get("balance"))).divide(new BigDecimal("100"));
+            logger.info("查询余额响应参数(未解析):{}", resultJsonStr);
+            JSONObject resData = JSONObject.parseObject(resultJsonStr);
+            if("100".equals(resData.getString("code"))){
+                String sign = resData.getJSONObject("details").getJSONObject("data").getString("sign");
+                String decryptStr = RSA.decryptPri(sign, privateKey);
+                logger.info("查询余额响应参数(已解析):{}", decryptStr);
+                Map stringToMap = JSONObject.parseObject(decryptStr);
+                return new BigDecimal(String.valueOf(stringToMap.get("balance"))).divide(new BigDecimal("100"));
+            }
         } catch (Exception e) {
             e.printStackTrace();
         }
         return BigDecimal.ZERO;
     }
+
+    public static void main(String[] args) throws Exception {
+        String privateKey = "MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBANf/X1s2raYQAmY5VY929XqOIRESFlpLzWbltA08EI2i0jnJY3/kcCpo1sCHqkyWpDFGRgM1WYE90ayzEpS6EdZpyJ2/N5JFJzx4wMil5KHLdtQUmVv9si+xuYNOKfJW6Xn6zI/Wh81J1+hMlUY4WigU5Qci7DjdOjg5OD6e5DO3AgMBAAECgYEAor9ENhII3SsK48MneKWFaQZWW+po9ThQV8uT0rUDM/UOuYPIeMDC0vGTfhW6d2K57Haqohg8jGjr51g2E+HvNV+fARaBfCwy00DGcxjI6N8gEInj2AppsGV6a0ZtzGBh3BxGhEFV7x3NmTylDk3WkGnkGDqDNyrBUgK0BzCJEmECQQD+gYckYRevVfrZEHDQHRNzzMUlV9/ljA9x8dt0LoCNbd/wFvs0Ekjhas/2lUBkewEd4Kr0jaFcYzlUO/qihcpNAkEA2UP5W44yLuIo8ttPpdsfkH/8Ax64IywQHrXWq+thH7I91VwY2vomTduw8x0PafZtp8xryF3LixTZwQ7gsYbwEwJAQbb8SB5x2SogPVALcREw5qOm+/92pnTFwCws+BDRzLLkMcAdWNKn0tybmhXrrIY+QZKzUbYIRiywrtlV3AUjuQJBAJbnFnfX4NUdchGT79Mjyd2kdxZ3rK+JOD0MUWkhWFkahMX/bKgTXK1xLIr/ISiY53rHigkl1Gzqc4Aa5EeJkI8CQFlzlBOfoVnq3fPMZCCZcZSm97L12MgHho0AzoNj9sw9YYn9WPM7bw2HT8GUheiU3aiZGCyGGpYuVHMiBGa7l9U=";
+
+        String sign = "zZi6+qN0+6cvyE3TO6BsggISgmZGuEkZYbz6POOJVNqY1r2ZvEL63rjAHoSB0vfrq7DJVdIb2kNWFOqVPNwH3OkTdkALlamxwFxMfL/Wg2VXKDxJpHKSqUPEGprcyIPcI+KZ2QbS9jj2P7NnVXBOlijRg/SZKfyX53zIipitg4uISV/5xuQVIvkLPAlHss1D5N0efRd9eep9PhxKAJ6g6GYgerDoSCAWZqBFCS2KdGQeg9Jvzj15xWsDAXMCgha9TS+YBZPvLpAbioaPO2PLfEEp8GAwHW1zdNw35O/6z3i0CQz6cJYCMRGAtGcnbK22rAiTAB5pZt7CLMdNhkNAGg==";
+
+        String decryptStr = RSA.decryptPri(sign, privateKey);
+        System.out.println(decryptStr);
+
+    }
 }

+ 1 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/ContractTemplateService.java

@@ -31,7 +31,7 @@ public interface ContractTemplateService extends BaseService<Integer, ContractTe
 	boolean updateContractVersion();
 	
 	/**
-	 * 查询最新协议模板
+	 * 查询最新启用的协议模板
 	 * @param contractType
 	 * @return
 	 */

+ 4 - 4
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/ContractTemplateServiceImpl.java

@@ -76,7 +76,6 @@ public class ContractTemplateServiceImpl extends BaseServiceImpl<Integer, Contra
                 if (contractTemplate.getStatus()) {
                     return true;
                 }
-                contractTemplate.setVersion(contractTemplate.getVersion() == null ? 1 : contractTemplate.getVersion() + 1);
                 //关闭类型下的所有协议,只启用当前这个协议
                 contractTemplateDao.disableContract(contractTemplate.getType());
 
@@ -114,12 +113,13 @@ public class ContractTemplateServiceImpl extends BaseServiceImpl<Integer, Contra
         RLock lock = redissonClient.getLock(LOCK_NAME);
         try {
             if (lock.tryLock(10, 10, TimeUnit.SECONDS)) {
-                ContractTemplate latestContractTemplate = contractTemplateDao.queryLatestContractTemplate(contractTemplate.getSource(), contractTemplate.getType());
-                if(null == latestContractTemplate || null == latestContractTemplate.getVersion()){
+                Integer maxVersion = contractTemplateDao.queryMaxVersion(contractTemplate.getSource(), contractTemplate.getType());
+                if(null == maxVersion){
                     contractTemplate.setVersion(1);
                 }else{
-                    contractTemplate.setVersion(latestContractTemplate.getVersion() + 1);
+                    contractTemplate.setVersion(maxVersion + 1);
                 }
+
                 Date date = new Date();
                 contractTemplate.setCreateTime(date);
                 contractTemplate.setUpdateTime(date);

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

@@ -265,6 +265,7 @@ public class TeacherServiceImpl extends ServiceImpl<TeacherDao, Teacher> impleme
             }
         } else {
             teacher.setUpdateTime(new Date());
+            teacher = getTeacherDetil(teacher, teacherSubmitReq);
             baseMapper.updateById(teacher);
 
             if (null == teacher.getEntryAuthDate() || null == teacher.getMusicianDate()) {

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

@@ -199,7 +199,7 @@ public class UserWithdrawalServiceImpl extends ServiceImpl<UserWithdrawalDao, Us
 
         List<UserWithdrawal> userWithdrawals = baseMapper.selectList(Wrappers.<UserWithdrawal>lambdaQuery()
                 .in(UserWithdrawal::getId, ids)
-                .ne(UserWithdrawal::getAuthStatus, AuthStatusEnum.DOING));
+                .eq(UserWithdrawal::getAuthStatus, AuthStatusEnum.DOING));
 
         //先判断三方余额是否充足
         //总提现金额
@@ -274,6 +274,15 @@ public class UserWithdrawalServiceImpl extends ServiceImpl<UserWithdrawalDao, Us
                 build.setTransNo(transNo.toString());
                 build.setErrorMsg(withdraw.getMsg());
                 res = HttpResponseResult.failed("结算" + authOperaReq.getId() + "失败,失败原因:" + withdraw.getMsg());
+
+                //审核不通过,账户解冻
+                UserAccountRecordDto accountRecordDto = new UserAccountRecordDto(
+                        build.getUserId(), build.getAmount(), InOrOutEnum.OUT, AccountBizTypeEnum.WITHDRAWAL,
+                        build.getId(), "老师结算", null
+                );
+                accountRecordDto.setFrozenType(FrozenTypeEnum.FROZEN_BACK);
+                accountRecordDto.setSaveRecord(false);
+                userAccountService.accountChange(accountRecordDto);
             }
         } else {
             //审核不通过,账户解冻

+ 5 - 0
cooleshow-user/user-biz/src/main/resources/config/mybatis/ContractTemplateMapper.xml

@@ -162,6 +162,11 @@
 		</where>
 	</select>
 
+	<select id="queryMaxVersion" resultType="java.lang.Integer">
+		SELECT max(a.version_) FROM contract_template a
+		where a.source_ = #{contractSource} and a.type_ = #{type}
+	</select>
+
 	<select id="queryLatestContractTemplate" resultMap="BaseResultMap">
 		SELECT a.* FROM (
 			select

+ 1 - 1
cooleshow-user/user-biz/src/main/resources/config/mybatis/ImGroupNoticeMapper.xml

@@ -33,7 +33,7 @@
         </foreach>
     </insert>
     <select id="queryPage" resultMap="ImGroupNoticeDto">
-        SELECT gn.*,su.avatar_,su.real_name_ username_ FROM im_group_notice gn
+        SELECT gn.*,su.avatar_,su.username_ FROM im_group_notice gn
         LEFT JOIN sys_user su ON su.id_ = gn.operator_id_
         WHERE gn.group_id_ = #{params.groupId}
     </select>

+ 3 - 3
cooleshow-user/user-biz/src/main/resources/config/mybatis/UserWithdrawalMapper.xml

@@ -98,8 +98,9 @@
             <if test="null != param.search and '' != param.search">
                 AND (
                     t.user_id_ LIKE CONCAT('%', #{param.search}, '%') or
+                    u.phone_ LIKE CONCAT('%', #{param.search}, '%') or
                     u.username_ LIKE CONCAT('%', #{param.search}, '%') or
-                    u.phone_ LIKE CONCAT('%', #{param.search}, '%')
+                    u.real_name_ LIKE CONCAT('%', #{param.search}, '%')
                 )
             </if>
             <if test="null != param.username and '' != param.username">
@@ -121,7 +122,7 @@
                 )
             </if>
             <if test="null != param.transNo and '' != param.transNo">
-                AND t.trans_no_ LIKE CONCAT('%', #{transNo}, '%')
+                AND t.trans_no_ LIKE CONCAT('%', #{param.transNo}, '%')
             </if>
             <if test="param.startTime !=null">
                 <![CDATA[AND t.create_time_ >= #{param.startTime} ]]>
@@ -154,7 +155,6 @@
     <select id="getNowDayWithdrawalCount" resultType="java.lang.Integer">
         select count(1) from user_withdrawal
         where user_id_ = #{userId}
-          and auth_status_ in ('DOING','PASS') and trade_status_ != 'failed'
         and to_days(create_time_) = to_days(now())
     </select>