Browse Source

Merge remote-tracking branch 'origin/master'

zouxuan 3 năm trước cách đây
mục cha
commit
a89681bf5d
23 tập tin đã thay đổi với 254 bổ sung47 xóa
  1. 158 0
      audio-analysis/src/main/java/com/yonge/Main.java
  2. 11 0
      audio-analysis/src/main/java/com/yonge/netty/entity/MusicXmlBasicInfo.java
  3. 1 0
      audio-analysis/src/main/java/com/yonge/netty/server/service/AudioCompareHandler.java
  4. 5 1
      cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/UserOrderController.java
  5. 1 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/UserOrderDao.java
  6. 12 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/SysMusicCompareRecord.java
  7. 0 2
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/CourseScheduleService.java
  8. 1 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/UserOrderService.java
  9. 1 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/CourseGroupServiceImpl.java
  10. 12 11
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/CourseScheduleServiceImpl.java
  11. 1 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/SysMusicCompareRecordServiceImpl.java
  12. 3 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/UserAccountServiceImpl.java
  13. 5 5
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/UserOrderServiceImpl.java
  14. 1 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/VideoLessonGroupDetailServiceImpl.java
  15. 10 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/res/HomeUserToDoNum.java
  16. 6 1
      cooleshow-user/user-biz/src/main/resources/config/mybatis/CourseHomeworkMapper.xml
  17. 2 1
      cooleshow-user/user-biz/src/main/resources/config/mybatis/HomeMapper.xml
  18. 4 4
      cooleshow-user/user-biz/src/main/resources/config/mybatis/MusicAlbumMapper.xml
  19. 10 10
      cooleshow-user/user-biz/src/main/resources/config/mybatis/MusicSheetMapper.xml
  20. 8 3
      cooleshow-user/user-biz/src/main/resources/config/mybatis/SysMusicCompareRecordMapper.xml
  21. 1 2
      cooleshow-user/user-biz/src/main/resources/config/mybatis/UserAccountMapper.xml
  22. 1 1
      cooleshow-user/user-biz/src/main/resources/config/mybatis/UserOrderMapper.xml
  23. 0 1
      cooleshow-user/user-teacher/src/main/java/com/yonge/cooleshow/teacher/task/TaskController.java

+ 158 - 0
audio-analysis/src/main/java/com/yonge/Main.java

