فهرست منبع

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

# Conflicts:
#	cooleshow-app/src/main/java/com/yonge/cooleshow/tenant/controller/TenantInfoController.java
zouxuan 1 سال پیش
والد
کامیت
e0962ff116
17فایلهای تغییر یافته به همراه202 افزوده شده و 72 حذف شده
  1. 1 0
      cooleshow-app/src/main/java/com/yonge/cooleshow/tenant/controller/StudentController.java
  2. 137 44
      cooleshow-app/src/main/java/com/yonge/cooleshow/tenant/controller/TenantInfoController.java
  3. 7 5
      cooleshow-auth/auth-server/src/main/java/com/yonge/cooleshow/auth/core/provider/PhoneAuthenticationProvider.java
  4. 1 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/EmployeeServiceImpl.java
  5. 1 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/StudentServiceImpl.java
  6. 2 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/TeacherServiceImpl.java
  7. 5 10
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/TenantAlbumMusicServiceImpl.java
  8. 18 4
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/TenantAlbumServiceImpl.java
  9. 2 2
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/TenantInfoServiceImpl.java
  10. 2 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/TenantUnbindRecordServiceImpl.java
  11. 1 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/UserOrderServiceImpl.java
  12. 4 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/wrapper/TenantAccountRecordWrapper.java
  13. 2 1
      cooleshow-user/user-biz/src/main/resources/config/mybatis/TenantAccountRecordMapper.xml
  14. 11 2
      cooleshow-user/user-biz/src/main/resources/config/mybatis/TenantAlbumPurchaseMapper.xml
  15. 1 0
      cooleshow-user/user-tenant/src/main/java/com/yonge/cooleshow/tenant/controller/StudentController.java
  16. 1 0
      cooleshow-user/user-tenant/src/main/java/com/yonge/cooleshow/tenant/controller/TeacherController.java
  17. 6 0
      cooleshow-user/user-tenant/src/main/java/com/yonge/cooleshow/tenant/controller/TenantInfoController.java

+ 1 - 0
cooleshow-app/src/main/java/com/yonge/cooleshow/tenant/controller/StudentController.java

