weifanli il y a 3 ans
Parent
commit
3fcc496eb0
16 fichiers modifiés avec 261 ajouts et 83 suppressions
  1. 14 7
      cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/HomeController.java
  2. 2 2
      cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/UserWithdrawalController.java
  3. 8 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/MusicSheetDao.java
  4. 41 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dto/req/HomeTotalReq.java
  5. 4 5
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/VipCard.java
  6. 6 6
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/enums/TimeTypeEnum.java
  7. 11 2
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/HomeService.java
  8. 7 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/MusicSheetService.java
  9. 17 7
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/HomeServiceImpl.java
  10. 5 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/MusicSheetServiceImpl.java
  11. 20 16
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/UserOrderServiceImpl.java
  12. 2 2
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/UserWithdrawalServiceImpl.java
  13. 4 11
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/VipCardServiceImpl.java
  14. 93 24
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/HomeTotalVo.java
  15. 4 0
      cooleshow-user/user-biz/src/main/resources/config/mybatis/MusicSheetMapper.xml
  16. 23 1
      cooleshow-user/user-biz/src/main/resources/config/mybatis/UserOrderMapper.xml

+ 14 - 7
cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/HomeController.java

@@ -2,6 +2,7 @@ package com.yonge.cooleshow.admin.controller;
 
 import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
 import com.yonge.cooleshow.auth.api.entity.SysUser;
+import com.yonge.cooleshow.biz.dal.dto.req.HomeTotalReq;
 import com.yonge.cooleshow.biz.dal.entity.Subject;
 import com.yonge.cooleshow.biz.dal.service.HomeService;
 import com.yonge.cooleshow.biz.dal.vo.HomeTotalVo;
@@ -13,6 +14,8 @@ import org.springframework.http.HttpStatus;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
 
+import javax.validation.Valid;
+
 @RestController
 @RequestMapping("/home")
 @Api(value = "首页", tags = "首页")