@@ -0,0 +1,158 @@
+package com.yonge;
+
+import be.tarsos.dsp.AudioDispatcher;
+import be.tarsos.dsp.AudioEvent;
+import be.tarsos.dsp.AudioProcessor;
+import be.tarsos.dsp.io.jvm.JVMAudioInputStream;
+import be.tarsos.dsp.mfcc.MFCC;
+import be.tarsos.dsp.pitch.FastYin;
+import be.tarsos.dsp.pitch.PitchDetectionHandler;
+import be.tarsos.dsp.pitch.PitchDetectionResult;
+import be.tarsos.dsp.pitch.PitchProcessor;
+import com.yonge.audio.analysis.AudioFloatConverter;
+import com.yonge.audio.analysis.detector.YINPitchDetector;
+import com.yonge.audio.utils.ArrayUtil;
+import org.apache.commons.io.IOUtils;
+
+import javax.sound.sampled.AudioFormat;
+import javax.sound.sampled.AudioInputStream;
+import javax.sound.sampled.AudioSystem;
+import javax.sound.sampled.UnsupportedAudioFileException;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.net.URL;
+import java.util.Arrays;
+
+/**
+ * Description
+ *
+ * @author liujunchi
+ * @date 2022-06-24
+ */
+public class Main {
+    private final static int audioBufferSize = 2048;
+    private final static int bufferOverlap = 1024;
+    private final static int amountOfMelFilters = 20;
+    private final static int amountOfCepstrumCoef = 30;
+    private final static float lowerFilterFreq = 133.33f;
+    private final static float upperFilterFreq = 8000f;
+
+    private static AudioFormat audioFormat = new AudioFormat(44100, 16, 1, true, false);
+
+    // private AudioFloatConverter converter = AudioFloatConverter.getConverter(audioFormat);
+
+    public static void main(String[] args){
+        try{
+            float sampleRate = 44100;
+            int audioBufferSize = 2048;
+            int bufferOverlap = 0;
+            AudioFloatConverter converter = AudioFloatConverter.getConverter(audioFormat);
+            //Create an AudioInputStream from my .wav file
+            URL soundURL = Main.class.getResource("/300.wav");
+            AudioInputStream stream = AudioSystem.getAudioInputStream(soundURL);
+            final MFCC mfccProcessor = new MFCC(audioBufferSize, stream.getFormat().getSampleRate(),
+                                                amountOfCepstrumCoef, amountOfMelFilters, lowerFilterFreq, upperFilterFreq);
+
+            FastYin detector = new FastYin(sampleRate, audioBufferSize );
+            byte[] bytes = IOUtils.toByteArray(stream);
+            AudioFormat format = stream.getFormat();
+
+            int b = 0;
+            int frequency = 0;
+            while (bytes.length > 2048 *2) {
+
+                byte[] bufferData = ArrayUtil.extractByte(bytes, 0, 2048*2 - 1);
+
+                float[] sampleFloats = new float[1024*2];
+
+                converter.toFloatArray(bufferData, sampleFloats);
+                int playFrequency = (int)detector.getPitch(sampleFloats).getPitch();
+                System.out.println("play frequency is " +playFrequency);
+                // ArrayUtil.extractByte(channelContext.getChannelBufferBytes(), bufferSize, totalLength - 1)
+                bytes  = ArrayUtil.extractByte(bytes, 2048*2, bytes.length - 1);
+                // if (b == 1) {
+                //     frequency += playFrequency;
+                //     System.out.println("play frequency is " +frequency/2);
+                //     b = 0;
+                //     frequency = 0;
+                // } else {
+                //     frequency += playFrequency;
+                //     b ++;
+                // }
+            }
+
+
+            //Convert into TarsosDSP API
+            // JVMAudioInputStream audioStream = new JVMAudioInputStream(stream);
+            // AudioDispatcher dispatcher = new AudioDispatcher(audioStream, audioBufferSize, bufferOverlap);
+            // MyPitchDetector myPitchDetector = new MyPitchDetector();
+            // dispatcher.addAudioProcessor(mfccProcessor);
+            // dispatcher.addAudioProcessor(new AudioProcessor() {
+            //     @Override
+            //     public boolean process(AudioEvent audioEvent) {
+            //         float[] mfccs = mfccProcessor.getMFCC();
+            //
+            //         // System.out.println(Arrays.toString(mfccs));
+            //
+            //         YINPitchDetector frequencyDetector = new YINPitchDetector(mfccs.length, sampleRate);
+            //
+            //         int playFrequency = (int)detector.getPitch(audioEvent.getFloatBuffer()).getPitch();
+            //         // int playFrequency = (int) frequencyDetector.getFrequency(mfccs);
+            //         System.out.println("play frequency is " +playFrequency);
+            //         return true;
+            //     }
+            //
+            //     @Override
+            //     public void processingFinished() {
+            //
+            //     }
+            // });
+            // // dispatcher.addAudioProcessor(new MyPitchProcessor(PitchProcessor.PitchEstimationAlgorithm.FFT_YIN, sampleRate, audioBufferSize, myPitchDetector));
+            // dispatcher.run();
+
+
+        }
+        catch(FileNotFoundException fne){fne.printStackTrace();}
+        catch(UnsupportedAudioFileException uafe){uafe.printStackTrace();}
+        catch(IOException ie){ie.printStackTrace();}
+    }
+}
+
+class  MyPitchDetector implements PitchDetectionHandler {
+
+    //Here the result of pitch is always less than half.
+    @Override
+    public void handlePitch(PitchDetectionResult pitchDetectionResult,
+                            AudioEvent audioEvent) {
+        if(pitchDetectionResult.getPitch() != -1){
+            double timeStamp = audioEvent.getTimeStamp();
+            float pitch = pitchDetectionResult.getPitch();
+            float probability = pitchDetectionResult.getProbability();
+            double rms = audioEvent.getRMS() * 100;
+            String message = String.format("Pitch detected at %.2fs: %.2fHz ( %.2f probability, RMS: %.5f )\n", timeStamp,pitch,probability,rms);
+            System.out.println(message);
+        }
+    }
+}
+
+
+class  MyPitchProcessor extends PitchProcessor {
+
+    /**
+     * Initialize a new pitch processor.
+     *
+     * @param algorithm  An enum defining the algorithm.
+     * @param sampleRate The sample rate of the buffer (Hz).
+     * @param bufferSize The size of the buffer in samples.
+     * @param handler
+     */
+    public MyPitchProcessor(PitchEstimationAlgorithm algorithm, float sampleRate, int bufferSize, PitchDetectionHandler handler) {
+        super(algorithm, sampleRate, bufferSize, handler);
+    }
+
+
+    @Override
+    public boolean process(AudioEvent audioEvent) {
+        return super.process(audioEvent);
+    }
+}

+ 11 - 0
audio-analysis/src/main/java/com/yonge/netty/entity/MusicXmlBasicInfo.java

