Browse Source

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

liujunchi 3 years ago
parent
commit
635127e560
29 changed files with 149 additions and 120 deletions
  1. 1 1
      cooleshow-common/src/main/java/com/yonge/cooleshow/common/constant/SysConfigConstant.java
  2. 1 1
      cooleshow-common/src/main/java/com/yonge/cooleshow/common/enums/ContractTemplateTypeEnum.java
  3. 1 1
      cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/ContractTemplateController.java
  4. 4 22
      cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/CourseGroupController.java
  5. 2 2
      cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/UserWithdrawalController.java
  6. 1 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/constant/WithdrawalConstant.java
  7. 9 9
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dto/excel/UserWithdrawalExport.java
  8. 3 3
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dto/req/WithdrawalReq.java
  9. 1 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dto/search/TeacherWithdrawalSearch.java
  10. 1 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dto/search/UserAccountRecordSearch.java
  11. 4 4
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/UserAccountRecord.java
  12. 4 4
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/UserWithdrawal.java
  13. 2 2
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/UserWithdrawalCallback.java
  14. 1 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/enums/AccountBizTypeEnum.java
  15. 2 2
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/enums/MessageTypeEnum.java
  16. 3 3
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/sdk/WithdrawSdk.java
  17. 4 4
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/UserWithdrawalService.java
  18. 3 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/ContractServiceImpl.java
  19. 6 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/UserAccountServiceImpl.java
  20. 19 19
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/UserWithdrawalServiceImpl.java
  21. 3 3
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/UserWithdrawalVo.java
  22. 4 4
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/res/WithdrawalInfoRes.java
  23. 6 6
      cooleshow-user/user-biz/src/main/resources/config/mybatis/CourseGroupMapper.xml
  24. 1 2
      cooleshow-user/user-biz/src/main/resources/config/mybatis/SysUserContractRecordMapper.xml
  25. 3 3
      cooleshow-user/user-student/src/main/java/com/yonge/cooleshow/student/controller/SysUserContractRecordController.java
  26. 16 14
      cooleshow-user/user-teacher/src/main/java/com/yonge/cooleshow/teacher/controller/SysUserContractRecordController.java
  27. 4 4
      cooleshow-user/user-teacher/src/main/java/com/yonge/cooleshow/teacher/controller/UserWithdrawalController.java
  28. 2 2
      cooleshow-user/user-teacher/src/main/java/com/yonge/cooleshow/teacher/controller/open/UserWithdrawalClient.java
  29. 38 0
      cooleshow-user/user-website/src/main/java/com/yonge/cooleshow/website/controller/SubjectController.java

+ 1 - 1
cooleshow-common/src/main/java/com/yonge/cooleshow/common/constant/SysConfigConstant.java

