Bläddra i källkod

修改老师表字段degree__certificate_改为degree_certificate_

weifanli 3 år sedan
förälder
incheckning
23e4a30cf2
19 ändrade filer med 420 tillägg och 47 borttagningar
  1. 7 0
      cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/HomeController.java
  2. 14 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/HomeDao.java
  3. 0 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dto/req/HomeTotalReq.java
  4. 1 2
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dto/req/TeacherApplyDetailReq.java
  5. 15 8
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/Teacher.java
  6. 2 2
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/TeacherAuthEntryRecord.java
  7. 9 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/HomeService.java
  8. 3 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/TeacherAuthEntryRecordService.java
  9. 68 2
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/HomeServiceImpl.java
  10. 5 3
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/TeacherAuthEntryRecordServiceImpl.java
  11. 19 10
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/TeacherServiceImpl.java
  12. 2 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/UserOrderServiceImpl.java
  13. 2 2
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/TeacherApplyDetail.java
  14. 74 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/res/HomeTotalStudent.java
  15. 5 6
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/res/HomeTotalTeacher.java
  16. 11 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/res/OrderPayRes.java
  17. 173 1
      cooleshow-user/user-biz/src/main/resources/config/mybatis/HomeMapper.xml
  18. 4 4
      cooleshow-user/user-biz/src/main/resources/config/mybatis/TeacherAuthEntryRecordMapper.xml
  19. 6 4
      cooleshow-user/user-biz/src/main/resources/config/mybatis/TeacherMapper.xml

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

@@ -6,6 +6,7 @@ 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;
+import com.yonge.cooleshow.biz.dal.vo.res.HomeTotalStudent;
 import com.yonge.cooleshow.biz.dal.vo.res.HomeTotalTeacher;
 import com.yonge.cooleshow.biz.dal.vo.res.HomeUserToDoNum;
 import com.yonge.cooleshow.common.controller.BaseController;
@@ -39,5 +40,11 @@ public class HomeController extends BaseController {
         return homeService.totalTeacher(totalReq);
     }
 
+    @ApiOperation(value = "学员数据统计")
+    @PostMapping("/totalStudent")
+    @PreAuthorize("@pcs.hasPermissions('home/totalStudent')")
+    public HttpResponseResult<HomeTotalStudent> totalStudent(@Valid @RequestBody HomeTotalReq totalReq) {
+        return homeService.totalStudent(totalReq);
+    }
 
 }

+ 14 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/HomeDao.java

@@ -1,13 +1,16 @@
 package com.yonge.cooleshow.biz.dal.dao;
 
 import com.yonge.cooleshow.biz.dal.dto.req.HomeTotalReq;
+import com.yonge.cooleshow.biz.dal.vo.res.HomeTotalStudent;
 import com.yonge.cooleshow.biz.dal.vo.res.HomeTotalTeacher;
 import com.yonge.cooleshow.biz.dal.vo.res.HomeUserToDoNum;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 
 /**
  * 首页统计查询
+ *
  * @Author: liweifan
  * @Data: 2022/4/20 18:34
  */
@@ -19,6 +22,7 @@ public interface HomeDao {
      * @return: com.yonge.cooleshow.biz.dal.vo.HomeUserToDoNum
      */
     HomeUserToDoNum getUserToDoNum();
+
     /***
      * 统计查询老师信息
      * @author liweifan
@@ -26,5 +30,14 @@ public interface HomeDao {
      * @updateTime 2022/4/21 11:33
      * @return: java.util.List<com.yonge.cooleshow.biz.dal.vo.res.HomeTotalTeacher>
      */
-    List<HomeTotalTeacher> totalTeacher(HomeTotalReq totalReq);
+    List<HomeTotalTeacher> totalTeacher(@Param("timeType") String timeType, @Param("param") HomeTotalReq param);
+    /***
+     * 统计查询学生信息
+     * @author liweifan
+     * @param: timeType
+     * @param: param
+     * @updateTime 2022/4/21 15:11
+     * @return: java.util.List<com.yonge.cooleshow.biz.dal.vo.res.HomeTotalStudent>
+     */
+    List<HomeTotalStudent> totalStudent(@Param("timeType") String timeType, @Param("param") HomeTotalReq param);
 }

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