@@ -27,6 +27,9 @@ public class MusicXmlBasicInfo {
 	
 	private String partIndex;
 
+	// 自定义配置 默认空字符串
+	private String customConfiguration ="";
+
 	private int speed;
 
 	private String heardLevel;
@@ -39,6 +42,14 @@ public class MusicXmlBasicInfo {
 
 	private Map<Integer, MusicXmlSection> musicXmlSectionMap = new HashMap<Integer, MusicXmlSection>();
 
+	public String getCustomConfiguration() {
+		return customConfiguration;
+	}
+
+	public void setCustomConfiguration(String customConfiguration) {
+		this.customConfiguration = customConfiguration;
+	}
+
 	public Integer getId() {
 		return id;
 	}

+ 1 - 0
audio-analysis/src/main/java/com/yonge/netty/server/service/AudioCompareHandler.java

@@ -154,6 +154,7 @@ public class AudioCompareHandler implements MessageHandler {
 				sysMusicCompareRecord.setDeviceType(DeviceTypeEnum.valueOf(musicXmlBasicInfo.getPlatform()));
 				sysMusicCompareRecord.setSpeed(musicXmlBasicInfo.getSpeed());
 				sysMusicCompareRecord.setPartIndex(musicXmlBasicInfo.getPartIndex());
+				sysMusicCompareRecord.setCustomConfiguration(musicXmlBasicInfo.getCustomConfiguration());
 				
 				SysUser sysUser = sysUserFeignService.queryUserById(sysMusicCompareRecord.getUserId());
 				

+ 5 - 1
cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/UserOrderController.java

@@ -19,6 +19,7 @@ import com.yonge.cooleshow.biz.dal.dto.search.OrderSearch;
 import com.yonge.cooleshow.biz.dal.service.UserOrderService;
 
 import java.lang.reflect.InvocationTargetException;
+import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -58,12 +59,15 @@ public class UserOrderController extends BaseController {
     @ApiOperation(value = "查询导出", notes = "传入orderSearch")
     @PreAuthorize("@pcs.hasPermissions('userOrder/export')")
     public void export(@RequestBody OrderSearch query) {
-        List<UserOrderVo> userOrderVos = userOrderService.selectList(query);
+        List<UserOrderVo> userOrderVos = userOrderService.selectAllList(query);
         List<UserOrderExport> list = new ArrayList<>();
         userOrderVos.forEach(o-> {
             UserOrderExport export = new UserOrderExport();
             try {
                 BeanUtils.copyProperties(export,o);
+                if(null == export.getFeeAmt()){
+                    export.setFeeAmt(BigDecimal.ZERO);
+                }
                 list.add(export);
             } catch (IllegalAccessException e) {
                 e.printStackTrace();

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

@@ -55,7 +55,7 @@ public interface UserOrderDao extends BaseMapper<UserOrder>{
 	 * @date 2022-03-30 13:53:51
 	 * @return: com.yonge.cooleshow.biz.dal.vo.OrderVo
 	 */
-	List<UserOrderVo> selectList(@Param("param") OrderSearch order);
+	List<UserOrderVo> selectAllList(@Param("param") OrderSearch order);
 	/***
 	 * 查询创建时间超过半小时还在交易中的订单
 	 * @author liweifan

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

@@ -39,6 +39,10 @@ public class SysMusicCompareRecord extends BaseEntity {
 
 	private int notesDataIndex;
 
+
+	// 自定义配置 默认空字符串
+	private String customConfiguration ="";
+
 	/** 总分 */
 	private BigDecimal score;
 
@@ -79,6 +83,14 @@ public class SysMusicCompareRecord extends BaseEntity {
 	@ApiModelProperty("音乐过期 0:否 1:是")
 	private Integer expire;
 
+	public String getCustomConfiguration() {
+		return customConfiguration;
+	}
+
+	public void setCustomConfiguration(String customConfiguration) {
+		this.customConfiguration = customConfiguration;
+	}
+
 	public Integer getExpire() {
 		return expire;
 	}

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

@@ -236,8 +236,6 @@ public interface CourseScheduleService extends IService<CourseSchedule> {
 
     void scheduleTask();
 
-//    void teacherSalaryTask();
-
     PianoRoomTimeVo selectRemainTime(Long teacherId);
 
     PageInfo<CourseStudentVo> selectStudent(Map<String, Object> param);

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

@@ -57,7 +57,7 @@ public interface UserOrderService extends IService<UserOrder> {
      * @updateTime 2022/4/15 15:05
      * @return: java.util.List<com.yonge.cooleshow.biz.dal.vo.UserOrderVo>
      */
-    List<UserOrderVo> selectList(OrderSearch query);
+    List<UserOrderVo> selectAllList(OrderSearch query);
 
     /***
      * 下单接口

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

@@ -148,7 +148,7 @@ public class CourseGroupServiceImpl extends ServiceImpl<CourseGroupDao, CourseGr
         query.setGoodType(GoodTypeEnum.LIVE.getCode());
         query.setBizId(groupId);
         query.setStatus(OrderStatusEnum.PAID.getCode());
-        List<UserOrderVo> userOrderVos = userOrderService.selectList(query);
+        List<UserOrderVo> userOrderVos = userOrderService.selectAllList(query);
         result.setExistBuy(0);
         if (CollectionUtils.isNotEmpty(userOrderVos)) {
             result.setExistBuy(1);

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

@@ -1270,8 +1270,8 @@ public class CourseScheduleServiceImpl extends ServiceImpl<CourseScheduleDao, Co
                 .eq(TeacherFreeTime::getEnableFlag, 1)
                 .eq(TeacherFreeTime::getDefaultFlag, 1));
 
-        if (teacherFreeTime==null){
-            log.info("未查到陪练课配置,老师id:{}",teacherId);
+        if (teacherFreeTime == null) {
+            log.info("未查到陪练课配置,老师id:{}", teacherId);
             return new ArrayList<>();
         }
 
@@ -1623,15 +1623,16 @@ public class CourseScheduleServiceImpl extends ServiceImpl<CourseScheduleDao, Co
 
                 //获取教师课酬写入到金额变更表
                 for (CourseScheduleStudentVo practice : practiceList) {
-                    UserAccountRecordDto userAccountRecord = new UserAccountRecordDto();
-                    userAccountRecord.setUserId(practice.getTeacherId());//老师id
-                    userAccountRecord.setInOrOut(InOrOutEnum.IN);
-                    userAccountRecord.setBizType(AccountBizTypeEnum.PRACTICE);
-                    userAccountRecord.setBizId(practice.getCourseId());//课程id
-                    userAccountRecord.setBizName(practice.getGroupName());//课程名称
-                    userAccountRecord.setTransAmount(practice.getActualSalary());//扣除手续费后所得金额
-                    userAccountRecord.setOrderNo(practice.getOrderNo());
-                    userAccountService.accountChange(userAccountRecord);
+                    userAccountService.accountChange(
+                            new UserAccountRecordDto(practice.getTeacherId(), practice.getActualSalary()
+                                    , InOrOutEnum.IN, AccountBizTypeEnum.PRACTICE, practice.getCourseId(),
+                                    practice.getGroupName(), practice.getOrderNo())
+                    );
+
+                    //清除学生统计缓存
+                    redissonClient.getBucket(CacheNameEnum.STUDENT_TOTAL.getRedisKey(practice.getStudentId())).delete();
+                    //清除老师统计缓存
+                    redissonClient.getBucket(CacheNameEnum.TEACHER_TOTAL.getRedisKey(practice.getTeacherId())).delete();
                 }
             }
 

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

@@ -109,6 +109,7 @@ public class SysMusicCompareRecordServiceImpl extends BaseServiceImpl<Long, SysM
 		jsonObject.put("heardLevel", userLastEvaluationData.getHeardLevel());
 		jsonObject.put("videoFilePath", userLastEvaluationData.getVideoFilePath());
 		jsonObject.put("partIndex", userLastEvaluationData.getPartIndex());
+		jsonObject.put("customConfiguration", userLastEvaluationData.getCustomConfiguration());
 		if(userLastEvaluationData.getCreateTime() == null) {
 			jsonObject.put("expire", 1);
 		} else {

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

@@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.yonge.cooleshow.biz.dal.dao.UserOrderDao;
 import com.yonge.cooleshow.biz.dal.dto.UserAccountRecordDto;
 import com.yonge.cooleshow.biz.dal.dto.req.TotalReq;
 import com.yonge.cooleshow.biz.dal.entity.UserAccountRecord;
@@ -49,7 +50,6 @@ public class UserAccountServiceImpl extends ServiceImpl<UserAccountDao, UserAcco
     private RedissonClient redissonClient;
     @Autowired
     private UserOrderService orderService;
-
     @Override
     public UserAccountVo detail(Long id) {
         UserAccountVo detail = baseMapper.detail(id);
@@ -88,6 +88,7 @@ public class UserAccountServiceImpl extends ServiceImpl<UserAccountDao, UserAcco
         } catch (BizException e) {
             return HttpResponseResult.failed(e.getMessage());
         } catch (Exception e) {
+            e.printStackTrace();
             log.error("callIfLockCanGet error lockKey {}", lockName);
             return HttpResponseResult.failed("账户变更失败");
         } finally {
@@ -151,6 +152,7 @@ public class UserAccountServiceImpl extends ServiceImpl<UserAccountDao, UserAcco
         if (InOrOutEnum.IN.equals(accountRecordDto.getInOrOut())) {
             UserOrder userOrder = orderService.getOne(Wrappers.<UserOrder>lambdaQuery()
                     .eq(UserOrder::getOrderNo, accountRecordDto.getOrderNo()));
+
             BigDecimal totalTransAmount = baseMapper.totalTransAmount(accountRecordDto);
             if (null == totalTransAmount) {
                 totalTransAmount = BigDecimal.ZERO;

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

@@ -203,7 +203,7 @@ public class UserOrderServiceImpl extends ServiceImpl<UserOrderDao, UserOrder> i
     public void setSuccessStatus() {
         OrderSearch query = new OrderSearch();
         query.setStatus("WAIT_PAY,PAYING");
-        List<UserOrderVo> userOrderVos = selectList(query);
+        List<UserOrderVo> userOrderVos = selectAllList(query);
         for (UserOrderVo userOrderVo : userOrderVos) {
             testOrderSuccess(userOrderVo);
         }
@@ -244,8 +244,8 @@ public class UserOrderServiceImpl extends ServiceImpl<UserOrderDao, UserOrder> i
     }
 
     @Override
-    public List<UserOrderVo> selectList(OrderSearch query) {
-        return baseMapper.selectList(query);
+    public List<UserOrderVo> selectAllList(OrderSearch query) {
+        return baseMapper.selectAllList(query);
     }
 
     @Override
@@ -346,7 +346,7 @@ public class UserOrderServiceImpl extends ServiceImpl<UserOrderDao, UserOrder> i
         search.setStatus(OrderStatusEnum.WAIT_PAY.getCode());
         search.setEndTime(LocalDateTime.now().minusMinutes(30));
         //查询待支付订单
-        List<UserOrderVo> waitPayOrderList = baseMapper.selectList(search);
+        List<UserOrderVo> waitPayOrderList = baseMapper.selectAllList(search);
         for (UserOrderVo orderVo : waitPayOrderList) {
             //取消订单要获取锁,防止在轮询取消时,用户修改订单状态
             boolean b = DistributedLock.of(redissonClient)
@@ -357,7 +357,7 @@ public class UserOrderServiceImpl extends ServiceImpl<UserOrderDao, UserOrder> i
         search.setStatus(OrderStatusEnum.PAYING.getCode());
         search.setEndTime(LocalDateTime.now().minusMinutes(120));
         //查询待支付中订单
-        List<UserOrderVo> payingOrderList = baseMapper.selectList(search);
+        List<UserOrderVo> payingOrderList = baseMapper.selectAllList(search);
         for (UserOrderVo orderVo : payingOrderList) {
             //取消订单要获取锁,防止在轮询取消时,用户修改订单状态
             boolean b = DistributedLock.of(redissonClient)

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

@@ -154,7 +154,7 @@ public class VideoLessonGroupDetailServiceImpl extends ServiceImpl<VideoLessonGr
         param.setGoodType(GoodTypeEnum.VIDEO.getCode());
         param.setBizId(groupId);
         param.setStatus(OrderStatusEnum.PAID.getCode());
-        List<UserOrderVo> userOrderVos = orderService.selectList(param);
+        List<UserOrderVo> userOrderVos = orderService.selectAllList(param);
 
         /*VideoLessonPurchaseRecord isAlreadyBuy= videoLessonPurchaseRecordDao.selectOne(Wrappers.<VideoLessonPurchaseRecord>lambdaQuery()
                 .eq(VideoLessonPurchaseRecord::getStudentId, userId)

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

@@ -17,6 +17,8 @@ public class HomeUserToDoNum {
     private Integer musicNum;
     @ApiModelProperty("待审核视频课 ")
     private Integer videoCourseNum;
+    @ApiModelProperty("待审核个人风采 ")
+    private Integer styleNum;
 
     public Integer getEntryNum() {
         return entryNum;
@@ -49,4 +51,12 @@ public class HomeUserToDoNum {
     public void setVideoCourseNum(Integer videoCourseNum) {
         this.videoCourseNum = videoCourseNum;
     }
+
+    public Integer getStyleNum() {
+        return styleNum;
+    }
+
+    public void setStyleNum(Integer styleNum) {
+        this.styleNum = styleNum;
+    }
 }

+ 6 - 1
cooleshow-user/user-biz/src/main/resources/config/mybatis/CourseHomeworkMapper.xml

@@ -113,6 +113,11 @@
                 from course_schedule_student_payment cssp
                 left join student_course_homework sch on sch.student_id_ = cssp.user_id_ and
                 sch.course_schedule_id_ = cssp.course_id_
+                <where>
+                    <if test="param.studentId != null">
+                        and cssp.user_id_ = #{param.studentId}
+                    </if>
+                </where>
                 group by  cssp.course_id_) a on a.course_id_ = cs.id_
         <where>
             <if test="param.decorate != null">
@@ -344,7 +349,7 @@
         s.avatar_ as studentAvatar,
         if(sch.id_ is not null,1,0) as submitHomework,
         (case when sch.id_ is null then 'NOTCOMMIT'
-        when sch.teacher_replied_ is not null or sch.teacher_replied_ != '' then 'NOTREVIEW'
+        when sch.teacher_replied_ is null or sch.teacher_replied_ = '' then 'NOTREVIEW'
         else 'REVIEWED' end ) as homeworkStatus,
         (select group_concat(s2.name_) from subject s2
         where find_in_set(s2.id_,st.subject_id_) and s2.del_flag_ = 0 ) as subjectName

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

@@ -7,7 +7,8 @@
 			(select count(1) from teacher_auth_entry_record where teacher_auth_status_ = 'DOING') as entryNum,
 			(select count(1) from teacher_auth_musician_record where teacher_auth_status_ = 'DOING') as musicianNum,
         	(select count(1) from music_sheet where del_flag_ = 0 and audit_status_ = 'DOING') as musicNum,
-        	(select count(1) from video_lesson_auth_record where audit_status_ = 'DOING') as videoCourseNum
+        	(select count(1) from video_lesson_auth_record where audit_status_ = 'DOING') as videoCourseNum,
+			(select count(1) from teacher_style_video where auth_status_ = 'DOING') as styleNum
         from dual
 	</select>
 

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

@@ -39,7 +39,7 @@
     <select id="selectPage" resultType="com.yonge.cooleshow.biz.dal.vo.MusicAlbumVo">
         select <include refid="Base_Column_List"/>
         ,(select group_concat(mt.name_) from music_tag mt
-            where find_in_set(mt.id_,t.album_tag_) and mt.del_flag_ = 0) as musicTagNames
+            where find_in_set(mt.id_,t.album_tag_) and mt.del_flag_ = 0 and mt.state_ = 1) as musicTagNames
         , t1.num as musicSheetCount
         ,t2.num as albumFavoriteCount
         from music_album t
@@ -79,7 +79,7 @@
     <select id="selectFavoritePage" resultType="com.yonge.cooleshow.biz.dal.vo.MusicAlbumVo">
         select <include refid="Base_Column_List"/>
         ,(select group_concat(mt.name_) from music_tag mt
-        where find_in_set(mt.id_,t.album_tag_) and mt.del_flag_ = 0) as musicTagNames
+        where find_in_set(mt.id_,t.album_tag_) and mt.del_flag_ = 0 and mt.state_ = 1) as musicTagNames
         from music_album t
         left join album_favorite af2 on af2.album_id_ = t.id_
         <where>
@@ -140,7 +140,7 @@
     <select id="selectMusicAlbumById" resultType="com.yonge.cooleshow.biz.dal.vo.MusicAlbumVo">
         select <include refid="Base_Column_List"/>
         ,(select group_concat(mt.name_) from music_tag mt
-        where find_in_set(mt.id_,t.album_tag_) and mt.del_flag_ = 0) as musicTagNames
+        where find_in_set(mt.id_,t.album_tag_) and mt.del_flag_ = 0 and mt.state_ = 1) as musicTagNames
         , t1.num as musicSheetCount
         ,t2.num as albumFavoriteCount
         from music_album t
@@ -152,7 +152,7 @@
     <select id="selectStudentPage" resultType="com.yonge.cooleshow.biz.dal.vo.MusicAlbumVo">
         select <include refid="Base_Column_List"/>
         ,(select group_concat(mt.name_) from music_tag mt
-        where find_in_set(mt.id_,t.album_tag_) and mt.del_flag_ = 0) as musicTagNames
+        where find_in_set(mt.id_,t.album_tag_) and mt.del_flag_ = 0 and mt.state_ = 1) as musicTagNames
         ,if( t1.num>0,t1.num,0) as musicSheetCount
         ,if(t2.num >0,t2.num,0) as albumFavoriteCount
         from music_album t

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

@@ -69,7 +69,7 @@
         ,su.username_ as addName
         ,su.avatar_ as addUserAvatar
         ,(select group_concat(mt.name_) from music_tag mt
-            where find_in_set(mt.id_,t.music_tag_) and mt.del_flag_ = 0) as musicTagNames
+            where find_in_set(mt.id_,t.music_tag_) and mt.del_flag_ = 0  and mt.state_ = 1) as musicTagNames
         ,(select group_concat(s.name_) from subject s
             where find_in_set(s.id_,t.music_subject_) and s.del_flag_ = 0 ) as subjectNames
         from music_sheet t
@@ -121,7 +121,7 @@
     <select id="selectAlbumDetailPage" resultType="com.yonge.cooleshow.biz.dal.vo.MusicSheetVo">
         select distinct <include refid="Base_Column_List"/>
         ,(select group_concat(mt.name_) from music_tag mt
-        where find_in_set(mt.id_,t.music_tag_) and mt.del_flag_ = 0) as musicTagNames
+        where find_in_set(mt.id_,t.music_tag_) and mt.del_flag_ = 0  and mt.state_ = 1) as musicTagNames
         ,(select group_concat(s.name_) from subject s
         where find_in_set(s.id_,t.music_subject_) and s.del_flag_ = 0 ) as subjectNames
         from music_sheet t
@@ -180,7 +180,7 @@
         ,su.username_ as userName
         ,su.avatar_ as userAvatar
         ,(select group_concat(mt.name_) from music_tag mt
-        where find_in_set(mt.id_,t.music_tag_) and mt.del_flag_ = 0) as musicTagNames
+        where find_in_set(mt.id_,t.music_tag_) and mt.del_flag_ = 0  and mt.state_ = 1) as musicTagNames
         ,s2.name_ as subjectNames
         ,s2.code_ as code
         FROM music_sheet t
@@ -246,7 +246,7 @@
         ,su.username_ as addName
         ,su.avatar_ as addUserAvatar
         ,(select group_concat(mt.name_) from music_tag mt
-        where find_in_set(mt.id_,t.music_tag_) and mt.del_flag_ = 0) as musicTagNames
+        where find_in_set(mt.id_,t.music_tag_) and mt.del_flag_ = 0  and mt.state_ = 1) as musicTagNames
         ,(select group_concat(s.name_) from subject s
         where find_in_set(s.id_,t.music_subject_)  and s.del_flag_ = 0) as subjectNames
         <if test="param.studentId != null">
@@ -280,7 +280,7 @@
         ,su.username_ as addName
         ,su.avatar_ as addUserAvatar
         ,(select group_concat(mt.name_) from music_tag mt
-        where find_in_set(mt.id_,t.music_tag_) and mt.del_flag_ = 0) as musicTagNames
+        where find_in_set(mt.id_,t.music_tag_) and mt.del_flag_ = 0  and mt.state_ = 1) as musicTagNames
         ,(select group_concat(s.name_) from subject s
         where find_in_set(s.id_,t.music_subject_) and s.del_flag_ = 0 ) as subjectNames
         ,if(mf.id_ is not null,1,0) as favorite
@@ -303,7 +303,7 @@
         ,su.username_ as addName
         ,su.avatar_ as addUserAvatar
         ,(select group_concat(mt.name_) from music_tag mt
-        where find_in_set(mt.id_,t.music_tag_) and mt.del_flag_ = 0) as musicTagNames
+        where find_in_set(mt.id_,t.music_tag_) and mt.del_flag_ = 0  and mt.state_ = 1) as musicTagNames
         ,(select group_concat(s.name_) from subject s
         where find_in_set(s.id_,t.music_subject_) and s.del_flag_ = 0 ) as subjectNames
         ,if(mf.id_ is not null,1,0) as favorite
@@ -324,7 +324,7 @@
         ,su.username_ as addName
         ,su.avatar_ as addUserAvatar
         ,(select group_concat(mt.name_) from music_tag mt
-        where find_in_set(mt.id_,t.music_tag_) and mt.del_flag_ = 0) as musicTagNames
+        where find_in_set(mt.id_,t.music_tag_) and mt.del_flag_ = 0  and mt.state_ = 1) as musicTagNames
         ,(select group_concat(s.name_) from subject s where find_in_set(s.id_,t.music_subject_) ) as subjectNames
         ,if(mf.id_ is not null,1,0) as favorite
         from music_sheet t
@@ -355,7 +355,7 @@
         ,ms.composer_ as composer
         ,ms.music_tag_ as musicTag
         ,(select group_concat(mt.name_) from music_tag mt
-        where find_in_set(mt.id_,ms.music_tag_) and mt.del_flag_ = 0) as musicTagNames
+        where find_in_set(mt.id_,ms.music_tag_) and mt.del_flag_ = 0  and mt.state_ = 1) as musicTagNames
         ,mspr.purchase_price_ as purchasePrice
         ,mspr.order_no_ as orderNo
         ,mspr.purchase_time_ as purchaseTime
@@ -398,7 +398,7 @@
         ,ms.composer_ as composer
         ,ms.music_tag_ as musicTag
         ,(select group_concat(mt.name_) from music_tag mt
-        where find_in_set(mt.id_,ms.music_tag_) and mt.del_flag_ = 0) as musicTagNames
+        where find_in_set(mt.id_,ms.music_tag_) and mt.del_flag_ = 0  and mt.state_ = 1) as musicTagNames
         ,ms.play_speed_ as playSpeed
         ,ms.music_price_ as musicPrice
         ,ms.create_time_ as createTime
@@ -440,7 +440,7 @@
         ,ms.composer_ as composer
         ,ms.music_tag_ as musicTag
         ,(select group_concat(mt.name_) from music_tag mt
-        where find_in_set(mt.id_,ms.music_tag_) and mt.del_flag_ = 0) as musicTagNames
+        where find_in_set(mt.id_,ms.music_tag_) and mt.del_flag_ = 0  and mt.state_ = 1) as musicTagNames
         ,ms.play_speed_ as playSpeed
         ,ms.music_price_ as musicPrice
         ,ms.create_time_ as createTime

+ 8 - 3
cooleshow-user/user-biz/src/main/resources/config/mybatis/SysMusicCompareRecordMapper.xml

@@ -30,6 +30,7 @@
 		<result column="monday_" property="monday"/>
 		<result column="create_time_" property="createTime" />
 		<result column="part_index_" property="partIndex" />
+		<result column="custom_configuration_" property="customConfiguration" />
 	</resultMap>
 
 	<!-- 根据主键查询一条记录 -->
@@ -46,11 +47,11 @@
 	<insert id="insert" parameterType="com.yonge.cooleshow.biz.dal.entity.SysMusicCompareRecord" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
 		INSERT INTO sys_music_compare_record (id_,user_id_,music_sheet_id_,heard_level_,behavior_id_,score_data_,score_,intonation_,cadence_,integrity_,
 		                                      record_file_path_,video_file_path_,device_type_,client_id_,play_time_,speed_,monday_,
-												source_time_,feature_,create_time_,update_time_,part_index_)
+												source_time_,feature_,create_time_,update_time_,part_index_,custom_configuration_)
 		VALUES(#{id},#{userId},#{musicSheetId},#{heardLevel,typeHandler=com.yonge.toolset.mybatis.dal.CustomEnumTypeHandler},#{behaviorId},#{scoreData},
 		       #{score},#{intonation},#{cadence},#{integrity},
 		       #{recordFilePath},#{videoFilePath},#{deviceType,typeHandler=com.yonge.toolset.mybatis.dal.CustomEnumTypeHandler},#{clientId},#{playTime},#{speed},#{monday},
-		       #{sourceTime},#{feature,typeHandler=com.yonge.toolset.mybatis.dal.CustomEnumTypeHandler}, NOW(), NOW(),#{partIndex})
+		       #{sourceTime},#{feature,typeHandler=com.yonge.toolset.mybatis.dal.CustomEnumTypeHandler}, NOW(), NOW(),#{partIndex},#{customConfiguration})
 	</insert>
 
 	<!-- 根据主键查询一条记录 -->
@@ -107,6 +108,9 @@
 		<if test="partIndex != null">
 			part_index_ = #{partIndex},
 		</if>
+		<if test="customConfiguration != null">
+			custom_configuration_ = #{customConfiguration},
+		</if>
 		<if test="feature!=null">
 			feature_ = #{feature,typeHandler=com.yonge.toolset.mybatis.dal.CustomEnumTypeHandler},
 		</if>
@@ -147,7 +151,8 @@
 		       smcr.score_, smcr.intonation_, smcr.cadence_,
 		       smcr.integrity_, smcr.record_file_path_, smcr.video_file_path_, smcr.client_id_, smcr.device_type_, smcr.play_time_,
 		       smcr.monday_, smcr.create_time_,
-			sms.music_sheet_name_ sys_music_score_name_,if(smcr.create_time_ is not null and date_add(smcr.create_time_,INTERVAL #{expireTime} DAY) &lt; now(),1,0) as expire
+			sms.music_sheet_name_ sys_music_score_name_,if(smcr.create_time_ is not null and date_add(smcr.create_time_,INTERVAL #{expireTime} DAY) &lt; now(),1,0) as expire,
+			smcr.custom_configuration_ as customConfiguration
 		FROM sys_music_compare_record smcr
 		LEFT JOIN music_sheet sms on smcr.music_sheet_id_ = sms.id_
 		<include refid="queryCondition"/>

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

@@ -140,9 +140,8 @@
     </select>
 
     <select id="totalTransAmount" resultType="java.math.BigDecimal">
-        sleect sum(trans_amount_) from user_cash_account_record
+        select sum(trans_amount_) from user_cash_account_record
         <where>
-
             <if test="param.accountId != null">
                 and account_id_ = #{param.accountId}
             </if>

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

@@ -161,7 +161,7 @@
     <select id="selectPage" resultType="com.yonge.cooleshow.biz.dal.vo.UserOrderVo">
         <include refid="selectSql"/>
     </select>
-    <select id="selectList" resultType="com.yonge.cooleshow.biz.dal.vo.UserOrderVo">
+    <select id="selectAllList" resultType="com.yonge.cooleshow.biz.dal.vo.UserOrderVo">
         <include refid="selectSql"/>
     </select>
 

+ 0 - 1
cooleshow-user/user-teacher/src/main/java/com/yonge/cooleshow/teacher/task/TaskController.java

@@ -65,7 +65,6 @@ public class TaskController extends BaseController {
     @GetMapping("/courseStatus")
     public HttpResponseResult<Object> courseStatus() {
         scheduleService.scheduleTask();
-        teacherTotalService.queryTeacherTotal();
         return HttpResponseResult.succeed();
     }