@@ -20,7 +20,7 @@ public interface SysConfigConstant {
      */
     String OPEN_LIVE_OVER_CLASS = "open_list_over_class";
     /***
-     * 平台提现手续费
+     * 平台结算手续费
      * @author liweifan
      * @updateTime 2022/3/24 17:15
      */

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

@@ -6,7 +6,7 @@ public enum ContractTemplateTypeEnum implements BaseEnum<String, ContractTemplat
     REGISTER(ContractTemplateSourceEnum.PLATFORM, "注册"),
     COURSES(ContractTemplateSourceEnum.PLATFORM, "课程购买"),
     PRODUCT(ContractTemplateSourceEnum.PLATFORM, "产品"),
-    WITHDRAW(ContractTemplateSourceEnum.LINGXINPAY, "用户提现");
+    WITHDRAW(ContractTemplateSourceEnum.LINGXINPAY, "用户结算");
 
     private String code;
 

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

@@ -53,7 +53,7 @@ public class ContractTemplateController extends BaseController {
 	@ApiOperation("查询最新启用的协议模板")
 	@GetMapping(value = "/queryLatestContractTemplate")
 	@PreAuthorize("@pcs.hasPermissions('contractTemplate/queryLatestContractTemplate')")
-	public HttpResponseResult<ContractTemplate> queryLatestContractTemplate(@ApiParam(value = "业务类型 REGISTER 注册 COURSES 课程购买 PRODUCT 产品 WITHDRAW 提现", required = true) @RequestParam("contractType") ContractTemplateTypeEnum contractType) {
+	public HttpResponseResult<ContractTemplate> queryLatestContractTemplate(@ApiParam(value = "业务类型 REGISTER 注册 COURSES 课程购买 PRODUCT 产品 WITHDRAW 结算", required = true) @RequestParam("contractType") ContractTemplateTypeEnum contractType) {
 		return succeed(contractTemplateService.queryLatestContractTemplate(contractType));
 	}
 

+ 4 - 22
cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/CourseGroupController.java

@@ -161,21 +161,17 @@ public class CourseGroupController extends BaseController {
     }
 
     @ApiOperation(value = "学员管理-琴房课",notes = "{\n" +
-            "    \"subjectId\":20,\n" +
+            "    \"studentId\":20,\n" +
             "    \"search\":\"师\",\n" +
             "    \"status\":\"ING\"\n" +
             "}")
     @PostMapping(value = "/piano/student")
     public HttpResponseResult<PageInfo<CourseGroupPianoVo>> selectPianoGroupStudent(@RequestBody CourseGroupSearch search) {
-        SysUser user = sysUserFeignService.queryUserInfo();
-        if (user == null || null == user.getId()) {
-            return failed(HttpStatus.FORBIDDEN, "请登录");
-        }
-        search.setStudentId(user.getId());
         return succeed(PageUtil.pageInfo(courseGroupService.selectPianoGroupStudent(PageUtil.getPage(search), search)));
     }
 
     @ApiOperation(value = "学员管理-琴房课-详情",notes = "{\n" +
+            "    \"studentId\":20,\n" +
             "    \"courseGroupId\":334,\n" +
             "    \"search\":\"\",\n" +
             "    \"status\":\"\",\n" +
@@ -186,11 +182,6 @@ public class CourseGroupController extends BaseController {
             "}")
     @PostMapping(value = "/piano/student/detail")
     public HttpResponseResult<PageInfo<CourseGroupPianoDetailVo>> selectPianoGroupStudentDetail(@Validated @RequestBody CourseGroupDetailSearch search) {
-        SysUser user = sysUserFeignService.queryUserInfo();
-        if (user == null || null == user.getId()) {
-            return failed(HttpStatus.FORBIDDEN, "请登录");
-        }
-        search.setStudentId(user.getId());
         return succeed(PageUtil.pageInfo(courseGroupService.selectPianoGroupStudentDetail(PageUtil.getPage(search), search)));
     }
 
@@ -205,21 +196,17 @@ public class CourseGroupController extends BaseController {
     }
 
     @ApiOperation(value = "老师管理-琴房课",notes = "{\n" +
-            "    \"subjectId\":20,\n" +
+            "    \"teacherId\":20,\n" +
             "    \"search\":\"师\",\n" +
             "    \"status\":\"ING\"\n" +
             "}")
     @PostMapping(value = "/piano/teacher")
     public HttpResponseResult<PageInfo<CourseGroupPianoVo>> selectPianoGroupTeacher(@RequestBody CourseGroupSearch search) {
-        SysUser user = sysUserFeignService.queryUserInfo();
-        if (user == null || null == user.getId()) {
-            return failed(HttpStatus.FORBIDDEN, "请登录");
-        }
-        search.setTeacherId(user.getId());
         return succeed(PageUtil.pageInfo(courseGroupService.selectPianoGroupTeacher(PageUtil.getPage(search), search)));
     }
 
     @ApiOperation(value = "老师管理-琴房课-详情",notes = "{\n" +
+            "    \"teacherId\":20,\n" +
             "    \"courseGroupId\":334,\n" +
             "    \"search\":\"\",\n" +
             "    \"status\":\"\",\n" +
@@ -230,11 +217,6 @@ public class CourseGroupController extends BaseController {
             "}")
     @PostMapping(value = "/piano/teacher/detail")
     public HttpResponseResult<PageInfo<CourseGroupPianoDetailVo>> selectPianoGroupTeacherDetail(@Validated @RequestBody CourseGroupDetailSearch search) {
-        SysUser user = sysUserFeignService.queryUserInfo();
-        if (user == null || null == user.getId()) {
-            return failed(HttpStatus.FORBIDDEN, "请登录");
-        }
-        search.setTeacherId(user.getId());
         return succeed(PageUtil.pageInfo(courseGroupService.selectPianoGroupTeacherDetail(PageUtil.getPage(search), search)));
     }
 }

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

@@ -24,7 +24,7 @@ import java.util.*;
 
 @RestController
 @RequestMapping("/userWithdrawal")
-@Api(value = "用户提现", tags = "用户提现")
+@Api(value = "用户结算", tags = "用户结算")
 public class UserWithdrawalController extends BaseController {
     @Autowired
     private SysUserFeignService sysUserFeignService;
@@ -79,7 +79,7 @@ public class UserWithdrawalController extends BaseController {
                 e.printStackTrace();
             }
         });
-        ExcelUtils.exportExcel(list, "提现列表数据" + System.currentTimeMillis(),
+        ExcelUtils.exportExcel(list, "结算列表数据" + System.currentTimeMillis(),
                 "列表数据");
     }
 

+ 1 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/constant/WithdrawalConstant.java

@@ -2,7 +2,7 @@ package com.yonge.cooleshow.biz.dal.constant;
 
 public interface WithdrawalConstant {
     /**
-     * 提现三方类型:lingxinpay 灵薪付
+     * 结算三方类型:lingxinpay 灵薪付
      */
     String openType = "lingxinpay";
     //第三方url

+ 9 - 9
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dto/excel/UserWithdrawalExport.java

@@ -17,20 +17,20 @@ import java.util.Date;
  * @Data: 2022/4/15 18:01
  */
 public class UserWithdrawalExport {
-    @NotNull(message = "提现编号不能为空")
-    @ExcelProperty(value = "提现编号", index = 0)
+    @NotNull(message = "结算编号不能为空")
+    @ExcelProperty(value = "结算编号", index = 0)
     private Long id;
-    @ExcelProperty(value = "提现人", index = 1)
+    @ExcelProperty(value = "结算人", index = 1)
     private String	withdrawaUser;
-    @ExcelProperty(value = "提现人编号", index = 2)
-    @NotNull(message = "提现人编号不能为空")
+    @ExcelProperty(value = "结算人编号", index = 2)
+    @NotNull(message = "结算人编号不能为空")
     private Long userId;
     @ExcelProperty(value = "开户行", index = 3)
     private String bankName;
     @ExcelProperty(value = "银行卡号", index = 4)
     private String bankCard;
-    @NotNull(message = "提现金额不能为空")
-    @ExcelProperty(value = "提现金额", index = 5)
+    @NotNull(message = "结算金额不能为空")
+    @ExcelProperty(value = "结算金额", index = 5)
     private BigDecimal amount;
     @NotNull(message = "平台服务费不能为空")
     @ExcelProperty(value = "平台服务费", index = 6)
@@ -38,8 +38,8 @@ public class UserWithdrawalExport {
     @ExcelProperty(value = "转账金额", index = 7)
     private BigDecimal actualAmount;
 
-    @NotNull(message = "提现状态不能为空")
-    @ExcelProperty(value = "提现状态 审核中/通过/不通过", index = 8,converter = WithdrawalStatusConvert.class)
+    @NotNull(message = "结算状态不能为空")
+    @ExcelProperty(value = "结算状态 审核中/通过/不通过", index = 8,converter = WithdrawalStatusConvert.class)
     private TradeStatusEnum status;
     /*@ExcelProperty(value = "审核原因", index = 9)
     private String verifyReason;*/

+ 3 - 3
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dto/req/WithdrawalReq.java

@@ -10,14 +10,14 @@ import java.math.BigDecimal;
  * @Author: liweifan
  * @Data: 2022/4/7 15:07
  */
-@ApiModel(value = "WithdrawalReq对象", description = "用户发起提现申请对象")
+@ApiModel(value = "WithdrawalReq对象", description = "用户发起结算申请对象")
 public class WithdrawalReq {
     @NotNull(message = "缺少用户银行卡id")
     @ApiModelProperty("用户银行卡id")
     private Long bankCardId;
 
-    @NotNull(message = "缺少提现金额")
-    @ApiModelProperty("提现金额")
+    @NotNull(message = "缺少结算金额")
+    @ApiModelProperty("结算金额")
     private BigDecimal amountWithdrawal;
 
     public Long getBankCardId() {

+ 1 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dto/search/TeacherWithdrawalSearch.java

@@ -12,7 +12,7 @@ import java.time.LocalDateTime;
  * @Author: liweifan
  * @Data: 2022-03-30 13:53:51
  */
-@ApiModel(value = "TeacherWithdrawalSearch对象", description = "老师账户提现表查询对象")
+@ApiModel(value = "TeacherWithdrawalSearch对象", description = "老师账户结算表查询对象")
 public class TeacherWithdrawalSearch extends QueryInfo{
 	private static final long serialVersionUID = 1L;
 	@ApiModelProperty("三方交易流水号 ")

+ 1 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dto/search/UserAccountRecordSearch.java

@@ -25,7 +25,7 @@ public class UserAccountRecordSearch extends QueryInfo{
 	@ApiModelProperty("收支类型:IN、收入 OUT、支出 ")
 	private InOrOutEnum inOrOut;
 
-	@ApiModelProperty("业务类型:PRACTICE、陪练课 LIVE、直播课 MUSIC、乐谱 WITHDRAWAL、提现 ")
+	@ApiModelProperty("业务类型:PRACTICE、陪练课 LIVE、直播课 MUSIC、乐谱 WITHDRAWAL、结算 ")
 	private AccountBizTypeEnum bizType;
 
 	@ApiModelProperty("查询时间(yyyy-mm) ")

+ 4 - 4
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/UserAccountRecord.java

@@ -25,19 +25,19 @@ public class UserAccountRecord implements Serializable {
     @ApiModelProperty("id ")
     @TableId(value = "id_", type = IdType.AUTO)
     private Long id;
-    @ApiModelProperty("账户id ")
+    @ApiModelProperty(value = "账户id ",required = true)
     @TableField(value = "account_id_")
     private Long accountId;
-    @ApiModelProperty("交易金额 ")
+    @ApiModelProperty(value = "交易金额 ",required = true)
     @TableField(value = "trans_amount_")
     private BigDecimal transAmount;
     @ApiModelProperty("账户余额 ")
     @TableField(value = "account_balance_")
     private BigDecimal accountBalance;
-    @ApiModelProperty("收支类型:IN、收入 OUT、支出 ")
+    @ApiModelProperty(value = "收支类型:IN、收入 OUT、支出 ",required = true)
     @TableField(value = "in_or_out_")
     private InOrOutEnum inOrOut;
-    @ApiModelProperty("业务类型:PRACTICE、陪练课 LIVE、直播课 VIDEO、视频课 MUSIC、乐谱 WITHDRAWAL、提现 ")
+    @ApiModelProperty(value = "业务类型:PRACTICE、陪练课 LIVE、直播课 VIDEO、视频课 MUSIC、乐谱 WITHDRAWAL、结算 ",required = true)
     @TableField(value = "biz_type_")
     private AccountBizTypeEnum bizType;
     @ApiModelProperty("业务id ")

+ 4 - 4
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/UserWithdrawal.java

@@ -15,19 +15,19 @@ import org.springframework.format.annotation.DateTimeFormat;
 import java.math.BigDecimal;
 
 /**
- * 用户账户提现
+ * 用户账户结算
  */
 @TableName("user_withdrawal")
-@ApiModel(value = "UserWithdrawal对象", description = "用户账户提现表")
+@ApiModel(value = "UserWithdrawal对象", description = "用户账户结算表")
 public class UserWithdrawal implements Serializable {
     private static final long serialVersionUID = 1L;
-    @ApiModelProperty("提现id ")
+    @ApiModelProperty("结算id ")
     @TableId(value = "id_", type = IdType.AUTO)
     private Long id;
     @ApiModelProperty("用户表id ")
     @TableField(value = "user_id_")
     private Long userId;
-    @ApiModelProperty("提现金额 ")
+    @ApiModelProperty("结算金额 ")
     @TableField(value = "amount_")
     private BigDecimal amount;
     @ApiModelProperty("平台服务费 ")

+ 2 - 2
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/UserWithdrawalCallback.java

@@ -7,11 +7,11 @@ import io.swagger.annotations.ApiModelProperty;
 import java.util.Date;
 
 /**
- * @Description: 提现回调
+ * @Description: 结算回调
  * @Author: cy
  * @Date: 2022/5/10
  */
-@ApiModel(value = "user_withdrawal_callback-提现回调")
+@ApiModel(value = "user_withdrawal_callback-结算回调")
 public class UserWithdrawalCallback extends BaseEntity {
     @ApiModelProperty(value = "众薪平台唯一订单号")
     private String orderNo;

+ 1 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/enums/AccountBizTypeEnum.java

@@ -14,7 +14,7 @@ public enum AccountBizTypeEnum implements BaseEnum<String, AccountBizTypeEnum> {
     LIVE("直播课", InOrOutEnum.IN),
     VIDEO("视频课", InOrOutEnum.IN),
     MUSIC("乐谱", InOrOutEnum.IN),
-    WITHDRAWAL("提现", InOrOutEnum.OUT);
+    WITHDRAWAL("结算", InOrOutEnum.OUT);
     @EnumValue
     private String code;
     private String msg;

+ 2 - 2
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/enums/MessageTypeEnum.java

@@ -51,7 +51,7 @@ public enum MessageTypeEnum implements BaseEnum<String, MessageTypeEnum> {
     COURSE_SETTLEMENT("课酬结算(每晚9点)"),
     NOT_EVALUATE_STUDENT_PRACTICE("当日陪练课未评价/布置作业(每晚9点30,已评价/已布置不发)"),
     STUDENT_EVALUATE_TEACHER_PRACTICE("学员对老师评价"),
-    WITHDRAWAL_SUCCESS("提现成功"),
+    WITHDRAWAL_SUCCESS("结算成功"),
     STUDENT_JOIN_FANSGROUP("学员申请加入粉丝群"),
 
     VIP_BUY_SUCCESS("会员购买成功"),
@@ -81,7 +81,7 @@ public enum MessageTypeEnum implements BaseEnum<String, MessageTypeEnum> {
     TEACHER_STYLE_VIDEO_SUCCESS("个人风采审核通过"),
     TEACHER_STYLE_VIDEO_FAIL("个人风采审核失败"),
 
-    TEACHER_WITHDRAW_SUCCESS("老师提现成功"),
+    TEACHER_WITHDRAW_SUCCESS("老师结算成功"),
 
     //------短信模板------
     SMS_BUY_LIVE("直播课购买成功"),

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

@@ -42,10 +42,10 @@ public class WithdrawSdk {
     //签署协议url
     @Value("${withdraw.contractApiUrl}")
     private String contractApiUrl;
-    //提现回调地址
+    //结算回调地址
     @Value("${withdraw.notifyUrl}")
     private String notifyUrl;
-    //提现第三方url
+    //结算第三方url
     @Value("${withdraw.apiUrl}")
     private String apiUrl;
 
@@ -141,7 +141,7 @@ public class WithdrawSdk {
     }
 
     /**
-     * 单笔提现
+     * 单笔结算
      *
      * @param outerOrderNo  商户唯一订单号
      * @param name          收款方姓名(银行预留姓名等)

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

@@ -17,7 +17,7 @@ import java.util.List;
 import java.util.Map;
 
 /**
- * 用户账户提现表 服务类
+ * 用户账户结算表 服务类
  *
  * @author liweifan
  * @date 2022-03-30
@@ -50,7 +50,7 @@ public interface UserWithdrawalService extends IService<UserWithdrawal> {
     List<UserWithdrawalVo> selectList(TeacherWithdrawalSearch query);
 
     /***
-     * 查询提现页面信息
+     * 查询结算页面信息
      * @author liweifan
      * @param: userId
      * @updateTime 2022/4/7 14:31
@@ -59,7 +59,7 @@ public interface UserWithdrawalService extends IService<UserWithdrawal> {
     HttpResponseResult<WithdrawalInfoRes> getWithdrawalInfo(Long userId);
 
     /***
-     * 用户发起提现申请
+     * 用户发起结算申请
      * @author liweifan
      * @param: user
      * @param: withdrawalReq
@@ -69,7 +69,7 @@ public interface UserWithdrawalService extends IService<UserWithdrawal> {
     HttpResponseResult<Boolean> withdrawal(SysUser user, WithdrawalReq withdrawalReq);
 
     /**
-     * 提现回调
+     * 结算回调
      *
      * @param callback
      */

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

@@ -214,6 +214,9 @@ public class ContractServiceImpl implements ContractService {
             return HttpResponseResult.failed("最新协议模板查询失败");
         }
         String mainContent = tenantContractTemplate.getContractTemplateContent();
+        if(StringUtils.isEmpty(mainContent)){
+            return HttpResponseResult.failed("没有协议内容");
+        }
 
         Map<String, Object> params = new HashMap<>();
         String companyName = sysConfigService.findConfigValue(SysConfigConstant.COMPANY_NAME);

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

@@ -117,17 +117,22 @@ public class UserAccountServiceImpl extends ServiceImpl<UserAccountDao, UserAcco
     }
 
     private HttpResponseResult<UserAccountRecord> doAccountChange(UserAccountRecordDto accountRecordDto) {
+        UserAccountVo detail = detail(accountRecordDto.getUserId());
+
         if (FrozenTypeEnum.FROZEN.equals(accountRecordDto.getFrozenType())) {
+            //校验冻结金额
+
             baseMapper.frozenChangeAccount(accountRecordDto.getUserId(), accountRecordDto.getTransAmount(), accountRecordDto.getInOrOut().getCode());
         } else if (FrozenTypeEnum.FROZEN_DEDUCT.equals(accountRecordDto.getFrozenType())) {
             baseMapper.frozenDeductChangeAccount(accountRecordDto.getUserId(), accountRecordDto.getTransAmount(), accountRecordDto.getInOrOut().getCode());
         } else if (FrozenTypeEnum.FROZEN_BACK.equals(accountRecordDto.getFrozenType())) {
             baseMapper.frozenBackChangeAccount(accountRecordDto.getUserId(), accountRecordDto.getTransAmount(), accountRecordDto.getInOrOut().getCode());
         } else {
+
+
             baseMapper.changeAccount(accountRecordDto.getUserId(), accountRecordDto.getTransAmount(), accountRecordDto.getInOrOut().getCode());
         }
 
-        UserAccountVo detail = detail(accountRecordDto.getUserId());
         if (detail.getAmountTotal().doubleValue() < 0
                 || detail.getAmountUsable().doubleValue() < 0 || detail.getAmountFrozen().doubleValue() < 0) {
             throw new BizException("账户变更失败");

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

@@ -83,10 +83,10 @@ public class UserWithdrawalServiceImpl extends ServiceImpl<UserWithdrawalDao, Us
             defaultBank.setBankCard(ValueUtil.fuzzyBankCard(defaultBank.getBankCard()));
             withdrawalInfoRes.setUserBankCard(defaultBank);
         }
-        //获取平台提现手续费
+        //获取平台结算手续费
         BigDecimal withdrawalServiceFee = getWithdrawalServiceFee();
         withdrawalInfoRes.setWithdrawalServiceFee(withdrawalServiceFee);
-        //获取用户可用于提现余额
+        //获取用户可用于结算余额
         withdrawalInfoRes.setAmountWithdrawal(getAmountUsable(userId));
         return HttpResponseResult.succeed(withdrawalInfoRes);
     }
@@ -97,26 +97,26 @@ public class UserWithdrawalServiceImpl extends ServiceImpl<UserWithdrawalDao, Us
         BigDecimal withdrawalServiceFee = getWithdrawalServiceFee();
         //校验金额
         if (withdrawalReq.getAmountWithdrawal().floatValue() <= 0) {
-            return HttpResponseResult.failed("提现金额过小");
+            return HttpResponseResult.failed("结算金额过小");
         }
-        //获取用户提现金额
+        //获取用户结算金额
         BigDecimal amountWithdrawal = getAmountUsable(user.getId());
         //比较大小
         if (amountWithdrawal.compareTo(withdrawalReq.getAmountWithdrawal()) < 0) {
             return HttpResponseResult.failed("账户余额不足");
         }
-        //获取提现银行卡
+        //获取结算银行卡
         UserBankCardVo bankCardVo = bankCardDao.getBankByUserIdAndCardId(user.getId(), withdrawalReq.getBankCardId());
         if (null == bankCardVo) {
             return HttpResponseResult.failed("未找到用户绑卡信息");
         }
 
-        //插入用户提现
+        //插入用户结算
         UserWithdrawal userWithdrawal = insertUserWithdrawal(user.getId(), withdrawalReq, bankCardVo, withdrawalServiceFee);
         //插入账户变更
         UserAccountRecordDto accountRecordDto = new UserAccountRecordDto(
                 user.getId(), withdrawalReq.getAmountWithdrawal(), InOrOutEnum.OUT, AccountBizTypeEnum.WITHDRAWAL,
-                userWithdrawal.getId(), "老师提现", null
+                userWithdrawal.getId(), "老师结算", null
         );
         accountRecordDto.setFrozenType(FrozenTypeEnum.FROZEN);
         accountRecordDto.setSaveRecord(false);
@@ -129,7 +129,7 @@ public class UserWithdrawalServiceImpl extends ServiceImpl<UserWithdrawalDao, Us
             );
             return HttpResponseResult.succeed(true);
         } else {
-            throw new BizException("提现失败");
+            throw new BizException("结算失败");
         }
     }
 
@@ -155,15 +155,15 @@ public class UserWithdrawalServiceImpl extends ServiceImpl<UserWithdrawalDao, Us
             detail.setActualAmount(actualAmount.divide(new BigDecimal("100")));
             detail.setTransferTime(callback.getEndTime());
 
-            //提现成功,账户解冻,入账户明细
+            //结算成功,账户解冻,入账户明细
             UserAccountRecordDto accountRecordDto = new UserAccountRecordDto(
                     detail.getUserId(), detail.getAmount(), InOrOutEnum.OUT, AccountBizTypeEnum.WITHDRAWAL,
-                    detail.getId(), "老师提现", null
+                    detail.getId(), "老师结算", null
             );
             accountRecordDto.setFrozenType(FrozenTypeEnum.FROZEN_DEDUCT);
             accountRecordDto.setSaveRecord(true);
             userAccountService.accountChange(accountRecordDto);
-            //发生提现成功通知
+            //发生结算成功通知
             successSend(detail.getUserId(), detail.getPhone());
         } else if ("2".equals(callback.getStatus())) {
             //交易失败
@@ -171,10 +171,10 @@ public class UserWithdrawalServiceImpl extends ServiceImpl<UserWithdrawalDao, Us
             detail.setErrorCode(callback.getErrorCode());
             detail.setErrorMsg(callback.getErrorMsg());
 
-            //提现失败,账户解冻
+            //结算失败,账户解冻
             UserAccountRecordDto accountRecordDto = new UserAccountRecordDto(
                     detail.getUserId(), detail.getAmount(), InOrOutEnum.OUT, AccountBizTypeEnum.WITHDRAWAL,
-                    detail.getId(), "老师提现", null
+                    detail.getId(), "老师结算", null
             );
             accountRecordDto.setFrozenType(FrozenTypeEnum.FROZEN_BACK);
             accountRecordDto.setSaveRecord(false);
@@ -198,7 +198,7 @@ public class UserWithdrawalServiceImpl extends ServiceImpl<UserWithdrawalDao, Us
             sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.TEACHER_WITHDRAW_SUCCESS,
                     receivers, null, 0, null, ClientEnum.TEACHER.getCode());
         } catch (Exception e) {
-            log.error("老师提现极光消息推送异常,userId={}", userId);
+            log.error("老师结算极光消息推送异常,userId={}", userId);
         }
     }
 
@@ -270,7 +270,7 @@ public class UserWithdrawalServiceImpl extends ServiceImpl<UserWithdrawalDao, Us
                 //审核通过,账户解冻,入账户明细
                 UserAccountRecordDto accountRecordDto = new UserAccountRecordDto(
                         old.getUserId(), old.getAmount(), InOrOutEnum.OUT, AccountBizTypeEnum.WITHDRAWAL,
-                        userWithdrawal.getId(), "老师提现", null
+                        userWithdrawal.getId(), "老师结算", null
                 );
                 accountRecordDto.setFrozenType(FrozenTypeEnum.FROZEN_DEDUCT);
                 accountRecordDto.setSaveRecord(true);
@@ -281,7 +281,7 @@ public class UserWithdrawalServiceImpl extends ServiceImpl<UserWithdrawalDao, Us
                 //审核不通过,账户解冻
                 UserAccountRecordDto accountRecordDto = new UserAccountRecordDto(
                         old.getUserId(), old.getAmount(), InOrOutEnum.OUT, AccountBizTypeEnum.WITHDRAWAL,
-                        userWithdrawal.getId(), "老师提现", null
+                        userWithdrawal.getId(), "老师结算", null
                 );
                 accountRecordDto.setFrozenType(FrozenTypeEnum.FROZEN_BACK);
                 accountRecordDto.setSaveRecord(false);
@@ -292,7 +292,7 @@ public class UserWithdrawalServiceImpl extends ServiceImpl<UserWithdrawalDao, Us
     }*/
 
     /***
-     * 入提现
+     * 入结算
      * @author liweifan
      * @param: userId
      * @param: withdrawalReq
@@ -316,7 +316,7 @@ public class UserWithdrawalServiceImpl extends ServiceImpl<UserWithdrawalDao, Us
     }
 
     /***
-     * 获取平台提现服务费
+     * 获取平台结算服务费
      * @author liweifan
      * @param: userId
      * @updateTime 2022/4/7 14:59
@@ -336,7 +336,7 @@ public class UserWithdrawalServiceImpl extends ServiceImpl<UserWithdrawalDao, Us
     }
 
     /***
-     * 获取用户可提现金额
+     * 获取用户可结算金额
      * @author liweifan
      * @param: userId
      * @param: withdrawalServiceFee

+ 3 - 3
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/UserWithdrawalVo.java

@@ -8,7 +8,7 @@ import io.swagger.annotations.ApiModelProperty;
  * @Author: liweifan
  * @Data: 2022-03-30 13:53:51
  */
-@ApiModel(value = "UserWithdrawalVo对象", description = "账户提现表查询视图对象")
+@ApiModel(value = "UserWithdrawalVo对象", description = "账户结算表查询视图对象")
 public class UserWithdrawalVo extends UserWithdrawal {
 	private static final long serialVersionUID = 1L;
 
@@ -16,9 +16,9 @@ public class UserWithdrawalVo extends UserWithdrawal {
 	private String bankCard;
 	@ApiModelProperty("银行名称 ")
 	private String bankName;
-	@ApiModelProperty("提现人 ")
+	@ApiModelProperty("结算人 ")
 	private String	withdrawaUser;
-	@ApiModelProperty("提现手机号 ")
+	@ApiModelProperty("结算手机号 ")
 	private String phone;
 
 	public String getBankName() {

+ 4 - 4
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/res/WithdrawalInfoRes.java

@@ -8,17 +8,17 @@ import io.swagger.annotations.ApiModelProperty;
 import java.math.BigDecimal;
 
 /**
- * 老师提现页面返回对象
+ * 老师结算页面返回对象
  * @Author: liweifan
  * @Data: 2022/4/7 14:24
  */
-@ApiModel(value = "WithdrawalInfoRes", description = "老师提现页面返回对象")
+@ApiModel(value = "WithdrawalInfoRes", description = "老师结算页面返回对象")
 public class WithdrawalInfoRes {
     @ApiModelProperty("用户银行卡")
     private UserBankCardVo userBankCard;
-    @ApiModelProperty("可提现余额")
+    @ApiModelProperty("可结算余额")
     private BigDecimal amountWithdrawal;
-    @ApiModelProperty("平台提现手续费")
+    @ApiModelProperty("平台结算手续费")
     private BigDecimal withdrawalServiceFee;
 
     public UserBankCardVo getUserBankCard() {

+ 6 - 6
cooleshow-user/user-biz/src/main/resources/config/mybatis/CourseGroupMapper.xml

@@ -727,10 +727,10 @@
             AND cs.status_ = #{param.status}
         </if>
         <if test="param.startTime != null">
-            AND cs.start_time_ &lt;= #{param.startTime}
+            AND cs.start_time_ &gt;= #{param.startTime}
         </if>
         <if test="param.endTime != null">
-            AND cs.start_time_ &gt;= #{param.endTime}
+            AND cs.start_time_ &lt;= #{param.endTime}
         </if>
         <if test="param.teacherSign == 1">
             AND b.teacherInSign = #{param.teacherSign}
@@ -845,10 +845,10 @@
             AND `status` = #{param.status}
         </if>
         <if test="param.startTime != null">
-            AND startTime &lt;= #{param.startTime}
+            AND startTime &gt;= #{param.startTime}
         </if>
         <if test="param.endTime != null">
-            AND endTime &gt;= #{param.endTime}
+            AND startTime &lt;= #{param.endTime}
         </if>
         </where>
     </select>
@@ -939,10 +939,10 @@
                 AND `status` = #{param.status}
             </if>
             <if test="param.startTime != null">
-                AND startTime &lt;= #{param.startTime}
+                AND startTime &gt;= #{param.startTime}
             </if>
             <if test="param.endTime != null">
-                AND endTime &gt;= #{param.endTime}
+                AND endTime &lt;= #{param.endTime}
             </if>
         </where>
     </select>

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

@@ -40,8 +40,7 @@
             <include refid="baseColumns" />,
             tmp.name_ as templateName,
             tmp.type_ as templateType,
-            contract_no_ as contractNo,
-            version_ as version
+            tmp.version_ as version
         FROM sys_user_contract_record t
         LEFT JOIN contract_template tmp on t.contract_id_ = tmp.id_
         <where>

+ 3 - 3
cooleshow-user/user-student/src/main/java/com/yonge/cooleshow/student/controller/SysUserContractRecordController.java

@@ -53,7 +53,7 @@ public class SysUserContractRecordController extends BaseController {
 
     @ApiOperation("判断用户是否签署协议")
     @GetMapping(value = "/checkContractSign", produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
-    public HttpResponseResult<Boolean> checkContractSign(@ApiParam(value = "业务类型 REGISTER 注册 COURSES 课程购买 PRODUCT 产品 WITHDRAW 提现", required = true) @RequestParam("contractType") ContractTemplateTypeEnum contractType) {
+    public HttpResponseResult<Boolean> checkContractSign(@ApiParam(value = "业务类型 REGISTER 注册 COURSES 课程购买 PRODUCT 产品 WITHDRAW 结算", required = true) @RequestParam("contractType") ContractTemplateTypeEnum contractType) {
         SysUser user = sysUserFeignService.queryUserInfo();
         if (user == null || null == user.getId()) {
             return failed(HttpStatus.FORBIDDEN, "请登录");
@@ -63,7 +63,7 @@ public class SysUserContractRecordController extends BaseController {
 
     @ApiOperation("查询最新启用的协议模板")
     @GetMapping(value = "/queryLatestContractTemplate")
-    public HttpResponseResult<ContractTemplate> queryLatestContractTemplate(@ApiParam(value = "业务类型 REGISTER 注册 COURSES 课程购买 PRODUCT 产品 WITHDRAW 提现", required = true) @RequestParam("contractType") ContractTemplateTypeEnum contractType) {
+    public HttpResponseResult<ContractTemplate> queryLatestContractTemplate(@ApiParam(value = "业务类型 REGISTER 注册 COURSES 课程购买 PRODUCT 产品 WITHDRAW 结算", required = true) @RequestParam("contractType") ContractTemplateTypeEnum contractType) {
         return succeed(contractTemplateService.queryLatestContractTemplate(contractType));
     }
 
@@ -95,7 +95,7 @@ public class SysUserContractRecordController extends BaseController {
 
             if (ContractTemplateSourceEnum.LINGXINPAY.getCode().equals(contractTemplate.getSource())
                     && ContractTemplateTypeEnum.WITHDRAW.getCode().equals(contractTemplate.getType())) {
-                //签署提现协议
+                //签署结算协议
                 contractRecord.setStatus(DealStatusEnum.DOING.getCode());
                 flag = withdrawSdk.signContract(user.getRealName(), user.getIdCardNo(), user.getPhone(), contractNo.toString());
             } else {

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

@@ -50,7 +50,7 @@ public class SysUserContractRecordController extends BaseController {
 
     @ApiOperation("判断用户是否签署协议")
     @GetMapping(value = "/checkContractSign", produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
-    public HttpResponseResult<Boolean> checkContractSign(@ApiParam(value = "业务类型 REGISTER 注册 COURSES 课程购买 PRODUCT 产品 WITHDRAW 提现", required = true) @RequestParam("contractType") ContractTemplateTypeEnum contractType) {
+    public HttpResponseResult<Boolean> checkContractSign(@ApiParam(value = "业务类型 REGISTER 注册 COURSES 课程购买 PRODUCT 产品 WITHDRAW 结算", required = true) @RequestParam("contractType") ContractTemplateTypeEnum contractType) {
         SysUser user = sysUserFeignService.queryUserInfo();
         if (user == null || null == user.getId()) {
             return failed(HttpStatus.FORBIDDEN, "请登录");
@@ -58,12 +58,23 @@ public class SysUserContractRecordController extends BaseController {
         return HttpResponseResult.succeed(sysUserContractRecordService.checkContractSign(user.getId(), SysUserType.TEACHER, contractType));
     }
 
-    @ApiOperation("查询最新启用的协议模板")
+    @ApiOperation("查看协议-获取协议模板")
     @GetMapping(value = "/queryLatestContractTemplate")
-    public HttpResponseResult<ContractTemplate> queryLatestContractTemplate(@ApiParam(value = "业务类型 REGISTER 注册 COURSES 课程购买 PRODUCT 产品 WITHDRAW 提现", required = true) @RequestParam("contractType") ContractTemplateTypeEnum contractType) {
+    public HttpResponseResult<ContractTemplate> queryLatestContractTemplate(@ApiParam(value = "业务类型 REGISTER 注册 COURSES 课程购买 PRODUCT 产品 WITHDRAW 结算", required = true) @RequestParam("contractType") ContractTemplateTypeEnum contractType) {
         return succeed(contractTemplateService.queryLatestContractTemplate(contractType));
     }
 
+    @ApiOperation("查看协议-获取协议内容")
+    @GetMapping(value = "/queryContract", produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
+    public HttpResponseResult<String> queryContract(
+            @ApiParam(value = "协议类型", required = true) @RequestParam("contractType") ContractTemplateTypeEnum contractType) {
+        SysUser user = sysUserFeignService.queryUserInfo();
+        if (user == null || null == user.getId()) {
+            return failed(HttpStatus.FORBIDDEN, "请登录");
+        }
+        return contractService.queryProductContract(user.getId(),SysUserType.TEACHER,contractType);
+    }
+
     @ApiOperation("签署协议")
     @GetMapping(value = "/sign", produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
     public HttpResponseResult<Boolean> sign(
@@ -92,7 +103,7 @@ public class SysUserContractRecordController extends BaseController {
 
             if (ContractTemplateSourceEnum.LINGXINPAY.getCode().equals(contractTemplate.getSource())
                     && ContractTemplateTypeEnum.WITHDRAW.getCode().equals(contractTemplate.getType())) {
-                //签署提现协议
+                //签署结算协议
                 contractRecord.setStatus(DealStatusEnum.DOING.getCode());
                 flag = withdrawSdk.signContract(user.getRealName(), user.getIdCardNo(), user.getPhone(), contractNo.toString());
             } else {
@@ -110,16 +121,7 @@ public class SysUserContractRecordController extends BaseController {
         return HttpResponseResult.succeed(true);
     }
 
-    @ApiOperation("查看协议")
-    @GetMapping(value = "/queryContract", produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
-    public HttpResponseResult<String> queryContract(
-            @ApiParam(value = "协议类型", required = true) @RequestParam("contractType") ContractTemplateTypeEnum contractType) {
-        SysUser user = sysUserFeignService.queryUserInfo();
-        if (user == null || null == user.getId()) {
-            return failed(HttpStatus.FORBIDDEN, "请登录");
-        }
-        return contractService.queryProductContract(user.getId(),SysUserType.TEACHER,contractType);
-    }
+
 
 }
 

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

@@ -33,7 +33,7 @@ import java.util.Date;
 
 @RestController
 @RequestMapping("/userWithdrawal")
-@Api(value = "用户账户提现表", tags = "用户账户提现表")
+@Api(value = "用户账户结算表", tags = "用户账户结算表")
 public class UserWithdrawalController extends BaseController {
 
     @Autowired
@@ -43,7 +43,7 @@ public class UserWithdrawalController extends BaseController {
     private SysUserFeignService sysUserFeignService;
 
     @PostMapping("/getWithdrawalInfo")
-    @ApiOperation(value = "查询提现页面信息")
+    @ApiOperation(value = "查询结算页面信息")
     public HttpResponseResult<WithdrawalInfoRes> getWithdrawalInfo() {
         SysUser user = sysUserFeignService.queryUserInfo();
         if (user == null || null == user.getId()) {
@@ -53,7 +53,7 @@ public class UserWithdrawalController extends BaseController {
     }
 
     @PostMapping("/withdrawal")
-    @ApiOperation(value = "用户提现")
+    @ApiOperation(value = "用户结算")
     public HttpResponseResult<Boolean> withdrawal(@Valid @RequestBody WithdrawalReq withdrawalReq) {
         SysUser user = sysUserFeignService.queryUserInfo();
         if (user == null || null == user.getId()) {
@@ -64,7 +64,7 @@ public class UserWithdrawalController extends BaseController {
 
 
     @PostMapping("/withdrawalPage")
-    @ApiOperation(value = "提现记录")
+    @ApiOperation(value = "结算记录")
     @ApiImplicitParams({
             @ApiImplicitParam(
                     name = "status",

+ 2 - 2
cooleshow-user/user-teacher/src/main/java/com/yonge/cooleshow/teacher/controller/open/UserWithdrawalClient.java

@@ -25,7 +25,7 @@ import java.util.Map;
 
 @RestController
 @RequestMapping("/open/userWithdrawal")
-@Api(value = "开放权限接口-提现", hidden = true)
+@Api(value = "开放权限接口-结算", hidden = true)
 public class UserWithdrawalClient extends BaseController {
     private final static Logger log = LoggerFactory.getLogger(UserWithdrawalClient.class);
 
@@ -36,7 +36,7 @@ public class UserWithdrawalClient extends BaseController {
     private String privateKey;
 
     /**
-     * 异步回调接收-提现
+     * 异步回调接收-结算
      *
      * @param content
      * @param request

+ 38 - 0
cooleshow-user/user-website/src/main/java/com/yonge/cooleshow/website/controller/SubjectController.java

@@ -0,0 +1,38 @@
+package com.yonge.cooleshow.website.controller;
+
+import com.yonge.cooleshow.biz.dal.entity.Subject;
+import com.yonge.cooleshow.biz.dal.service.SubjectService;
+import com.yonge.cooleshow.common.controller.BaseController;
+import com.yonge.cooleshow.common.entity.HttpResponseResult;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+@RequestMapping("subject")
+@Api(tags = "声部服务")
+@RestController
+public class SubjectController extends BaseController {
+
+	@Autowired
+	private SubjectService subjectService;
+
+	@ApiOperation(value = "根据声部编号查询声部")
+	@GetMapping("/get/{id}")
+	public Object get(@ApiParam(value = "声部编号", required = true) @PathVariable("id") Long id) {
+		return succeed(subjectService.get(id));
+	}
+
+	@ApiOperation(value = "获取声部")
+	@GetMapping("/subjectSelect")
+    public HttpResponseResult<List<Subject>> subjectSelect(){
+        List<Subject> subjectSelect = subjectService.subjectSelect();
+        return succeed(subjectSelect);
+    }
+}