소스 검색

Merge remote-tracking branch 'origin/develop' into develop

Eric 1 년 전
부모
커밋
a700737577
18개의 변경된 파일173개의 추가작업 그리고 29개의 파일을 삭제
  1. 4 0
      cooleshow-common/src/main/java/com/yonge/cooleshow/common/constant/SysConfigConstant.java
  2. 1 0
      cooleshow-common/src/main/java/com/yonge/cooleshow/common/enums/payment/EPaymentChannel.java
  3. 10 0
      cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/UnbindAuthUserController.java
  4. 10 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/PaymentMerchantConfig.java
  5. 2 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/UserOrderService.java
  6. 42 3
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/MusicAlbumServiceImpl.java
  7. 2 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/PaymentMerchantConfigServiceImpl.java
  8. 13 11
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/StudentServiceImpl.java
  9. 24 2
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/TenantAlbumServiceImpl.java
  10. 3 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/TenantUnbindRecordServiceImpl.java
  11. 6 2
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/UserOrderServiceImpl.java
  12. 2 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/UserPaymentCoreServiceImpl.java
  13. 1 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/UserPaymentOrderServiceImpl.java
  14. 31 5
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/UserTenantAlbumRecordServiceImpl.java
  15. 12 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/wrapper/TenantAlbumWrapper.java
  16. 6 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/wrapper/TenantUnbindHistoryWrapper.java
  17. 1 0
      cooleshow-user/user-biz/src/main/resources/config/mybatis/TenantAlbumMapper.xml
  18. 3 3
      toolset/toolset-base/src/main/java/com/yonge/toolset/base/util/StringUtil.java

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