@@ -16,7 +16,6 @@ import java.util.Date;
  */
 @ApiModel(value = "HomeTotalReq对象", description = "首页统计查询对象")
 public class HomeTotalReq {
-
     @NotNull(message = "时间类型不能为空")
     @ApiModelProperty("时间类型 MONTH、月度  YEAR、年度")
     private TimeTypeEnum timeType;

+ 1 - 2
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dto/req/TeacherApplyDetailReq.java

@@ -38,8 +38,7 @@ public class TeacherApplyDetailReq implements Serializable {
     @ApiModelProperty(value = "专业技能(支持多个,用逗号分隔),对应乐器表id ", required = true)
     private String subjectId;
 
-    @NotBlank(message = "个人介绍不能为空")
-    @ApiModelProperty(value = "个人介绍 ", required = true)
+    @ApiModelProperty(value = "个人介绍 ")
     private String introduction;
 
     @ApiModelProperty("毕业学校 ")

+ 15 - 8
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/Teacher.java

@@ -83,13 +83,13 @@ public class Teacher implements Serializable {
      * 学位证书
      */
     @ApiModelProperty("学位证书 ")
-    @TableField(value = "degree__certificate_")
+    @TableField(value = "degree_certificate_")
     private String degreeCertificate;
     /**
      * 教师资格证
      */
     @ApiModelProperty("教师资格证 ")
-    @TableField(value = "teacher__certificate_")
+    @TableField(value = "teacher_certificate__")
     private String teacherCertificate;
     /**
      * 老师入驻  0 否 1 是
@@ -120,15 +120,14 @@ public class Teacher implements Serializable {
     @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
     private Date musicianDate;
-    /**
-     * 直播权限 0 否 1 是
-     */
     @ApiModelProperty("直播权限 0 否 1 是")
     @TableField(value = "live_flag_")
     private YesOrNoEnum liveFlag;
-    /**
-    * 备注 
-    */
+    @ApiModelProperty("直播认证时间 ")
+    @TableField(value = "live_date_")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
+    private Date liveDate;
     @ApiModelProperty("备注 ")
 	@TableField(value = "memo_")
     private String memo;
@@ -292,4 +291,12 @@ public class Teacher implements Serializable {
     public void setUpdateTime(Date updateTime) {
         this.updateTime = updateTime;
     }
+
+    public Date getLiveDate() {
+        return liveDate;
+    }
+
+    public void setLiveDate(Date liveDate) {
+        this.liveDate = liveDate;
+    }
 }

+ 2 - 2
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/TeacherAuthEntryRecord.java

@@ -71,13 +71,13 @@ public class TeacherAuthEntryRecord implements Serializable {
     * 学位证书 
     */
     @ApiModelProperty("学位证书 ")
-	@TableField(value = "degree__certificate_")
+	@TableField(value = "degree_certificate_")
     private String degreeCertificate;
     /** 
     * 教师资格证 
     */
     @ApiModelProperty("教师资格证 ")
-	@TableField(value = "teacher__certificate_")
+	@TableField(value = "teacher_certificate__")
     private String teacherCertificate;
 
     @ApiModelProperty("老师认证审核状态 UNPAALY、未申请 DOING、审核中 PASS、通过 UNPASS、不通过")

+ 9 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/HomeService.java

@@ -2,6 +2,7 @@ package com.yonge.cooleshow.biz.dal.service;
 
 import com.yonge.cooleshow.biz.dal.dto.req.HomeTotalReq;
 import com.yonge.cooleshow.biz.dal.vo.HomeTotalVo;
+import com.yonge.cooleshow.biz.dal.vo.res.HomeTotalStudent;
 import com.yonge.cooleshow.biz.dal.vo.res.HomeTotalTeacher;
 import com.yonge.cooleshow.biz.dal.vo.res.HomeUserToDoNum;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
@@ -27,4 +28,12 @@ public interface HomeService {
      * @return: com.yonge.cooleshow.biz.dal.vo.HomeTotalVo.TotalTeacher
      */
     HttpResponseResult<HomeTotalTeacher> totalTeacher(HomeTotalReq totalReq);
+    /***
+     * 统计学员数据
+     * @author liweifan
+     * @param: totalReq
+     * @updateTime 2022/4/21 15:08
+     * @return: com.yonge.cooleshow.common.entity.HttpResponseResult<com.yonge.cooleshow.biz.dal.vo.res.HomeTotalTeacher>
+     */
+    HttpResponseResult<HomeTotalStudent> totalStudent(HomeTotalReq totalReq);
 }

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

@@ -11,6 +11,8 @@ import com.yonge.cooleshow.biz.dal.vo.TeacherAuthEntryRecordVo;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
 import io.swagger.models.auth.In;
 
+import java.lang.reflect.InvocationTargetException;
+
 /**
  * 老师入驻审核表 服务类
  * @author liweifan
@@ -39,7 +41,7 @@ public interface TeacherAuthEntryRecordService extends IService<TeacherAuthEntry
      * @updateTime 2022/3/21 14:21
      * @return: com.yonge.cooleshow.common.entity.HttpResponseResult<java.lang.Boolean>
      */
-    HttpResponseResult<Boolean> doAuth(AuthOperaReq authOperaReq, SysUser sysUser);
+    HttpResponseResult<Boolean> doAuth(AuthOperaReq authOperaReq, SysUser sysUser) throws Exception;
     /***
      * 老师入驻申请
      * @author liweifan

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

@@ -8,10 +8,12 @@ import com.yonge.cooleshow.biz.dal.service.MusicSheetService;
 import com.yonge.cooleshow.biz.dal.service.TeacherAuthEntryRecordService;
 import com.yonge.cooleshow.biz.dal.service.TeacherAuthMusicianRecordService;
 import com.yonge.cooleshow.biz.dal.vo.HomeTotalVo;
+import com.yonge.cooleshow.biz.dal.vo.res.HomeTotalStudent;
 import com.yonge.cooleshow.biz.dal.vo.res.HomeTotalTeacher;
 import com.yonge.cooleshow.biz.dal.vo.res.HomeUserToDoNum;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
 import com.yonge.toolset.utils.date.DateUtil;
+import io.swagger.annotations.ApiModelProperty;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -54,10 +56,74 @@ public class HomeServiceImpl implements HomeService {
         } else {
             return HttpResponseResult.failed("参数异常");
         }
+
         //统计查询
-        List<HomeTotalTeacher> totalList = baserMapper.totalTeacher(totalReq);
+        List<HomeTotalTeacher> totalList = baserMapper.totalTeacher(totalReq.getTimeType().getCode(), totalReq);
+        Integer registerNum = 0;
+        Integer entryNum = 0;
+        Integer liveNum = 0;
+        Integer musicianNum = 0;
+        for (HomeTotalTeacher totalTeacher : totalList) {
+            totalTeacher.setRegisterNum(null == totalTeacher.getRegisterNum() ? 0 : totalTeacher.getRegisterNum());
+            totalTeacher.setEntryNum(null == totalTeacher.getEntryNum() ? 0 : totalTeacher.getEntryNum());
+            totalTeacher.setLiveNum(null == totalTeacher.getLiveNum() ? 0 : totalTeacher.getLiveNum());
+            totalTeacher.setMusicianNum(null == totalTeacher.getMusicianNum() ? 0 : totalTeacher.getMusicianNum());
 
+            registerNum += totalTeacher.getRegisterNum();
+            entryNum += totalTeacher.getEntryNum();
+            liveNum += totalTeacher.getLiveNum();
+            musicianNum += totalTeacher.getMusicianNum();
+        }
+        HomeTotalTeacher total = new HomeTotalTeacher();
+        total.setRegisterNum(registerNum);
+        total.setEntryNum(entryNum);
+        total.setLiveNum(liveNum);
+        total.setMusicianNum(musicianNum);
+        total.setInfoList(totalList);
+        return HttpResponseResult.succeed(total);
+    }
 
-        return null;
+    @Override
+    public HttpResponseResult<HomeTotalStudent> totalStudent(HomeTotalReq totalReq) {
+        //参数处理
+        Calendar calendar = Calendar.getInstance();
+        if (TimeTypeEnum.MONTH.equals(totalReq.getTimeType())) {
+            String[] classDateSp = totalReq.getDateTime().split("-");
+            calendar.set(Integer.parseInt(classDateSp[0]), Integer.parseInt(classDateSp[1]), 1, 0, 0, 0);
+            totalReq.setStartTime(calendar.getTime());
+            totalReq.setEndTime(DateUtil.dayEnd(DateUtil.getLastDayOfMonth(calendar.getTime())));
+        } else if (TimeTypeEnum.YEAR.equals(totalReq.getTimeType())) {
+            calendar.set(Integer.parseInt(totalReq.getDateTime()), 1, 1, 0, 0, 0);
+            totalReq.setStartTime(calendar.getTime());
+
+            calendar.set(Integer.parseInt(totalReq.getDateTime()), 12, 1, 0, 0, 0);
+            totalReq.setEndTime(DateUtil.dayEnd(DateUtil.getLastDayOfMonth(calendar.getTime())));
+        } else {
+            return HttpResponseResult.failed("参数异常");
+        }
+        List<HomeTotalStudent> totalList = baserMapper.totalStudent(totalReq.getTimeType().getCode(), totalReq);
+        Integer registerNum = 0;
+        Integer vipNum = 0;
+        Integer courseNum = 0;
+        Integer shoppingNum = 0;
+
+        for (HomeTotalStudent totalStudent : totalList) {
+            totalStudent.setRegisterNum(null == totalStudent.getRegisterNum() ? 0 : totalStudent.getRegisterNum());
+            totalStudent.setVipNum(null == totalStudent.getVipNum() ? 0 : totalStudent.getVipNum());
+            totalStudent.setCourseNum(null == totalStudent.getCourseNum() ? 0 :totalStudent.getCourseNum());
+            totalStudent.setShoppingNum(null == totalStudent.getShoppingNum() ? 0 : totalStudent.getShoppingNum());
+
+            registerNum += totalStudent.getRegisterNum();
+            vipNum += totalStudent.getVipNum();
+            courseNum += totalStudent.getCourseNum();
+            shoppingNum += totalStudent.getShoppingNum();
+        }
+        HomeTotalStudent total = new HomeTotalStudent();
+        total.setRegisterNum(registerNum);
+        total.setVipNum(vipNum);
+        total.setCourseNum(courseNum);
+        total.setShoppingNum(shoppingNum);
+        total.setInfoList(totalList);
+        return HttpResponseResult.succeed(total);
     }
 }

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

@@ -21,6 +21,7 @@ import com.yonge.cooleshow.biz.dal.dao.TeacherAuthEntryRecordDao;
 import com.yonge.cooleshow.biz.dal.service.TeacherAuthEntryRecordService;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.lang.reflect.InvocationTargetException;
 import java.util.Date;
 
 
@@ -42,7 +43,7 @@ public class TeacherAuthEntryRecordServiceImpl extends ServiceImpl<TeacherAuthEn
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public HttpResponseResult<Boolean> doAuth(AuthOperaReq authOperaReq, SysUser sysUser) {
+    public HttpResponseResult<Boolean> doAuth(AuthOperaReq authOperaReq, SysUser sysUser) throws Exception {
         TeacherAuthEntryRecord build = baseMapper.selectById(authOperaReq.getId());
         build.setTeacherAuthStatus(authOperaReq.getPass() ? AuthStatusEnum.PASS : AuthStatusEnum.UNPASS);
         build.setReason(authOperaReq.getReason());
@@ -50,11 +51,12 @@ public class TeacherAuthEntryRecordServiceImpl extends ServiceImpl<TeacherAuthEn
 
         //修改teacher表
         Teacher teacher = new Teacher();
-        teacher.setUserId(build.getUserId());
+        BeanUtils.copyProperties(teacher,build);
+
         teacher.setEntryFlag(authOperaReq.getPass() ? YesOrNoEnum.YES : YesOrNoEnum.NO);
         teacher.setEntryAuthDate(new Date());
-        teacherDao.updateById(teacher);
 
+        teacherDao.updateById(teacher);
         return HttpResponseResult.succeed(baseMapper.updateById(build) > 0);
     }
 

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

@@ -106,18 +106,26 @@ public class TeacherServiceImpl extends ServiceImpl<TeacherDao, Teacher> impleme
         teacherHomeVo.setPhone(ValueUtil.fuzzyMobile(teacherHomeVo.getPhone()));
         teacherHomeVo.setHeardUrl(user.getAvatar());
 
-        TeacherAuthEntryRecordVo entryRecord = entryRecordService.getLastRecordByUserId(user.getId());
-        if (null == entryRecord) {
-            teacherHomeVo.setEntryStatus(AuthStatusEnum.UNPAALY);
-        } else {
-            teacherHomeVo.setEntryStatus(entryRecord.getTeacherAuthStatus());
+        if(YesOrNoEnum.YES.equals(teacher.getEntryFlag())){
+            teacherHomeVo.setEntryStatus(AuthStatusEnum.PASS);
+        }else{
+            TeacherAuthEntryRecordVo entryRecord = entryRecordService.getLastRecordByUserId(user.getId());
+            if (null == entryRecord) {
+                teacherHomeVo.setEntryStatus(AuthStatusEnum.UNPAALY);
+            } else {
+                teacherHomeVo.setEntryStatus(entryRecord.getTeacherAuthStatus());
+            }
         }
 
-        TeacherAuthMusicianRecord musicianRecord = musicianRecordService.getLastRecordByUserId(user.getId());
-        if (null == musicianRecord) {
-            teacherHomeVo.setMusicianAuthStatus(AuthStatusEnum.UNPAALY);
-        } else {
-            teacherHomeVo.setMusicianAuthStatus(musicianRecord.getTeacherAuthStatus());
+        if(YesOrNoEnum.YES.equals(teacher.getMusicianFlag())){
+            teacherHomeVo.setMusicianAuthStatus(AuthStatusEnum.PASS);
+        }else{
+            TeacherAuthMusicianRecord musicianRecord = musicianRecordService.getLastRecordByUserId(user.getId());
+            if (null == musicianRecord) {
+                teacherHomeVo.setMusicianAuthStatus(AuthStatusEnum.UNPAALY);
+            } else {
+                teacherHomeVo.setMusicianAuthStatus(musicianRecord.getTeacherAuthStatus());
+            }
         }
 
         TeacherTotal total = (TeacherTotal) redissonClient.getBucket(CacheNameEnum.TEACHER_TOTAL.getRedisKey(user.getId())).get();
@@ -146,6 +154,7 @@ public class TeacherServiceImpl extends ServiceImpl<TeacherDao, Teacher> impleme
             Teacher teacher = new Teacher();
             teacher.setUserId(id);
             teacher.setLiveFlag(YesOrNoEnum.YES);
+            teacher.setLiveDate(new Date());
             baseMapper.updateById(teacher);
             return HttpResponseResult.status(true);
         } else {

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

@@ -313,6 +313,7 @@ public class UserOrderServiceImpl extends ServiceImpl<UserOrderDao, UserOrder> i
             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);
+            orderPayRes.setPayChannel(payReq.getPayChannel());
 
             //入订单付款表,同时修改订单状态
             insertOrderPayment(responseResult, payReq);
@@ -370,6 +371,7 @@ public class UserOrderServiceImpl extends ServiceImpl<UserOrderDao, UserOrder> i
             OrderPayRes orderPayRes = new OrderPayRes();
             orderPayRes.setPay_info(orderPayment.getPayInfo());
             orderPayRes.setPay_amt(orderPayment.getPayAmt().toString());
+            orderPayRes.setPayChannel(orderPayment.getPayChannel());
             return HttpResponseResult.succeed(orderPayRes);
         } else {
             return HttpResponseResult.failed("未找到订单信息");

+ 2 - 2
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/TeacherApplyDetail.java

@@ -60,13 +60,13 @@ public class TeacherApplyDetail implements Serializable {
      * 学位证书
      */
     @ApiModelProperty("学位证书 ")
-    @TableField(value = "degree__certificate_")
+    @TableField(value = "degree_certificate_")
     private String degreeCertificate;
     /**
      * 教师资格证
      */
     @ApiModelProperty("教师资格证 ")
-    @TableField(value = "teacher__certificate_")
+    @TableField(value = "teacher_certificate__")
     private String teacherCertificate;
 
     public Long getId() {

+ 74 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/res/HomeTotalStudent.java

@@ -0,0 +1,74 @@
+package com.yonge.cooleshow.biz.dal.vo.res;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.util.List;
+
+/**
+ * @Author: liweifan
+ * @Data: 2022/4/21 11:29
+ */
+@ApiModel(value = "HomeTotalStudent", description = "后台首页学生数据统计查询对象")
+public class HomeTotalStudent {
+    @ApiModelProperty("学生注册量 ")
+    private Integer registerNum;
+    @ApiModelProperty("会员学员 ")
+    private Integer vipNum;
+    @ApiModelProperty("课程付费学员 ")
+    private Integer courseNum;
+    @ApiModelProperty("商城用户 ")
+    private Integer shoppingNum;
+    @ApiModelProperty("时间(详情数据中使用) ")
+    private String timeStr;
+    @ApiModelProperty("详情数据 ")
+    private List<HomeTotalStudent> infoList;
+
+    public Integer getRegisterNum() {
+        return registerNum;
+    }
+
+    public void setRegisterNum(Integer registerNum) {
+        this.registerNum = registerNum;
+    }
+
+    public Integer getVipNum() {
+        return vipNum;
+    }
+
+    public void setVipNum(Integer vipNum) {
+        this.vipNum = vipNum;
+    }
+
+    public Integer getCourseNum() {
+        return courseNum;
+    }
+
+    public void setCourseNum(Integer courseNum) {
+        this.courseNum = courseNum;
+    }
+
+    public Integer getShoppingNum() {
+        return shoppingNum;
+    }
+
+    public void setShoppingNum(Integer shoppingNum) {
+        this.shoppingNum = shoppingNum;
+    }
+
+    public String getTimeStr() {
+        return timeStr;
+    }
+
+    public void setTimeStr(String timeStr) {
+        this.timeStr = timeStr;
+    }
+
+    public List<HomeTotalStudent> getInfoList() {
+        return infoList;
+    }
+
+    public void setInfoList(List<HomeTotalStudent> infoList) {
+        this.infoList = infoList;
+    }
+}

+ 5 - 6
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/res/HomeTotalTeacher.java

@@ -19,9 +19,8 @@ public class HomeTotalTeacher {
     private Integer liveNum;
     @ApiModelProperty("平台音乐人 ")
     private Integer musicianNum;
-
     @ApiModelProperty("时间(详情数据中使用) ")
-    private String time;
+    private String timeStr;
     @ApiModelProperty("详情数据 ")
     private List<HomeTotalTeacher> infoList;
 
@@ -57,12 +56,12 @@ public class HomeTotalTeacher {
         this.musicianNum = musicianNum;
     }
 
-    public String getTime() {
-        return time;
+    public String getTimeStr() {
+        return timeStr;
     }
 
-    public void setTime(String time) {
-        this.time = time;
+    public void setTimeStr(String timeStr) {
+        this.timeStr = timeStr;
     }
 
     public List<HomeTotalTeacher> getInfoList() {

+ 11 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/res/OrderPayRes.java

@@ -1,5 +1,6 @@
 package com.yonge.cooleshow.biz.dal.vo.res;
 
+import com.yonge.cooleshow.biz.dal.enums.PayChannelEnum;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 
@@ -11,6 +12,8 @@ import io.swagger.annotations.ApiModelProperty;
 public class OrderPayRes {
     @ApiModelProperty("支付金额")
     private String pay_amt;
+    @ApiModelProperty(value = "支付渠道:  alipay 支付宝  wx_lite 微信 ", required = true)
+    private PayChannelEnum payChannel;
     @ApiModelProperty("pay_info")
     private String pay_info;
 
@@ -22,6 +25,14 @@ public class OrderPayRes {
         this.pay_amt = pay_amt;
     }
 
+    public PayChannelEnum getPayChannel() {
+        return payChannel;
+    }
+
+    public void setPayChannel(PayChannelEnum payChannel) {
+        this.payChannel = payChannel;
+    }
+
     public String getPay_info() {
         return pay_info;
     }

+ 173 - 1
cooleshow-user/user-biz/src/main/resources/config/mybatis/HomeMapper.xml

@@ -9,5 +9,177 @@
         	(select count(1) from music_sheet where del_flag_ = 0 and audit_status_ = 'DOING') as musicNum
         from dual
 	</select>
-    <select id="totalTeacher" resultType="com.yonge.cooleshow.biz.dal.vo.res.HomeTotalTeacher"></select>
+    <select id="totalTeacher" resultType="com.yonge.cooleshow.biz.dal.vo.res.HomeTotalTeacher">
+		select
+			<if test="timeType != null and timeType == 'MONTH'">
+				t.sys_day_ymd_ as timeStr,
+			</if>
+			<if test="timeType != null and timeType == 'YEAR'">
+				t.sys_day_ym_ as timeStr,
+			</if>
+			sum(a.registerNum) as registerNum,
+			sum(a.entryNum) as entryNum,
+			sum(a.liveNum) as liveNum,
+			sum(a.musicianNum) as musicianNum
+		from sys_day t
+		left join (
+			select
+				DATE_FORMAT(t.create_time_,'%Y-%m-%d') as timeStr,
+				count(1) as registerNum
+			from teacher t
+			<where>
+				<if test="param.startTime !=null">
+					<![CDATA[AND t.create_time_ >= #{param.startTime} ]]>
+				</if>
+				<if test="param.endTime !=null">
+					<![CDATA[AND t.create_time_ <= #{param.endTime} ]]>
+				</if>
+			</where>
+			group by DATE_FORMAT(t.create_time_,'%Y-%m-%d')
+		) a on t.sys_day_ymd_ = a.timeStr
+		left join (
+			select
+				DATE_FORMAT(t.create_time_,'%Y-%m-%d') as timeStr,
+				count(1) as entryNum
+			from teacher t
+			<where>
+				<if test="param.startTime !=null">
+					<![CDATA[AND t.entry_auth_date_ >= #{param.startTime} ]]>
+				</if>
+				<if test="param.endTime !=null">
+					<![CDATA[AND t.entry_auth_date_ <= #{param.endTime} ]]>
+				</if>
+			</where>
+			group by DATE_FORMAT(t.create_time_,'%Y-%m-%d')
+		) b on t.sys_day_ymd_ = b.timeStr
+		left join (
+			select
+				DATE_FORMAT(t.create_time_,'%Y-%m-%d') as timeStr,
+				count(1) as liveNum
+			from teacher t
+			<where>
+				<if test="param.startTime !=null">
+					<![CDATA[AND t.live_date_ >= #{param.startTime} ]]>
+				</if>
+				<if test="param.endTime !=null">
+					<![CDATA[AND t.live_date_ <= #{param.endTime} ]]>
+				</if>
+			</where>
+			group by DATE_FORMAT(t.create_time_,'%Y-%m-%d')
+		) c on t.sys_day_ymd_ = c.timeStr
+		left join (
+			select
+				DATE_FORMAT(t.create_time_,'%Y-%m-%d') as timeStr,
+				count(1) as musicianNum
+			from teacher t
+			<where>
+				<if test="param.startTime !=null">
+					<![CDATA[AND t.musician_date_ >= #{param.startTime} ]]>
+				</if>
+				<if test="param.endTime !=null">
+					<![CDATA[AND t.musician_date_ <= #{param.endTime} ]]>
+				</if>
+			</where>
+			group by DATE_FORMAT(t.create_time_,'%Y-%m-%d')
+		) d on t.sys_day_ymd_ = d.timeStr
+		<where>
+			<if test="param.startTime !=null">
+				<![CDATA[AND t.sys_day_ >= #{param.startTime} ]]>
+			</if>
+			<if test="param.endTime !=null">
+				<![CDATA[AND t.sys_day_ <= #{param.endTime} ]]>
+			</if>
+		</where>
+		<if test="timeType != null and timeType == 'MONTH'">
+			group by t.sys_day_ymd_
+		</if>
+		<if test="timeType != null and timeType == 'YEAR'">
+			group by t.sys_day_ym_
+		</if>
+	</select>
+
+	<select id="totalStudent" resultType="com.yonge.cooleshow.biz.dal.vo.res.HomeTotalStudent">
+		select
+			<if test="timeType != null and timeType == 'MONTH'">
+				t.sys_day_ymd_ as timeStr,
+			</if>
+			<if test="timeType != null and timeType == 'YEAR'">
+				t.sys_day_ym_ as timeStr,
+			</if>
+			sum(a.registerNum) as registerNum,
+			sum(b.vipNum) as vipNum,
+			sum(c.courseNum) as courseNum
+		from sys_day t
+		left join (
+			select
+				DATE_FORMAT(t.create_time_,'%Y-%m-%d') as timeStr,
+				count(1) as registerNum
+			from student t
+			<where>
+				<if test="param.startTime !=null">
+					<![CDATA[AND t.create_time_ >= #{param.startTime} ]]>
+				</if>
+				<if test="param.endTime !=null">
+					<![CDATA[AND t.create_time_ <= #{param.endTime} ]]>
+				</if>
+			</where>
+			group by DATE_FORMAT(t.create_time_,'%Y-%m-%d')
+		) a on t.sys_day_ymd_ = a.timeStr
+		left join (
+			select
+				a.timeStr,
+				count(1) as vipNum
+			from (
+				select
+					DATE_FORMAT(t.create_time_,'%Y-%m-%d') as timeStr,
+					t.user_id_
+				from user_order t
+				left join user_order_detail d on t.order_no_ = d.order_no_
+				where t.status_ = 'PAID' and d.good_type_ = 'VIP'
+				<if test="param.startTime !=null">
+					<![CDATA[AND t.create_time_ >= #{param.startTime} ]]>
+				</if>
+				<if test="param.endTime !=null">
+					<![CDATA[AND t.create_time_ <= #{param.endTime} ]]>
+				</if>
+				group by DATE_FORMAT(t.create_time_,'%Y-%m-%d'),t.user_id_
+			) a
+			group by a.timeStr
+		) b on t.sys_day_ymd_ = b.timeStr
+		left join (
+			select
+				a.timeStr,
+				count(1) as courseNum
+			from (
+				select
+					DATE_FORMAT(t.create_time_,'%Y-%m-%d') as timeStr,
+					t.user_id_
+				from user_order t
+				left join user_order_detail d on t.order_no_ = d.order_no_
+				where t.status_ = 'PAID' and d.good_type_ in ('PRACTICE','LIVE','VIDEO')
+				<if test="param.startTime !=null">
+					<![CDATA[AND t.create_time_ >= #{param.startTime} ]]>
+				</if>
+				<if test="param.endTime !=null">
+					<![CDATA[AND t.create_time_ <= #{param.endTime} ]]>
+				</if>
+				group by DATE_FORMAT(t.create_time_,'%Y-%m-%d'),t.user_id_
+			) a
+			group by a.timeStr
+		) c on t.sys_day_ymd_ = c.timeStr
+		<where>
+			<if test="param.startTime !=null">
+				<![CDATA[AND t.sys_day_ >= #{param.startTime} ]]>
+			</if>
+			<if test="param.endTime !=null">
+				<![CDATA[AND t.sys_day_ <= #{param.endTime} ]]>
+			</if>
+		</where>
+		<if test="timeType != null and timeType == 'MONTH'">
+			group by t.sys_day_ymd_
+		</if>
+		<if test="timeType != null and timeType == 'YEAR'">
+			group by t.sys_day_ym_
+		</if>
+	</select>
 </mapper>

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

@@ -9,8 +9,8 @@
         <result column="graduate_school_" property="graduateSchool"/>
         <result column="subject_" property="subject"/>
         <result column="grad_certificate_" property="gradCertificate"/>
-        <result column="degree__certificate_" property="degreeCertificate"/>
-        <result column="teacher__certificate_" property="teacherCertificate"/>
+        <result column="degree_certificate_" property="degreeCertificate"/>
+        <result column="teacher_certificate__" property="teacherCertificate"/>
         <result column="teacher_auth_status_" property="teacherAuthStatus"/>
         <result column="verify_user_id_" property="verifyUserId"/>
         <result column="reason_" property="reason"/>
@@ -27,8 +27,8 @@
         , t.graduate_school_ as "graduateSchool"
         , t.subject_ as "subject"
         , t.grad_certificate_ as "gradCertificate"
-        , t.degree__certificate_ as "degreeCertificate"
-        , t.teacher__certificate_ as "teacherCertificate"
+        , t.degree_certificate_ as "degreeCertificate"
+        , t.teacher_certificate__ as "teacherCertificate"
         , t.teacher_auth_status_ as "teacherAuthStatus"
         , t.verify_user_id_ as "verifyUserId"
         , t.reason_ as "reason"

+ 6 - 4
cooleshow-user/user-biz/src/main/resources/config/mybatis/TeacherMapper.xml

@@ -11,13 +11,14 @@
         <result column="introduction_" property="introduction" />
         <result column="subject_" property="subject" />
         <result column="grad_certificate_" property="gradCertificate" />
-        <result column="degree__certificate_" property="degreeCertificate" />
-        <result column="teacher__certificate_" property="teacherCertificate" />
+        <result column="degree_certificate_" property="degreeCertificate" />
+        <result column="teacher_certificate__" property="teacherCertificate" />
         <result column="entry_flag_" property="entryFlag" />
         <result column="entry_auth_date_" property="entryAuthDate" />
         <result column="musician_flag_" property="musicianFlag" />
         <result column="musician_date_" property="musicianDate" />
         <result column="live_flag_" property="liveFlag" />
+        <result column="live_date_" property="liveDate" />
         <result column="memo_" property="memo" />
         <result column="create_time_" property="createTime" />
         <result column="update_time_" property="updateTime" />
@@ -34,13 +35,14 @@
         , t.introduction_ as "introduction"
         , t.subject_ as "subject"
         , t.grad_certificate_ as "gradCertificate"
-        , t.degree__certificate_ as "degreeCertificate"
-        , t.teacher__certificate_ as "teacherCertificate"
+        , t.degree_certificate_ as "degreeCertificate"
+        , t.teacher_certificate__ as "teacherCertificate"
         , t.entry_flag_ as "entryFlag"
         , t.entry_auth_date_ as "entryAuthDate"
         , t.musician_flag_ as "musicianFlag"
         , t.musician_date_ as "musicianDate"
         , t.live_flag_ as "liveFlag"
+        , t.live_date_ as "liveDate"
         , t.memo_ as "memo"
         , t.create_time_ as "createTime"
         , t.update_time_ as "updateTime"