Browse Source

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

liujunchi 2 years ago
parent
commit
551013e141
79 changed files with 580 additions and 651 deletions
  1. 1 1
      cooleshow-auth/auth-server/src/main/java/com/yonge/cooleshow/auth/core/handler/BaseAuthenticationSuccessEventHandler.java
  2. 1 1
      cooleshow-auth/auth-server/src/main/java/com/yonge/cooleshow/auth/service/impl/SysRoleServiceImpl.java
  3. 1 1
      cooleshow-auth/auth-server/src/main/java/com/yonge/cooleshow/auth/service/impl/SysUserServiceImpl.java
  4. 1 1
      cooleshow-auth/auth-server/src/main/java/com/yonge/cooleshow/auth/web/controller/UserController.java
  5. 1 1
      cooleshow-cms/src/main/java/com/yonge/cooleshow/cms/service/impl/SysNewsInformationServiceImpl.java
  6. 1 1
      cooleshow-common/src/main/java/com/yonge/cooleshow/common/controller/BaseController.java
  7. 1 1
      cooleshow-common/src/main/java/com/yonge/cooleshow/common/entity/HttpResponseResult.java
  8. 0 36
      cooleshow-common/src/main/java/com/yonge/cooleshow/common/exception/BizException.java
  9. 1 1
      cooleshow-mall/mall-admin/src/main/java/com/yonge/cooleshow/admin/service/impl/OmsOrderReturnApplyServiceImpl.java
  10. 1 1
      cooleshow-mall/mall-portal/src/main/java/com/yonge/cooleshow/portal/service/impl/OmsPortalOrderServiceImpl.java
  11. 1 1
      cooleshow-mall/mall-portal/src/main/java/com/yonge/cooleshow/portal/service/impl/UmsMemberServiceImpl.java
  12. 28 0
      cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/AdminSysUserContractRecordController.java
  13. 1 1
      cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/SmsCodeController.java
  14. 0 39
      cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/SysUserContractsController.java
  15. 20 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/SysUserContractRecordDao.java
  16. 0 31
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/SysUserContractsDao.java
  17. 3 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/VideoLessonGroupDao.java
  18. 117 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/SysUserContractRecord.java
  19. 0 125
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/SysUserContracts.java
  20. 12 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/UserOrderPayment.java
  21. 3 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/enums/TradeStatusEnum.java
  22. 1 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/sdk/PaymentSdk.java
  23. 17 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/SysUserContractRecordService.java
  24. 0 27
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/SysUserContractsService.java
  25. 1 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/UploadFileService.java
  26. 18 13
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/UserOrderPaymentService.java
  27. 19 9
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/UserOrderService.java
  28. 1 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/AppVersionInfoServiceImpl.java
  29. 1 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/ContractTemplateServiceImpl.java
  30. 1 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/CourseGroupServiceImpl.java
  31. 1 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/CourseHomeworkServiceImpl.java
  32. 1 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/CourseScheduleServiceImpl.java
  33. 1 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/HomeServiceImpl.java
  34. 1 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/ImGroupMemberAuditServiceImpl.java
  35. 1 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/ImGroupMemberServiceImpl.java
  36. 1 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/ImGroupNoticeServiceImpl.java
  37. 1 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/ImGroupServiceImpl.java
  38. 1 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/LiveRoomServiceImpl.java
  39. 1 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/MusicAlbumServiceImpl.java
  40. 1 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/MusicSheetAuthRecordServiceImpl.java
  41. 1 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/MusicSheetServiceImpl.java
  42. 1 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/MusicTagServiceImpl.java
  43. 1 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/SmsCodeServiceImpl.java
  44. 1 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/SubjectServiceImpl.java
  45. 1 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/SysManualServiceImpl.java
  46. 1 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/SysMessageServiceImpl.java
  47. 29 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/SysUserContractRecordServiceImpl.java
  48. 0 35
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/SysUserContractsServiceImpl.java
  49. 1 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/TeacherFreeTimeServiceImpl.java
  50. 1 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/TeacherServiceImpl.java
  51. 1 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/UserAccountServiceImpl.java
  52. 90 20
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/UserOrderPaymentServiceImpl.java
  53. 41 114
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/UserOrderServiceImpl.java
  54. 1 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/UserWithdrawalServiceImpl.java
  55. 1 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/VideoLessonGroupDetailServiceImpl.java
  56. 2 8
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/VideoLessonGroupServiceImpl.java
  57. 1 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/VideoLessonPurchaseRecordServiceImpl.java
  58. 1 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/support/IMHelper.java
  59. 1 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/support/WrapperUtil.java
  60. 11 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/LiveCourseGroupVo.java
  61. 3 4
      cooleshow-user/user-biz/src/main/resources/config/mybatis/CourseGroupMapper.xml
  62. 1 1
      cooleshow-user/user-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml
  63. 31 0
      cooleshow-user/user-biz/src/main/resources/config/mybatis/SysUserContractRecordMapper.xml
  64. 0 101
      cooleshow-user/user-biz/src/main/resources/config/mybatis/SysUserContractsMapper.xml
  65. 10 10
      cooleshow-user/user-biz/src/main/resources/config/mybatis/UserOrderMapper.xml
  66. 2 0
      cooleshow-user/user-biz/src/main/resources/config/mybatis/UserOrderPaymentMapper.xml
  67. 10 0
      cooleshow-user/user-biz/src/main/resources/config/mybatis/VideoLessonGroupMapper.xml
  68. 1 1
      cooleshow-user/user-student/src/main/java/com/yonge/cooleshow/student/controller/ImGroupMemberController.java
  69. 1 1
      cooleshow-user/user-student/src/main/java/com/yonge/cooleshow/student/controller/SmsCodeController.java
  70. 28 0
      cooleshow-user/user-student/src/main/java/com/yonge/cooleshow/student/controller/StudentSysUserContractRecordController.java
  71. 1 1
      cooleshow-user/user-student/src/main/java/com/yonge/cooleshow/student/controller/SysMessageController.java
  72. 8 27
      cooleshow-user/user-student/src/main/java/com/yonge/cooleshow/student/controller/UserOrderController.java
  73. 1 1
      cooleshow-user/user-teacher/src/main/java/com/yonge/cooleshow/teacher/controller/ImGroupMemberAuditController.java
  74. 1 1
      cooleshow-user/user-teacher/src/main/java/com/yonge/cooleshow/teacher/controller/ImGroupMemberController.java
  75. 1 1
      cooleshow-user/user-teacher/src/main/java/com/yonge/cooleshow/teacher/controller/SmsCodeController.java
  76. 1 1
      cooleshow-user/user-teacher/src/main/java/com/yonge/cooleshow/teacher/controller/SysMessageController.java
  77. 28 0
      cooleshow-user/user-teacher/src/main/java/com/yonge/cooleshow/teacher/controller/TeacherSysUserContractRecordController.java
  78. 1 1
      cooleshow-user/user-teacher/src/main/java/com/yonge/cooleshow/teacher/controller/UserAccountController.java
  79. 1 1
      cooleshow-user/user-teacher/src/main/java/com/yonge/cooleshow/teacher/controller/UserWithdrawalController.java

+ 1 - 1
cooleshow-auth/auth-server/src/main/java/com/yonge/cooleshow/auth/core/handler/BaseAuthenticationSuccessEventHandler.java

@@ -12,7 +12,7 @@ import javax.servlet.http.HttpServletResponse;
 import com.yonge.cooleshow.auth.config.RongCloudConfig;
 import com.yonge.cooleshow.common.entity.ImResult;
 import com.yonge.cooleshow.common.entity.ImUserModel;
-import com.yonge.cooleshow.common.exception.BizException;
+import com.yonge.toolset.base.exception.BizException;
 import io.rong.models.response.TokenResult;
 import io.rong.models.user.UserModel;
 import org.apache.commons.collections.MapUtils;

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

@@ -13,7 +13,7 @@ import com.yonge.cooleshow.auth.dal.dao.SysRoleDao;
 import com.yonge.cooleshow.auth.dal.dao.SysRoleMenuDao;
 import com.yonge.cooleshow.auth.service.SysRoleService;
 import com.yonge.toolset.mybatis.dal.BaseDAO;
