Browse Source

Merge branch 'feature/0721-tenant'

haonan 1 year ago
parent
commit
d36494da94

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

@@ -151,7 +151,7 @@ public class RedisCacheServiceImpl implements RedisCacheService {
         RBucket<Object> bucket = redissonClient.getBucket(cacheKey);
 
         // 缓存数据
-        bucket.set(config, 120L, TimeUnit.MINUTES);
+        bucket.set(config, 240L, TimeUnit.MINUTES);
     }
 
     /**

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

@@ -480,6 +480,13 @@ public class TeacherServiceImpl extends ServiceImpl<TeacherDao, Teacher> impleme
                 userAccountService.save(userAccount);
             }
         } else {
+            if (!teacher.getTenantId().equals(teacherSubmitReq.getTenantId())) {
+                TeacherWrapper.UpdateTenant updateTenant = new TeacherWrapper.UpdateTenant();
+                updateTenant.setTeacherId(teacher.getUserId());
+                updateTenant.setTenantId(teacherSubmitReq.getTenantId());
+                updateTenant(updateTenant);
+            }
+
             teacher.setUpdateTime(new Date());
             teacher = getTeacherDetil(teacher, teacherSubmitReq);
             if (null == teacher.getEntryAuthDate() || null == teacher.getMusicianDate()) {
@@ -490,27 +497,6 @@ public class TeacherServiceImpl extends ServiceImpl<TeacherDao, Teacher> impleme
                 );
             }
 
-            // 机构解绑
-            if (teacher.getTenantId() != -1L && Boolean.FALSE.equals(teacherSubmitReq.getBindTenant())) {
-                // 老师建立的班级群解散,并解除好友关系
-                List<ImGroupMember> groupMembers = imGroupMemberService.lambdaQuery()
-                        .eq(ImGroupMember::getIsAdmin, true)
-                        .eq(ImGroupMember::getUserId, teacher.getUserId()).list();
-                if (!groupMembers.isEmpty()) {
-                    List<String> groupIdList = groupMembers.stream().map(ImGroupMember::getGroupId).distinct()
-                            .collect(Collectors.toList());
-                    groupIdList.forEach(next -> {
-                        try {
-                            imGroupService.dismiss(next);
-                        } catch (Exception e) {
-                            log.error("解散群聊失败,", e);
-                        }
-                    });
-                    imUserFriendService.delFriendByTenantId(teacher.getTenantId(), teacher.getUserId());
-                }
-                // 机构解绑后,归属为平台老师
-                teacher.setTenantId(-1L);
-            }
             baseMapper.updateById(teacher);
         }
 
@@ -955,6 +941,7 @@ public class TeacherServiceImpl extends ServiceImpl<TeacherDao, Teacher> impleme
         return wrapper;
     }
 
+    @Transactional(rollbackFor = Exception.class)
     @Override
     public void updateTenant(TeacherWrapper.UpdateTenant updateTenant) {
         Teacher teacher = this.getById(updateTenant.getTeacherId());
@@ -974,6 +961,7 @@ public class TeacherServiceImpl extends ServiceImpl<TeacherDao, Teacher> impleme
                     log.error("老师修改机构,解散机构群失败:{}", e.getMessage());
                 }
             });
+            imUserFriendService.delFriendByTenantId(teacher.getTenantId(), teacher.getUserId());
         }
 
         teacher.setTenantId(updateTenant.getTenantId());
@@ -986,6 +974,7 @@ public class TeacherServiceImpl extends ServiceImpl<TeacherDao, Teacher> impleme
         if (first.isPresent()) {
             TenantUnbindRecord tenantUnbindRecord = first.get();
             tenantUnbindRecord.setStatus(ETenantUnBindAuditStatus.CLOSE);
+            tenantUnbindRecord.setReason("机构发生变更,关闭申请");
             tenantUnbindRecordMapper.updateById(tenantUnbindRecord);
 
             TenantUnbindHistory history = JSON.parseObject(JSON.toJSONString(tenantUnbindRecord),

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

@@ -28,6 +28,7 @@ import com.yonge.cooleshow.common.entity.HttpResponseResult;
 import com.yonge.cooleshow.common.enums.SysUserType;
 import com.yonge.cooleshow.common.enums.UserLockFlag;
 import com.yonge.toolset.base.exception.BizException;
+import com.yonge.toolset.utils.obj.ObjectUtil;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
@@ -380,11 +381,13 @@ public class TenantInfoServiceImpl extends ServiceImpl<TenantInfoMapper, TenantI
         TenantInfo oldTenantInfo = this.getById(info.getId());
         SysUser sysUser = getAccount(info, oldTenantInfo);
 
-        tenantStaffMapper.update(null, Wrappers.<TenantStaff>lambdaUpdate()
+        if (sysUser.getId() != null){
+            tenantStaffMapper.update(null, Wrappers.<TenantStaff>lambdaUpdate()
                 .set(TenantStaff::getUserId, sysUser.getId())
                 .set(TenantStaff::getNickname, info.getUsername())
                 .eq(TenantStaff::getUserId, oldTenantInfo.getUserId())
-        );
+        );}
+
 
         if (StringUtils.isEmpty(info.getLogo())) {
             // todo 设置默认logo

+ 21 - 13
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/TenantUnbindRecordServiceImpl.java

@@ -82,6 +82,9 @@ public class TenantUnbindRecordServiceImpl extends ServiceImpl<TenantUnbindRecor
     @Autowired
     private UnbindAuthUserService unbindAuthUserService;
 
+    @Autowired
+    private ImUserFriendService imUserFriendService;
+
     /**
      * @param id 详情ID
      * @return TenantUnbindRecord
@@ -218,22 +221,27 @@ public class TenantUnbindRecordServiceImpl extends ServiceImpl<TenantUnbindRecor
                 .eq(TenantUnbindRecord::getStatus, ETenantUnBindAuditStatus.DOING)
                 .update();
         if (Boolean.TRUE.equals(audio.getStatus())) {
+            Teacher teacher = teacherDao.selectById(unbindRecord.getUserId());
+            Long tenantId = teacher.getTenantId();
+            if (tenantId != -1L) {
+                // 解散机构群
+                List<ImGroup> imGroups = imGroupService.lambdaQuery()
+                        .eq(ImGroup::getCreateBy, unbindRecord.getUserId())
+                        .eq(ImGroup::getType, ImGroupType.ORG)
+                        .list();
+                for (ImGroup imGroup : imGroups) {
+                    try {
+                        imGroupService.dismiss(imGroup.getId());
+                    } catch (Exception e) {
+                        log.error("老师解绑审核成功,解散机构群失败:{}", e.getMessage());
+                    }
+                }
+                imUserFriendService.delFriendByTenantId(unbindRecord.getUserId(), unbindRecord.getUserId());
+            }
             teacherDao.update(null, Wrappers.<Teacher>lambdaUpdate()
-                    .eq(Teacher::getUserId, audio.getId())
+                    .eq(Teacher::getUserId, unbindRecord.getUserId())
                     .set(Teacher::getSettlementFrom, ESettlementFrom.TEACHER)
                     .set(Teacher::getTenantId, -1L));
-            // 解散机构群
-            List<ImGroup> imGroups = imGroupService.lambdaQuery()
-                    .eq(ImGroup::getCreateBy, unbindRecord.getUserId())
-                    .eq(ImGroup::getType, ImGroupType.ORG)
-                    .list();
-            for (ImGroup imGroup : imGroups) {
-                try {
-                    imGroupService.dismiss(imGroup.getId());
-                } catch (Exception e) {
-                    log.error("老师解绑审核成功,解散机构群失败:{}", e.getMessage());
-                }
-            }
         }
 
         // 添加历史记录

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

@@ -325,7 +325,31 @@ public class UserOrderServiceImpl extends ServiceImpl<UserOrderDao, UserOrder> i
 
     @Override
     public IPage<UserOrderVo> selectPage(IPage<UserOrderVo> page, OrderSearch query) {
-        return page.setRecords(baseMapper.selectPage(page, query));
+        IPage<UserOrderVo> userOrderVoIPage = page.setRecords(baseMapper.selectPage(page, query));
+        List<UserOrderVo> records = userOrderVoIPage.getRecords();
+        if (CollectionUtils.isEmpty(records)) {
+            return userOrderVoIPage;
+        }
+        // 查询支付配置缓存
+        for (UserOrderVo record : records) {
+            if (record.getPaymentVersion().equals(EPaymentVersion.V2)) {
+                // 查询用户下单配置
+                String ret = redisCacheService.getUserOrderConfig(record.getUserId().toString(), record.getOrderType().name());
+                if (!StringUtils.isEmpty(ret) ) {
+                    UserPaymentOrderWrapper.PaymentOrderReqConfig config = UserPaymentOrderWrapper.PaymentOrderReqConfig
+                            .from(ret);
+                    UserPaymentOrderWrapper.PaymentConfig build = UserPaymentOrderWrapper.PaymentConfig.builder()
+                            .orderNo(record.getOrderNo())
+                            .paymentConfig(config)
+                            .paymentType(record.getPaymentVendor())
+                            .build();
+                    record.setPaymentConfig(build);
+                }
+            }
+        }
+
+
+        return userOrderVoIPage;
     }
 
     @Override
@@ -480,7 +504,6 @@ public class UserOrderServiceImpl extends ServiceImpl<UserOrderDao, UserOrder> i
             userOrderVo.setOrderDetailList(orderDetailService.getOrderDetilListByOrderNo(userOrderVo.getOrderNo()));
         }
 
-
         // 查询用户下单配置
         String ret = redisCacheService.getUserOrderConfig(query.getUserId().toString(), query.getGoodType());
         if (!StringUtils.isEmpty(ret) && userOrderVo != null) {

+ 68 - 0
cooleshow-user/user-tenant/src/main/java/com/yonge/cooleshow/tenant/controller/TenantAlbumSheetController.java

@@ -0,0 +1,68 @@
+package com.yonge.cooleshow.tenant.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.microsvc.toolkit.common.response.paging.QueryInfo;
+import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
+import com.yonge.cooleshow.auth.api.entity.SysUser;
+import com.yonge.cooleshow.biz.dal.service.TenantAlbumMusicService;
+import com.yonge.cooleshow.biz.dal.wrapper.TenantAlbumMusicWrapper;
+import com.yonge.cooleshow.common.controller.BaseController;
+import com.yonge.cooleshow.common.entity.HttpResponseResult;
+import com.yonge.toolset.base.page.PageInfo;
+import com.yonge.toolset.mybatis.support.PageUtil;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpStatus;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * 专辑表 web 控制层
+ * @author yzp
+ * @date 2022-03-26 00:21:46
+ * @version v1.0
+ **/
+@RestController
+@RequestMapping("/tenantAlbumMusic")
+@Api(tags = "机构专辑曲目 API接口")
+public class TenantAlbumSheetController extends BaseController {
+
+    @Autowired
+    private TenantAlbumMusicService tenantAlbumMusicService;
+
+    @Autowired
+    private SysUserFeignService sysUserFeignService;
+
+    @ApiOperation(value = "查询条件")
+    @PostMapping("/selectCondition")
+    public HttpResponseResult<TenantAlbumMusicWrapper.TenantAlbumMusicSelectData> selectCondition(@RequestBody TenantAlbumMusicWrapper.TenantAlbumMusicSelect query) {
+        SysUser user = sysUserFeignService.queryUserInfo();
+        if (user == null || null == user.getId()) {
+            return failed(HttpStatus.FORBIDDEN, "请登录");
+        }
+        query.setUserId(user.getId());
+        /*if(StringUtils.isBlank(query.getSubjectId())){
+        	Student student = studentService.getById(user.getId());
+        	query.setSubjectId(student.getSubjectId());
+        }*/
+        return succeed(tenantAlbumMusicService.getTenantAlbumMusicQuery(query));
+    }
+
+
+
+    @ApiOperation(value = "分页查询")
+    @PostMapping("/page")
+    public HttpResponseResult<PageInfo<TenantAlbumMusicWrapper.StudentTenantAlbumMusic>> page(@RequestBody TenantAlbumMusicWrapper.StudentTenantAlbumMusicQuery query) {
+        SysUser user = sysUserFeignService.queryUserInfo();
+        if (user == null || null == user.getId()) {
+            return failed(HttpStatus.FORBIDDEN, "请登录");
+        }
+        IPage<TenantAlbumMusicWrapper.StudentTenantAlbumMusic> page = tenantAlbumMusicService.selectPage(QueryInfo.getPage(query), query);
+        return succeed((PageUtil.pageInfo(page)));
+    }
+
+
+}