@@ -23,14 +26,18 @@ public class HomeController extends BaseController {
     private SysUserFeignService sysUserFeignService;
 
     @ApiOperation(value = "查询用户待办事项数")
-    @GetMapping("/getUserToDoNum")
+    @PostMapping("/getUserToDoNum")
     @PreAuthorize("@pcs.hasPermissions('home/getUserToDoNum')")
-    public HttpResponseResult<HomeTotalVo> getUserToDoNum() {
-        SysUser user = sysUserFeignService.queryUserInfo();
-        if (user == null || null == user.getId()) {
-            return failed(HttpStatus.FORBIDDEN, "请登录");
-        }
-        return succeed(homeService.getUserToDoNum(user.getId()));
+    public HttpResponseResult<HomeTotalVo.UserToDoNum> getUserToDoNum() {
+        return succeed(homeService.getUserToDoNum());
+    }
+
+    @ApiOperation(value = "老师数据统计")
+    @PostMapping("/totalTeacher")
+    @PreAuthorize("@pcs.hasPermissions('home/totalTeacher')")
+    public HttpResponseResult<HomeTotalVo.TotalTeacher> totalTeacher(@Valid @RequestBody HomeTotalReq totalReq) {
+        return succeed(homeService.totalTeacher(totalReq));
     }
 
+
 }

+ 2 - 2
cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/UserWithdrawalController.java

@@ -75,8 +75,8 @@ public class UserWithdrawalController extends BaseController {
                 BeanUtils.copyProperties(export, o);
                 StringBuffer buffer = new StringBuffer(export.getId().toString());
                 buffer.append(export.getUserId());
-                buffer.append(export.getAmount().setScale(2));
-                buffer.append(export.getActualAmount().setScale(2));
+                buffer.append(export.getAmount().setScale(2, RoundingMode.HALF_UP));
+                buffer.append(export.getActualAmount().setScale(2, RoundingMode.HALF_UP));
                 String s = DigestUtils.md5DigestAsHex(buffer.toString().getBytes());
                 export.setSign(s);
                 list.add(export);

+ 8 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/MusicSheetDao.java

@@ -109,4 +109,12 @@ public interface MusicSheetDao extends BaseMapper<MusicSheet> {
      */
     List<TeacherMusicSheetVo> selectAuditPage(@Param("page") IPage<TeacherMusicSheetVo> page, @Param(
             "param") TeacherMusicSheetAuditSearch query);
+
+    /***
+     * 查询待处理的记录数
+     * @author liweifan
+     * @updateTime 2022/3/30 18:45
+     * @return: java.lang.Integer
+     */
+    Integer getUserToDoNum();
 }

+ 41 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dto/req/HomeTotalReq.java

@@ -0,0 +1,41 @@
+package com.yonge.cooleshow.biz.dal.dto.req;
+
+import com.yonge.cooleshow.biz.dal.enums.TimeTypeEnum;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+
+/**
+ * @Author: liweifan
+ * @Data: 2022/4/7 15:07
+ */
+@ApiModel(value = "HomeTotalReq对象", description = "首页统计查询对象")
+public class HomeTotalReq {
+
+    @NotNull(message = "时间类型不能为空")
+    @ApiModelProperty("时间类型 MONTH、月度  YEAR、年度")
+    private TimeTypeEnum timeType;
+    @NotBlank(message = "时间不能为空")
+    @ApiModelProperty("时间 yyyy | yyyy-MM")
+    private String dateTime;
+
+
+
+    public TimeTypeEnum getTimeType() {
+        return timeType;
+    }
+
+    public void setTimeType(TimeTypeEnum timeType) {
+        this.timeType = timeType;
+    }
+
+    public String getDateTime() {
+        return dateTime;
+    }
+
+    public void setDateTime(String dateTime) {
+        this.dateTime = dateTime;
+    }
+}

+ 4 - 5
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/VipCard.java

@@ -1,10 +1,9 @@
 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 com.baomidou.mybatisplus.annotation.TableName;
-import com.yonge.cooleshow.biz.dal.enums.VipTimeTypeEnum;
+import com.yonge.cooleshow.biz.dal.enums.TimeTypeEnum;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 
@@ -29,7 +28,7 @@ public class VipCard implements Serializable {
     @ApiModelProperty("时长类型:MONTH、月卡 QUARTER、季卡 YEAR、年卡 ")
 	@TableField(value = "time_type_")
     @NotNull(message = "时长类型不能为空")
-    private VipTimeTypeEnum timeType;
+    private TimeTypeEnum timeType;
     @ApiModelProperty("原价 ")
 	@TableField(value = "original_price_")
     @NotNull(message = "原价不能为空")
@@ -63,11 +62,11 @@ public class VipCard implements Serializable {
         this.id = id;
     }
 
-    public VipTimeTypeEnum getTimeType() {
+    public TimeTypeEnum getTimeType() {
         return timeType;
     }
 
-    public void setTimeType(VipTimeTypeEnum timeType) {
+    public void setTimeType(TimeTypeEnum timeType) {
         this.timeType = timeType;
     }
 

+ 6 - 6
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/enums/VipTimeTypeEnum.java → cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/enums/TimeTypeEnum.java

@@ -4,19 +4,19 @@ import com.baomidou.mybatisplus.annotation.EnumValue;
 import com.yonge.cooleshow.common.enums.BaseEnum;
 
 /**
- * 会员卡
+ * 时间枚举
  * @Author: liweifan
  * @Data: 2022/4/13 14:22
  */
-public enum VipTimeTypeEnum implements BaseEnum<String, VipTimeTypeEnum> {
-    MONTH("月"),
-    QUARTER("季"),
-    YEAR("年");
+public enum TimeTypeEnum implements BaseEnum<String, TimeTypeEnum> {
+    MONTH("月"),
+    QUARTER("季"),
+    YEAR("年");
     @EnumValue
     private String code;
     private String msg;
 
-    VipTimeTypeEnum(String msg) {
+    TimeTypeEnum(String msg) {
         this.code = this.name();
         this.msg = msg;
     }

+ 11 - 2
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/HomeService.java

@@ -1,5 +1,6 @@
 package com.yonge.cooleshow.biz.dal.service;
 
+import com.yonge.cooleshow.biz.dal.dto.req.HomeTotalReq;
 import com.yonge.cooleshow.biz.dal.vo.HomeTotalVo;
 
 /**
@@ -10,9 +11,17 @@ public interface HomeService {
     /***
      * 查询首页待办事项
      * @author liweifan
-     * @param: id
      * @updateTime 2022/3/30 18:10
      * @return: com.yonge.cooleshow.biz.dal.vo.HomeTotalVo
      */
-    HomeTotalVo getUserToDoNum(Long id);
+    HomeTotalVo.UserToDoNum getUserToDoNum();
+
+    /***
+     * 统计老师数据
+     * @author liweifan
+     * @param: totalReq
+     * @updateTime 2022/4/20 17:00
+     * @return: com.yonge.cooleshow.biz.dal.vo.HomeTotalVo.TotalTeacher
+     */
+    HomeTotalVo.TotalTeacher totalTeacher(HomeTotalReq totalReq);
 }

+ 7 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/MusicSheetService.java

@@ -165,4 +165,11 @@ public interface MusicSheetService extends IService<MusicSheet> {
      * @return
      */
     Integer countTeacherMusicSheet(SysUser sysUser);
+    /***
+     * 查询待处理的记录数
+     * @author liweifan
+     * @updateTime 2022/3/30 18:41
+     * @return: java.lang.Integer
+     */
+    Integer getUserToDoNum();
 }

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

@@ -1,5 +1,6 @@
 package com.yonge.cooleshow.biz.dal.service.impl;
 
+import com.yonge.cooleshow.biz.dal.dto.req.HomeTotalReq;
 import com.yonge.cooleshow.biz.dal.service.HomeService;
 import com.yonge.cooleshow.biz.dal.service.MusicSheetService;
 import com.yonge.cooleshow.biz.dal.service.TeacherAuthEntryRecordService;
@@ -21,15 +22,24 @@ public class HomeServiceImpl implements HomeService {
     @Autowired
     private MusicSheetService musicSheetService;
     @Override
-    public HomeTotalVo getUserToDoNum(Long id) {
+    public HomeTotalVo.UserToDoNum getUserToDoNum() {
         Integer entryNum = entryRecordService.getUserToDoNum();
         Integer musicianNum = musicianRecordService.getUserToDoNum();
+        Integer musicNum = musicSheetService.getUserToDoNum();
 
-        HomeTotalVo homeTotalVo = new HomeTotalVo();
-        homeTotalVo.setEntryNum(entryNum);
-        homeTotalVo.setMusicianNum(musicianNum);
-        //todo 待审乐谱
-        homeTotalVo.setMusicNum(0);
-        return homeTotalVo;
+        HomeTotalVo.UserToDoNum userToDoNum = new HomeTotalVo.UserToDoNum();
+        userToDoNum.setEntryNum(entryNum);
+        userToDoNum.setMusicianNum(musicianNum);
+        userToDoNum.setMusicNum(musicNum);
+        return userToDoNum;
+    }
+
+    @Override
+    public HomeTotalVo.TotalTeacher totalTeacher(HomeTotalReq totalReq) {
+
+        /*if(){
+
+        }*/
+        return null;
     }
 }

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

@@ -271,4 +271,9 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao,MusicSheet>
                 .eq(MusicSheet::getDelFlag,YesOrNoEnum.NO)
                 .count();
     }
+
+    @Override
+    public Integer getUserToDoNum() {
+        return baseMapper.getUserToDoNum();
+    }
 }

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

@@ -112,7 +112,12 @@ public class UserOrderServiceImpl extends ServiceImpl<UserOrderDao, UserOrder> i
     public UserOrderVo detailApp(Long id) {
         UserOrderVo userOrderVo = baseMapper.detailApp(id);
         if (null != userOrderVo) {
-            userOrderVo.setOrderDetailList(orderDetailService.getOrderDetilListByOrderNo(userOrderVo.getOrderNo()));
+            List<UserOrderDetailVo> orderDetilList = orderDetailService.getOrderDetilListByOrderNo(userOrderVo.getOrderNo());
+            orderDetilList.forEach(o -> {
+                o.setPlantformFee(null);
+                o.setPlantformFeeRate(null);
+            });
+            userOrderVo.setOrderDetailList(orderDetilList);
         }
         return userOrderVo;
     }
@@ -221,7 +226,6 @@ public class UserOrderServiceImpl extends ServiceImpl<UserOrderDao, UserOrder> i
     }
 
 
-
     /***
      * 处理支付失败订单
      * @author liweifan
@@ -303,7 +307,7 @@ public class UserOrderServiceImpl extends ServiceImpl<UserOrderDao, UserOrder> i
         HttpResponseResult<Map<String, Object>> responseResult = paymentSdk.executePayment(paymentReq);
         if (responseResult.getStatus()) {
             OrderPayRes orderPayRes = new OrderPayRes();
-            orderPayRes.setPay_amt(detail.getActualPrice().setScale(2).toString());
+            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);
 
@@ -336,7 +340,7 @@ public class UserOrderServiceImpl extends ServiceImpl<UserOrderDao, UserOrder> i
             Map<String, Object> res = responseResult.getData();
             orderPayment.setTransNo(res.get("id").toString());
             orderPayment.setPayAmt(
-                    new BigDecimal(res.get("pay_amt").toString()).setScale(2)
+                    new BigDecimal(res.get("pay_amt").toString()).setScale(2, RoundingMode.HALF_UP)
             );
             String pay_info = ((JSONObject) res.get("expend")).getString("pay_info");
             orderPayment.setPayInfo(pay_info);
@@ -388,9 +392,9 @@ public class UserOrderServiceImpl extends ServiceImpl<UserOrderDao, UserOrder> i
         userOrder.setStatus(OrderStatusEnum.WAIT_PAY);
         userOrder.setUserNote(orderReq.getUserNote());
         userOrder.setCreateTime(new Date());
-        userOrder.setOriginalPrice(new BigDecimal(0));
-        userOrder.setExpectPrice(new BigDecimal(0));
-        userOrder.setPlantformFee(new BigDecimal(0));
+        userOrder.setOriginalPrice(BigDecimal.ZERO);
+        userOrder.setExpectPrice(BigDecimal.ZERO);
+        userOrder.setPlantformFee(BigDecimal.ZERO);
         List<UserOrderDetailVo> orderDetailList = new ArrayList<>();
         for (OrderCreateRes res : resList) {
 
@@ -400,13 +404,13 @@ public class UserOrderServiceImpl extends ServiceImpl<UserOrderDao, UserOrder> i
             orderDetail.setGoodType(res.getGoodType());
             orderDetail.setBizId(res.getBizId());
             orderDetail.setBizContent(res.getBizContent());
-            orderDetail.setOriginalPrice(null != res.getOriginalPrice() ? res.getOriginalPrice() : new BigDecimal(0));
-            orderDetail.setExpectPrice(null != res.getExpectPrice() ? res.getExpectPrice() : new BigDecimal(0));
+            orderDetail.setOriginalPrice(null != res.getOriginalPrice() ? res.getOriginalPrice() : BigDecimal.ZERO);
+            orderDetail.setExpectPrice(null != res.getExpectPrice() ? res.getExpectPrice() : BigDecimal.ZERO);
             orderDetail.setGoodNum(null != res.getGoodNum() ? res.getGoodNum() : 1);
             //商品单价计算,使用商品原价计算,退费计算公式(退费金额=实际订单金额-(商品单价 * 已经使用商品数))
             //其中,已经使用的商品单价按照原价算
             orderDetail.setGoodPrice(
-                    orderDetail.getOriginalPrice().divide(new BigDecimal(orderDetail.getGoodNum()),2, RoundingMode.HALF_UP));
+                    orderDetail.getOriginalPrice().divide(new BigDecimal(orderDetail.getGoodNum()), 2, RoundingMode.HALF_UP));
             //平台服务费
             BigDecimal serviceFeeRate = getServiceFeeRate(res.getGoodType());
             orderDetail.setPlantformFee(userOrder.getExpectPrice().multiply(serviceFeeRate));
@@ -414,8 +418,8 @@ public class UserOrderServiceImpl extends ServiceImpl<UserOrderDao, UserOrder> i
             orderDetail.setBizParam(res.getBizParam());
             orderDetail.setCreateTime(new Date());
 
-            orderReq.getOrderInfos().forEach(o->{
-                if(o.getGoodType().equals(res.getGoodType())){
+            orderReq.getOrderInfos().forEach(o -> {
+                if (o.getGoodType().equals(res.getGoodType())) {
                     orderDetail.setGoodName(o.getGoodName());
                 }
             });
@@ -430,11 +434,11 @@ public class UserOrderServiceImpl extends ServiceImpl<UserOrderDao, UserOrder> i
         }
 
         //todo 优惠券优惠金额,暂时为0
-        BigDecimal couponAmount = new BigDecimal(0);
-        userOrder.setActualPrice(userOrder.getExpectPrice().subtract(couponAmount).setScale(2));
+        BigDecimal couponAmount = BigDecimal.ZERO;
+        userOrder.setActualPrice(userOrder.getExpectPrice().subtract(couponAmount).setScale(2, RoundingMode.HALF_UP));
         userOrder.setCouponAmount(couponAmount);
         if (userOrder.getActualPrice().subtract(orderReq.getActualPrice()).abs()
-                .compareTo(new BigDecimal(0.01)) > 0) {
+                .compareTo(new BigDecimal("0.01")) > 0) {
             throw new BizException("交易金额异常");
         }
 
@@ -472,7 +476,7 @@ public class UserOrderServiceImpl extends ServiceImpl<UserOrderDao, UserOrder> i
         } else if (GoodTypeEnum.MUSIC.equals(goodTypeEnum)) {
             configValue = sysConfigService.findConfigValue(SysConfigConstant.MUSIC_SHEET_SERVICE_FEE);
         }
-        return new BigDecimal(configValue).divide(new BigDecimal(100));
+        return new BigDecimal(configValue).divide(new BigDecimal("100"), 2, RoundingMode.HALF_UP);
     }
 
     /***

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

@@ -143,8 +143,8 @@ public class UserWithdrawalServiceImpl extends ServiceImpl<UserWithdrawalDao, Us
             UserWithdrawalExport data = dataReaderProperty.getClazz();
             StringBuffer buffer = new StringBuffer(data.getId().toString());
             buffer.append(data.getUserId());
-            buffer.append(data.getAmount().setScale(2));
-            buffer.append(data.getActualAmount().setScale(2));
+            buffer.append(data.getAmount().setScale(2, RoundingMode.HALF_UP));
+            buffer.append(data.getActualAmount().setScale(2, RoundingMode.HALF_UP));
             String sign = DigestUtils.md5DigestAsHex(buffer.toString().getBytes());
             if (!data.getSign().equals(sign)) {
                 errMsgList.add(new ErrMsg(dataReaderProperty.getRowIndex(), "验签失败"));

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

@@ -1,22 +1,16 @@
 package com.yonge.cooleshow.biz.dal.service.impl;
 
-import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.fasterxml.jackson.annotation.JsonFormat;
 import com.yonge.cooleshow.biz.dal.dto.req.OrderReq;
 import com.yonge.cooleshow.biz.dal.entity.VipCardRecord;
-import com.yonge.cooleshow.biz.dal.enums.OrderTypeEnum;
-import com.yonge.cooleshow.biz.dal.enums.VipTimeTypeEnum;
+import com.yonge.cooleshow.biz.dal.enums.TimeTypeEnum;
 import com.yonge.cooleshow.biz.dal.service.StudentService;
 import com.yonge.cooleshow.biz.dal.service.VipCardRecordService;
 import com.yonge.cooleshow.biz.dal.vo.StudentVo;
 import com.yonge.cooleshow.biz.dal.vo.UserOrderDetailVo;
-import com.yonge.cooleshow.biz.dal.vo.UserOrderVo;
 import com.yonge.cooleshow.biz.dal.vo.res.OrderCreateRes;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
-import io.swagger.annotations.ApiModelProperty;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.format.annotation.DateTimeFormat;
 import org.springframework.stereotype.Service;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -25,7 +19,6 @@ import com.yonge.cooleshow.biz.dal.vo.VipCardVo;
 import com.yonge.cooleshow.biz.dal.dao.VipCardDao;
 import com.yonge.cooleshow.biz.dal.service.VipCardService;
 
-import java.math.BigDecimal;
 import java.util.Calendar;
 import java.util.Date;
 import java.util.List;
@@ -95,11 +88,11 @@ public class VipCardServiceImpl extends ServiceImpl<VipCardDao, VipCard> impleme
             now.setTime(studentVo.getMembershipEndTime());
         }
         vipCardRecord.setStartTime(now.getTime());
-        if (VipTimeTypeEnum.MONTH.equals(detail.getTimeType())) {
+        if (TimeTypeEnum.MONTH.equals(detail.getTimeType())) {
             now.add(Calendar.MONTH, 1);
-        } else if (VipTimeTypeEnum.QUARTER.equals(detail.getTimeType())) {
+        } else if (TimeTypeEnum.QUARTER.equals(detail.getTimeType())) {
             now.add(Calendar.MONTH, 3);
-        } else if (VipTimeTypeEnum.YEAR.equals(detail.getTimeType())) {
+        } else if (TimeTypeEnum.YEAR.equals(detail.getTimeType())) {
             now.add(Calendar.YEAR, 1);
         }
         vipCardRecord.setEndTime(now.getTime());

+ 93 - 24
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/HomeTotalVo.java

@@ -3,40 +3,109 @@ package com.yonge.cooleshow.biz.dal.vo;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 
+import java.util.List;
+
 /**
  * @Author: liweifan
  * @Data: 2022/3/30 17:53
  */
-@ApiModel(value = "HomeVo对象", description = "后台首页统计查询对象")
 public class HomeTotalVo {
-    @ApiModelProperty("待审核老师认证数 ")
-    private Integer entryNum;
-    @ApiModelProperty("待审核音乐认证人数 ")
-    private Integer musicianNum;
-    @ApiModelProperty("待审核乐谱 ")
-    private Integer musicNum;
-
-    public Integer getEntryNum() {
-        return entryNum;
-    }
+    @ApiModel(value = "HomeTotalVo.UserToDoNum", description = "后台首页待办事项统计查询对象")
+    public static class UserToDoNum{
+        @ApiModelProperty("待审核老师认证数 ")
+        private Integer entryNum;
+        @ApiModelProperty("待审核音乐认证人数 ")
+        private Integer musicianNum;
+        @ApiModelProperty("待审核乐谱 ")
+        private Integer musicNum;
 
-    public void setEntryNum(Integer entryNum) {
-        this.entryNum = entryNum;
-    }
+        public Integer getEntryNum() {
+            return entryNum;
+        }
 
-    public Integer getMusicianNum() {
-        return musicianNum;
-    }
+        public void setEntryNum(Integer entryNum) {
+            this.entryNum = entryNum;
+        }
 
-    public void setMusicianNum(Integer musicianNum) {
-        this.musicianNum = musicianNum;
-    }
+        public Integer getMusicianNum() {
+            return musicianNum;
+        }
 
-    public Integer getMusicNum() {
-        return musicNum;
+        public void setMusicianNum(Integer musicianNum) {
+            this.musicianNum = musicianNum;
+        }
+
+        public Integer getMusicNum() {
+            return musicNum;
+        }
+
+        public void setMusicNum(Integer musicNum) {
+            this.musicNum = musicNum;
+        }
     }
 
-    public void setMusicNum(Integer musicNum) {
-        this.musicNum = musicNum;
+    @ApiModel(value = "HomeTotalVo.TotalTeacher", description = "后台首页老师数据统计查询对象")
+    public class TotalTeacher {
+        @ApiModelProperty("老师注册量 ")
+        private Integer registerNum;
+        @ApiModelProperty("认证老师 ")
+        private Integer entryNum;
+        @ApiModelProperty("直播老师 ")
+        private Integer liveNum;
+        @ApiModelProperty("平台音乐人 ")
+        private Integer musicianNum;
+
+        @ApiModelProperty("时间(详情数据中使用) ")
+        private String time;
+        @ApiModelProperty("详情数据 ")
+        private List<TotalTeacher> infoList;
+
+        public Integer getRegisterNum() {
+            return registerNum;
+        }
+
+        public void setRegisterNum(Integer registerNum) {
+            this.registerNum = registerNum;
+        }
+
+        public Integer getEntryNum() {
+            return entryNum;
+        }
+
+        public void setEntryNum(Integer entryNum) {
+            this.entryNum = entryNum;
+        }
+
+        public Integer getLiveNum() {
+            return liveNum;
+        }
+
+        public void setLiveNum(Integer liveNum) {
+            this.liveNum = liveNum;
+        }
+
+        public Integer getMusicianNum() {
+            return musicianNum;
+        }
+
+        public void setMusicianNum(Integer musicianNum) {
+            this.musicianNum = musicianNum;
+        }
+
+        public String getTime() {
+            return time;
+        }
+
+        public void setTime(String time) {
+            this.time = time;
+        }
+
+        public List<TotalTeacher> getInfoList() {
+            return infoList;
+        }
+
+        public void setInfoList(List<TotalTeacher> infoList) {
+            this.infoList = infoList;
+        }
     }
 }

+ 4 - 0
cooleshow-user/user-biz/src/main/resources/config/mybatis/MusicSheetMapper.xml

@@ -443,4 +443,8 @@
         </where>
         order by  ms.submit_audit_time_ desc
     </select>
+
+    <select id="getUserToDoNum" resultType="java.lang.Integer">
+        select count(1) from music_sheet where del_flag_ = 0 and audit_status_ = 'DOING'
+    </select>
 </mapper>

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

@@ -53,6 +53,28 @@
         where t.id_ = #{id}
     </select>
 
+    <select id="detailApp" resultType="com.yonge.cooleshow.biz.dal.vo.UserOrderVo">
+        SELECT
+            t.id_ as id
+            , t.order_no_ as orderNo
+            , t.user_id_ as userId
+            , t.order_name_ as orderName
+            , t.order_type_ as orderType
+            , t.order_desc_ as orderDesc
+            , t.status_ as status
+            , t.original_price_ as originalPrice
+            , t.expect_price_ as expectPrice
+            , t.actual_price_ as actualPrice
+            , t.coupon_amount_ as couponAmount
+            , t.user_note_ as userNote
+            , t.pay_time_ as payTime
+            ,p.trans_no_ as transNo
+        FROM user_order t
+        left join user_order_payment p on t.order_no_ = p.order_no_
+        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"/>,
@@ -121,7 +143,7 @@
         where (t.status_ = 'WAIT_PAY' or t.status_ = 'PAYING')
         and t.create_time_ &lt;= date_sub(now(),interval 30 minute)
     </select>
-    <select id="detailApp" resultType="com.yonge.cooleshow.biz.dal.vo.UserOrderVo"></select>
+
 
     <update id="updateStatusByOrderNo">
         update user_order set status_ = #{orderStatus} where order_no_ = #{orderNo}