@@ -386,6 +386,10 @@ public interface SysConfigConstant {
 
 
     /**
+     * 机构人员解绑手机号
+     */
+    String TENANT_USER_UNBIND_PHONE = "tenant_user_unbind_phone";
+    /**
      *  子账户创建回调url
      */
     String SUB_ACCOUNT_CREATE_CALLBACK_URL = "sub_account_create_callback_url";

+ 1 - 0
cooleshow-common/src/main/java/com/yonge/cooleshow/common/enums/payment/EPaymentChannel.java

@@ -12,6 +12,7 @@ public enum EPaymentChannel {
     ALIPAY_QR("alipay_qr", "支付宝正扫", 1),
     ALIPAY_WAP("alipay_wap", "支付宝H5支付", 1),
     WX_PUB("wx_pub", "微信公众号支付", 2),
+    WX_LITE("wx_lite", "微信小程序支付", 2),
     ;
 
     private final String msg;

+ 10 - 0
cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/UnbindAuthUserController.java

@@ -12,6 +12,7 @@ import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.collections.CollectionUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.validation.annotation.Validated;
@@ -30,6 +31,10 @@ import com.yonge.cooleshow.biz.dal.service.UnbindAuthUserService;
 import com.yonge.cooleshow.biz.dal.wrapper.UnbindAuthUserWrapper;
 import com.yonge.cooleshow.biz.dal.entity.UnbindAuthUser;
 
+import java.util.Collections;
+import java.util.List;
+import java.util.stream.Collectors;
+
 @Slf4j
 @Validated
 @RestController
@@ -57,6 +62,11 @@ public class UnbindAuthUserController {
         if (unbindAuthUser.getUserId() == null) {
             throw new BizException("用户ID不能为空");
         }
+
+        List<UnbindAuthUser> list = unbindAuthUserService.list();
+        if (!CollectionUtils.isEmpty(list)) {
+            unbindAuthUser.setId(list.get(0).getId());
+        }
         // 新增数据
         unbindAuthUserService.save(unbindAuthUser);
         

+ 10 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/PaymentMerchantConfig.java

@@ -97,6 +97,16 @@ public class PaymentMerchantConfig implements Serializable {
 	@TableField(value = "alipay_public_key_")
     private String alipayPublicKey;
 
+
+    @ApiModelProperty("小程序appId")
+    @TableField(value = "mini_app_id_")
+    private String miniAppId;
+
+    @ApiModelProperty("小程序secret")
+    @TableField(value = "mini_app_secret_")
+    private String miniAppSerret;
+
+
     @ApiModelProperty("创建时间") 
 	@TableField(value = "create_time_")
     private Date createTime;

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

@@ -229,4 +229,6 @@ public interface UserOrderService extends IService<UserOrder> {
 
     //首页支出订单详情
     PaymentDivMemberRecordWrapper.OrderDetailDto getExpendOrderDetail(String orderNo);
+
+    void testOrderSuccess(String orderNo);
 }

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

@@ -1,5 +1,6 @@
 package com.yonge.cooleshow.biz.dal.service.impl;
 
+import java.math.BigDecimal;
 import java.text.MessageFormat;
 import java.util.Arrays;
 import java.util.Date;
@@ -505,10 +506,37 @@ public class MusicAlbumServiceImpl extends ServiceImpl<MusicAlbumDao,MusicAlbum>
         //机构专辑封面
         String coverImg = tenantAlbum.getCoverImg();
         //机构专辑曲目数
-        List<TenantAlbumMusic> tenantAlbumMusiclist = tenantAlbumMusicService.lambdaQuery().eq(TenantAlbumMusic::getTenantAlbumId, tenantAlbumId).list();
+        List<TenantAlbumMusic> tenantAlbumMusiclist = tenantAlbumMusicService.lambdaQuery().eq(TenantAlbumMusic::getTenantAlbumId, tenantAlbumId)
+                .eq(TenantAlbumMusic::getDelFlag,false).list();
         List<Long> MusicSheetIds = tenantAlbumMusiclist.stream().map(TenantAlbumMusic::getMusicSheetId).collect(Collectors.toList());
         int size = MusicSheetIds.size();
 
+        //获取合奏曲目数量
+        List<TenantAlbumMusic> ensembleLits = tenantAlbumMusicService.lambdaQuery().eq(TenantAlbumMusic::getSubjectType, "ENSEMBLE")
+                .eq(TenantAlbumMusic::getTenantAlbumId, tenantAlbumId)
+                .eq(TenantAlbumMusic::getDelFlag,false).list();
+        List<Long> ensembleMusicSheetIds = ensembleLits.stream().map(TenantAlbumMusic::getMusicSheetId).collect(Collectors.toList());
+
+        album.setEnsembleCounts(ensembleMusicSheetIds.size());
+
+        //获取小曲目的曲目数量
+        List<TenantAlbumMusic> musicLists = tenantAlbumMusicService.lambdaQuery().eq(TenantAlbumMusic::getSubjectType, "MUSIC")
+                .eq(TenantAlbumMusic::getTenantAlbumId, tenantAlbumId)
+                .eq(TenantAlbumMusic::getDelFlag,false).list();
+        List<Long> musicSheetIds = musicLists.stream().map(TenantAlbumMusic::getMusicSheetId).collect(Collectors.toList());
+
+        album.setMusicCounts(musicSheetIds.size());
+
+        //获取声部的曲目数量
+        List<TenantAlbumMusic> subjectLists = tenantAlbumMusicService.lambdaQuery().eq(TenantAlbumMusic::getSubjectType, "SUBJECT")
+                .eq(TenantAlbumMusic::getTenantAlbumId, tenantAlbumId)
+                .eq(TenantAlbumMusic::getDelFlag,false).list();
+        List<Long> subjectSheetIds = subjectLists.stream().map(TenantAlbumMusic::getMusicSheetId).collect(Collectors.toList());
+
+        album.setSubjectCounts(subjectSheetIds.size());
+
+
+
         //Integer musicNum = tenantAlbum.getMusicNum();
         //机构专辑简介
         String describe = tenantAlbum.getDescribe();
@@ -566,7 +594,8 @@ public class MusicAlbumServiceImpl extends ServiceImpl<MusicAlbumDao,MusicAlbum>
         //机构专辑封面
         String coverImg = tenantAlbum.getCoverImg();
         //机构专辑曲目数
-        List<TenantAlbumMusic> tenantAlbumMusiclist = tenantAlbumMusicService.lambdaQuery().eq(TenantAlbumMusic::getTenantAlbumId, tenantAlbumId).list();
+        List<TenantAlbumMusic> tenantAlbumMusiclist = tenantAlbumMusicService.lambdaQuery().eq(TenantAlbumMusic::getTenantAlbumId, tenantAlbumId)
+                .eq(TenantAlbumMusic::getDelFlag,false).list();
         List<Long> MusicSheetIds = tenantAlbumMusiclist.stream().map(TenantAlbumMusic::getMusicSheetId).collect(Collectors.toList());
         int size = MusicSheetIds.size();
 
@@ -575,12 +604,22 @@ public class MusicAlbumServiceImpl extends ServiceImpl<MusicAlbumDao,MusicAlbum>
         String describe = tenantAlbum.getDescribe();
         //声部
         String subjectTypes = tenantAlbum.getSubjectTypes();
-
+        //原价
+        BigDecimal costPrice = tenantAlbum.getCostPrice();
+        //售价
+        BigDecimal salePrice = tenantAlbum.getSalePrice();
+        //周期
+        Integer purchaseCycle = tenantAlbum.getPurchaseCycle();
+
+        album.setId(String.valueOf(tenantAlbum.getId()));
         album.setName(name);
         album.setCoverImg(coverImg);
         album.setMusicNum(size);
         album.setDescribe(describe);
         album.setSubjectTypes(subjectTypes);
+        album.setCostPrice(costPrice);
+        album.setPurchaseCycle(purchaseCycle);
+        album.setSalePrice(salePrice);
         return album;
     }
 

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

@@ -80,6 +80,8 @@ public class PaymentMerchantConfigServiceImpl extends ServiceImpl<PaymentMerchan
                 yeepayPayConfig.setAlipayAppId(config.getAlipayAppId());
                 yeepayPayConfig.setAlipayPrivateKey(config.getAlipayPrivateKey());
                 yeepayPayConfig.setAlipayPublicKey(config.getAlipayPublicKey());
+                yeepayPayConfig.setMiniAppId(config.getMiniAppId());
+                yeepayPayConfig.setMiniAppSecret(config.getMiniAppSerret());
                 YeepayPaymentServicePlugin plugin;
                 try {
                     plugin = new YeepayPaymentServicePlugin(config.getPaymentVendor(), yeepayPayConfig, false);

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

@@ -499,17 +499,19 @@ public class StudentServiceImpl extends ServiceImpl<StudentDao, Student> impleme
         if (student.getTenantId().equals(toTenantId)) {
             return;
         }
-        List<ImGroupMember> groupMembers = imGroupMemberService.lambdaQuery()
-                .eq(ImGroupMember::getUserId, student.getUserId())
-                .eq(ImGroupMember::getRoleType, ClientEnum.STUDENT.getCode())
-                .eq(ImGroupMember::getIsAdmin, false).list();
-        List<String> groupIdList = groupMembers.stream().map(ImGroupMember::getGroupId).distinct()
-                .collect(Collectors.toList());
-        for (String groupId : groupIdList) {
-            try {
-                imGroupService.quit(groupId, student.getUserId(), ClientEnum.STUDENT);
-            } catch (Exception e) {
-                log.error("退出群聊失败", e);
+        if (!student.getTenantId().equals(-1L)) {
+            List<ImGroupMember> groupMembers = imGroupMemberService.lambdaQuery()
+                    .eq(ImGroupMember::getUserId, student.getUserId())
+                    .eq(ImGroupMember::getRoleType, ClientEnum.STUDENT.getCode())
+                    .eq(ImGroupMember::getIsAdmin, false).list();
+            List<String> groupIdList = groupMembers.stream().map(ImGroupMember::getGroupId).distinct()
+                    .collect(Collectors.toList());
+            for (String groupId : groupIdList) {
+                try {
+                    imGroupService.quit(groupId, student.getUserId(), ClientEnum.STUDENT);
+                } catch (Exception e) {
+                    log.error("退出群聊失败", e);
+                }
             }
         }
         this.lambdaUpdate().set(Student::getTenantId, toTenantId)

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

@@ -3,6 +3,7 @@ package com.yonge.cooleshow.biz.dal.service.impl;
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.IdWorker;
+import com.baomidou.mybatisplus.extension.service.additional.query.impl.LambdaQueryChainWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
 import com.yonge.cooleshow.biz.dal.entity.*;
@@ -92,7 +93,27 @@ public class TenantAlbumServiceImpl extends ServiceImpl<TenantAlbumMapper, Tenan
     @Override
     public IPage<TenantAlbumWrapper.TenantAlbum> selectPage(IPage<TenantAlbumWrapper.TenantAlbum> page,
                                                             TenantAlbumWrapper.TenantAlbumQuery query) {
-        return page.setRecords(baseMapper.selectPage(page, query));
+        //查询机构专辑表数据
+        List<TenantAlbumWrapper.TenantAlbum> tenantAlbums = baseMapper.selectPage(page, query);
+
+        if (CollectionUtils.isNotEmpty(tenantAlbums)){
+            tenantAlbums.stream().forEach(t->{
+                if (t.getMusicNum() == null){
+                    //获取每一个机构专辑Id
+                    String id = t.getId();
+                    //查询机构专辑曲目表里  所对应的曲目数
+                    List<TenantAlbumMusic> list = tenantAlbumMusicService.lambdaQuery().eq(TenantAlbumMusic::getTenantAlbumId, id).eq(TenantAlbumMusic::getDelFlag,false).list();
+                    //获取曲目数量
+                    List<Long> MusicList = list.stream().map(TenantAlbumMusic::getMusicSheetId).collect(Collectors.toList());
+                    int num = MusicList.size();
+                    t.setMusicNum(num);
+                }
+            });
+
+        }
+
+
+        return page.setRecords(tenantAlbums);
     }
 
     /**
@@ -275,7 +296,8 @@ public class TenantAlbumServiceImpl extends ServiceImpl<TenantAlbumMapper, Tenan
                     tenantActivationCode.setTenantId(tenantAlbumContent.getTenantId());
                     tenantActivationCode.setTenantAlbumId(tenantAlbumContent.getTenantAlbumId());
                     tenantActivationCode.setTenantAlbumPurchaseId(tenantAlbumPurchase.getId());
-                    long l = Long.parseLong(new Date().getTime() + i + String.valueOf(tenantAlbumPurchase.getId()));
+                    String s = String.valueOf(tenantAlbumPurchase.getId());
+                    long l = Long.parseLong(new Date().getTime() + i + s.substring(s.length()-6));
                     tenantActivationCode.setActivationCode(StringUtil.DeciamlToThirtySix(l,7));
 //                    tenantActivationCode.setActivationCode(IdWorker.get32UUID());
                     tenantActivationCode.setSendStatus(EActivationCode.WAIT);

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

@@ -280,11 +280,13 @@ public class TenantUnbindRecordServiceImpl extends ServiceImpl<TenantUnbindRecor
     @Override
     public void sendPlatformAuditMessage() {
         String configValue = sysConfigService.findConfigValue(SysConfigConstant.TENANT_USER_UNBIND_EXPIRE_TIME);
+        String unBindPhone = sysConfigService.findConfigValue(SysConfigConstant.TENANT_USER_UNBIND_PHONE);
         // 默认5天
         long expireTime = 5L;
         try {
             expireTime = Long.parseLong(configValue);
         } catch (Exception e) {
+            expireTime = 5L;
         }
         // 查询机构超出5天未处理的解绑申请
         Integer count = tenantUnbindRecordService.lambdaQuery()
@@ -308,7 +310,7 @@ public class TenantUnbindRecordServiceImpl extends ServiceImpl<TenantUnbindRecor
                     continue;
                 }
                 Map<Long, String> receivers = new HashMap<>();
-                receivers.put(unbindAuthUser.getUserId(), sysUser.getPhone());
+                receivers.put(unbindAuthUser.getUserId(), unBindPhone);
                 sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.AWSMS,
                         MessageTypeEnum.PLATFORM_AUDIT_UNBIND,
                         receivers, null, 0, null, ClientEnum.SYSTEM.getCode(), count, finalExpireTime);

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

@@ -141,6 +141,9 @@ public class UserOrderServiceImpl extends ServiceImpl<UserOrderDao, UserOrder> i
     @Autowired
     private MusicAlbumService musicAlbumService;
 
+    @Autowired
+    private UserOrderService userOrderService;
+
     //验证订单是否可以下单,获取订单金额信息
     private static final Map<GoodTypeEnum, Function<OrderReq.OrderReqInfo, HttpResponseResult<OrderCreateRes>>> orderCreate = new HashMap<>();
     //插入订单后执行
@@ -282,7 +285,7 @@ public class UserOrderServiceImpl extends ServiceImpl<UserOrderDao, UserOrder> i
 
 
     @Override
-    @Transactional(rollbackFor = Exception.class)
+//    @Transactional(rollbackFor = Exception.class)
     public void setSuccessStatus() {
         OrderSearch query = new OrderSearch();
         query.setPaymentVersion(EPaymentVersion.V1);
@@ -291,7 +294,7 @@ public class UserOrderServiceImpl extends ServiceImpl<UserOrderDao, UserOrder> i
          for (UserOrderVo userOrderVo : userOrderVos) {
              DistributedLock.of(redissonClient)
                      .runIfLockCanGet(CacheNameEnum.LOCK_EXECUTE_ORDER.getRedisKey(userOrderVo.getOrderNo())
-                             , () -> testOrderSuccess(userOrderVo.getOrderNo()), 60L, TimeUnit.SECONDS);
+                             , () -> userOrderService.testOrderSuccess(userOrderVo.getOrderNo()), 60L, TimeUnit.SECONDS);
         }
 
         query.setPaymentVersion(EPaymentVersion.V2);
@@ -1312,6 +1315,7 @@ public class UserOrderServiceImpl extends ServiceImpl<UserOrderDao, UserOrder> i
         return BigDecimal.ZERO;
     }
 
+    @Override
     @Transactional(rollbackFor = Exception.class)
     public void testOrderSuccess(String orderNo) {
         if (StringUtil.isEmpty(orderNo)) {

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

@@ -747,7 +747,8 @@ public class UserPaymentCoreServiceImpl implements UserPaymentCoreService {
         }
 
         // 微信支付,需要校验code值是否为空
-        if (EPaymentChannel.WX_PUB.getCode().equals(reqConfig.getPaymentChannel())
+        if ((EPaymentChannel.WX_PUB.getCode().equals(reqConfig.getPaymentChannel())
+                ||EPaymentChannel.WX_LITE.getCode().equals(reqConfig.getPaymentChannel()))
             && StringUtils.isBlank(reqConfig.getCode())) {
             throw new BizException("微信支付code值为空");
         }

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

@@ -173,7 +173,7 @@ public class UserPaymentOrderServiceImpl  implements UserPaymentOrderService {
             throw new BizException("支付方式不支持");
         }
 
-        UserOrderPayment newestPayment = userOrderPaymentService.getNewestPayment(order.getTransNo(), userOrder.getOrderNo());
+        UserOrderPayment newestPayment = userOrderPaymentService.getNewestPayment(order.getTransNo(), order1.getOrderNo());
         if (newestPayment == null) {
             newestPayment = new UserOrderPayment();
         }

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

@@ -104,10 +104,11 @@ public class UserTenantAlbumRecordServiceImpl extends ServiceImpl<UserTenantAlbu
                         .last("limit 1").one();
                 vo.setTenantId(one.getTenantId().toString());
 
-                //查询曲目表
+
                 TenantInfo tenantInfo = tenantInfoService.getById(one.getTenantId());
                 vo.setTenantName(tenantInfo.getName());
-
+                vo.setTenantImg(tenantInfo.getLogo());
+                //查询机构专辑曲目表
                 List<TenantAlbumMusic> tenantAlbumMusics = tenantAlbumMusicService.lambdaQuery()
                         .eq(TenantAlbumMusic::getTenantAlbumId, i.getId())
                         .eq(TenantAlbumMusic::getDelFlag, false)
@@ -137,7 +138,7 @@ public class UserTenantAlbumRecordServiceImpl extends ServiceImpl<UserTenantAlbu
                     List<TenantAlbumWrapper.TenantAlbumSheet> tenantAlbumSheets = value.stream().map(next -> {
 
                         TenantAlbumWrapper.TenantAlbumSheet tenantAlbumSheet = new TenantAlbumWrapper.TenantAlbumSheet();
-                        BeanUtils.copyProperties(value.get(0), tenantAlbumSheet);
+                        BeanUtils.copyProperties(next, tenantAlbumSheet);
                         Long musicSheetId = tenantAlbumSheet.getMusicSheetId();
                         MusicSheetVo musicSheet = idMsMap.getOrDefault(musicSheetId, new MusicSheetVo());
                         tenantAlbumSheet.setMusicSheetName(musicSheet.getMusicSheetName());
@@ -271,11 +272,36 @@ public class UserTenantAlbumRecordServiceImpl extends ServiceImpl<UserTenantAlbu
         //机构专辑封面
         String coverImg = tenantAlbum.getCoverImg();
         //机构专辑曲目数
-        List<TenantAlbumMusic> tenantAlbumMusiclist = tenantAlbumMusicService.lambdaQuery().eq(TenantAlbumMusic::getTenantAlbumId, tenantAlbumId).list();
+        List<TenantAlbumMusic> tenantAlbumMusiclist = tenantAlbumMusicService.lambdaQuery().eq(TenantAlbumMusic::getTenantAlbumId, tenantAlbumId).eq(TenantAlbumMusic::getDelFlag,false).list();
         List<Long> MusicSheetIds = tenantAlbumMusiclist.stream().map(TenantAlbumMusic::getMusicSheetId).collect(Collectors.toList());
         int size = MusicSheetIds.size();
-
         //Integer musicNum = tenantAlbum.getMusicNum();
+
+        //获取合奏曲目数量
+        List<TenantAlbumMusic> ensembleLits = tenantAlbumMusicService.lambdaQuery().eq(TenantAlbumMusic::getSubjectType, "ENSEMBLE")
+                .eq(TenantAlbumMusic::getTenantAlbumId, tenantAlbumId)
+                .eq(TenantAlbumMusic::getDelFlag,false).list();
+        List<Long> ensembleMusicSheetIds = ensembleLits.stream().map(TenantAlbumMusic::getMusicSheetId).collect(Collectors.toList());
+
+        album.setEnsembleCounts(ensembleMusicSheetIds.size());
+
+        //获取小曲目的曲目数量
+        List<TenantAlbumMusic> musicLists = tenantAlbumMusicService.lambdaQuery().eq(TenantAlbumMusic::getSubjectType, "MUSIC")
+                .eq(TenantAlbumMusic::getTenantAlbumId, tenantAlbumId)
+                .eq(TenantAlbumMusic::getDelFlag,false).list();
+        List<Long> musicSheetIds = musicLists.stream().map(TenantAlbumMusic::getMusicSheetId).collect(Collectors.toList());
+
+        album.setMusicCounts(musicSheetIds.size());
+
+        //获取声部的曲目数量
+        List<TenantAlbumMusic> subjectLists = tenantAlbumMusicService.lambdaQuery().eq(TenantAlbumMusic::getSubjectType, "SUBJECT")
+                .eq(TenantAlbumMusic::getTenantAlbumId, tenantAlbumId)
+                .eq(TenantAlbumMusic::getDelFlag,false).list();
+        List<Long> subjectSheetIds = subjectLists.stream().map(TenantAlbumMusic::getMusicSheetId).collect(Collectors.toList());
+
+        album.setSubjectCounts(subjectSheetIds.size());
+
+
         //机构专辑简介
         String describe = tenantAlbum.getDescribe();
         //声部

+ 12 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/wrapper/TenantAlbumWrapper.java

@@ -82,6 +82,9 @@ public class TenantAlbumWrapper {
         @ApiModelProperty("机构名称")
         private String tenantName;
 
+        @ApiModelProperty("机构封面")
+        private String tenantImg;
+
         @ApiModelProperty("专辑介绍")
         private String describe;
 
@@ -124,6 +127,15 @@ public class TenantAlbumWrapper {
         @ApiModelProperty("是否已经购买")
         private Boolean ifBuy;
 
+        @ApiModelProperty("合奏曲目数量")
+        private Integer EnsembleCounts;
+
+        @ApiModelProperty("小曲目数量")
+        private Integer MusicCounts;
+
+        @ApiModelProperty("声部曲目数")
+        private Integer SubjectCounts;
+
         @ApiModelProperty("曲目相关信息")
         private List<MusicSheetData> musicSheetData = new ArrayList<>();
 

+ 6 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/wrapper/TenantUnbindHistoryWrapper.java

@@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
+import com.fasterxml.jackson.annotation.JsonFormat;
 import com.microsvc.toolkit.common.response.paging.QueryInfo;
 import com.yonge.cooleshow.common.enums.ETenantUnBindAuditStatus;
 import io.swagger.annotations.ApiModel;
@@ -17,6 +18,7 @@ import lombok.Builder;
 import lombok.Data;
 import lombok.NoArgsConstructor;
 import org.apache.commons.lang3.StringUtils;
+import org.springframework.format.annotation.DateTimeFormat;
 
 /**
  * 机构解绑历史表
@@ -102,9 +104,13 @@ public class TenantUnbindHistoryWrapper {
         private String reason;
 
         @ApiModelProperty("后台介入时间")
+        @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+        @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
         private Date interveneTime;
 
         @ApiModelProperty("创建时间")
+        @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+        @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
         private Date createTime;
 
         public String jsonString() {

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

@@ -35,5 +35,6 @@
                 and i.id_= #{param.tenantId}
             </if>
         </where>
+        order by t.create_time_ DESC
     </select>
 </mapper>

+ 3 - 3
toolset/toolset-base/src/main/java/com/yonge/toolset/base/util/StringUtil.java

@@ -391,13 +391,13 @@ public class StringUtil {
 
         int i = 0;
         int num = 10;
-        int second = LocalDateTime.now().getSecond();
+        long second = new Date().getTime();
         Random random = new Random();
-        int id = 100006;
+        String id = "100000006";
 
         for (int i1 = 0; i1 < num; i1++) {
             second = second + i1;
-            String s = DeciamlToThirtySix(Long.parseLong(second + String.valueOf(id)),7);
+            String s = DeciamlToThirtySix(Long.parseLong(second + id.substring(id.length()-6)),7);
             System.out.println(s);
         }
     }