Bläddra i källkod

Merge remote-tracking branch 'origin/master'

hgw 3 år sedan
förälder
incheckning
57b738b43d
20 ändrade filer med 213 tillägg och 71 borttagningar
  1. 1 1
      cooleshow-mall/mall-admin/src/main/java/com/yonge/cooleshow/admin/controller/CmsPreferenceAreaController.java
  2. 11 1
      cooleshow-mall/mall-portal/src/main/java/com/yonge/cooleshow/portal/service/impl/HomeServiceImpl.java
  3. 1 1
      cooleshow-mall/mall-security/src/main/java/com/yonge/cooleshow/mall/security/aspect/RedisCacheAspect.java
  4. 1 1
      cooleshow-mall/mall-security/src/main/java/com/yonge/cooleshow/mall/security/config/SecurityConfig.java
  5. 11 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dto/search/MusicAlbumSearch.java
  6. 12 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/MusicSheet.java
  7. 25 27
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/StudentTotal.java
  8. 4 4
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/mybatis/StudentTotalMapper.xml
  9. 2 3
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/MusicSheetAuthRecordServiceImpl.java
  10. 8 2
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/MusicSheetServiceImpl.java
  11. 10 9
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/StudentServiceImpl.java
  12. 57 6
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/StudentTotalServiceImpl.java
  13. 7 7
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/TeacherServiceImpl.java
  14. 11 6
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/support/PageUtil.java
  15. 2 2
      cooleshow-user/user-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml
  16. 10 0
      cooleshow-user/user-biz/src/main/resources/config/mybatis/MusicAlbumMapper.xml
  17. 7 0
      cooleshow-user/user-biz/src/main/resources/config/mybatis/MusicSheetMapper.xml
  18. 1 0
      cooleshow-user/user-student/src/main/java/com/yonge/cooleshow/student/controller/MusicAlbumController.java
  19. 7 1
      cooleshow-user/user-student/src/main/java/com/yonge/cooleshow/student/controller/PaymentController.java
  20. 25 0
      cooleshow-user/user-teacher/src/main/java/com/yonge/cooleshow/teacher/controller/MusicSheetController.java

+ 1 - 1
cooleshow-mall/mall-admin/src/main/java/com/yonge/cooleshow/admin/controller/CmsPreferenceAreaController.java

@@ -19,7 +19,7 @@ import java.util.List;
  */
 @Controller
 @Api(tags = "CmsPreferenceAreaController", description = "商品优选管理")
