Browse Source

Merge branch 'feature/0721-tenant' of http://git.dayaedu.com/yonge/cooleshow into feature/0721-tenant

haonan 1 year ago
parent
commit
a3178926bc

+ 4 - 0
cooleshow-auth/auth-api/src/main/java/com/yonge/cooleshow/auth/api/client/SysUserFeignService.java

@@ -54,6 +54,10 @@ public interface SysUserFeignService {
 										   @RequestParam("clientId")String clientId,
 										   @RequestParam("clientSecret")String clientSecret);
 
+	@PostMapping(value = "user/getTenantByClient")
+	@ApiOperation(value = "获取机构编号")
+	Long getTenantByClient(@RequestParam("userId")Long userId,@RequestParam("clientId")String clientId);
+
 	@GetMapping(value = "exit")
 	@ApiOperation(value = "退出登录")
 	HttpResponseResult<String> logout();

+ 4 - 0
cooleshow-auth/auth-api/src/main/java/com/yonge/cooleshow/auth/api/client/fallback/SysUserFeignServiceFallback.java

@@ -68,6 +68,10 @@ public class SysUserFeignServiceFallback implements SysUserFeignService {
 		return HttpResponseResult.failed("请求失败");
 	}
 
+	public Long getTenantByClient(Long userId,String clientId){
+		return -1l;
+	}
+
 	@Override
 	public HttpResponseResult<String> logout() {
 		return HttpResponseResult.failed("请求失败");

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

@@ -408,7 +408,7 @@ public class SysUserServiceImpl extends BaseServiceImpl<Long, SysUser> implement
     @Override
     public Long getTenantByClient(Long userId, String clientId) {
         // 查询用户机构信息,若没有则返回-1
-        return Optional.ofNullable(sysUserDao.getTenantByClient(userId, clientId)).orElse(-1L);
+        return Optional.ofNullable(sysUserDao.getTenantByClient(userId, clientId.toUpperCase())).orElse(-1L);
     }
 
     /**

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

@@ -135,6 +135,11 @@ public class UserController extends BaseController {
         return sysUserService.get(userId);
     }
 
+    @PostMapping(value = "/getTenantByClient", consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE)
+    public Long getTenantByClient(Long userId,String clientId) {
+        return sysUserService.getTenantByClient(userId,clientId);
+    }
+
     @PostMapping(value = "/updateSysUser", consumes = MediaType.APPLICATION_JSON_VALUE)
     public HttpResponseResult<Boolean> updateSysUser(@RequestBody SysUser user) {
         user.setUpdateTime(new Date());

+ 2 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/SysUserService.java

@@ -16,6 +16,8 @@ public interface SysUserService{
 
     SysUser findUserById(Long userId);
 
+    Long getTenantByClient(Long userId,String clientId);
+
     /**
      * 实名 + 注册协议
      *

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

@@ -1320,7 +1320,9 @@ public class CourseGroupServiceImpl extends ServiceImpl<CourseGroupDao, CourseGr
         if (CollectionUtils.isEmpty(orderNoList)) {
             return;
         }
-        Collection<UserOrder> userOrders = userOrderService.listByIds(orderNoList);
+        Map<String, UserOrder> mapByOrderNos = userOrderService.getMapByOrderNos(orderNoList);
+        Collection<UserOrder> userOrders = mapByOrderNos.values();
+
         for (UserOrder order : userOrders) {
             try {
                 if (order.getPaymentVersion().equals(EPaymentVersion.V1)) {

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

@@ -621,6 +621,7 @@ public class StudentServiceImpl extends ServiceImpl<StudentDao, Student> impleme
         sysUser.setGender(studentInfo.getGender());
         sysUser.setAvatar(student.getAvatar());
         sysUser.setUsername(studentInfo.getName());
+        sysUser.setBirthdate(studentInfo.getBirthdate());
         sysUserMapper.updateById(sysUser);
         return true;
     }

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

@@ -70,6 +70,8 @@ public class SysMusicCompareRecordServiceImpl extends BaseServiceImpl<Long, SysM
 
 	@Override
 	public long insert(SysMusicCompareRecord bean) {
+		Long tenant = sysUserService.getTenantByClient(bean.getUserId(), bean.getClientId());
+		bean.setTenantId(tenant);
 		// 保存评测记录
 		long record = super.insert(bean);
 
@@ -239,7 +241,8 @@ public class SysMusicCompareRecordServiceImpl extends BaseServiceImpl<Long, SysM
 	@Override
 	@Transactional
 	public void saveMusicCompareData(SysMusicCompareRecord sysMusicCompareRecord) {
-
+		Long tenant = sysUserService.getTenantByClient(sysMusicCompareRecord.getUserId(), sysMusicCompareRecord.getClientId());
+		sysMusicCompareRecord.setTenantId(tenant);
 		int record = sysMusicCompareRecordDao.update(sysMusicCompareRecord);
 
 		if (record > 0) {

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

@@ -61,6 +61,11 @@ public class SysUserServiceImpl implements SysUserService {
     }
 
     @Override
+    public Long getTenantByClient(Long userId, String clientId) {
+        return sysUserFeignService.getTenantByClient(userId,clientId);
+    }
+
+    @Override
     public IdcardInfoExtractor updateUserCard(RealnameAuthReq realNameAuthDto, SysUser sysUser,ClientEnum client) {
         IdcardValidator idcardValidator = new IdcardValidator();
         //验证身份证号合法性

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

@@ -71,6 +71,9 @@ public class TenantAlbumServiceImpl extends ServiceImpl<TenantAlbumMapper, Tenan
     @Autowired
     private TeacherService teacherService;
 
+    @Autowired
+    private MusicSheetService musicSheetService;
+
 
     /**
      * 查询详情
@@ -150,6 +153,22 @@ public class TenantAlbumServiceImpl extends ServiceImpl<TenantAlbumMapper, Tenan
     @Override
     public void orderCreate(UserPaymentOrderWrapper.OrderGoodsInfo orderGoodsInfo) {
         log.info("订单创建前检测");
+
+        //检查曲目数量
+        //机构专辑曲目数
+        List<TenantAlbumMusic> tenantAlbumMusiclist = tenantAlbumMusicService.lambdaQuery().eq(TenantAlbumMusic::getTenantAlbumId, orderGoodsInfo.getBizId())
+                .eq(TenantAlbumMusic::getDelFlag,false).list();
+        List<Long> musicSheetIds = tenantAlbumMusiclist.stream().map(TenantAlbumMusic::getMusicSheetId).collect(Collectors.toList());
+        if(CollectionUtils.isNotEmpty(musicSheetIds)){
+            Integer count = musicSheetService.lambdaQuery().in(MusicSheet::getId, musicSheetIds)
+                    .eq(MusicSheet::getState, true)
+                    .eq(MusicSheet::getDelFlag, false).count();
+            if(count < 1){
+                throw new BizException("当前教程不可购买");
+            }
+        }else {
+            throw new BizException("当前教程不可购买");
+        }
         if (orderGoodsInfo == null) {
             log.error("订单创建前检测,订单商品信息为空");
             throw new BizException("订单商品信息为空");

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

@@ -964,23 +964,6 @@ public class UserPaymentCoreServiceImpl implements UserPaymentCoreService {
         if (payTypeReq.getClientType().equals(ClientEnum.TENANT)) {
             resp.setPaymentVersion(EPaymentVersion.V2);
         }
-        //检查曲目数量
-        if(payTypeReq.getGoodType() == GoodTypeEnum.TENANT_ALBUM){
-            //机构专辑曲目数
-            List<TenantAlbumMusic> tenantAlbumMusiclist = tenantAlbumMusicService.lambdaQuery().eq(TenantAlbumMusic::getTenantAlbumId, payTypeReq.getBizId())
-                    .eq(TenantAlbumMusic::getDelFlag,false).list();
-            List<Long> musicSheetIds = tenantAlbumMusiclist.stream().map(TenantAlbumMusic::getMusicSheetId).collect(Collectors.toList());
-            if(CollectionUtils.isNotEmpty(musicSheetIds)){
-                Integer count = musicSheetService.lambdaQuery().in(MusicSheet::getId, musicSheetIds)
-                        .eq(MusicSheet::getState, true)
-                        .eq(MusicSheet::getDelFlag, false).count();
-                if(count < 1){
-                    throw new BizException("当前教程不可购买");
-                }
-            }else {
-                throw new BizException("当前教程不可购买");
-            }
-        }
         // 检测商品是属于老师,老师是否设置的结算给机构
 
         switch (payTypeReq.getGoodType()) {
@@ -1049,8 +1032,10 @@ public class UserPaymentCoreServiceImpl implements UserPaymentCoreService {
             if (Objects.isNull(teacher)) {
                 throw new BizException("推荐人信息不存在");
             }
-            if (teacher.getTenantId() != null && teacher.getTenantId() > 0 && ESettlementFrom.TENANT.equals(teacher.getSettlementFrom())) {
-                resp.setPaymentVersion(EPaymentVersion.V2);
+            if (!payTypeReq.getClientType().equals(ClientEnum.TEACHER)) {
+                if (teacher.getTenantId() != null && teacher.getTenantId() > 0 && ESettlementFrom.TENANT.equals(teacher.getSettlementFrom())) {
+                    resp.setPaymentVersion(EPaymentVersion.V2);
+                }
             }
         }