@@ -89,6 +89,7 @@ public class StudentController extends BaseController {
         TenantInfo tenantInfo = getTenantInfo();
         query.setTenantId(tenantInfo.getId());
         query.setDelFlag(YesOrNoEnum.NO);
+        query.setLockFlag(UserLockFlag.NORMAL);
         query.setOrderBy("u.username_ asc");
 
         IPage<StudentVo> pages = studentService.selectPage(PageUtil.getPage(query), query);

+ 137 - 44
cooleshow-app/src/main/java/com/yonge/cooleshow/tenant/controller/TenantInfoController.java

@@ -6,6 +6,8 @@ import com.yonge.cooleshow.auth.api.entity.SysUser;
 import com.yonge.cooleshow.biz.dal.entity.TenantInfo;
 import com.yonge.cooleshow.biz.dal.entity.TenantStaff;
 import com.yonge.cooleshow.biz.dal.enums.ClientEnum;
+import com.yonge.cooleshow.biz.dal.mapper.SysUserMapper;
+import com.yonge.cooleshow.biz.dal.service.EmployeeService;
 import com.yonge.cooleshow.biz.dal.service.SmsCodeService;
 import com.yonge.cooleshow.biz.dal.service.SysConfigService;
 import com.yonge.cooleshow.biz.dal.service.TenantInfoService;
@@ -18,7 +20,6 @@ import com.yonge.cooleshow.common.security.SecurityConstants;
 import com.yonge.cooleshow.tenant.io.request.SysUserWrapper;
 import com.yonge.cooleshow.tenant.io.request.TenantInfoVo;
 import com.yonge.toolset.base.exception.BizException;
-import com.yonge.toolset.utils.obj.ObjectUtil;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
@@ -32,7 +33,12 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
 import javax.validation.Valid;
+import java.time.LocalDateTime;
+import java.util.Arrays;
 import java.util.List;
+import java.util.Objects;
+import java.util.Optional;
+import java.util.stream.Collectors;
 
 /**
  * @Author:haonan
@@ -58,6 +64,12 @@ public class TenantInfoController extends BaseController {
     @Autowired
     private SysConfigService sysConfigService;
 
+    @Autowired
+    private SysUserMapper sysUserMapper;
+
+    @Autowired
+    private EmployeeService employeeService;
+
     @ApiOperation(value = "发送登录短信验证码")
     @ApiImplicitParams({@ApiImplicitParam(name = "mobile", value = "手机号", required = true, dataType = "String"),
             @ApiImplicitParam(name = "type", value = "类型(PASSWD:修改密码,LOGIN:登录或注册,BANK:绑定银行卡,PHONE:修改手机号)", required =
@@ -147,66 +159,147 @@ public class TenantInfoController extends BaseController {
     @ApiOperation(value = "用户修改", notes = "用户修改")
 //    @PreAuthorize("@pcs.hasPermissions('tenantInfoUpdate/sysUserUpdate')")
     public HttpResponseResult<Boolean> sysUserUpdate(@RequestBody SysUserWrapper.SysUser sysUser) {
-        String code = sysUser.getCode();
-        String phone = sysUser.getPhone();
 
-        com.yonge.cooleshow.biz.dal.entity.SysUser sysUser1 = JSON.parseObject(sysUser.jsonString(), com.yonge.cooleshow.biz.dal.entity.SysUser.class);
+        // 当前用户请登录,提示请登录
+        SysUser user = sysUserFeignService.queryUserInfo();
+        if (Objects.isNull(user)) {
+            throw new BizException("请登录");
+        }
 
+        TenantStaff staff = tenantStaffService.getByUserId(user.getId());
+        if (Objects.nonNull(staff)) {
+            // 设置用户机构ID
+            user.setTenantId(staff.getTenantId());
+        }
         //如果传手机号
-        if (StringUtils.isNotBlank(phone)){
-            boolean re = smsCodeService.verifyValidCode(phone, code, "PHONE");
-            if (re){
-                SysUser user = sysUserFeignService.queryUserInfo();
-                tenantInfoService.updateSysUser(sysUser1, user.getId());
-
-                //设置默认头像
-                if (StringUtils.isEmpty(sysUser.getAvatar())) {
-                    sysUser.setAvatar(sysConfigService.findConfigValue(SysConfigConstant.DEFAULT_HEARD));
-                }
+        if (StringUtils.isNotBlank(sysUser.getPhone())) {
+
+            if (StringUtils.isBlank(sysUser.getCode())) {
+                throw new BizException("验证码不能为空");
+            }
+
+            boolean exists = smsCodeService.verifyValidCode(sysUser.getPhone(), sysUser.getCode(), "PHONE");
+            if (Boolean.FALSE.equals(exists)) {
+                throw new BizException("验证码错误");
+            }
+
+            long userId;
+            // 查询输入的手机号  是否存在于sysUser表中
+            SysUser sysUserInfo = sysUserMapper.findUserByPhone(sysUser.getPhone());
+
+            // 用户默认头象
+            if (Objects.nonNull(sysUserInfo)) {
 
-                //判断更改的手机所属的机构信息
-
-                String oldPhone = user.getPhone();
-                //查看原机构信息
-                List<TenantInfo> list = tenantInfoService.lambdaQuery().eq(TenantInfo::getPhone, oldPhone).list();
-                if (CollectionUtils.isNotEmpty(list)){
-                    TenantInfo info = list.get(0);
-                    if (ObjectUtil.isEmpty(info)) {
-                        //更新tennatInfo
-                        info.setPhone(phone);
-                        tenantInfoService.updateById(info);
-                    }
+                //如果存在 判断是否为机构员工
+                TenantStaff tenantStaff = tenantStaffService.getByUserId(sysUserInfo.getId());
+                if (Objects.nonNull(tenantStaff)) {
+                    throw new BizException("该手机号已绑定机构");
                 }
 
-                //更新员工表
-                Long id = user.getId();
-                TenantStaff staff = tenantStaffService.getByUserId(id);
-                if (staff != null){
-                    staff.setNickname(sysUser.getUsername());
-                    staff.setAvatar(sysUser.getAvatar());
-                    tenantStaffService.updateById(staff);
+                // 平台员工不允许重复
+                SysUser employee = employeeService.queryUserByMobile(sysUser.getPhone());
+                if (Objects.nonNull(employee)) {
+                    throw new BizException("当前手机号已绑定平台员工");
                 }
+
+                // 更新用户身份
+                com.yonge.cooleshow.biz.dal.entity.SysUser newSysUser = new com.yonge.cooleshow.biz.dal.entity.SysUser();
+                // 设置用户ID
+                newSysUser.setId(sysUserInfo.getId());
+                // 用户身份
+                newSysUser.setUserType(sysUserInfo.getUserType() + ",ORGANIZATION");
+                newSysUser.setUpdateTime(LocalDateTime.now());
+
+                // 新用户更新
+                sysUserMapper.updateById(newSysUser);
+
+                // 新用户ID
+                userId = sysUserInfo.getId();
             } else {
-                throw new BizException("手机号校验有误");
+
+                // 重新生成sysUser数据
+                com.yonge.cooleshow.biz.dal.entity.SysUser newSysUser = JSON.parseObject(JSON.toJSONString(user),
+                        com.yonge.cooleshow.biz.dal.entity.SysUser.class);
+                // 重置主键ID
+                newSysUser.setId(null);
+                // 设置新手机号
+                newSysUser.setPhone(sysUser.getPhone());
+                // 创建和修改时间
+                newSysUser.setCreateTime(LocalDateTime.now());
+                newSysUser.setUpdateTime(LocalDateTime.now());
+                newSysUser.setAvatar(sysConfigService.findConfigValue(SysConfigConstant.DEFAULT_HEARD));
+                // 锁定状态
+                newSysUser.setLockFlag(0);
+                // 用户类型
+                newSysUser.setUserType("ORGANIZATION");
+                // 删除状态
+                newSysUser.setDelFlag(0);
+                newSysUser.setImToken("");
+
+                sysUserMapper.insert(newSysUser);
+                // 新用户ID
+                userId = newSysUser.getId();
             }
-        }  else {
-            SysUser user = sysUserFeignService.queryUserInfo();
-            tenantInfoService.updateSysUser(sysUser1, user.getId());
 
+            // 旧用户移动机构身份
+            com.yonge.cooleshow.biz.dal.entity.SysUser oldSysUser = new com.yonge.cooleshow.biz.dal.entity.SysUser();
+            oldSysUser.setId(user.getId());
+            // 用户身份
+            String userType = Arrays.stream(user.getUserType().split(","))
+                    .filter(x -> !x.equals("ORGANIZATION")).collect(Collectors.joining(","));
+            oldSysUser.setUserType(userType);
+            sysUserMapper.updateById(oldSysUser);
+
+            // 更新用户ID
+            tenantStaffService.lambdaUpdate()
+                    .eq(TenantStaff::getUserId, user.getId())
+                    .set(TenantStaff::getUserId, userId)
+                    .update();
+
+            // 更新机构信息表中的用户
+            if (Optional.ofNullable(user.getTenantId()).orElse(-1L) > 0) {
+
+                tenantInfoService.lambdaUpdate()
+                        .eq(TenantInfo::getId, user.getTenantId())
+                        .set(TenantInfo::getUserId, userId)
+                        .set(TenantInfo::getPhone,sysUser.getPhone())
+                        .update();
+            }
+
+        } else {
+
+            // 修改用户基础信息流程
             //设置默认头像
             if (StringUtils.isBlank(sysUser.getAvatar())) {
                 sysUser.setAvatar(sysConfigService.findConfigValue(SysConfigConstant.DEFAULT_HEARD));
             }
 
-            //更新员工表
-            Long id = user.getId();
-            TenantStaff staff = tenantStaffService.getByUserId(id);
-            if (staff != null){
-                staff.setNickname(sysUser.getUsername());
-                staff.setAvatar(sysUser.getAvatar());
-                tenantStaffService.updateById(staff);
+            // 更新用户头象
+            com.yonge.cooleshow.biz.dal.entity.SysUser updateSysUser = new com.yonge.cooleshow.biz.dal.entity.SysUser();
+            updateSysUser.setId(user.getId());
+            updateSysUser.setAvatar(sysUser.getAvatar());
+            sysUserMapper.updateById(updateSysUser);
+
+            // 更新机构员工头像和昵称,机构信息表中的用户昵称
+            tenantStaffService.lambdaUpdate()
+                    .eq(TenantStaff::getUserId, user.getId())
+                    .set(StringUtils.isNotEmpty(sysUser.getUsername()), TenantStaff::getNickname, sysUser.getUsername())
+                    .set(StringUtils.isNotEmpty(sysUser.getAvatar()), TenantStaff::getAvatar, sysUser.getAvatar())
+                    .set(TenantStaff::getUpdateTime, LocalDateTime.now())
+                    .update();
+
+
+            // 更新机构信息表中的用户昵称
+            if (StringUtils.isNotBlank(sysUser.getUsername()) && Optional.ofNullable(user.getTenantId()).orElse(-1L) > 0) {
+
+                tenantInfoService.lambdaUpdate()
+                        .eq(TenantInfo::getId, user.getTenantId())
+                        .set(TenantInfo::getUsername, sysUser.getUsername())
+                        .update();
             }
+
         }
+
         return HttpResponseResult.succeed(true);
     }
 }

+ 7 - 5
cooleshow-auth/auth-server/src/main/java/com/yonge/cooleshow/auth/core/provider/PhoneAuthenticationProvider.java

@@ -183,6 +183,13 @@ public class PhoneAuthenticationProvider extends AbstractAuthenticationProvider
                 if (StringUtils.isNotBlank(deviceNum)) {
                     sysUserDeviceService.bindDevice(clientId, user.getId(), deviceNum);
                 }
+
+                // 学生账号修改隐藏为显示
+                if (StringUtils.equalsIgnoreCase(loginUserType, "STUDENT")
+                        || StringUtils.equalsIgnoreCase(clientId, "STUDENT")) {
+                    sysUserService.updateStudentHideFlag(userInfo.getSysUser().getId(), 0);
+                }
+
                 //登录
                 if (userInfo.getSysUser().getUserType().contains(clientId)){
                     return login(username);
@@ -225,11 +232,6 @@ public class PhoneAuthenticationProvider extends AbstractAuthenticationProvider
                 sysUserService.update(user);
             }
 
-            // 学生账号修改隐藏为显示
-            if (StringUtils.equalsIgnoreCase(loginUserType, "STUDENT")) {
-                sysUserService.updateStudentHideFlag(userInfo.getSysUser().getId(), 0);
-            }
-
         }
 
         return login(username);

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

@@ -63,7 +63,7 @@ public class EmployeeServiceImpl extends BaseServiceImpl<Long, Employee> impleme
             BeanUtils.copyProperties(param, sysUser);
             sysUser.setUserType(SysUserType.SYSTEM.getCode());
             //初始密码,手机号后6位
-            String password = param.getPhone().substring(param.getPhone().length() - 6);
+            String password = "klx" + sysUser.getPhone().substring(sysUser.getPhone().length() - 4);
             sysUser.setPassword(new BCryptPasswordEncoder().encode(password));
             sysUser.setGender(param.getGender().getCode());
 

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

@@ -566,7 +566,7 @@ public class StudentServiceImpl extends ServiceImpl<StudentDao, Student> impleme
             sysUser.setUsername(student.getName());
             sysUser.setPhone(student.getPhone());
             //初始密码,手机号后6位
-            String password = sysUser.getPhone().substring(sysUser.getPhone().length() - 6);
+            String password = "klx" + sysUser.getPhone().substring(sysUser.getPhone().length() - 4);
             sysUser.setPassword(new BCryptPasswordEncoder().encode(password));
             //插入
             employeeDao.insertSysUser(sysUser);

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

@@ -1007,8 +1007,9 @@ public class TeacherServiceImpl extends ServiceImpl<TeacherDao, Teacher> impleme
             // 删除好友关系
             imUserFriendService.delFriendByTenantId(teacher.getTenantId(), teacher.getUserId());
 
-        }else {
+        }
 
+        if (updateTenant.getTenantId().equals(-1L)) {
             // 平台老师处理流程
             if (ESettlementFrom.TENANT.equals(teacher.getSettlementFrom())) {
                 // 解绑后,结算方式如果是机构,默认调整为老师

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

@@ -143,17 +143,12 @@ public class TenantAlbumMusicServiceImpl extends ServiceImpl<TenantAlbumMusicMap
 
             //是否收藏
             Long id = m.getId();
-            List<MusicFavorite> list = musicFavoriteService.lambdaQuery().eq(MusicFavorite::getMusicSheetId, id).list();
+            List<MusicFavorite> list = musicFavoriteService.lambdaQuery()
+                    .eq(MusicFavorite::getMusicSheetId, id)
+                    .eq(MusicFavorite::getUserId,sysUserId)
+                    .eq(MusicFavorite::getClientType,query.getClientType()).list();
             if (CollectionUtils.isNotEmpty(list)){
-                List<Long> collect = list.stream().map(MusicFavorite::getUserId).collect(Collectors.toList());
-                if (CollectionUtils.isNotEmpty(collect)){
-                    collect.stream().forEach(c->{
-                        if (c.equals(sysUserId) ){
-                            m.setFavorite(true);
-                        }
-                    });
-
-                }
+                m.setFavorite(true);
             }
 
         });

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

@@ -7,16 +7,14 @@ import com.baomidou.mybatisplus.extension.service.additional.query.impl.LambdaQu
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
 import com.yonge.cooleshow.biz.dal.entity.*;
-import com.yonge.cooleshow.biz.dal.enums.ClientEnum;
-import com.yonge.cooleshow.biz.dal.enums.GoodTypeEnum;
-import com.yonge.cooleshow.biz.dal.enums.OrderStatusEnum;
-import com.yonge.cooleshow.biz.dal.enums.SourceTypeEnum;
+import com.yonge.cooleshow.biz.dal.enums.*;
 import com.yonge.cooleshow.biz.dal.mapper.TenantAlbumMapper;
 import com.yonge.cooleshow.biz.dal.service.*;
 import com.yonge.cooleshow.biz.dal.vo.UserOrderDetailVo;
 import com.yonge.cooleshow.biz.dal.wrapper.TenantAlbumWrapper;
 import com.yonge.cooleshow.biz.dal.wrapper.UserPaymentOrderWrapper;
 import com.yonge.cooleshow.common.enums.EActivationCode;
+import com.yonge.cooleshow.common.enums.PostStatusEnum;
 import com.yonge.cooleshow.common.enums.YesOrNoEnum;
 import com.yonge.toolset.base.exception.BizException;
 import com.yonge.toolset.base.util.StringUtil;
@@ -75,6 +73,9 @@ public class TenantAlbumServiceImpl extends ServiceImpl<TenantAlbumMapper, Tenan
     @Autowired
     private MusicSheetService musicSheetService;
 
+    @Autowired
+    private TenantAccountRecordService tenantAccountRecordService;
+
 
     /**
      * 查询详情
@@ -325,6 +326,19 @@ public class TenantAlbumServiceImpl extends ServiceImpl<TenantAlbumMapper, Tenan
                     tenantActivationCodes.add(tenantActivationCode);
                 }
                 tenantActivationCodeService.saveBatch(tenantActivationCodes);
+
+                // 写入机构流水表
+                TenantAccountRecord tenantAccountRecord = TenantAccountRecord.builder()
+                        .tenantId(tenantAlbumPurchase.getTenantId())
+                        .transAmount(userOrderDetailVo.getActualPrice())
+                        .inOrOut(InOrOutEnum.OUT.getCode())
+                        .postStatus(PostStatusEnum.RECORDED.getCode())
+                        .bizType(OrderTypeEnum.TENANT_ALBUM.getCode())
+                        .bizId(userOrderDetailVo.getBizId())
+                        .bizName(userOrderDetailVo.getGoodName())
+                        .orderNo(userOrderDetailVo.getOrderNo())
+                        .build();
+                tenantAccountRecordService.save(tenantAccountRecord);
                 break;
             }
         }

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

@@ -276,8 +276,8 @@ public class TenantInfoServiceImpl extends ServiceImpl<TenantInfoMapper, TenantI
             sysUser.setAvatar(sysConfigService.findConfigValue(SysConfigConstant.TEACHER_AVATAR));
             sysUser.setUserType(SysUserType.ORGANIZATION.getCode());
             sysUser.setUsername(tenantInfo.getUsername());
-            String newPassword = MessageFormat.format("klxjg{0}", tenantInfo.getPhone().substring(7));
-            String password = new BCryptPasswordEncoder().encode(newPassword);
+//            String newPassword = MessageFormat.format("klxjg{0}", tenantInfo.getPhone().substring(7));
+//            String password = new BCryptPasswordEncoder().encode(newPassword);
             //sysUser.setPassword(password);
             sysUserMapper.insert(sysUser);
         }

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

@@ -240,7 +240,8 @@ public class TenantUnbindRecordServiceImpl extends ServiceImpl<TenantUnbindRecor
             }
             teacherDao.update(null, Wrappers.<Teacher>lambdaUpdate()
                     .eq(Teacher::getUserId, unbindRecord.getUserId())
-                    .set(Teacher::getSettlementFrom, ESettlementFrom.TEACHER)
+                    .set(ESettlementFrom.TENANT.equals(teacher.getSettlementFrom()), Teacher::getSettlementFrom,
+                            ESettlementFrom.TEACHER)
                     .set(Teacher::getTenantId, -1L));
         }
 

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

@@ -512,6 +512,7 @@ public class UserOrderServiceImpl extends ServiceImpl<UserOrderDao, UserOrder> i
                         bizInfo.setBizName(userOrderDetailVo.getGoodName());
                         bizInfo.setBizDesc(tenantAlbum.getDescribe());
                         bizInfo.setBizMusicCount(musicCountByIds.getOrDefault(tenantAlbum.getId(),0L).intValue());
+                        userOrderDetailVo.setGoodUrl(tenantAlbum.getCoverImg());
                         bizInfo.setBizValidTime(tenantAlbumContent.getBuyCycle());
                         userOrderDetailVo.setBizInfo(bizInfo);
                     }

+ 4 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/wrapper/TenantAccountRecordWrapper.java

@@ -125,6 +125,10 @@ public class TenantAccountRecordWrapper {
         @ApiModelProperty("支出")
         private BigDecimal transAmountOut = BigDecimal.ZERO;
 
+
+
+        @ApiModelProperty("支出")
+        private BigDecimal amountOut = BigDecimal.ZERO;
     }
 
 

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

@@ -63,7 +63,8 @@
             resultType="com.yonge.cooleshow.biz.dal.wrapper.TenantAccountRecordWrapper$TenantAccountRecordStat">
         SELECT
         sum(if(t.in_or_out_ = 'IN' and t.post_status_ = 'RECORDED',t.trans_amount_,0)) transAmountIn,
-        sum(if(t.in_or_out_ = 'IN' and t.post_status_ = 'WAIT',t.trans_amount_,0)) transAmountOut
+        sum(if(t.in_or_out_ = 'IN' and t.post_status_ = 'WAIT',t.trans_amount_,0)) transAmountOut,
+        sum(if(t.in_or_out_ = 'OUT' and t.post_status_ = 'RECORDED',t.trans_amount_,0)) amountOut
         FROM tenant_account_record t
         <include refid="selectSql"/>
     </select>

+ 11 - 2
cooleshow-user/user-biz/src/main/resources/config/mybatis/TenantAlbumPurchaseMapper.xml

@@ -26,12 +26,21 @@
         <include refid="baseColumns"/>,ta.name_ as tenantAlbumName,ta.cover_img_ as tenantAlbumImg
         FROM tenant_album_purchase t
         LEFT JOIN tenant_album ta on t.tenant_album_id_ = ta.id_
+        left join user_order t2 on t2.order_no_ = t.order_no_
         <where>
-        <if test="param.tenantId != null">
+            <if test="param.tenantId != null">
                 AND t.tenant_id_ = #{param.tenantId}
             </if>
             <if test="param.purchaseStatus != null and param.purchaseStatus.trim() != ''">
-                AND t.purchase_status_ = #{param.purchaseStatus}
+                <if test="param.purchaseStatus == 'WAIT_PAY'">
+                    AND t2.status_ in ( 'WAIT_PAY','PAYING')
+                </if>
+                <if test="param.purchaseStatus == 'PAID'">
+                    AND t2.status_ in ( 'PAID')
+                </if>
+                <if test="param.purchaseStatus == 'CLOSE'">
+                    AND t2.status_ in ( 'CLOSE','FAIL')
+                </if>
             </if>
         </where>
         <choose>

+ 1 - 0
cooleshow-user/user-tenant/src/main/java/com/yonge/cooleshow/tenant/controller/StudentController.java

@@ -88,6 +88,7 @@ public class StudentController extends BaseController {
         TenantInfo tenantInfo = getTenantInfo();
         query.setTenantId(tenantInfo.getId());
         query.setDelFlag(YesOrNoEnum.NO);
+        query.setLockFlag(UserLockFlag.NORMAL);
         query.setOrderBy("u.username_ asc");
 
         IPage<StudentVo> pages = studentService.selectPage(PageUtil.getPage(query), query);

+ 1 - 0
cooleshow-user/user-tenant/src/main/java/com/yonge/cooleshow/tenant/controller/TeacherController.java

@@ -79,6 +79,7 @@ public class TeacherController extends BaseController {
         TenantInfo tenantInfo = getTenantInfo();
         query.setTenantId(tenantInfo.getId());
         query.setDelFlag(YesOrNoEnum.NO);
+        query.setLockFlag(UserLockFlag.NORMAL);
         query.setOrderBy("u.username_ asc");
 
         IPage<TeacherVo> pages = teacherService.selectPage(PageUtil.getPage(query), query);

+ 6 - 0
cooleshow-user/user-tenant/src/main/java/com/yonge/cooleshow/tenant/controller/TenantInfoController.java

@@ -275,6 +275,12 @@ public class TenantInfoController extends BaseController {
                 sysUser.setAvatar(sysConfigService.findConfigValue(SysConfigConstant.DEFAULT_HEARD));
             }
 
+            // 更新用户头象
+            com.yonge.cooleshow.biz.dal.entity.SysUser updateSysUser = new com.yonge.cooleshow.biz.dal.entity.SysUser();
+            updateSysUser.setId(user.getId());
+            updateSysUser.setAvatar(sysUser.getAvatar());
+            sysUserMapper.updateById(updateSysUser);
+
             // 更新机构员工头像和昵称,机构信息表中的用户昵称
             tenantStaffService.lambdaUpdate()
                     .eq(TenantStaff::getUserId, user.getId())