-import com.yonge.cooleshow.common.exception.BizException;
+import com.yonge.toolset.base.exception.BizException;
 
 @Service
 public class SysRoleServiceImpl extends BaseServiceImpl<Long, SysRole> implements SysRoleService {

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

@@ -24,7 +24,7 @@ import com.yonge.cooleshow.auth.service.SysUserService;
 import com.yonge.cooleshow.common.constant.SysConfigConstant;
 import com.yonge.toolset.mybatis.dal.BaseDAO;
 import com.yonge.cooleshow.common.entity.ImUserModel;
-import com.yonge.cooleshow.common.exception.BizException;
+import com.yonge.toolset.base.exception.BizException;
 
 @Service
 public class SysUserServiceImpl extends BaseServiceImpl<Long, SysUser> implements SysUserService {

+ 1 - 1
cooleshow-auth/auth-server/src/main/java/com/yonge/cooleshow/auth/web/controller/UserController.java

@@ -42,7 +42,7 @@ import com.yonge.cooleshow.common.constant.CommonConstants;
 import com.yonge.cooleshow.common.constant.SysConfigConstant;
 import com.yonge.cooleshow.common.controller.BaseController;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
-import com.yonge.cooleshow.common.exception.BizException;
+import com.yonge.toolset.base.exception.BizException;
 import com.yonge.cooleshow.common.security.AuthUser;
 import com.yonge.cooleshow.common.security.SecurityConstants;
 import com.yonge.cooleshow.common.security.SecurityUtils;

+ 1 - 1
cooleshow-cms/src/main/java/com/yonge/cooleshow/cms/service/impl/SysNewsInformationServiceImpl.java

@@ -7,7 +7,7 @@ import com.yonge.cooleshow.cms.dal.entity.NewsStatusEnum;
 import com.yonge.cooleshow.cms.dal.entity.SysNewsInformation;
 import com.yonge.cooleshow.cms.dto.SysNewsInformationDto;
 import com.yonge.cooleshow.cms.service.SysNewsInformationService;
-import com.yonge.cooleshow.common.exception.BizException;
+import com.yonge.toolset.base.exception.BizException;
 import com.yonge.toolset.mybatis.dal.BaseDAO;
 import com.yonge.toolset.base.page.PageInfo;
 import com.yonge.toolset.base.page.QueryInfo;

+ 1 - 1
cooleshow-common/src/main/java/com/yonge/cooleshow/common/controller/BaseController.java

@@ -26,7 +26,7 @@ import org.springframework.web.bind.annotation.ExceptionHandler;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
-import com.yonge.cooleshow.common.exception.BizException;
+import com.yonge.toolset.base.exception.BizException;
 import com.yonge.toolset.base.exception.ThirdpartyException;
 import com.yonge.toolset.utils.http.HttpUtil;
 

+ 1 - 1
cooleshow-common/src/main/java/com/yonge/cooleshow/common/entity/HttpResponseResult.java

@@ -3,7 +3,7 @@ package com.yonge.cooleshow.common.entity;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.alibaba.fastjson.serializer.SerializerFeature;
-import com.yonge.cooleshow.common.exception.BizException;
+import com.yonge.toolset.base.exception.BizException;
 import com.yonge.toolset.base.exception.ThirdpartyException;
 import com.yonge.toolset.utils.http.HttpUtil;
 import com.yonge.toolset.utils.json.JsonUtil;

+ 0 - 36
cooleshow-common/src/main/java/com/yonge/cooleshow/common/exception/BizException.java

@@ -1,36 +0,0 @@
-package com.yonge.cooleshow.common.exception;
-
-import com.yonge.toolset.base.string.MessageFormatter;
-
-public class BizException extends RuntimeException {
-
-	/**
-	 * 
-	 */
-	private static final long serialVersionUID = -4562885563376566463L;
-
-	public BizException() {
-		super();
-	}
-
-	public BizException(String message) {
-		super(message);
-	}
-
-	public BizException(Throwable cause) {
-		super(cause);
-	}
-
-	public BizException(String message, Throwable cause) {
-		super(message, cause);
-	}
-
-	public BizException(String message, Object... arguments) {
-		super(MessageFormatter.arrayFormat(message, arguments));
-	}
-
-	public BizException(String message, Throwable cause, Object... args) {
-		super(MessageFormatter.arrayFormat(message, args), cause);
-	}
-
-}

+ 1 - 1
cooleshow-mall/mall-admin/src/main/java/com/yonge/cooleshow/admin/service/impl/OmsOrderReturnApplyServiceImpl.java

@@ -6,7 +6,7 @@ import com.yonge.cooleshow.admin.dao.OmsOrderReturnApplyDao;
 import com.yonge.cooleshow.admin.dto.OmsOrderReturnApplyResult;
 import com.yonge.cooleshow.admin.dto.OmsReturnApplyQueryParam;
 import com.yonge.cooleshow.admin.dto.OmsUpdateStatusParam;
-import com.yonge.cooleshow.common.exception.BizException;
+import com.yonge.toolset.base.exception.BizException;
 import com.yonge.cooleshow.enums.PayStatusEnum;
 import com.yonge.cooleshow.mbg.mapper.OmsOrderReturnApplyMapper;
 import com.yonge.cooleshow.mbg.mapper.UserOrderPaymentMapper;

+ 1 - 1
cooleshow-mall/mall-portal/src/main/java/com/yonge/cooleshow/portal/service/impl/OmsPortalOrderServiceImpl.java

@@ -4,7 +4,7 @@ import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.collection.CollUtil;
 import com.alibaba.fastjson.JSONObject;
 import com.github.pagehelper.PageHelper;
-import com.yonge.cooleshow.common.exception.BizException;
+import com.yonge.toolset.base.exception.BizException;
 import com.yonge.cooleshow.enums.OrderStatusEnum;
 import com.yonge.cooleshow.enums.PayStatusEnum;
 import com.yonge.cooleshow.mall.common.api.CommonPage;

+ 1 - 1
cooleshow-mall/mall-portal/src/main/java/com/yonge/cooleshow/portal/service/impl/UmsMemberServiceImpl.java

@@ -2,7 +2,7 @@ package com.yonge.cooleshow.portal.service.impl;
 
 import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
 import com.yonge.cooleshow.auth.api.entity.SysUser;
-import com.yonge.cooleshow.common.exception.BizException;
+import com.yonge.toolset.base.exception.BizException;
 import com.yonge.cooleshow.mbg.mapper.UmsMemberLevelMapper;
 import com.yonge.cooleshow.mbg.mapper.UmsMemberMapper;
 import com.yonge.cooleshow.mbg.model.UmsMember;

+ 28 - 0
cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/AdminSysUserContractRecordController.java

@@ -0,0 +1,28 @@
+package com.yonge.cooleshow.admin.controller;
+
+import com.yonge.cooleshow.biz.dal.service.SysUserContractRecordService;
+import com.yonge.cooleshow.common.controller.BaseController;
+import io.swagger.annotations.Api;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
+
+/**
+ * 用户协议记录表-一个用户一种协议一个版本一条记录(SysUserContractRecord)表控制层
+ *
+ * @author hgw
+ * @since 2022-05-07 15:04:05
+ */
+@Api(tags = "用户协议记录表-一个用户一种协议一个版本一条记录")
+@RestController
+@RequestMapping("/sysUserContractRecord")
+public class AdminSysUserContractRecordController extends BaseController {
+    /**
+     * 服务对象
+     */
+    @Resource
+    private SysUserContractRecordService sysUserContractRecordService;
+
+}
+

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

@@ -22,7 +22,7 @@ import com.wf.captcha.utils.CaptchaUtil;
 import com.yonge.cooleshow.biz.dal.enums.MessageTypeEnum;
 import com.yonge.cooleshow.biz.dal.service.SmsCodeService;
 import com.yonge.cooleshow.common.controller.BaseController;
-import com.yonge.cooleshow.common.exception.BizException;
+import com.yonge.toolset.base.exception.BizException;
 import com.yonge.cooleshow.common.security.SecurityConstants;
 
 @RestController

+ 0 - 39
cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/SysUserContractsController.java

@@ -1,39 +0,0 @@
-package com.yonge.cooleshow.admin.controller;
-
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-import com.yonge.cooleshow.biz.dal.entity.SysUserContracts;
-import com.yonge.cooleshow.biz.dal.service.SysUserContractsService;
-import com.yonge.cooleshow.common.controller.BaseController;
-import com.yonge.cooleshow.common.entity.HttpResponseResult;
-
-@RequestMapping("sysUserContracts")
-@Api(tags = "用户协议服务")
-@RestController
-public class SysUserContractsController extends BaseController {
-
-	@Autowired
-	private SysUserContractsService sysUserContractsService;
-	
-    @ApiOperation(value = "查询学生最新协议")
-    @GetMapping("/getLatest")
-    @PreAuthorize("@pcs.hasPermissions('sysUserContracts/getLatest')")
-	public HttpResponseResult<SysUserContracts> getLatest(Long userId) {
-		
-		SysUserContracts sysUserContracts = sysUserContractsService.getLatestUserContract(userId);
-
-		if(sysUserContracts == null){
-			return failed("该学员尚未签署协议");
-		}
-
-		return succeed(sysUserContracts);
-	}
-
-}

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

@@ -0,0 +1,20 @@
+package com.yonge.cooleshow.biz.dal.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.yonge.cooleshow.biz.dal.entity.SysUserContractRecord;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * 用户协议记录表-一个用户一种协议一个版本一条记录(SysUserContractRecord)表数据库访问层
+ *
+ * @author hgw
+ * @since 2022-05-07 15:04:05
+ */
+public interface SysUserContractRecordDao extends BaseMapper<SysUserContractRecord> {
+
+    int insertBatch(@Param("entities") List<SysUserContractRecord> entities);
+
+}
+

+ 0 - 31
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/SysUserContractsDao.java

@@ -1,31 +0,0 @@
-package com.yonge.cooleshow.biz.dal.dao;
-
-import java.util.List;
-
-import org.apache.ibatis.annotations.Param;
-
-import com.yonge.cooleshow.biz.dal.entity.SysUserContracts;
-import com.yonge.toolset.mybatis.dal.BaseDAO;
-
-public interface SysUserContractsDao extends BaseDAO<Long, SysUserContracts> {
-
-    /**
-     * @describe 获取用户指定类型的协议记录
-     * @author Joburgess
-     * @date 2020.09.18
-     * @param userId:
-     * @param contractType:
-     * @return java.util.List<com.yonge.cooleshow.biz.dal.entity.SysUserContracts>
-     */
-    List<SysUserContracts> getUserContractWithType(@Param("userId") Long userId,
-                                                   @Param("contractType") SysUserContracts.ContractType contractType,
-                                                   @Param("version") Integer version);
-
-    /**
-     * 获取最近一次的协议
-     * @param userId
-     * @return
-     */
-    SysUserContracts getLatestUserContract(Long userId);
-
-}

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

@@ -41,4 +41,7 @@ public interface VideoLessonGroupDao extends BaseMapper<VideoLessonGroup> {
 
     //查询所有视频课组
     List<VideoLessonAuthGroup> queryGroupList(IPage<VideoLessonAuthGroup> page, @Param("param") VideoGroupSearch query);
+
+    //根据组id查详情
+    VideoLessonGroup selectGroupById(Long groupId);
 }

+ 117 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/SysUserContractRecord.java

@@ -0,0 +1,117 @@
+package com.yonge.cooleshow.biz.dal.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 用户协议记录表-一个用户一种协议一个版本一条记录(SysUserContractRecord)表实体类
+ *
+ * @author hgw
+ * @since 2022-05-07 15:21:18
+ */
+@ApiModel(value = "sys_user_contract_record-用户协议记录表-一个用户一种协议一个版本一条记录")
+public class SysUserContractRecord implements Serializable {
+    @TableId(value = "id_", type = IdType.AUTO)
+    @ApiModelProperty(value = "主键")
+    private Long id;
+
+    @TableField("user_id_")
+    @ApiModelProperty(value = "用户id")
+    private Long userId;
+
+    @TableField("user_type_")
+    @ApiModelProperty(value = "用户类型")
+    private String userType;
+
+    @TableField("contract_id_")
+    @ApiModelProperty(value = "协议模板对应的id")
+    private Integer contractId;
+
+    @TableField("url_")
+    @ApiModelProperty(value = "协议地址")
+    private String url;
+
+    @TableField("created_time_")
+    @ApiModelProperty(value = "创建时间")
+    private Date createdTime;
+
+    @TableField("contract_no_")
+    @ApiModelProperty(value = "合同编号")
+    private String contractNo;
+
+    @TableField("remark_")
+    @ApiModelProperty(value = "备注")
+    private String remark;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public Long getUserId() {
+        return userId;
+    }
+
+    public void setUserId(Long userId) {
+        this.userId = userId;
+    }
+
+    public String getUserType() {
+        return userType;
+    }
+
+    public void setUserType(String userType) {
+        this.userType = userType;
+    }
+
+    public Integer getContractId() {
+        return contractId;
+    }
+
+    public void setContractId(Integer contractId) {
+        this.contractId = contractId;
+    }
+
+    public String getUrl() {
+        return url;
+    }
+
+    public void setUrl(String url) {
+        this.url = url;
+    }
+
+    public Date getCreatedTime() {
+        return createdTime;
+    }
+
+    public void setCreatedTime(Date createdTime) {
+        this.createdTime = createdTime;
+    }
+
+    public String getContractNo() {
+        return contractNo;
+    }
+
+    public void setContractNo(String contractNo) {
+        this.contractNo = contractNo;
+    }
+
+    public String getRemark() {
+        return remark;
+    }
+
+    public void setRemark(String remark) {
+        this.remark = remark;
+    }
+
+}
+

+ 0 - 125
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/SysUserContracts.java

@@ -1,125 +0,0 @@
-package com.yonge.cooleshow.biz.dal.entity;
-
-import com.yonge.toolset.base.enums.BaseEnum;
-import org.apache.commons.lang3.builder.ToStringBuilder;
-
-/**
- * 对应数据库表(sys_user_contracts):
- */
-public class SysUserContracts {
-
-	public enum ContractType implements BaseEnum<String, ContractType> {
-
-		REGISTER("注册"),
-		COURSES("课程购买"),
-		PRODUCT("产品");
-
-		private String desc;
-
-		private ContractType(String desc) {
-			this.desc = desc;
-		}
-
-		@Override
-		public String getCode() {
-			return name();
-		}
-
-		public String getDesc() {
-			return desc;
-		}
-	}
-
-	/**  */
-	private Long id;
-
-	/**  */
-	private Long userId;
-
-	/** 合同号 */
-	private String contractNo;
-
-	/** 协议类型 */
-	private ContractType type;
-
-	/** 协议地址 */
-	private String url;
-
-	/** 备注 */
-	private String memo;
-
-	private Integer version;
-
-	/** 创建时间 */
-	private java.util.Date createTime;
-
-	public Integer getVersion() {
-		return version;
-	}
-
-	public void setVersion(Integer version) {
-		this.version = version;
-	}
-
-	public void setId(Long id) {
-		this.id = id;
-	}
-
-	public Long getId() {
-		return this.id;
-	}
-
-	public void setUserId(Long userId) {
-		this.userId = userId;
-	}
-
-	public Long getUserId() {
-		return this.userId;
-	}
-
-	public void setContractNo(String contractNo) {
-		this.contractNo = contractNo;
-	}
-
-	public String getContractNo() {
-		return this.contractNo;
-	}
-
-	public void setType(ContractType type) {
-		this.type = type;
-	}
-
-	public ContractType getType() {
-		return this.type;
-	}
-
-	public void setUrl(String url) {
-		this.url = url;
-	}
-
-	public String getUrl() {
-		return this.url;
-	}
-
-	public void setMemo(String memo) {
-		this.memo = memo;
-	}
-
-	public String getMemo() {
-		return this.memo;
-	}
-
-	public void setCreateTime(java.util.Date createTime) {
-		this.createTime = createTime;
-	}
-
-	public java.util.Date getCreateTime() {
-		return this.createTime;
-	}
-
-	@Override
-	public String toString() {
-		return ToStringBuilder.reflectionToString(this);
-	}
-
-}

+ 12 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/UserOrderPayment.java

@@ -27,6 +27,9 @@ public class UserOrderPayment implements Serializable {
     @ApiModelProperty("订单号 ")
 	@TableField(value = "order_no_")
     private String orderNo;
+    @ApiModelProperty("汇付支付订单号(一个订单对应多个支付订单,新发起一个支付订单会关闭其他交易) ")
+    @TableField(value = "adapay_no_")
+    private String adapayNo;
     @ApiModelProperty("交易流水号 ")
 	@TableField(value = "trans_no_")
     private String transNo;
@@ -45,7 +48,7 @@ public class UserOrderPayment implements Serializable {
     @ApiModelProperty("支付详情信息(用于拉起支付) ")
 	@TableField(value = "pay_info_")
     private String payInfo;
-    @ApiModelProperty("交易状态 pending 交易处理中 succeeded 交易成功 failed 交易失败")
+    @ApiModelProperty("交易状态 pending 交易处理中 succeeded 交易成功 failed 交易失败 close 交易关闭")
     @TableField(value = "status_")
     private TradeStatusEnum status;
     @ApiModelProperty("失败信息 ")
@@ -192,4 +195,12 @@ public class UserOrderPayment implements Serializable {
     public void setBackPayAmt(BigDecimal backPayAmt) {
         this.backPayAmt = backPayAmt;
     }
+
+    public String getAdapayNo() {
+        return adapayNo;
+    }
+
+    public void setAdapayNo(String adapayNo) {
+        this.adapayNo = adapayNo;
+    }
 }

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

@@ -11,7 +11,9 @@ import com.yonge.toolset.base.enums.BaseEnum;
 public enum TradeStatusEnum implements BaseEnum<String, TradeStatusEnum> {
     pending("pending","交易处理中"),
     succeeded("succeeded","交易成功"),
-    failed("failed","交易失败")
+    failed("failed","交易失败"),
+    //当用户更换支付渠道时,该订单其他支付渠道会交易关闭
+    close("close","交易关闭")
     ;
     @EnumValue
     private String code;

+ 1 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/sdk/PaymentSdk.java

@@ -15,7 +15,7 @@ import com.yonge.cooleshow.biz.dal.sdk.req.PaymentReq;
 import com.yonge.cooleshow.biz.dal.service.impl.ImGroupMemberServiceImpl;
 import com.yonge.cooleshow.common.constant.CommonConstants;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
-import com.yonge.cooleshow.common.exception.BizException;
+import com.yonge.toolset.base.exception.BizException;
 import com.yonge.toolset.base.exception.ThirdpartyException;
 import com.yonge.toolset.utils.collection.MapUtil;
 import com.yonge.toolset.utils.http.HttpUtil;

+ 17 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/SysUserContractRecordService.java

@@ -0,0 +1,17 @@
+package com.yonge.cooleshow.biz.dal.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.yonge.cooleshow.biz.dal.dao.SysUserContractRecordDao;
+import com.yonge.cooleshow.biz.dal.entity.SysUserContractRecord;
+
+/**
+ * 用户协议记录表-一个用户一种协议一个版本一条记录(SysUserContractRecord)表服务接口
+ *
+ * @author hgw
+ * @since 2022-05-07 15:04:06
+ */
+public interface SysUserContractRecordService extends IService<SysUserContractRecord> {
+
+    SysUserContractRecordDao getDao();
+}
+

+ 0 - 27
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/SysUserContractsService.java

@@ -1,27 +0,0 @@
-package com.yonge.cooleshow.biz.dal.service;
-
-import java.util.List;
-
-import com.yonge.cooleshow.biz.dal.entity.SysUserContracts;
-import com.yonge.toolset.mybatis.service.BaseService;
-
-public interface SysUserContractsService extends BaseService<Long, SysUserContracts> {
-
-    /**
-     * @describe 获取用户指定类型的协议记录
-     * @author Joburgess
-     * @date 2020.09.18
-     * @param userId:
-     * @param contractType:
-     * @return java.util.List<com.yonge.cooleshow.biz.dal.entity.SysUserContracts>
-     */
-    List<SysUserContracts> getUserContractWithType(Long userId, SysUserContracts.ContractType contractType, Integer contractVersion);
-
-    /**
-     * 获取最近一次的协议
-     * @param userId
-     * @return
-     */
-    SysUserContracts getLatestUserContract(Long userId);
-
-}

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

@@ -18,7 +18,7 @@ import org.springframework.scheduling.annotation.Async;
 import org.springframework.stereotype.Service;
 
 import com.yonge.cooleshow.common.entity.UploadReturnBean;
-import com.yonge.cooleshow.common.exception.BizException;
+import com.yonge.toolset.base.exception.BizException;
 import com.yonge.toolset.thirdparty.storage.StoragePluginContext;
 import com.yonge.toolset.thirdparty.storage.provider.KS3StoragePlugin;
 import com.yonge.toolset.utils.upload.UploadUtil;

+ 18 - 13
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/UserOrderPaymentService.java

@@ -4,6 +4,10 @@ import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.yonge.cooleshow.biz.dal.dto.req.OrderPayReq;
 import com.yonge.cooleshow.biz.dal.entity.UserOrderPayment;
+import com.yonge.cooleshow.biz.dal.enums.PayChannelEnum;
+import com.yonge.cooleshow.biz.dal.enums.TradeStatusEnum;
+import com.yonge.cooleshow.biz.dal.vo.UserOrderVo;
+import com.yonge.cooleshow.biz.dal.vo.res.OrderPayRes;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
 
 import java.util.Map;
@@ -19,10 +23,13 @@ public interface UserOrderPaymentService extends IService<UserOrderPayment> {
      * 通过订单号查询付款单
      * @author liweifan
      * @param: orderNo
-     * @updateTime 2022/4/13 16:09
+     * @param: payChannel
+     * @param: status
+     * @updateTime 2022/5/7 14:09
      * @return: com.yonge.cooleshow.biz.dal.entity.UserOrderPayment
      */
-    UserOrderPayment detailByOrderNo(String orderNo);
+    UserOrderPayment detailByOrderNo(String orderNo, PayChannelEnum payChannel, TradeStatusEnum status);
+
     /***
      * 通过交易流水号查询付款单
      * @author liweifan
@@ -33,16 +40,6 @@ public interface UserOrderPaymentService extends IService<UserOrderPayment> {
     UserOrderPayment detailByTransNo(String transNo);
 
     /***
-     * 请求惠付接口后插入订单付款表
-     * @author liweifan
-     * @param: responseResult
-     * @param: payReq
-     * @updateTime 2022/5/6 15:13
-     * @return: com.yonge.cooleshow.biz.dal.entity.UserOrderPayment
-     */
-    UserOrderPayment insertOrderPayment(HttpResponseResult<Map<String, Object>> responseResult, OrderPayReq payReq);
-
-    /***
      * 关闭付款单
      * @author liweifan
      * @param: orderNo
@@ -50,7 +47,7 @@ public interface UserOrderPaymentService extends IService<UserOrderPayment> {
      * @updateTime 2022/5/6 14:49
      * @return: com.yonge.cooleshow.biz.dal.entity.UserOrderPayment
      */
-    UserOrderPayment closePayment(String orderNo,String reason);
+    UserOrderPayment closePayment(String orderNo, String reason);
 
     /***
      * 支付关单成功
@@ -68,4 +65,12 @@ public interface UserOrderPaymentService extends IService<UserOrderPayment> {
      */
     void paymentCloseFailedHandle(JSONObject hfRes);
 
+    /***
+     * 创建付款单
+     * @author liweifan
+     * @param: payReq
+     * @param: detail
+     * @updateTime 2022/5/7 13:56
+     */
+    HttpResponseResult<OrderPayRes> createOrderPayment(OrderPayReq payReq, UserOrderVo detail);
 }

+ 19 - 9
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/UserOrderService.java

@@ -10,6 +10,7 @@ import com.yonge.cooleshow.biz.dal.vo.UserOrderVo;
 import com.yonge.cooleshow.biz.dal.dto.search.OrderSearch;
 import com.yonge.cooleshow.biz.dal.vo.res.OrderPayRes;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 
@@ -82,15 +83,6 @@ public interface UserOrderService extends IService<UserOrder> {
     HttpResponseResult<UserOrderVo> getPendingOrder(OrderSearch query);
 
     /***
-     * 支付中订单付款
-     * @author liweifan
-     * @param: payReq
-     * @updateTime 2022/4/21 19:32
-     * @return: com.yonge.cooleshow.common.entity.HttpResponseResult<com.yonge.cooleshow.biz.dal.vo.res.OrderPayRes>
-     */
-    HttpResponseResult<OrderPayRes> orderPaytoPaying(OrderPayReq payReq);
-
-    /***
      * 用户付款回调
      * @author liweifan
      * @param: data
@@ -123,6 +115,15 @@ public interface UserOrderService extends IService<UserOrder> {
      */
     HttpResponseResult<Boolean> orderCancel(OrderPayReq payReq);
     /***
+     * 取消订单(未判断付款单状态)
+     * @author liweifan
+     * @param: userOrder
+     * @param: orderStatus
+     * @param: reason
+     * @updateTime 2022/5/7 14:46
+     */
+    void doOrderCancel(UserOrderVo userOrder, OrderStatusEnum orderStatus, String reason);
+    /***
      * 完成所有订单
      * @author liweifan
      * @updateTime 2022/4/27 17:38
@@ -137,6 +138,15 @@ public interface UserOrderService extends IService<UserOrder> {
      */
     List<UserOrder> selectUnRecordTimeOrder(OrderSearch query);
     /***
+     * 修改订单状态
+     * @author liweifan
+     * @param: orderNo
+     * @param: orderStatus
+     * @updateTime 2022/5/7 15:21
+     * @return: java.lang.Integer
+     */
+    Integer updateStatusByOrderNo(String orderNo, String orderStatus);
+    /***
      * 修改订单状态(测试用)
      * @author liweifan
      * @param: orderNo

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

@@ -15,7 +15,7 @@ import com.yonge.cooleshow.biz.dal.dao.AppVersionInfoDao;
 import com.yonge.cooleshow.biz.dal.entity.AppVersionInfo;
 import com.yonge.cooleshow.biz.dal.service.AppVersionInfoService;
 import com.yonge.toolset.mybatis.dal.BaseDAO;
-import com.yonge.cooleshow.common.exception.BizException;
+import com.yonge.toolset.base.exception.BizException;
 
 @Service
 public class AppVersionInfoServiceImpl extends BaseServiceImpl<Long, AppVersionInfo> implements AppVersionInfoService {

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

@@ -19,7 +19,7 @@ import com.yonge.cooleshow.biz.dal.dto.ContractTemplateDto;
 import com.yonge.cooleshow.biz.dal.entity.ContractTemplate;
 import com.yonge.cooleshow.biz.dal.service.ContractTemplateService;
 import com.yonge.toolset.mybatis.dal.BaseDAO;
-import com.yonge.cooleshow.common.exception.BizException;
+import com.yonge.toolset.base.exception.BizException;
 import com.yonge.toolset.base.page.PageInfo;
 import com.yonge.toolset.base.page.QueryInfo;
 import com.yonge.toolset.utils.collection.MapUtil;

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

@@ -26,7 +26,7 @@ import com.yonge.cooleshow.biz.dal.vo.*;
 import com.yonge.cooleshow.biz.dal.vo.res.OrderCreateRes;
 import com.yonge.cooleshow.common.constant.SysConfigConstant;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
-import com.yonge.cooleshow.common.exception.BizException;
+import com.yonge.toolset.base.exception.BizException;
 import com.yonge.toolset.base.page.PageInfo;
 import com.yonge.toolset.thirdparty.message.MessageSenderPluginContext;
 import com.yonge.toolset.utils.date.DateUtil;

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

@@ -20,7 +20,7 @@ import com.yonge.cooleshow.biz.dal.enums.YesOrNoEnum;
 import com.yonge.cooleshow.biz.dal.service.*;
 import com.yonge.cooleshow.biz.dal.vo.CourseHomeworkDetailVo;
 import com.yonge.cooleshow.biz.dal.vo.CourseHomeworkVo;
-import com.yonge.cooleshow.common.exception.BizException;
+import com.yonge.toolset.base.exception.BizException;
 import com.yonge.toolset.thirdparty.message.MessageSenderPluginContext;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;

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

@@ -29,7 +29,7 @@ import com.yonge.cooleshow.biz.dal.vo.*;
 import com.yonge.cooleshow.biz.dal.vo.res.OrderCreateRes;
 import com.yonge.cooleshow.common.constant.SysConfigConstant;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
-import com.yonge.cooleshow.common.exception.BizException;
+import com.yonge.toolset.base.exception.BizException;
 import com.yonge.toolset.base.page.PageInfo;
 import com.yonge.toolset.thirdparty.message.MessageSenderPluginContext;
 import com.yonge.toolset.utils.date.DateUtil;

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

@@ -8,7 +8,7 @@ import com.yonge.cooleshow.biz.dal.vo.res.HomeTotalStudent;
 import com.yonge.cooleshow.biz.dal.vo.res.HomeTotalTeacher;
 import com.yonge.cooleshow.biz.dal.vo.res.HomeUserToDoNum;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
-import com.yonge.cooleshow.common.exception.BizException;
+import com.yonge.toolset.base.exception.BizException;
 import io.swagger.annotations.ApiModelProperty;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;

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

@@ -12,7 +12,7 @@ import com.yonge.cooleshow.biz.dal.queryInfo.ImGroupMemberAuditQueryInfo;
 import com.yonge.cooleshow.biz.dal.service.ImGroupMemberAuditService;
 import com.yonge.cooleshow.biz.dal.service.ImGroupMemberService;
 import com.yonge.cooleshow.biz.dal.service.ImGroupService;
-import com.yonge.cooleshow.common.exception.BizException;
+import com.yonge.toolset.base.exception.BizException;
 import io.rong.models.group.GroupMember;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;

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

@@ -9,7 +9,7 @@ import com.yonge.cooleshow.biz.dal.dto.BasicUserInfo;
 import com.yonge.cooleshow.biz.dal.entity.ImGroup;
 import com.yonge.cooleshow.biz.dal.entity.ImGroupMember;
 import com.yonge.cooleshow.biz.dal.service.ImGroupMemberService;
-import com.yonge.cooleshow.common.exception.BizException;
+import com.yonge.toolset.base.exception.BizException;
 import io.rong.models.Result;
 import io.rong.models.group.GroupMember;
 import io.rong.models.group.GroupModel;

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

@@ -11,7 +11,7 @@ import com.yonge.cooleshow.biz.dal.entity.ImGroup;
 import com.yonge.cooleshow.biz.dal.entity.ImGroupNotice;
 import com.yonge.cooleshow.biz.dal.service.ImGroupNoticeService;
 import com.yonge.cooleshow.biz.dal.support.PageUtil;
-import com.yonge.cooleshow.common.exception.BizException;
+import com.yonge.toolset.base.exception.BizException;
 import com.yonge.toolset.base.page.PageInfo;
 import org.springframework.stereotype.Service;
 

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

@@ -15,7 +15,7 @@ import com.yonge.cooleshow.biz.dal.service.CourseGroupService;
 import com.yonge.cooleshow.biz.dal.service.ImGroupMemberService;
 import com.yonge.cooleshow.biz.dal.service.ImGroupService;
 import com.yonge.cooleshow.biz.dal.service.ImUserFriendService;
-import com.yonge.cooleshow.common.exception.BizException;
+import com.yonge.toolset.base.exception.BizException;
 import io.rong.models.Result;
 import io.rong.models.group.GroupMember;
 import io.rong.models.group.GroupModel;

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

@@ -13,7 +13,7 @@ import com.yonge.cooleshow.biz.dal.service.*;
 import com.yonge.cooleshow.biz.dal.support.IMHelper;
 import com.yonge.cooleshow.biz.dal.support.WrapperUtil;
 import com.yonge.cooleshow.biz.dal.vo.RoomVo;
-import com.yonge.cooleshow.common.exception.BizException;
+import com.yonge.toolset.base.exception.BizException;
 import com.yonge.toolset.utils.date.DateUtil;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;

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

@@ -15,7 +15,7 @@ import com.yonge.cooleshow.biz.dal.support.PageUtil;
 import com.yonge.cooleshow.biz.dal.vo.AlbumDetailVo;
 import com.yonge.cooleshow.biz.dal.vo.MusicAlbumVo;
 import com.yonge.cooleshow.biz.dal.vo.MusicSheetVo;
-import com.yonge.cooleshow.common.exception.BizException;
+import com.yonge.toolset.base.exception.BizException;
 import com.yonge.toolset.utils.string.StringUtil;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;

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

@@ -5,7 +5,7 @@ import com.yonge.cooleshow.biz.dal.dao.MusicSheetAuthRecordDao;
 import com.yonge.cooleshow.biz.dal.dto.req.TeacherMusicSheetAuditReq;
 import com.yonge.cooleshow.biz.dal.entity.MusicSheetAuthRecord;
 import com.yonge.cooleshow.biz.dal.service.MusicSheetAuthRecordService;
-import com.yonge.cooleshow.common.exception.BizException;
+import com.yonge.toolset.base.exception.BizException;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.CollectionUtils;

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

@@ -21,7 +21,7 @@ import com.yonge.cooleshow.biz.dal.vo.*;
 import com.yonge.cooleshow.biz.dal.vo.res.OrderCreateRes;
 import com.yonge.cooleshow.common.constant.SysConfigConstant;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
-import com.yonge.cooleshow.common.exception.BizException;
+import com.yonge.toolset.base.exception.BizException;
 import com.yonge.toolset.thirdparty.message.MessageSenderPluginContext;
 import com.yonge.toolset.utils.string.StringUtil;
 import org.slf4j.Logger;

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

@@ -13,7 +13,7 @@ import com.yonge.cooleshow.biz.dal.enums.YesOrNoEnum;
 import com.yonge.cooleshow.biz.dal.service.MusicSheetService;
 import com.yonge.cooleshow.biz.dal.service.MusicTagService;
 import com.yonge.cooleshow.biz.dal.vo.MusicTagVo;
-import com.yonge.cooleshow.common.exception.BizException;
+import com.yonge.toolset.base.exception.BizException;
 import jodd.util.StringUtil;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;

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

@@ -15,7 +15,7 @@ import com.yonge.cooleshow.biz.dal.enums.MessageTypeEnum;
 import com.yonge.cooleshow.biz.dal.service.SmsCodeService;
 import com.yonge.cooleshow.biz.dal.service.SysConfigService;
 import com.yonge.cooleshow.biz.dal.service.SysMessageService;
-import com.yonge.cooleshow.common.exception.BizException;
+import com.yonge.toolset.base.exception.BizException;
 import com.yonge.toolset.thirdparty.message.MessageSenderPluginContext;
 
 @Service

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

@@ -13,7 +13,7 @@ import com.yonge.cooleshow.biz.dal.entity.Subject;
 import com.yonge.cooleshow.biz.dal.queryInfo.SubjectQueryInfo;
 import com.yonge.cooleshow.biz.dal.service.SubjectService;
 import com.yonge.toolset.mybatis.dal.BaseDAO;
-import com.yonge.cooleshow.common.exception.BizException;
+import com.yonge.toolset.base.exception.BizException;
 
 import org.springframework.util.CollectionUtils;
 

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

@@ -9,7 +9,7 @@ import java.util.Map;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.yonge.cooleshow.biz.dal.enums.YesOrNoEnum;
 import com.yonge.cooleshow.biz.dal.vo.SysManualVo;
-import com.yonge.cooleshow.common.exception.BizException;
+import com.yonge.toolset.base.exception.BizException;
 import jodd.util.StringUtil;
 
 import org.slf4j.Logger;

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

@@ -36,7 +36,7 @@ import com.yonge.cooleshow.biz.dal.service.SysMessageConfigService;
 import com.yonge.cooleshow.biz.dal.service.SysMessageService;
 import com.yonge.toolset.mybatis.dal.BaseDAO;
 import com.yonge.cooleshow.common.entity.Mapper;
-import com.yonge.cooleshow.common.exception.BizException;
+import com.yonge.toolset.base.exception.BizException;
 import com.yonge.toolset.base.page.PageInfo;
 import com.yonge.toolset.base.page.QueryInfo;
 import com.yonge.cooleshow.common.redis.service.RedisCache;

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

@@ -0,0 +1,29 @@
+package com.yonge.cooleshow.biz.dal.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.yonge.cooleshow.biz.dal.dao.SysUserContractRecordDao;
+import com.yonge.cooleshow.biz.dal.entity.SysUserContractRecord;
+import com.yonge.cooleshow.biz.dal.service.SysUserContractRecordService;
+import org.springframework.stereotype.Service;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * 用户协议记录表-一个用户一种协议一个版本一条记录(SysUserContractRecord)表服务实现类
+ *
+ * @author hgw
+ * @since 2022-05-07 15:04:06
+ */
+@Service("sysUserContractRecordService")
+public class SysUserContractRecordServiceImpl extends ServiceImpl<SysUserContractRecordDao, SysUserContractRecord> implements SysUserContractRecordService {
+
+    private final static Logger log = LoggerFactory.getLogger(SysUserContractRecordServiceImpl.class);
+
+    @Override
+    public SysUserContractRecordDao getDao() {
+        return this.baseMapper;
+    }
+
+}
+

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

@@ -1,35 +0,0 @@
-package com.yonge.cooleshow.biz.dal.service.impl;
-
-import java.util.List;
-
-import com.yonge.toolset.mybatis.service.impl.BaseServiceImpl;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import com.yonge.cooleshow.biz.dal.dao.SysUserContractsDao;
-import com.yonge.cooleshow.biz.dal.entity.SysUserContracts;
-import com.yonge.cooleshow.biz.dal.service.SysUserContractsService;
-import com.yonge.toolset.mybatis.dal.BaseDAO;
-
-@Service
-public class SysUserContractsServiceImpl extends BaseServiceImpl<Long, SysUserContracts> implements SysUserContractsService {
-	
-	@Autowired
-	private SysUserContractsDao sysUserContractsDao;
-
-	@Override
-	public BaseDAO<Long, SysUserContracts> getDAO() {
-		return sysUserContractsDao;
-	}
-
-	@Override
-	public List<SysUserContracts> getUserContractWithType(Long userId, SysUserContracts.ContractType contractType, Integer contractVersion) {
-		return sysUserContractsDao.getUserContractWithType(userId, contractType, contractVersion);
-	}
-
-	@Override
-	public SysUserContracts getLatestUserContract(Long userId) {
-		return sysUserContractsDao.getLatestUserContract(userId);
-	}
-
-}

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

@@ -8,7 +8,7 @@ import com.yonge.cooleshow.biz.dal.entity.TeacherFreeTime;
 import com.yonge.cooleshow.biz.dal.entity.TeacherSubjectPrice;
 import com.yonge.cooleshow.biz.dal.service.TeacherFreeTimeService;
 import com.yonge.cooleshow.biz.dal.vo.TeacherFreeTimeVo;
-import com.yonge.cooleshow.common.exception.BizException;
+import com.yonge.toolset.base.exception.BizException;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Service;

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

@@ -23,7 +23,7 @@ import com.yonge.cooleshow.biz.dal.vo.TeacherHomeVo;
 import com.yonge.cooleshow.biz.dal.vo.TeacherTotalVo;
 import com.yonge.cooleshow.biz.dal.vo.TeacherVo;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
-import com.yonge.cooleshow.common.exception.BizException;
+import com.yonge.toolset.base.exception.BizException;
 import com.yonge.toolset.utils.idcard.IdcardInfoExtractor;
 import com.yonge.toolset.utils.string.StringUtil;
 import com.yonge.toolset.utils.string.ValueUtil;

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

@@ -13,7 +13,7 @@ import com.yonge.cooleshow.biz.dal.support.DistributedLock;
 import com.yonge.cooleshow.biz.dal.vo.res.AccountTotal;
 import com.yonge.cooleshow.biz.dal.vo.res.HomeTotalTeacher;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
-import com.yonge.cooleshow.common.exception.BizException;
+import com.yonge.toolset.base.exception.BizException;
 import com.yonge.toolset.utils.date.DateUtil;
 import org.redisson.api.RedissonClient;
 import org.springframework.beans.factory.annotation.Autowired;

+ 90 - 20
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/UserOrderPaymentServiceImpl.java

@@ -3,10 +3,19 @@ package com.yonge.cooleshow.biz.dal.service.impl;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.yonge.cooleshow.biz.dal.config.HuifuConfiguration;
 import com.yonge.cooleshow.biz.dal.dto.req.OrderPayReq;
+import com.yonge.cooleshow.biz.dal.enums.OrderStatusEnum;
+import com.yonge.cooleshow.biz.dal.enums.PayChannelEnum;
 import com.yonge.cooleshow.biz.dal.enums.TradeStatusEnum;
 import com.yonge.cooleshow.biz.dal.sdk.PaymentSdk;
+import com.yonge.cooleshow.biz.dal.sdk.req.DeviceInfo;
+import com.yonge.cooleshow.biz.dal.sdk.req.PaymentReq;
+import com.yonge.cooleshow.biz.dal.service.UserOrderService;
+import com.yonge.cooleshow.biz.dal.vo.UserOrderVo;
+import com.yonge.cooleshow.biz.dal.vo.res.OrderPayRes;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
+import com.yonge.cooleshow.common.service.IdGeneratorService;
 import com.yonge.toolset.utils.string.StringUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -17,19 +26,26 @@ import com.yonge.cooleshow.biz.dal.service.UserOrderPaymentService;
 import java.math.BigDecimal;
 import java.math.RoundingMode;
 import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 
 
 @Service
 public class UserOrderPaymentServiceImpl extends ServiceImpl<UserOrderPaymentDao, UserOrderPayment> implements UserOrderPaymentService {
-
+    @Autowired
+    private UserOrderService userOrderService;
+    @Autowired
+    private IdGeneratorService idGeneratorService;
     @Autowired
     private PaymentSdk paymentSdk;
 
     @Override
-    public UserOrderPayment detailByOrderNo(String orderNo) {
+    public UserOrderPayment detailByOrderNo(String orderNo, PayChannelEnum payChannel, TradeStatusEnum status) {
         return baseMapper.selectOne(Wrappers.<UserOrderPayment>lambdaQuery()
-                .eq(UserOrderPayment::getOrderNo, orderNo));
+                .eq(UserOrderPayment::getOrderNo, orderNo)
+                .eq(UserOrderPayment::getPayChannel, payChannel)
+                .eq(UserOrderPayment::getStatus, status));
     }
 
     @Override
@@ -38,11 +54,19 @@ public class UserOrderPaymentServiceImpl extends ServiceImpl<UserOrderPaymentDao
                 .eq(UserOrderPayment::getTransNo, transNo));
     }
 
-
-    @Override
-    public UserOrderPayment insertOrderPayment(HttpResponseResult<Map<String, Object>> responseResult, OrderPayReq payReq) {
+    /***
+     * 入订单付款表
+     * @author liweifan
+     * @param: responseResult
+     * @param: payReq
+     * @param: adapayNo
+     * @updateTime 2022/5/7 14:19
+     * @return: com.yonge.cooleshow.biz.dal.entity.UserOrderPayment
+     */
+    private UserOrderPayment insertOrderPayment(HttpResponseResult<Map<String, Object>> responseResult, OrderPayReq payReq, Long adapayNo) {
         UserOrderPayment orderPayment = new UserOrderPayment();
         orderPayment.setOrderNo(payReq.getOrderNo());
+        orderPayment.setAdapayNo(adapayNo.toString());
         orderPayment.setPayChannel(payReq.getPayChannel());
         if (responseResult.getStatus()) {
             Map<String, Object> res = responseResult.getData();
@@ -53,6 +77,9 @@ public class UserOrderPaymentServiceImpl extends ServiceImpl<UserOrderPaymentDao
             String pay_info = ((JSONObject) res.get("expend")).getString("pay_info");
             orderPayment.setPayInfo(pay_info);
             orderPayment.setStatus(TradeStatusEnum.pending);
+
+            //查询订单下支付中的付款单,取消支付
+            closePayment(payReq.getOrderNo(),"用户发起了新的付款请求");
         } else {
             orderPayment.setPayFailMsg(responseResult.getMsg());
             orderPayment.setStatus(TradeStatusEnum.failed);
@@ -63,29 +90,20 @@ public class UserOrderPaymentServiceImpl extends ServiceImpl<UserOrderPaymentDao
 
     @Override
     public UserOrderPayment closePayment(String orderNo, String reason) {
-        UserOrderPayment orderPayment = detailByOrderNo(orderNo);
-        //未创建付款单,直接创建付款单
+        UserOrderPayment orderPayment = baseMapper.selectOne(Wrappers.<UserOrderPayment>lambdaQuery()
+                .eq(UserOrderPayment::getOrderNo, orderNo)
+                .eq(UserOrderPayment::getStatus, TradeStatusEnum.pending));
         if(null == orderPayment){
-            orderPayment = new UserOrderPayment();
-            orderPayment.setOrderNo(orderNo);
-            orderPayment.setStatus(TradeStatusEnum.failed);
-            orderPayment.setPayFailMsg(StringUtil.isEmpty(reason) ? "交易取消" : reason);
-            orderPayment.setUpdateTime(new Date());
-            save(orderPayment);
-            return orderPayment;
-        }
-        //更新
-        if (!TradeStatusEnum.pending.equals(orderPayment.getStatus())) {
             return orderPayment;
         }
 
         //更新付款单
-        orderPayment.setStatus(TradeStatusEnum.failed);
+        orderPayment.setStatus(TradeStatusEnum.close);
         orderPayment.setPayFailMsg(StringUtil.isEmpty(reason) ? "交易取消" : reason);
         orderPayment.setUpdateTime(new Date());
 
         //发送支付关单请求
-        if(!StringUtil.isEmpty(orderPayment.getTransNo())){
+        if (!StringUtil.isEmpty(orderPayment.getTransNo())) {
             HttpResponseResult<Map<String, Object>> responseResult = paymentSdk.closePayment(orderPayment.getTransNo(), reason, "");
             if (!responseResult.getStatus()) {
                 orderPayment.setCloseStatus(TradeStatusEnum.failed);
@@ -121,4 +139,56 @@ public class UserOrderPaymentServiceImpl extends ServiceImpl<UserOrderPaymentDao
         orderPayment.setUpdateTime(new Date());
         updateById(orderPayment);
     }
+
+    @Override
+    public HttpResponseResult<OrderPayRes> createOrderPayment(OrderPayReq payReq, UserOrderVo detail) {
+        OrderPayRes orderPayRes = new OrderPayRes();
+        //汇付订单号生成
+        Long adapayNo = idGeneratorService.generatorId("adapayNo");
+
+        //构建汇付统一下单请求
+        PaymentReq paymentReq = new PaymentReq();
+        paymentReq.setOrder_no(adapayNo.toString());
+        paymentReq.setPay_channel(payReq.getPayChannel().getCode());
+        paymentReq.setPay_amt(detail.getActualPrice().setScale(2, RoundingMode.HALF_UP).toString());
+        paymentReq.setGoods_title(detail.getOrderName());
+        paymentReq.setGoods_desc(detail.getOrderDesc());
+
+        DeviceInfo deviceInfo = new DeviceInfo();
+        deviceInfo.setDevice_ip(payReq.getIpAddress());
+
+        paymentReq.setDevice_info(deviceInfo);
+        //异步通知地址
+        paymentReq.setNotify_url(HuifuConfiguration.getHuifuProperties().getNotifyUrl());
+
+        if (PayChannelEnum.alipay_lite.equals(payReq.getPayChannel())) {
+            Map<String, Object> expend = new HashMap<>();
+            expend.put("buyer_id", payReq.getBuyerId());
+            paymentReq.setExpend(expend);
+        }
+        if (PayChannelEnum.wx_lite.equals(payReq.getPayChannel())) {
+            Map<String, Object> expend = new HashMap<>();
+            expend.put("open_id", payReq.getOpenId());
+            paymentReq.setExpend(expend);
+        }
+
+        //付款请求
+        HttpResponseResult<Map<String, Object>> responseResult = paymentSdk.executePayment(paymentReq);
+        if (responseResult.getStatus()) {
+            orderPayRes.setPay_amt(detail.getActualPrice().setScale(2, RoundingMode.HALF_UP).toString());
+            String pay_info = ((JSONObject) responseResult.getData().get("expend")).getString("pay_info");
+            orderPayRes.setPay_info(pay_info);
+            orderPayRes.setPayChannel(payReq.getPayChannel());
+
+            //入订单付款表
+            insertOrderPayment(responseResult, payReq, adapayNo);
+            //修改订单状态
+            userOrderService.updateStatusByOrderNo(payReq.getOrderNo(), OrderStatusEnum.PAYING.getCode());
+            return HttpResponseResult.succeed(orderPayRes);
+        } else {
+            //入订单付款表,同时修改订单状态
+            userOrderService.doOrderCancel(detail, OrderStatusEnum.FAIL, responseResult.getMsg());
+            return HttpResponseResult.failed(responseResult.getMsg());
+        }
+    }
 }

+ 41 - 114
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/UserOrderServiceImpl.java

@@ -2,6 +2,7 @@ package com.yonge.cooleshow.biz.dal.service.impl;
 
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.yonge.cooleshow.biz.dal.config.HuifuConfiguration;
 import com.yonge.cooleshow.biz.dal.enums.*;
@@ -20,7 +21,7 @@ import com.yonge.cooleshow.biz.dal.vo.res.OrderCreateRes;
 import com.yonge.cooleshow.biz.dal.vo.UserOrderVo;
 import com.yonge.cooleshow.biz.dal.vo.res.OrderPayRes;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
-import com.yonge.cooleshow.common.exception.BizException;
+import com.yonge.toolset.base.exception.BizException;
 import com.yonge.cooleshow.common.service.IdGeneratorService;
 import com.yonge.toolset.utils.string.StringUtil;
 import org.apache.commons.beanutils.BeanUtils;
@@ -35,6 +36,7 @@ import com.yonge.cooleshow.biz.dal.dao.UserOrderDao;
 import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.PostConstruct;
+import java.lang.reflect.InvocationTargetException;
 import java.math.BigDecimal;
 import java.math.RoundingMode;
 import java.time.LocalDateTime;
@@ -176,8 +178,9 @@ public class UserOrderServiceImpl extends ServiceImpl<UserOrderDao, UserOrder> i
         }
         if (!OrderStatusEnum.WAIT_PAY.equals(detail.getStatus())
                 && !OrderStatusEnum.PAYING.equals(detail.getStatus())) {
-            return HttpResponseResult.failed("订单已完成");
+            return HttpResponseResult.failed("订单已关闭");
         }
+
         if (!StringUtil.isEmpty(detail.getTransNo())) {
             try {
                 Map<String, Object> resMap = paymentSdk.queryPayment(detail.getTransNo());
@@ -194,6 +197,8 @@ public class UserOrderServiceImpl extends ServiceImpl<UserOrderDao, UserOrder> i
         }
         //关闭订单
         doOrderCancel(detail, OrderStatusEnum.CLOSE, StringUtil.isEmpty(payReq.getReason()) ? "用户取消订单" : payReq.getReason());
+        //关闭订单付款单
+        orderPaymentService.closePayment(payReq.getOrderNo(), StringUtil.isEmpty(payReq.getReason()) ? "用户取消订单" : payReq.getReason());
         return HttpResponseResult.succeed(true);
 
     }
@@ -214,6 +219,11 @@ public class UserOrderServiceImpl extends ServiceImpl<UserOrderDao, UserOrder> i
     }
 
     @Override
+    public Integer updateStatusByOrderNo(String orderNo, String orderStatus) {
+        return baseMapper.updateStatusByOrderNo(orderNo,orderStatus);
+    }
+
+    @Override
     public void setOrderStatus(String orderNo, OrderStatusEnum orderStatus) {
         UserOrderVo detail = detail(orderNo, null);
         if (OrderStatusEnum.WAIT_PAY.equals(detail.getStatus())
@@ -243,7 +253,7 @@ public class UserOrderServiceImpl extends ServiceImpl<UserOrderDao, UserOrder> i
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public HttpResponseResult<UserOrder> executeOrder(OrderReq orderReq) throws Exception{
+    public HttpResponseResult<UserOrder> executeOrder(OrderReq orderReq) throws Exception {
         log.info("订单[创建订单] Req:{}", JSONObject.toJSONString(orderReq));
         //订单号生成
         Long orderNo = idGeneratorService.generatorId("userOrder");
@@ -288,20 +298,18 @@ public class UserOrderServiceImpl extends ServiceImpl<UserOrderDao, UserOrder> i
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public HttpResponseResult<OrderPayRes> orderPay(OrderPayReq payReq) throws Exception{
+    public HttpResponseResult<OrderPayRes> orderPay(OrderPayReq payReq) throws Exception {
         //查询订单
         UserOrderVo detail = detail(payReq.getOrderNo(), payReq.getUserId());
         if (null == detail || !payReq.getUserId().equals(detail.getUserId())) {
             return HttpResponseResult.failed("订单不存在");
         }
-        if (OrderStatusEnum.WAIT_PAY.equals(detail.getStatus())) {
-            //处于待支付状态,需要调用汇付发起付款请求接口
-            return orderPayWaitPay(payReq, detail);
-        } else if (OrderStatusEnum.PAYING.equals(detail.getStatus())) {
-            //处于付款中状态,需要拉起付款接口返回信息,并且去到汇付
-            return orderPayPaying(payReq, detail);
+        //查询付款单
+        if (!OrderStatusEnum.WAIT_PAY.equals(detail.getStatus())
+                && !OrderStatusEnum.PAYING.equals(detail.getStatus())) {
+            return HttpResponseResult.failed("订单状态异常");
         }
-        return HttpResponseResult.failed("订单状态异常");
+        return doOrderPayWaitPay(payReq, detail);
     }
 
     @Override
@@ -314,16 +322,6 @@ public class UserOrderServiceImpl extends ServiceImpl<UserOrderDao, UserOrder> i
     }
 
     @Override
-    public HttpResponseResult<OrderPayRes> orderPaytoPaying(OrderPayReq payReq) {
-        //查询订单
-        UserOrderVo detail = detail(payReq.getOrderNo(), payReq.getUserId());
-        if (OrderStatusEnum.PAYING.equals(detail.getStatus())) {
-            return orderPayPaying(payReq, detail);
-        }
-        return HttpResponseResult.failed("订单状态异常");
-    }
-
-    @Override
     @Transactional(rollbackFor = Exception.class)
     public void orderCallback(String data, String type) {
         JSONObject hfRes = JSONObject.parseObject(data);
@@ -436,89 +434,17 @@ public class UserOrderServiceImpl extends ServiceImpl<UserOrderDao, UserOrder> i
         doOrderCancel(detail, OrderStatusEnum.CLOSE, "订单超时");
     }
 
-    /***
-     * 处理待支付订单
-     * @author liweifan
-     * @param: payReq
-     * @param: detail
-     * @updateTime 2022/4/13 16:59
-     * @return: com.yonge.cooleshow.common.entity.HttpResponseResult<com.yonge.cooleshow.biz.dal.vo.res.OrderPayRes>
-     */
-    private HttpResponseResult<OrderPayRes> orderPayWaitPay(OrderPayReq payReq, UserOrderVo detail) {
-        OrderPayRes orderPayRes = new OrderPayRes();
-
-        UserOrderPayment orderPayment = orderPaymentService.detailByOrderNo(payReq.getOrderNo());
-        if (null != orderPayment && TradeStatusEnum.pending.equals(orderPayment.getStatus())
-                && !StringUtil.isEmpty(orderPayment.getPayInfo())) {
-            orderPayRes.setPay_amt(orderPayment.getPayAmt().toString());
-            orderPayRes.setPay_info(orderPayment.getPayInfo());
-            orderPayRes.setPayChannel(orderPayment.getPayChannel());
-            return HttpResponseResult.succeed(orderPayRes);
-        }
-
-        PaymentReq paymentReq = new PaymentReq();
-        paymentReq.setOrder_no(payReq.getOrderNo());
-        paymentReq.setPay_channel(payReq.getPayChannel().getCode());
-        paymentReq.setPay_amt(detail.getActualPrice().setScale(2, RoundingMode.HALF_UP).toString());
-        paymentReq.setGoods_title(detail.getOrderName());
-        paymentReq.setGoods_desc(detail.getOrderDesc());
-
-        DeviceInfo deviceInfo = new DeviceInfo();
-        deviceInfo.setDevice_ip(payReq.getIpAddress());
-
-        paymentReq.setDevice_info(deviceInfo);
-        //异步通知地址
-        paymentReq.setNotify_url(HuifuConfiguration.getHuifuProperties().getNotifyUrl());
-
-        if (PayChannelEnum.alipay_lite.equals(payReq.getPayChannel())) {
-            Map<String, Object> expend = new HashMap<>();
-            expend.put("buyer_id", payReq.getBuyerId());
-            paymentReq.setExpend(expend);
-        }
-        if (PayChannelEnum.wx_lite.equals(payReq.getPayChannel())) {
-            Map<String, Object> expend = new HashMap<>();
-            expend.put("open_id", payReq.getOpenId());
-            paymentReq.setExpend(expend);
-        }
-        //付款请求
-        HttpResponseResult<Map<String, Object>> responseResult = paymentSdk.executePayment(paymentReq);
-        if (responseResult.getStatus()) {
-            orderPayRes.setPay_amt(detail.getActualPrice().setScale(2, RoundingMode.HALF_UP).toString());
-            String pay_info = ((JSONObject) responseResult.getData().get("expend")).getString("pay_info");
-            orderPayRes.setPay_info(pay_info);
-            orderPayRes.setPayChannel(payReq.getPayChannel());
-
-            //入订单付款表,同时修改订单状态
-            orderPaymentService.insertOrderPayment(responseResult, payReq);
-
-            baseMapper.updateStatusByOrderNo(payReq.getOrderNo(), OrderStatusEnum.PAYING.getCode());
-            return HttpResponseResult.succeed(orderPayRes);
-        } else {
-            //入订单付款表,同时修改订单状态
-            doOrderCancel(detail, OrderStatusEnum.FAIL, responseResult.getMsg());
-            return HttpResponseResult.failed(responseResult.getMsg());
-        }
-    }
-
-    /***
-     * 处理待支付中订单
-     * @author liweifan
-     * @param: payReq
-     * @param: detail
-     * @updateTime 2022/4/1 10:32
-     * @return: com.yonge.cooleshow.common.entity.HttpResponseResult<java.lang.Boolean>
-     */
-    private HttpResponseResult<OrderPayRes> orderPayPaying(OrderPayReq payReq, UserOrderVo detail) {
-        UserOrderPayment orderPayment = orderPaymentService.detailByOrderNo(payReq.getOrderNo());
-        if (TradeStatusEnum.pending.equals(orderPayment.getStatus())) {
+    private HttpResponseResult<OrderPayRes> doOrderPayWaitPay(OrderPayReq payReq, UserOrderVo detail) {
+        UserOrderPayment orderPayment = orderPaymentService.detailByOrderNo(payReq.getOrderNo(), payReq.getPayChannel(), TradeStatusEnum.pending);
+        //当前渠道已经有创建支付请求
+        if (null != orderPayment && !StringUtil.isEmpty(orderPayment.getPayInfo())) {
             OrderPayRes orderPayRes = new OrderPayRes();
-            orderPayRes.setPay_info(orderPayment.getPayInfo());
             orderPayRes.setPay_amt(orderPayment.getPayAmt().toString());
+            orderPayRes.setPay_info(orderPayment.getPayInfo());
             orderPayRes.setPayChannel(orderPayment.getPayChannel());
             return HttpResponseResult.succeed(orderPayRes);
-        } else {
-            return HttpResponseResult.failed("未找到订单信息");
         }
+        return orderPaymentService.createOrderPayment(payReq, detail);
     }
 
     /***
@@ -672,7 +598,7 @@ public class UserOrderServiceImpl extends ServiceImpl<UserOrderDao, UserOrder> i
      * @updateTime 2022/4/13 17:23
      */
     @Transactional(rollbackFor = Exception.class)
-    void doOrderCancel(UserOrderVo userOrder, OrderStatusEnum orderStatus, String reason) {
+    public void doOrderCancel(UserOrderVo userOrder, OrderStatusEnum orderStatus, String reason) {
         //已经完成过的订单,不能再取消
         if (!OrderStatusEnum.WAIT_PAY.equals(userOrder.getStatus())
                 && !OrderStatusEnum.PAYING.equals(userOrder.getStatus())) {
@@ -698,8 +624,6 @@ public class UserOrderServiceImpl extends ServiceImpl<UserOrderDao, UserOrder> i
         userOrder.setStatus(orderStatus);
         userOrder.setUpdateTime(new Date());
         baseMapper.updateById(userOrder);
-
-        orderPaymentService.closePayment(userOrder.getOrderNo(), reason);
     }
 
     void orderSuccess(UserOrderVo detail) {
@@ -720,28 +644,31 @@ public class UserOrderServiceImpl extends ServiceImpl<UserOrderDao, UserOrder> i
                 && !OrderStatusEnum.PAYING.equals(detail.getStatus())) {
             return;
         }
+        //修改订单状态
         Date now = new Date();
         detail.setStatus(OrderStatusEnum.PAID);
         detail.setPayTime(now);
         detail.setUpdateTime(now);
         updateById(detail);
-        //更新付款单
-        UserOrderPayment orderPayment = orderPaymentService.detailByOrderNo(detail.getOrderNo());
-        if (null != orderPayment) {
-            orderPayment.setStatus(TradeStatusEnum.succeeded);
-            orderPayment.setArrivalTime(now);
-            orderPayment.setUpdateTime(now);
-            if (null != hfRes) {
-                try {
+
+        try {
+            //更新付款单
+            UserOrderPayment orderPayment = orderPaymentService.detailByTransNo(hfRes.getString("id"));
+            if (null != orderPayment) {
+                orderPayment.setStatus(TradeStatusEnum.succeeded);
+                orderPayment.setArrivalTime(now);
+                orderPayment.setUpdateTime(now);
+                if (null != hfRes) {
                     orderPayment.setBackPayAmt(new BigDecimal(hfRes.getString("pay_amt")));
                     orderPayment.setFeeAmt(new BigDecimal(hfRes.getString("fee_amt")));
-                } catch (Exception e) {
-                    e.printStackTrace();
-                    log.error("完成订单,付款单金额格式化失败,参数{}", hfRes.toJSONString());
                 }
+                orderPaymentService.updateById(orderPayment);
             }
-            orderPaymentService.updateById(orderPayment);
+        } catch (Exception e) {
+            e.printStackTrace();
+            log.error("完成订单失败,参数{}", hfRes.toJSONString());
         }
+        //调用业务
         List<UserOrderDetailVo> orderDetailList = orderDetailService.getOrderDetilListByOrderNo(detail.getOrderNo());
         for (UserOrderDetailVo orderDetailVo : orderDetailList) {
             orderDetailVo.setUserId(detail.getUserId());

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

@@ -18,7 +18,7 @@ import com.yonge.cooleshow.biz.dal.vo.UserAccountVo;
 import com.yonge.cooleshow.biz.dal.vo.UserBankCardVo;
 import com.yonge.cooleshow.biz.dal.vo.res.WithdrawalInfoRes;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
-import com.yonge.cooleshow.common.exception.BizException;
+import com.yonge.toolset.base.exception.BizException;
 import com.yonge.toolset.utils.easyexcel.ErrMsg;
 import com.yonge.toolset.utils.easyexcel.ExcelDataReaderProperty;
 import com.yonge.toolset.utils.easyexcel.ExcelException;

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

@@ -20,7 +20,7 @@ import com.yonge.cooleshow.biz.dal.enums.OrderStatusEnum;
 import com.yonge.cooleshow.biz.dal.service.UserOrderService;
 import com.yonge.cooleshow.biz.dal.service.VideoLessonGroupDetailService;
 import com.yonge.cooleshow.biz.dal.vo.*;
-import com.yonge.cooleshow.common.exception.BizException;
+import com.yonge.toolset.base.exception.BizException;
 import com.yonge.toolset.utils.obj.ObjectUtil;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;

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

@@ -12,7 +12,7 @@ import com.yonge.cooleshow.biz.dal.enums.AuthStatusEnum;
 import com.yonge.cooleshow.biz.dal.enums.YesOrNoEnum;
 import com.yonge.cooleshow.biz.dal.service.VideoLessonGroupService;
 import com.yonge.cooleshow.biz.dal.vo.*;
-import com.yonge.cooleshow.common.exception.BizException;
+import com.yonge.toolset.base.exception.BizException;
 import org.apache.commons.collections.CollectionUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -67,13 +67,7 @@ public class VideoLessonGroupServiceImpl extends ServiceImpl<VideoLessonGroupDao
      * @Date: 2022/4/11
      */
     public VideoLessonGroup selectGroup(Long groupId) {
-        VideoLessonGroup lessonGroup = videoLessonGroupDao.selectById(groupId);
-        Subject subject = subjectDao.selectSubjectById(lessonGroup.getLessonSubject());
-        if (subject==null){
-            throw new BizException("数据异常");
-        }
-        lessonGroup.setLessonSubjectName(subject.getName());
-        return lessonGroup;
+        return videoLessonGroupDao.selectGroupById(groupId);
     }
 
     /**

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

@@ -20,7 +20,7 @@ import com.yonge.cooleshow.biz.dal.vo.UserOrderDetailVo;
 import com.yonge.cooleshow.biz.dal.vo.res.OrderCreateRes;
 import com.yonge.cooleshow.common.constant.SysConfigConstant;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
-import com.yonge.cooleshow.common.exception.BizException;
+import com.yonge.toolset.base.exception.BizException;
 import com.yonge.toolset.thirdparty.message.MessageSenderPluginContext;
 import com.yonge.toolset.utils.obj.ObjectUtil;
 import org.slf4j.Logger;

+ 1 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/support/IMHelper.java

@@ -4,7 +4,7 @@ import com.alibaba.fastjson.JSON;
 import com.yonge.cooleshow.biz.dal.entity.BaseMessage;
 import com.yonge.cooleshow.biz.dal.entity.IMApiResultInfo;
 import com.yonge.cooleshow.biz.dal.entity.IMTokenInfo;
-import com.yonge.cooleshow.common.exception.BizException;
+import com.yonge.toolset.base.exception.BizException;
 import io.rong.util.GsonUtil;
 import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;

+ 1 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/support/WrapperUtil.java

@@ -1,7 +1,7 @@
 package com.yonge.cooleshow.biz.dal.support;
 
 import com.alibaba.fastjson.JSONObject;
-import com.yonge.cooleshow.common.exception.BizException;
+import com.yonge.toolset.base.exception.BizException;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
 

+ 11 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/LiveCourseGroupVo.java

@@ -54,6 +54,9 @@ public class LiveCourseGroupVo {
     @ApiModelProperty(value = "直播课成课后生成的im群id")
     private String imGroupId;
 
+    @ApiModelProperty(value = "手机号")
+    private String phone;
+
     public Long getCourseNum() {
         return courseNum;
     }
@@ -149,4 +152,12 @@ public class LiveCourseGroupVo {
     public void setImGroupId(String imGroupId) {
         this.imGroupId = imGroupId;
     }
+
+    public String getPhone() {
+        return phone;
+    }
+
+    public void setPhone(String phone) {
+        this.phone = phone;
+    }
 }

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

@@ -150,12 +150,11 @@
         cg.course_num_ as courseNum,
         cg.created_time_ as createTime,
         cg.course_introduce_ as courseIntroduce,
-        cg.im_group_id_  as imGroupId
+        cg.im_group_id_  as imGroupId,
+        su.phone_ as phone
         from course_group cg
         left join course_schedule_student_payment cssp on cg.id_ = cssp.course_group_id_
-        <if test="param.search != null and param.search != ''">
-            left join sys_user su on su.id_ = cssp.user_id_
-        </if>
+        left join sys_user su on su.id_ = cssp.user_id_
         <where>
             <if test="param.teacherId != null">
                 and #{param.teacherId} = cg.teacher_id_

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

@@ -565,7 +565,7 @@
         LEFT JOIN sys_user u ON s.teacher_id_=u.id_
         LEFT JOIN course_group g ON s.course_group_id_=g.id_
         WHERE s.teacher_id_=#{teacherId}
-        AND s.status_ = 'NOT_START'
+        AND s.status_ IN ('NOT_START','ING')
         ORDER BY ABS(NOW() - s.start_time_) ASC
         limit 1
     </select>

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

@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.yonge.cooleshow.biz.dal.dao.SysUserContractRecordDao">
+    <resultMap id="BaseResultMap" type="com.yonge.cooleshow.biz.dal.entity.SysUserContractRecord">
+        <id column="id_" jdbcType="INTEGER" property="id"/>
+        <result column="user_id_" jdbcType="INTEGER" property="userId"/>
+        <result column="user_type_" jdbcType="VARCHAR" property="userType"/>
+        <result column="contract_id_" jdbcType="INTEGER" property="contractId"/>
+        <result column="url_" jdbcType="VARCHAR" property="url"/>
+        <result column="created_time_" jdbcType="TIMESTAMP" property="createdTime"/>
+        <result column="contract_no_" jdbcType="VARCHAR" property="contractNo"/>
+        <result column="remark_" jdbcType="VARCHAR" property="remark"/>
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        id_
+        , user_id_, user_type_, contract_id_, url_, created_time_, contract_no_, remark_
+    </sql>
+
+    <insert id="insertBatch" keyColumn="id_" keyProperty="id" useGeneratedKeys="true"
+            parameterType="com.yonge.cooleshow.biz.dal.entity.SysUserContractRecord">
+        insert into sys_user_contract_record(user_id_, user_type_, contract_id_, url_, created_time_, contract_no_,
+        remark_)
+        values
+        <foreach collection="entities" item="entity" separator=",">
+            (#{entity.userId}, #{entity.userType}, #{entity.contractId}, #{entity.url}, #{entity.createdTime},
+            #{entity.contractNo}, #{entity.remark})
+        </foreach>
+    </insert>
+
+</mapper>

+ 0 - 101
cooleshow-user/user-biz/src/main/resources/config/mybatis/SysUserContractsMapper.xml

@@ -1,101 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<!-- 这个文件是自动生成的。 不要修改此文件。所有改动将在下次重新自动生成时丢失。 -->
-<mapper namespace="com.yonge.cooleshow.biz.dal.dao.SysUserContractsDao">
-
-	<resultMap type="com.yonge.cooleshow.biz.dal.entity.SysUserContracts"
-			   id="SysUserContracts">
-		<result column="id_" property="id" />
-		<result column="user_id_" property="userId" />
-		<result column="contract_no_" property="contractNo" />
-		<result column="type_" property="type" />
-		<result column="url_" property="url" />
-		<result column="memo_" property="memo" />
-		<result column="create_time_" property="createTime" />
-		<result column="version_" property="version" />
-	</resultMap>
-
-	<!-- 根据主键查询一条记录 -->
-	<select id="get" resultMap="SysUserContracts">
-		SELECT * FROM
-		sys_user_contracts WHERE id_ = #{id}
-	</select>
-
-	<!-- 全查询 -->
-	<select id="findAll" resultMap="SysUserContracts">
-		SELECT * FROM sys_user_contracts
-		ORDER BY id_
-	</select>
-
-	<!-- 向数据库增加一条记录 -->
-	<insert id="insert" parameterType="com.yonge.cooleshow.biz.dal.entity.SysUserContracts"
-			useGeneratedKeys="true" keyColumn="id" keyProperty="id">
-		<!-- <selectKey resultClass="int" keyProperty="id" > SELECT SEQ_WSDEFINITION_ID.nextval 
-			AS ID FROM DUAL </selectKey> -->
-		INSERT INTO sys_user_contracts
-		(id_,user_id_,contract_no_,type_,url_,memo_,create_time_,version_)
-		VALUES(#{id},#{userId},#{contractNo},#{type},#{url},#{memo},#{createTime},#{version})
-	</insert>
-
-	<!-- 根据主键查询一条记录 -->
-	<update id="update" parameterType="com.yonge.cooleshow.biz.dal.entity.SysUserContracts">
-		UPDATE sys_user_contracts
-		<set>
-			<if test="userId != null">
-				user_id_ = #{userId},
-			</if>
-			<if test="id != null">
-				id_ = #{id},
-			</if>
-			<if test="url != null">
-				url_ = #{url},
-			</if>
-			<if test="memo != null">
-				memo_ = #{memo},
-			</if>
-			<if test="contractNo != null">
-				contract_no_ = #{contractNo},
-			</if>
-			<if test="type != null">
-				type_ = #{type},
-			</if>
-			<if test="createTime != null">
-				create_time_ = #{createTime},
-			</if>
-		</set>
-		WHERE id_ = #{id}
-	</update>
-
-	<!-- 根据主键删除一条记录 -->
-	<delete id="delete">
-		DELETE FROM sys_user_contracts WHERE id_ =
-		#{id}
-	</delete>
-
-	<!-- 分页查询 -->
-	<select id="queryPage" resultMap="SysUserContracts"
-			parameterType="map">
-		SELECT * FROM sys_user_contracts ORDER BY id_
-		<include refid="global.limit" />
-	</select>
-
-	<!-- 查询当前表的总记录数 -->
-	<select id="queryCount" resultType="int">
-		SELECT COUNT(*) FROM
-		sys_user_contracts
-	</select>
-
-	<select id="getUserContractWithType" resultMap="SysUserContracts">
-		SELECT * FROM sys_user_contracts
-		WHERE user_id_=#{userId}
-		  AND type_=#{contractType}
-		  <if test="version!=null">
-			  AND version_=#{version}
-		  </if>
-	</select>
-
-	<select id="getLatestUserContract" resultMap="SysUserContracts">
-		SELECT * FROM sys_user_contracts WHERE user_id_=#{userId} order by id_ desc limit 0,1
-	</select>
-
-</mapper>

+ 10 - 10
cooleshow-user/user-biz/src/main/resources/config/mybatis/UserOrderMapper.xml

@@ -50,19 +50,19 @@
             u.username_ as username,
             u.phone_ as phone
         FROM user_order t
-        left join user_order_payment p on t.order_no_ = p.order_no_
+        left join user_order_payment p on t.order_no_ = p.order_no_ and (p.status_ = 'pending' or p.status_ = 'succeeded')
         left join sys_user u on t.user_id_ = u.id_
         where t.id_ = #{id}
     </select>
     <select id="detailByOrderNo" resultType="com.yonge.cooleshow.biz.dal.vo.UserOrderVo">
         SELECT
-        <include refid="baseColumns"/>,
-        p.trans_no_ as transNo,
-        p.fee_amt_ as feeAmt,
-        u.username_ as username,
-        u.phone_ as phone
+            <include refid="baseColumns"/>,
+            p.trans_no_ as transNo,
+            p.fee_amt_ as feeAmt,
+            u.username_ as username,
+            u.phone_ as phone
         FROM user_order t
-        left join user_order_payment p on t.order_no_ = p.order_no_
+        left join user_order_payment p on t.order_no_ = p.order_no_ and (p.status_ = 'pending' or p.status_ = 'succeeded')
         left join sys_user u on t.user_id_ = u.id_
         where t.order_no_ = #{param.orderNo}
         <if test="param.userId != null">
@@ -76,7 +76,7 @@
             p.trans_no_ as transNo,
             p.pay_channel_ as payChannel
         FROM user_order t
-        left join user_order_payment p on t.order_no_ = p.order_no_
+        left join user_order_payment p on t.order_no_ = p.order_no_ and (p.status_ = 'pending' or p.status_ = 'succeeded')
         where t.user_id_ = #{param.userId}
         <if test="param.id != null">
             and t.id_ = #{param.id}
@@ -97,7 +97,7 @@
             u.username_ as username,
             u.phone_ as phone
         FROM user_order t
-        left join user_order_payment p on t.order_no_ = p.order_no_
+        left join user_order_payment p on t.order_no_ = p.order_no_ and (p.status_ = 'pending' or p.status_ = 'succeeded')
         left join sys_user u on t.user_id_ = u.id_
         <where>
             <if test="null != param.search and '' != param.search">
@@ -168,7 +168,7 @@
             p.trans_no_ as transNo,
             p.pay_channel_ as payChannel
         FROM user_order t
-        left join user_order_payment p on t.order_no_ = p.order_no_
+        left join user_order_payment p on t.order_no_ = p.order_no_ and (p.status_ = 'pending' or p.status_ = 'succeeded')
         where t.status_ in ('WAIT_PAY','PAYING')
         and t.user_id_ = #{param.userId}
         and exists (

+ 2 - 0
cooleshow-user/user-biz/src/main/resources/config/mybatis/UserOrderPaymentMapper.xml

@@ -4,6 +4,7 @@
     <resultMap id="BaseResultMap" type="com.yonge.cooleshow.biz.dal.entity.UserOrderPayment">
         <result column="id_" property="id" />
         <result column="order_no_" property="orderNo" />
+        <result column="adapay_no_" property="adapayNo" />
         <result column="trans_no_" property="transNo" />
         <result column="pay_channel_" property="payChannel" />
         <result column="pay_amt_" property="payAmt" />
@@ -23,6 +24,7 @@
     <sql id="baseColumns">
          t.id_ as id
         , t.order_no_ as orderNo
+        , t.adapay_no_ as adapayNo
         , t.trans_no_ as transNo
         , t.pay_channel_ as payChannel
         , t.pay_amt_ as payAmt

+ 10 - 0
cooleshow-user/user-biz/src/main/resources/config/mybatis/VideoLessonGroupMapper.xml

@@ -301,4 +301,14 @@
 		</where>
 		ORDER BY g.create_time_ DESC
 	</select>
+    <select id="selectGroupById" resultType="com.yonge.cooleshow.biz.dal.entity.VideoLessonGroup"
+            parameterType="java.lang.Long">
+		SELECT
+		<include refid="baseColumns"/>
+		s.name_ AS lessonSubjectName
+		FROM video_lesson_group g
+		LEFT JOIN `subject` s ON g.lesson_subject_=s.id_
+		WHERE g.id_=#{groupId}
+		AND s.del_flag_ = 0
+	</select>
 </mapper>

+ 1 - 1
cooleshow-user/user-student/src/main/java/com/yonge/cooleshow/student/controller/ImGroupMemberController.java

@@ -7,7 +7,7 @@ import com.yonge.cooleshow.biz.dal.entity.ImGroupMember;
 import com.yonge.cooleshow.biz.dal.service.ImGroupMemberService;
 import com.yonge.cooleshow.common.controller.BaseController;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
-import com.yonge.cooleshow.common.exception.BizException;
+import com.yonge.toolset.base.exception.BizException;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;

+ 1 - 1
cooleshow-user/user-student/src/main/java/com/yonge/cooleshow/student/controller/SmsCodeController.java

@@ -22,7 +22,7 @@ import com.wf.captcha.utils.CaptchaUtil;
 import com.yonge.cooleshow.biz.dal.enums.MessageTypeEnum;
 import com.yonge.cooleshow.biz.dal.service.SmsCodeService;
 import com.yonge.cooleshow.common.controller.BaseController;
-import com.yonge.cooleshow.common.exception.BizException;
+import com.yonge.toolset.base.exception.BizException;
 import com.yonge.cooleshow.common.security.SecurityConstants;
 
 @RestController

+ 28 - 0
cooleshow-user/user-student/src/main/java/com/yonge/cooleshow/student/controller/StudentSysUserContractRecordController.java

@@ -0,0 +1,28 @@
+package com.yonge.cooleshow.student.controller;
+
+import com.yonge.cooleshow.biz.dal.entity.SysUserContractRecord;
+import com.yonge.cooleshow.biz.dal.service.SysUserContractRecordService;
+import org.springframework.web.bind.annotation.*;
+import com.yonge.cooleshow.common.controller.BaseController;
+import io.swagger.annotations.Api;
+
+import javax.annotation.Resource;
+
+/**
+ * 用户协议记录表-一个用户一种协议一个版本一条记录(SysUserContractRecord)表控制层
+ *
+ * @author hgw
+ * @since 2022-05-07 15:04:05
+ */
+@Api(tags = "用户协议记录表-一个用户一种协议一个版本一条记录")
+@RestController
+@RequestMapping("/sysUserContractRecord")
+public class StudentSysUserContractRecordController extends BaseController {
+    /**
+     * 服务对象
+     */
+    @Resource
+    private SysUserContractRecordService sysUserContractRecordService;
+
+}
+

+ 1 - 1
cooleshow-user/user-student/src/main/java/com/yonge/cooleshow/student/controller/SysMessageController.java

@@ -10,7 +10,7 @@ import com.yonge.cooleshow.biz.dal.service.SysMessageService;
 import com.yonge.cooleshow.common.controller.BaseController;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
 import com.yonge.cooleshow.common.entity.Mapper;
-import com.yonge.cooleshow.common.exception.BizException;
+import com.yonge.toolset.base.exception.BizException;
 import com.yonge.toolset.base.page.PageInfo;
 import com.yonge.toolset.thirdparty.message.MessageSenderPluginContext;
 import com.yonge.toolset.utils.validator.CommonValidator;

+ 8 - 27
cooleshow-user/user-student/src/main/java/com/yonge/cooleshow/student/controller/UserOrderController.java

@@ -17,7 +17,7 @@ import com.yonge.cooleshow.biz.dal.vo.UserOrderVo;
 import com.yonge.cooleshow.biz.dal.vo.res.OrderPayRes;
 import com.yonge.cooleshow.common.controller.BaseController;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
-import com.yonge.cooleshow.common.exception.BizException;
+import com.yonge.toolset.base.exception.BizException;
 import com.yonge.toolset.base.page.PageInfo;
 import com.yonge.toolset.utils.date.DateUtil;
 import com.yonge.toolset.utils.string.StringUtil;
@@ -36,6 +36,7 @@ import java.time.LocalDateTime;
 import java.time.LocalTime;
 import java.time.temporal.TemporalAdjusters;
 import java.util.Date;
+import java.util.concurrent.ExecutionException;
 import java.util.concurrent.Future;
 import java.util.concurrent.TimeUnit;
 
@@ -70,6 +71,8 @@ public class UserOrderController extends BaseController {
             return httpResponseResultFuture.get();
         } catch (BizException e) {
             return HttpResponseResult.failed(e.getMessage());
+        } catch (ExecutionException e) {
+            return HttpResponseResult.failed(e.getCause().getMessage());
         } catch (Exception e) {
             e.printStackTrace();
             return HttpResponseResult.failed("下单失败");
@@ -94,8 +97,10 @@ public class UserOrderController extends BaseController {
                     .callIfLockCanGet(CacheNameEnum.LOCK_EXECUTE_ORDER.getRedisKey(user.getId())
                             , () -> userOrderService.orderPay(payReq), 60L, TimeUnit.SECONDS);
             return httpResponseResultFuture.get();
-        }  catch (BizException e) {
+        } catch (BizException e) {
             return HttpResponseResult.failed(e.getMessage());
+        } catch (ExecutionException e) {
+            return HttpResponseResult.failed(e.getCause().getMessage());
         } catch (Exception e) {
             e.printStackTrace();
             return HttpResponseResult.failed("付款失败");
@@ -157,30 +162,6 @@ public class UserOrderController extends BaseController {
         }
     }
 
-    @ApiOperation(value = "支付中订单付款")
-    @PostMapping("/orderPaytoPaying")
-    @ApiImplicitParams({
-            @ApiImplicitParam(name = "orderNo", value = "订单号", paramType = "query", dataType = "String")
-    })
-    public HttpResponseResult<OrderPayRes> orderPaytoPaying(@ApiIgnore @RequestBody OrderPayReq payReq, HttpServletRequest request) {
-        SysUser user = sysUserFeignService.queryUserInfo();
-        if (user == null || null == user.getId()) {
-            return failed(HttpStatus.FORBIDDEN, "请登录");
-        }
-        payReq.setUserId(user.getId());
-
-        Future<HttpResponseResult<OrderPayRes>> httpResponseResultFuture = DistributedLock.of(redissonClient)
-                .callIfLockCanGet(CacheNameEnum.LOCK_EXECUTE_ORDER.getRedisKey(user.getId())
-                        , () -> userOrderService.orderPaytoPaying(payReq), 60L, TimeUnit.SECONDS);
-
-        try {
-            return httpResponseResultFuture.get();
-        } catch (Exception e) {
-            e.printStackTrace();
-            return HttpResponseResult.failed("付款失败");
-        }
-    }
-
     /**
      * 查询分页
      */
@@ -258,7 +239,7 @@ public class UserOrderController extends BaseController {
     public HttpResponseResult<Boolean> setOrderStatus(
             @RequestParam("orderNo") String orderNo,
             @RequestParam("orderStatus") OrderStatusEnum orderStatus) {
-        userOrderService.setOrderStatus(orderNo,orderStatus);
+        userOrderService.setOrderStatus(orderNo, orderStatus);
         return succeed(true);
     }
 }

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

@@ -10,7 +10,7 @@ import com.yonge.cooleshow.biz.dal.queryInfo.ImGroupMemberAuditQueryInfo;
 import com.yonge.cooleshow.biz.dal.service.ImGroupMemberAuditService;
 import com.yonge.cooleshow.common.controller.BaseController;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
-import com.yonge.cooleshow.common.exception.BizException;
+import com.yonge.toolset.base.exception.BizException;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;

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

@@ -9,7 +9,7 @@ import com.yonge.cooleshow.biz.dal.entity.ImUserFriend;
 import com.yonge.cooleshow.biz.dal.service.ImGroupMemberService;
 import com.yonge.cooleshow.common.controller.BaseController;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
-import com.yonge.cooleshow.common.exception.BizException;
+import com.yonge.toolset.base.exception.BizException;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;

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

@@ -22,7 +22,7 @@ import com.wf.captcha.utils.CaptchaUtil;
 import com.yonge.cooleshow.biz.dal.enums.MessageTypeEnum;
 import com.yonge.cooleshow.biz.dal.service.SmsCodeService;
 import com.yonge.cooleshow.common.controller.BaseController;
-import com.yonge.cooleshow.common.exception.BizException;
+import com.yonge.toolset.base.exception.BizException;
 import com.yonge.cooleshow.common.security.SecurityConstants;
 
 @RestController

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

@@ -10,7 +10,7 @@ import com.yonge.cooleshow.biz.dal.service.SysMessageService;
 import com.yonge.cooleshow.common.controller.BaseController;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
 import com.yonge.cooleshow.common.entity.Mapper;
-import com.yonge.cooleshow.common.exception.BizException;
+import com.yonge.toolset.base.exception.BizException;
 import com.yonge.toolset.base.page.PageInfo;
 import com.yonge.toolset.thirdparty.message.MessageSenderPluginContext;
 import com.yonge.toolset.utils.validator.CommonValidator;

+ 28 - 0
cooleshow-user/user-teacher/src/main/java/com/yonge/cooleshow/teacher/controller/TeacherSysUserContractRecordController.java

@@ -0,0 +1,28 @@
+package com.yonge.cooleshow.teacher.controller;
+
+import com.yonge.cooleshow.biz.dal.service.SysUserContractRecordService;
+import com.yonge.cooleshow.common.controller.BaseController;
+import io.swagger.annotations.Api;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
+
+/**
+ * 用户协议记录表-一个用户一种协议一个版本一条记录(SysUserContractRecord)表控制层
+ *
+ * @author hgw
+ * @since 2022-05-07 15:04:05
+ */
+@Api(tags = "用户协议记录表-一个用户一种协议一个版本一条记录")
+@RestController
+@RequestMapping("/sysUserContractRecord")
+public class TeacherSysUserContractRecordController extends BaseController {
+    /**
+     * 服务对象
+     */
+    @Resource
+    private SysUserContractRecordService sysUserContractRecordService;
+
+}
+

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

@@ -15,7 +15,7 @@ import com.yonge.cooleshow.biz.dal.vo.UserAccountVo;
 import com.yonge.cooleshow.biz.dal.vo.res.AccountTotal;
 import com.yonge.cooleshow.common.controller.BaseController;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
-import com.yonge.cooleshow.common.exception.BizException;
+import com.yonge.toolset.base.exception.BizException;
 import com.yonge.toolset.base.page.PageInfo;
 import com.yonge.toolset.utils.date.DateUtil;
 import com.yonge.toolset.utils.string.StringUtil;

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

@@ -11,7 +11,7 @@ import com.yonge.cooleshow.biz.dal.vo.UserWithdrawalVo;
 import com.yonge.cooleshow.biz.dal.vo.res.WithdrawalInfoRes;
 import com.yonge.cooleshow.common.controller.BaseController;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
-import com.yonge.cooleshow.common.exception.BizException;
+import com.yonge.toolset.base.exception.BizException;
 import com.yonge.toolset.base.page.PageInfo;
 import com.yonge.toolset.utils.date.DateUtil;
 import com.yonge.toolset.utils.string.StringUtil;