-@RequestMapping("/preferenceArea")
+@RequestMapping("/prefrenceArea")
 public class CmsPreferenceAreaController {
     @Autowired
     private CmsPreferenceAreaService preferenceAreaService;

+ 11 - 1
cooleshow-mall/mall-portal/src/main/java/com/yonge/cooleshow/portal/service/impl/HomeServiceImpl.java

@@ -57,7 +57,7 @@ public class HomeServiceImpl implements HomeService {
         result.setProductCategoryList(getHomeProductCategoryList());
 
         //获取热销商品
-        result.setHotProductList(homeDao.getHotProductList(0,4));
+        result.setHotProductList(getHotProductList());
 
         // 获取商品分类
         result.setProductAttributeCategoryList(getHomeProductAttributeCategory());
@@ -76,6 +76,16 @@ public class HomeServiceImpl implements HomeService {
         return result;
     }
 
+    private List<PmsProduct> getHotProductList() {
+        PmsProductExample example = new PmsProductExample();
+        example.setOrderByClause("sort desc");
+        example.createCriteria().andDeleteStatusEqualTo(0)
+                .andPublishStatusEqualTo(1)
+                .andRecommandStatusEqualTo(1)
+                .andVerifyStatusEqualTo(1);
+        return productMapper.selectByExample(example);
+    }
+
     private long getHomeCartItemCount() {
         OmsCartItemExample example = new OmsCartItemExample();
         // todo 用户id

+ 1 - 1
cooleshow-mall/mall-security/src/main/java/com/yonge/cooleshow/mall/security/aspect/RedisCacheAspect.java

@@ -24,7 +24,7 @@ import java.lang.reflect.Method;
 public class RedisCacheAspect {
     private static Logger LOGGER = LoggerFactory.getLogger(RedisCacheAspect.class);
 
-    @Pointcut("execution(public * com.macro.mall.portal.service.*CacheService.*(..)) || execution(public * com.macro.mall.service.*CacheService.*(..))")
+    @Pointcut("execution(public * com.yonge.cooleshow.admin.service.*CacheService.*(..)) || execution(public * com.yonge.cooleshow.admin.service.*CacheService.*(..))")
     public void cacheAspect() {
     }
 

+ 1 - 1
cooleshow-mall/mall-security/src/main/java/com/yonge/cooleshow/mall/security/config/SecurityConfig.java

@@ -42,7 +42,7 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter {
         registry.and()
                 .authorizeRequests()
                 .anyRequest()
-                .permitAll()
+                .authenticated()
                 // 关闭跨站请求防护及不使用session
                 .and()
                 .csrf()

+ 11 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dto/search/MusicAlbumSearch.java

@@ -30,6 +30,9 @@ public class MusicAlbumSearch extends QueryInfo{
     @ApiModelProperty("专辑状态0:停用,1:启用")
     private YesOrNoEnum albumStatus;
 
+    @ApiModelProperty(value = "排序规则,1:按收藏人数倒叙",hidden = true)
+    private Integer sortBy;
+
     public String getIdAndName() {
         return idAndName;
     }
@@ -64,4 +67,12 @@ public class MusicAlbumSearch extends QueryInfo{
     public void setAlbumStatus(YesOrNoEnum albumStatus) {
         this.albumStatus = albumStatus;
     }
+
+    public Integer getSortBy() {
+        return sortBy;
+    }
+
+    public void setSortBy(Integer sortBy) {
+        this.sortBy = sortBy;
+    }
 }

+ 12 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/MusicSheet.java

@@ -83,6 +83,10 @@ public class MusicSheet implements Serializable {
     @ApiModelProperty(value = "审核状态(DOING:待审核;PASS:通过;UNPASS:未通过)")
     private AuthStatusEnum auditStatus;
 
+	@TableField("submit_audit_time_")
+	@ApiModelProperty(value = "提交审核时间")
+	private Date submitAuditTime;
+
     @TableField("sort_number_")
     @ApiModelProperty(value = "排序号")
     private Integer sortNumber;  //排序号
@@ -345,4 +349,12 @@ public class MusicSheet implements Serializable {
 	public void setDelFlag(Boolean delFlag) {
 		this.delFlag = delFlag;
 	}
+
+	public Date getSubmitAuditTime() {
+		return submitAuditTime;
+	}
+
+	public void setSubmitAuditTime(Date submitAuditTime) {
+		this.submitAuditTime = submitAuditTime;
+	}
 }

+ 25 - 27
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/StudentTotal.java

@@ -1,6 +1,5 @@
 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;
@@ -32,11 +31,11 @@ public class StudentTotal implements Serializable {
 	@TableField(value = "testing_num_")
     private Integer testingNum;
     @ApiModelProperty("已完成课时数 ")
-	@TableField(value = "finsh_class_hours_")
-    private Integer finshClassHours;
+	@TableField(value = "finsh_hours_")
+    private Integer finshHours;
     @ApiModelProperty("剩余课时数 ")
-	@TableField(value = "unfinsh_class_hours_")
-    private Integer unfinshClassHours;
+	@TableField(value = "unfinsh_hours_")
+    private Integer unfinshHours;
     @ApiModelProperty("关注老师数 ")
 	@TableField(value = "star_teacher_num_")
     private Integer starTeacherNum;
@@ -45,68 +44,67 @@ public class StudentTotal implements Serializable {
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
     private Date updateTime;
 
-	public Long getUserId() {
+    public Long getUserId() {
         return userId;
     }
 
     public void setUserId(Long userId) {
         this.userId = userId;
     }
-    
-	public Integer getExerciseDays() {
+
+    public Integer getExerciseDays() {
         return exerciseDays;
     }
 
     public void setExerciseDays(Integer exerciseDays) {
         this.exerciseDays = exerciseDays;
     }
-    
-	public Double getExerciseHours() {
+
+    public Double getExerciseHours() {
         return exerciseHours;
     }
 
     public void setExerciseHours(Double exerciseHours) {
         this.exerciseHours = exerciseHours;
     }
-    
-	public Integer getTestingNum() {
+
+    public Integer getTestingNum() {
         return testingNum;
     }
 
     public void setTestingNum(Integer testingNum) {
         this.testingNum = testingNum;
     }
-    
-	public Integer getFinshClassHours() {
-        return finshClassHours;
+
+    public Integer getFinshHours() {
+        return finshHours;
     }
 
-    public void setFinshClassHours(Integer finshClassHours) {
-        this.finshClassHours = finshClassHours;
+    public void setFinshHours(Integer finshHours) {
+        this.finshHours = finshHours;
     }
-    
-	public Integer getUnfinshClassHours() {
-        return unfinshClassHours;
+
+    public Integer getUnfinshHours() {
+        return unfinshHours;
     }
 
-    public void setUnfinshClassHours(Integer unfinshClassHours) {
-        this.unfinshClassHours = unfinshClassHours;
+    public void setUnfinshHours(Integer unfinshHours) {
+        this.unfinshHours = unfinshHours;
     }
-    
-	public Integer getStarTeacherNum() {
+
+    public Integer getStarTeacherNum() {
         return starTeacherNum;
     }
 
     public void setStarTeacherNum(Integer starTeacherNum) {
         this.starTeacherNum = starTeacherNum;
     }
-    
-	public Date getUpdateTime() {
+
+    public Date getUpdateTime() {
         return updateTime;
     }
 
     public void setUpdateTime(Date updateTime) {
         this.updateTime = updateTime;
     }
-    
 }

+ 4 - 4
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/mybatis/StudentTotalMapper.xml

@@ -6,8 +6,8 @@
 	        <result column="exercise_days_" property="exerciseDays" />
 	        <result column="exercise_hours_" property="exerciseHours" />
 	        <result column="testing_num_" property="testingNum" />
-	        <result column="finsh_class_hours_" property="finshClassHours" />
-	        <result column="unfinsh_class_hours_" property="unfinshClassHours" />
+	        <result column="finsh_hours_" property="finshHours" />
+	        <result column="unfinsh_hours_" property="unfinshHours" />
 	        <result column="star_teacher_num_" property="starTeacherNum" />
 	        <result column="update_time_" property="updateTime" />
 		</resultMap>  
@@ -18,8 +18,8 @@
         , t.exercise_days_ as exerciseDays
         , t.exercise_hours_ as exerciseHours
         , t.testing_num_ as testingNum
-        , t.finsh_class_hours_ as finshClassHours
-        , t.unfinsh_class_hours_ as unfinshClassHours
+        , t.finsh_hours_ as finshHours
+        , t.unfinsh_hours_ as unfinshHours
         , t.star_teacher_num_ as starTeacherNum
         , t.update_time_ as updateTime
         </sql> 

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

@@ -26,11 +26,10 @@ public class MusicSheetAuthRecordServiceImpl extends ServiceImpl<MusicSheetAuthR
                                               .eq(MusicSheetAuthRecord::getMusicSheetId, param.getMusicSheetId())
                                               .eq(MusicSheetAuthRecord::getVerifyUserId, userId)
                                               .list();
+        MusicSheetAuthRecord musicSheetAuthRecord = new MusicSheetAuthRecord();
         if (!CollectionUtils.isEmpty(list)) {
-            throw  new BizException("曲目已经过审批");
+            musicSheetAuthRecord = list.get(0);
         }
-
-        MusicSheetAuthRecord musicSheetAuthRecord = new MusicSheetAuthRecord();
         musicSheetAuthRecord.setMusicSheetId(param.getMusicSheetId());
         musicSheetAuthRecord.setCreateTime(new Date());
         musicSheetAuthRecord.setAuditState(param.getAuthStatus());

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

@@ -152,11 +152,12 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao,MusicSheet>
                     detail.setPlay(YesOrNoEnum.YES);
                 }
             }
-            // 学生进入云教练练习,添加一条练习记录
-            musicSheetPracticeRecordService.addRecord(id,sysUser.getId());
+
         } else {
             detail.setPlay(YesOrNoEnum.YES);
         }
+        // 学生进入云教练练习,添加一条练习记录
+        musicSheetPracticeRecordService.addRecord(id,sysUser.getId());
         return detail;
     }
 
@@ -233,9 +234,14 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao,MusicSheet>
         if (musicSheet == null) {
             throw  new BizException("未找到曲目信息");
         }
+        if (AuthStatusEnum.DOING.getCode().equals(musicSheet.getAuditStatus().getCode())) {
+            throw  new BizException("曲目已经过审批");
+        }
 
         if (musicSheetAuthRecordService.audit(param,userId)) {
             musicSheet.setAuditStatus(param.getAuthStatus());
+            musicSheet.setUpdateBy(userId);
+            musicSheet.setUpdateTime(new Date());
             return this.updateById(musicSheet);
         } else {
             return false;

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

@@ -7,6 +7,7 @@ import com.yonge.cooleshow.auth.api.entity.SysUser;
 import com.yonge.cooleshow.biz.dal.dao.CourseScheduleDao;
 import com.yonge.cooleshow.biz.dal.dao.StudentStarDao;
 import com.yonge.cooleshow.biz.dal.dto.search.StudentSearch;
+import com.yonge.cooleshow.biz.dal.entity.StudentTotal;
 import com.yonge.cooleshow.biz.dal.enums.CacheNameEnum;
 import com.yonge.cooleshow.biz.dal.service.SysConfigService;
 import com.yonge.cooleshow.biz.dal.vo.*;
@@ -55,17 +56,17 @@ public class StudentServiceImpl extends ServiceImpl<StudentDao, Student> impleme
         studentHomeVo.setUsername(user.getUsername());
         int num = DateUtil.daysBetween(new Date(), student.getMembershipEndTime());
         studentHomeVo.setMembershipDays(num < 0 ? 0 : num);
-        StudentTotalVo totalVo = (StudentTotalVo) redissonClient.getBucket(CacheNameEnum.STUDENT_TOTAL.getRedisKey(user.getId()))
+        StudentTotal total = (StudentTotal) redissonClient.getBucket(CacheNameEnum.STUDENT_TOTAL.getRedisKey(user.getId()))
                 .get();
-        if (null == totalVo) {
-            totalVo = new StudentTotalVo();
+        if (null == total) {
+            total = new StudentTotal();
         }
-        studentHomeVo.setExerciseDays(null == totalVo.getExerciseDays() ? 0 : totalVo.getExerciseDays());
-        studentHomeVo.setExerciseHours(null == totalVo.getExerciseHours() ? 0 : totalVo.getExerciseHours());
-        studentHomeVo.setTestingNum(null == totalVo.getTestingNum() ? 0 : totalVo.getTestingNum());
-        studentHomeVo.setFinshClassHours(null == totalVo.getFinshClassHours() ? 0 : totalVo.getFinshClassHours());
-        studentHomeVo.setUnfinshClassHours(null == totalVo.getUnfinshClassHours() ? 0 : totalVo.getUnfinshClassHours());
-        studentHomeVo.setStarTeacherNum(null == totalVo.getStarTeacherNum() ? 0 : totalVo.getStarTeacherNum());
+        studentHomeVo.setExerciseDays(null == total.getExerciseDays() ? 0 : total.getExerciseDays());
+        studentHomeVo.setExerciseHours(null == total.getExerciseHours() ? 0 : total.getExerciseHours());
+        studentHomeVo.setTestingNum(null == total.getTestingNum() ? 0 : total.getTestingNum());
+        studentHomeVo.setFinshClassHours(null == total.getFinshHours() ? 0 : total.getFinshHours());
+        studentHomeVo.setUnfinshClassHours(null == total.getUnfinshHours() ? 0 : total.getUnfinshHours());
+        studentHomeVo.setStarTeacherNum(null == total.getStarTeacherNum() ? 0 : total.getStarTeacherNum());
         return studentHomeVo;
     }
 

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

@@ -25,6 +25,7 @@ import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.function.Consumer;
 import java.util.stream.Collectors;
 
 
@@ -38,8 +39,6 @@ public class StudentTotalServiceImpl extends ServiceImpl<StudentTotalDao, Studen
     @Autowired
     private CourseScheduleDao courseScheduleDao;
     @Autowired
-    private SysConfigService sysConfigService;
-    @Autowired
     private RedissonClient redissonClient;
 
     @Override
@@ -79,11 +78,11 @@ public class StudentTotalServiceImpl extends ServiceImpl<StudentTotalDao, Studen
             }
             StudentTotalVo courseTotal = studentCourseMap.get(student.getUserId());
             if (null != courseTotal) {
-                if (null != courseTotal.getFinshClassHours()) {
-                    studentTotal.setFinshClassHours(courseTotal.getFinshClassHours());
+                if (null != courseTotal.getFinshHours()) {
+                    studentTotal.setFinshHours(courseTotal.getFinshHours());
                 }
-                if (null != courseTotal.getUnfinshClassHours()) {
-                    studentTotal.setUnfinshClassHours(courseTotal.getUnfinshClassHours());
+                if (null != courseTotal.getUnfinshHours()) {
+                    studentTotal.setUnfinshHours(courseTotal.getUnfinshHours());
                 }
             }
             //todo 缺少累计练习天数 累计练习时长 累计评测次数
@@ -95,4 +94,56 @@ public class StudentTotalServiceImpl extends ServiceImpl<StudentTotalDao, Studen
         return resultList;
     }
 
+    int batchSize = 100;
+
+    /***
+     * 批量更新插入
+     * @author liweifan
+     * @param: resultList
+     * @updateTime 2022/4/12 16:52
+     */
+    private void saveOrUpdateBatch(List<StudentTotal> resultList) {
+        List<StudentTotal> studentTotals = baseMapper.selectList(Wrappers.<StudentTotal>emptyWrapper().select("userId"));
+        Map<Long, StudentTotal> studentTotalMap = new HashMap<>();
+        if (!CollectionUtils.isEmpty(studentTotals)) {
+            studentTotals.forEach(o -> studentTotalMap.put(o.getUserId(), o));
+        }
+        //批量插入
+        List<StudentTotal> saveList = resultList.stream()
+                .filter(o -> null == studentTotalMap.get(o.getUserId())).collect(Collectors.toList());
+        batchOpera(saveList, this::saveBatch);
+
+        //批量更新
+        List<StudentTotal> updateList = resultList.stream()
+                .filter(o -> null != studentTotalMap.get(o.getUserId())).collect(Collectors.toList());
+        batchOpera(updateList, this::updateBatch);
+    }
+
+    private void batchOpera(List<StudentTotal> resultList, Consumer<List<StudentTotal>> action) {
+        int start = 0;
+        while (true) {
+            int end = start + batchSize;
+            List<StudentTotal> subList;
+            if (resultList.size() > end) {
+                subList = resultList.subList(start, start + batchSize);
+            } else {
+                subList = resultList.subList(start, resultList.size());
+            }
+            //处理sql
+            action.accept(subList);
+            if (start >= resultList.size()) {
+                break;
+            }
+            start += batchSize;
+        }
+    }
+
+    private void saveBatch(List<StudentTotal> resultList) {
+        //todo 批量保存
+    }
+
+    private void updateBatch(List<StudentTotal> resultList) {
+        //todo 批量更新
+    }
+
 }

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

@@ -120,14 +120,14 @@ public class TeacherServiceImpl extends ServiceImpl<TeacherDao, Teacher> impleme
             teacherHomeVo.setMusicianAuthStatus(musicianRecord.getTeacherAuthStatus());
         }
 
-        TeacherTotalVo totalVo = (TeacherTotalVo) redissonClient.getBucket(CacheNameEnum.TEACHER_TOTAL.getRedisKey(user.getId())).get();
-        if (null == totalVo) {
-            totalVo = new TeacherTotalVo();
+        TeacherTotal total = (TeacherTotal) redissonClient.getBucket(CacheNameEnum.TEACHER_TOTAL.getRedisKey(user.getId())).get();
+        if (null == total) {
+            total = new TeacherTotal();
         }
-        teacherHomeVo.setStarGrade((null == totalVo.getStarGrade()) ? 0 : totalVo.getStarGrade().intValue());
-        teacherHomeVo.setFansNum((null == totalVo.getFansNum()) ? 0 : totalVo.getFansNum());
-        teacherHomeVo.setExpTime((null == totalVo.getExpTime()) ? 0 : totalVo.getExpTime());
-        teacherHomeVo.setUnExpTime((null == totalVo.getUnExpTime()) ? 0 : totalVo.getUnExpTime());
+        teacherHomeVo.setStarGrade((null == total.getStarGrade()) ? 0 : total.getStarGrade().intValue());
+        teacherHomeVo.setFansNum((null == total.getFansNum()) ? 0 : total.getFansNum());
+        teacherHomeVo.setExpTime((null == total.getExpTime()) ? 0 : total.getExpTime());
+        teacherHomeVo.setUnExpTime((null == total.getUnExpTime()) ? 0 : total.getUnExpTime());
         return HttpResponseResult.succeed(teacherHomeVo);
     }
 

+ 11 - 6
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/support/PageUtil.java

@@ -21,12 +21,13 @@ public class PageUtil {
     private static final String ASC = "ASC";
     private static final String DESC = "DESC";
 
-    private static Integer toInt(Integer num,Integer bak){
-        if(null == num || 0 == num){
+    private static Integer toInt(Integer num, Integer bak) {
+        if (null == num || 0 == num) {
             return bak;
         }
         return num;
     }
+
     /**
      * 转化成mybatis plus中的Page
      *
@@ -34,11 +35,11 @@ public class PageUtil {
      * @return IPage
      */
     public static <T> IPage<T> getPage(QueryInfo query) {
-        Page<T> page = new Page<T>(toInt(query.getPage(),1), toInt(query.getRows(),10));
-        if(ASC.equals(query.getOrder()) && !StringUtil.isEmpty(query.getSort())){
+        Page<T> page = new Page<T>(toInt(query.getPage(), 1), toInt(query.getRows(), 10));
+        if (ASC.equals(query.getOrder()) && !StringUtil.isEmpty(query.getSort())) {
             page.setAsc(StringUtil.toStrArray(SqlKeyword.filter(query.getSort())));
         }
-        if(DESC.equals(query.getOrder()) && !StringUtil.isEmpty(query.getSort())){
+        if (DESC.equals(query.getOrder()) && !StringUtil.isEmpty(query.getSort())) {
             page.setDesc(StringUtil.toStrArray(SqlKeyword.filter(query.getSort())));
         }
         return page;
@@ -97,7 +98,11 @@ public class PageUtil {
         }
         int total = Integer.parseInt(String.valueOf(source.getTotal()));
         int limit = Integer.parseInt(String.valueOf(source.getSize()));
-        PageInfo<T> resultPage = new PageInfo<>();
+
+        PageInfo<T> resultPage = new PageInfo<T>(
+                ((Long) source.getCurrent()).intValue(),
+                ((Long) source.getSize()).intValue());
+
         resultPage.setRows(source.getRecords());
         resultPage.setLimit(limit);
         resultPage.setTotal(total);

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

@@ -64,8 +64,8 @@
     <select id="queryStudentTotal" resultType="com.yonge.cooleshow.biz.dal.vo.StudentTotalVo">
         select
             b.user_id_ as userId,
-            sum(if(a.end_time_ &lt;= now(),1,0)) as finshClassHours,
-            sum(if(a.end_time_ &gt; now(),1,0)) as unfinshClassHours
+            sum(if(a.end_time_ &lt;= now(),1,0)) as finshHours,
+            sum(if(a.end_time_ &gt; now(),1,0)) as unfinshHours
         from course_schedule a
         join course_schedule_student_payment b on a.id_ = b.course_id_
         where a.lock_ = 0 and a.type_ = 'PRACTICE'

+ 10 - 0
cooleshow-user/user-biz/src/main/resources/config/mybatis/MusicAlbumMapper.xml

@@ -58,6 +58,16 @@
                 and t.album_status_ = #{query.albumStatus}
             </if>
         </where>
+        <if test="query.sortBy != null">
+            <choose>
+                <when test="query.sortBy == 1">
+                    order by t2.num desc
+                </when>
+            </choose>
+        </if>
+        <if test="query.sortBy == null">
+            order by t.id_ desc
+        </if>
     </select>
 
     <select id="selectFavoritePage" resultType="com.yonge.cooleshow.biz.dal.vo.MusicAlbumVo">

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

@@ -71,6 +71,7 @@
         <where>
             <include refid="QueryInfo"/>
         </where>
+        order by  t.id_ desc
     </select>
 
     <sql id="QueryInfo">
@@ -217,6 +218,7 @@
         <where>
             <include refid="QueryInfo"/>
         </where>
+        order by  t.id_ desc
     </select>
 
     <select id="selectMyMusicPage" resultType="com.yonge.cooleshow.biz.dal.vo.MusicSheetVo">
@@ -237,6 +239,7 @@
                 and mspr.order_status_ = 1
             </if>
         </where>
+        order by  mspr.id_ desc
     </select>
 
     <select id="selectFavoriteMusicPage" resultType="com.yonge.cooleshow.biz.dal.vo.MusicSheetVo">
@@ -257,6 +260,7 @@
                 and mf.user_id_ = #{param.studentId}
             </if>
         </where>
+        order by mf.id_ desc
     </select>
 
     <select id="selectPracticeMusicPage" resultType="com.yonge.cooleshow.biz.dal.vo.MusicSheetVo">
@@ -328,6 +332,7 @@
                 and ms.del_flag_ = #{param.delFlag}
             </if>
         </where>
+        order by mspr.id_ desc
     </select>
 
     <select id="selectTeacherPage" resultType="com.yonge.cooleshow.biz.dal.vo.TeacherMusicSheetVo">
@@ -364,6 +369,7 @@
                 and ms.del_flag_ = #{param.delFlag}
             </if>
         </where>
+        order by  ms.id_ desc
     </select>
 
     <select id="selectAuditPage" resultType="com.yonge.cooleshow.biz.dal.vo.TeacherMusicSheetVo">
@@ -409,5 +415,6 @@
                 and ms.del_flag_ = #{param.delFlag}
             </if>
         </where>
+        order by  ms.submit_audit_time_ desc
     </select>
 </mapper>

+ 1 - 0
cooleshow-user/user-student/src/main/java/com/yonge/cooleshow/student/controller/MusicAlbumController.java

@@ -48,6 +48,7 @@ public class MusicAlbumController extends BaseController {
             return failed("用户信息获取失败");
         }
         query.setAlbumStatus(YesOrNoEnum.YES);
+        query.setSortBy(1);
         IPage<MusicAlbumVo> iPage = musicAlbumService.selectPage(PageUtil.getPage(query),query);
         return succeed(PageUtil.pageInfo(iPage));
     }

+ 7 - 1
cooleshow-user/user-student/src/main/java/com/yonge/cooleshow/student/controller/PaymentController.java

@@ -1,5 +1,6 @@
 package com.yonge.cooleshow.student.controller;
 
+import com.alibaba.fastjson.JSONObject;
 import com.huifu.adapay.core.AdapayCore;
 import com.huifu.adapay.core.util.AdapaySign;
 import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
@@ -11,6 +12,8 @@ import com.yonge.cooleshow.common.controller.BaseController;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpStatus;
 import org.springframework.web.bind.annotation.*;
@@ -26,6 +29,8 @@ import java.util.Map;
 @RequestMapping("/payment")
 @Api(value = "付款接口", tags = "付款接口")
 public class PaymentController extends BaseController {
+    private final static Logger log = LoggerFactory.getLogger(PaymentController.class);
+
     @Autowired
     private PaymentSdk paymentSdk;
     @Autowired
@@ -49,10 +54,11 @@ public class PaymentController extends BaseController {
             return failed(HttpStatus.FORBIDDEN, "请登录");
         }
         HttpResponseResult<Map<String, String>> responseResult = paymentSdk.getOpenId(js_code);
-        if(responseResult.getStatus()){
+        if (responseResult.getStatus()) {
             Map<String, String> data = responseResult.getData();
             //绑定到用户表
             user.setWechatId(data.get("openid"));
+            log.info("绑定用户openid,param is {}", JSONObject.toJSONString(user));
             sysUserFeignService.bindOpenId(user);
         }
         return responseResult;

+ 25 - 0
cooleshow-user/user-teacher/src/main/java/com/yonge/cooleshow/teacher/controller/MusicSheetController.java

@@ -74,6 +74,7 @@ public class MusicSheetController extends BaseController {
 
         musicSheetDto.setUserId(sysUser.getId());
         musicSheetDto.setAuditStatus(AuthStatusEnum.DOING);
+        musicSheetDto.setSubmitAuditTime(new Date());
         List<MusicSheetAccompaniment> list;
         if (!AudioTypeEnum.MIDI.getCode().equals(musicSheetDto.getAudioType().getCode())){
             list = musicSheetDto.getBackground();
@@ -92,6 +93,30 @@ public class MusicSheetController extends BaseController {
         return succeed("新增曲谱成功");
     }
 
+
+    @ApiOperation(value = "修改", httpMethod="POST", consumes="application/json", produces="application/json")
+    @PostMapping(value="/update", consumes="application/json", produces="application/json")
+    public HttpResponseResult<Object> update(@Valid @RequestBody MusicSheet musicSheet) {
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if (sysUser == null  || sysUser.getId() == null) {
+            return failed("用户信息获取失败");
+        }
+        if (musicSheet.getId()==null){
+            return failed("缺少ID");
+        }
+
+        musicSheet.setUpdateBy(sysUser.getId());
+        musicSheet.setUpdateTime(new Date());
+        musicSheet.setSubmitAuditTime(new Date());
+        musicSheet.setAuditStatus(AuthStatusEnum.DOING);
+        boolean result = musicSheetService.updateById(musicSheet);
+        if (result){
+            return succeed("修改成功");
+        } else {
+            return failed("修改失败");
+        }
+    }
+
     @ApiOperation(value = "分页查询", httpMethod="POST", consumes="application/json", produces="application/json")
     @PostMapping(value="/list", consumes="application/json", produces="application/json")
     public HttpResponseResult<PageInfo<MusicSheetVo>> list(@RequestBody MusicSheetSearch query) {