Browse Source

Merge branch 'feature/1022_vip' of http://git.dayaedu.com/yonge/mec into dev

zouxuan 4 months ago
parent
commit
d7700ef002
17 changed files with 288 additions and 32 deletions
  1. 49 0
      mec-application/src/main/java/com/ym/mec/web/controller/StudentMemberUpdateLogController.java
  2. 1 1
      mec-application/src/main/resources/exportColumnMapper.ini
  3. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CloudTeacherOrderDao.java
  4. 4 1
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentMemberUpdateLogDao.java
  5. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/MusicGroupPaymentCalenderBase.java
  6. 77 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/wrapper/StudentMemberUpdateLogWrapper.java
  7. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/service/CloudTeacherOrderService.java
  8. 2 0
      mec-biz/src/main/java/com/ym/mec/biz/service/MemberRankSettingService.java
  9. 4 0
      mec-biz/src/main/java/com/ym/mec/biz/service/StudentMemberUpdateLogService.java
  10. 4 3
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/CloudTeacherOrderServiceImpl.java
  11. 21 3
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/MemberRankSettingServiceImpl.java
  12. 57 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentMemberUpdateLogServiceImpl.java
  13. 6 6
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentPaymentOrderDetailServiceImpl.java
  14. 2 2
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentRegistrationServiceImpl.java
  15. 21 12
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/SysMusicScoreServiceImpl.java
  16. 4 1
      mec-biz/src/main/resources/config/mybatis/CloudTeacherOrderMapper.xml
  17. 33 0
      mec-biz/src/main/resources/config/mybatis/StudentMemberUpdateLogMapper.xml

+ 49 - 0
mec-application/src/main/java/com/ym/mec/web/controller/StudentMemberUpdateLogController.java

@@ -0,0 +1,49 @@
+package com.ym.mec.web.controller;
+
+
+import com.ym.mec.common.page.PageInfo;
+import com.ym.mec.common.page.PageUtil;
+import com.microsvc.toolkit.common.response.paging.QueryInfo;
+
+import com.alibaba.fastjson.JSONObject;
+import com.ym.mec.common.controller.BaseController;
+import com.ym.mec.common.entity.HttpResponseResult;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+
+import com.ym.mec.biz.service.StudentMemberUpdateLogService;
+import com.ym.mec.biz.dal.wrapper.StudentMemberUpdateLogWrapper;
+import com.ym.mec.biz.dal.entity.StudentMemberUpdateLog;
+
+@Slf4j
+@Validated
+@RestController
+@RequestMapping("${app-config.url.web:}/studentMemberUpdateLog")
+@Api(tags = "学员云教练时长修改记录")
+public class StudentMemberUpdateLogController extends BaseController {
+
+    @Autowired
+    private StudentMemberUpdateLogService studentMemberUpdateLogService;
+
+    @ApiOperation(value = "查询分页", notes = "学员云教练时长修改记录- 传入 StudentMemberUpdateLogWrapper.StudentMemberUpdateLogQuery") 
+    @PostMapping("/page")
+    public HttpResponseResult<PageInfo<StudentMemberUpdateLogWrapper.StudentMemberUpdateLog>> page(@RequestBody StudentMemberUpdateLogWrapper.StudentMemberUpdateLogQuery query) {
+        
+        IPage<StudentMemberUpdateLogWrapper.StudentMemberUpdateLog> pages = studentMemberUpdateLogService.selectPage(QueryInfo.getPage(query), query);
+        
+        return succeed(PageUtil.pageInfo(pages));
+	}
+
+}

+ 1 - 1
mec-application/src/main/resources/exportColumnMapper.ini

@@ -368,7 +368,7 @@ fieldColumns = ["organName","musicGroupName","musicGroupId","studentId","student
 
 [云教练待激活明细]
 headColumns = ["分部","学员编号","学员姓名","手机号","学员声部","学练宝版本","学练宝类型","数量","缴费金额(元)","状态","取消原因","操作人","操作时间","获得资格时间"]
-fieldColumns = ["organName","studentId","name","phone","subjectName","type.msg","time","amount","status == 1 ? '待激活':'已取消'","cancelReason","operatorName","operateTime","createTime"]
+fieldColumns = ["organName","studentId","name","phone","subjectName","memberName","type.msg","time","amount","status == 1 ? '待激活':'已取消'","cancelReason","operatorName","operateTime","createTime"]
 
 [平衡关系-乐团课]
 headColumns = ["分部","乐团名称","乐团编号","班级名称","班级类型","班级编号","课程类型","期初预收款","期初剩余课次","期初课酬","期初被合并课预收款","期初被合并课剩余课次","期初被合并课课酬","当月新增预收","当月新增课酬","当月新增课次","当月被合并新增预收","当月被合并新增课酬","当月被合并新增课次","当月课耗收入","当月消耗课酬","当月消耗课次","当月被合并课耗收入","当月被合并消耗课酬","当月被合并消耗课次","期末预收款","期末剩余课次","期末课酬","期末被合并课预收款","期末被合并课剩余课次","期末被合并课课酬","被删除课次"]

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CloudTeacherOrderDao.java

@@ -131,7 +131,7 @@ public interface CloudTeacherOrderDao extends BaseDAO<Long, CloudTeacherOrder> {
 
     List<CloudCoachActivationDetailsDto> exportMusicGroupNoCourse(@Param("organId") String organId);
 
-    int countByMemberRankSettingId(@Param("memberRankSettingId") Integer memberRankSettingId);
+    int countByMemberRankSettingId(@Param("memberRankSettingId") List<Integer> memberRankSettingId);
 
     Date getActivationMaxTime(@Param("studentId") Integer studentId, @Param("level") Integer level);
 

+ 4 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentMemberUpdateLogDao.java

@@ -1,7 +1,9 @@
 package com.ym.mec.biz.dal.dao;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.ym.mec.biz.dal.entity.StudentMemberUpdateLog;
+import com.ym.mec.biz.dal.wrapper.StudentMemberUpdateLogWrapper;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
@@ -15,6 +17,7 @@ import java.util.List;
 public interface StudentMemberUpdateLogDao extends BaseMapper<StudentMemberUpdateLog> {
 
    int insertBatch(@Param("entities") List<StudentMemberUpdateLog> entities);
-   
+
+    IPage<StudentMemberUpdateLogWrapper.StudentMemberUpdateLog> selectPage(@Param("page") IPage<StudentMemberUpdateLogWrapper.StudentMemberUpdateLog> page, @Param("param") StudentMemberUpdateLogWrapper.StudentMemberUpdateLogQuery query);
 }
 

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/MusicGroupPaymentCalenderBase.java

@@ -9,7 +9,7 @@ import java.util.Date;
 
 @Data
 public class MusicGroupPaymentCalenderBase extends BaseEntity {
-    private long id;
+    private Long id;
 
     @ApiModelProperty(value = "数量", required = false)
     private BigDecimal num;

+ 77 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/wrapper/StudentMemberUpdateLogWrapper.java

@@ -0,0 +1,77 @@
+package com.ym.mec.biz.dal.wrapper;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.microsvc.toolkit.common.response.paging.QueryInfo;
+import com.ym.mec.biz.dal.enums.PeriodEnum;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+public class StudentMemberUpdateLogWrapper {
+
+
+    @Data
+    public static class StudentMemberUpdateLogQuery  implements QueryInfo {
+
+
+        @ApiModelProperty("当前页")
+        private Integer page;
+
+        @ApiModelProperty("分页行数")
+        private Integer rows;
+
+        @ApiModelProperty("学练宝ID")
+        private Integer memberRankSettingId;
+
+        @ApiModelProperty(value = "购买方式,1-自行购买 2-后台添加 3-后台扣减")
+        private Integer buyType;
+
+        @ApiModelProperty("用户ID")
+        private Integer userId;
+
+        @ApiModelProperty("操作人名称")
+        private String operatorName;
+
+        @ApiModelProperty("开始时间")
+        private String startTime;
+
+        @ApiModelProperty("结束时间")
+        private String endTime;
+    }
+
+    @Data
+    public static class StudentMemberUpdateLog{
+
+        @ApiModelProperty(value = "购买方式,1-自行购买 2-后台添加 3-后台扣减")
+        private Integer buyType;
+
+
+        @ApiModelProperty("学练宝ID")
+        private Integer level;
+
+        @ApiModelProperty(value = "时长类型 1-天 2-月 3-年")
+        private PeriodEnum type;
+
+
+        @ApiModelProperty(value = "购买时长")
+        private Integer time;
+
+        @ApiModelProperty("学练宝名称")
+        private String memberRankSettingName;
+
+        @ApiModelProperty("操作人ID")
+        private Integer operatorId;
+
+        @ApiModelProperty("操作人名称")
+        private String operatorName;
+
+        @ApiModelProperty("创建时间")
+        private Date createTime;
+
+        @ApiModelProperty("添加原因")
+        private String memo;
+
+
+    }
+}

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/CloudTeacherOrderService.java

@@ -33,7 +33,7 @@ public interface CloudTeacherOrderService extends BaseService<Long, CloudTeacher
      * @param order
      * @return
      */
-    void addOrderDetail2CloudTeacher(StudentPaymentOrder order, BigDecimal cloudTeacherFee,List<MusicGroupPaymentCalenderMember> calenderMembers);
+    void addOrderDetail2CloudTeacher(StudentPaymentOrder order, Map<Integer,BigDecimal> cloudTeacherFee,List<MusicGroupPaymentCalenderMember> calenderMembers);
 
     /**
     * @description: 激活团练宝

+ 2 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/MemberRankSettingService.java

@@ -71,4 +71,6 @@ public interface MemberRankSettingService extends BaseService<Integer, MemberRan
     String queryMemberName(Integer memberRankId);
 
     List<MemberRankSetting> findByOrganIds(List<Integer> organIds);
+
+    Map<Integer,MemberRankSetting> getMapByIds(List<Integer> memberRankSettingIds);
 }

+ 4 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/StudentMemberUpdateLogService.java

@@ -1,9 +1,11 @@
 package com.ym.mec.biz.service;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.ym.mec.biz.dal.dao.StudentMemberUpdateLogDao;
 import com.ym.mec.biz.dal.entity.CloudTeacherOrder;
 import com.ym.mec.biz.dal.entity.StudentMemberUpdateLog;
+import com.ym.mec.biz.dal.wrapper.StudentMemberUpdateLogWrapper;
 
 /**
  * 学员云教练时长修改记录(StudentMemberUpdateLog)表服务接口
@@ -16,5 +18,7 @@ public interface StudentMemberUpdateLogService extends IService<StudentMemberUpd
     StudentMemberUpdateLogDao getDao();
 
     void saveToCloudTeacherOrder(CloudTeacherOrder cloudTeacherOrder);
+
+    IPage<StudentMemberUpdateLogWrapper.StudentMemberUpdateLog> selectPage(IPage<StudentMemberUpdateLogWrapper.StudentMemberUpdateLog> page, StudentMemberUpdateLogWrapper.StudentMemberUpdateLogQuery query);
 }
 

+ 4 - 3
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CloudTeacherOrderServiceImpl.java

@@ -328,7 +328,7 @@ public class CloudTeacherOrderServiceImpl extends BaseServiceImpl<Long, CloudTea
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public void addOrderDetail2CloudTeacher(StudentPaymentOrder order, BigDecimal cloudTeacherFee,List<MusicGroupPaymentCalenderMember> calenderMembers) {
+    public void addOrderDetail2CloudTeacher(StudentPaymentOrder order, Map<Integer,BigDecimal> cloudTeacherFee,List<MusicGroupPaymentCalenderMember> calenderMembers) {
         for (MusicGroupPaymentCalenderMember calenderMember : calenderMembers) {
             CloudTeacherOrder cloudTeacherOrder = new CloudTeacherOrder();
             cloudTeacherOrder.setTenantId(order.getTenantId());
@@ -337,11 +337,12 @@ public class CloudTeacherOrderServiceImpl extends BaseServiceImpl<Long, CloudTea
             cloudTeacherOrder.setLevel(calenderMember.getMemberRankSettingId());
             cloudTeacherOrder.setTime(calenderMember.getNum().intValue());
             cloudTeacherOrder.setType(calenderMember.getPeriod());
-            cloudTeacherOrder.setAmount(cloudTeacherFee);
+            BigDecimal decimal = cloudTeacherFee.get(calenderMember.getId().intValue());
+            cloudTeacherOrder.setAmount(decimal);
             cloudTeacherOrder.setStudentId(order.getUserId());
             cloudTeacherOrder.setStatus(1);
             cloudTeacherOrder.setMusicGroupId(order.getMusicGroupId());
-            cloudTeacherOrder.setOperatingAmount(calenderMember.getIncome().compareTo(BigDecimal.ZERO) == 0?cloudTeacherFee:calenderMember.getIncome());
+            cloudTeacherOrder.setOperatingAmount(calenderMember.getIncome().compareTo(BigDecimal.ZERO) == 0?decimal:calenderMember.getIncome());
             //保存云教练订单
             this.save(cloudTeacherOrder,calenderMember.getAutoActivationFlag());
         }

+ 21 - 3
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MemberRankSettingServiceImpl.java

@@ -188,7 +188,13 @@ public class MemberRankSettingServiceImpl extends BaseServiceImpl<Integer, Membe
         }
 
         // 是否已被购买
-        int count = cloudTeacherOrderDao.countByMemberRankSettingId(memberRankSettingId);
+        List<Integer> memberRankSettingsId = Lists.newArrayList(memberRankSetting.getId());
+        List<MemberRankSetting> notDelByParentIds = memberRankSettingDao.getNotDelByParentIds(memberRankSettingsId);
+        if (CollectionUtils.isNotEmpty(notDelByParentIds)) {
+            List<Integer> ids = notDelByParentIds.stream().map(MemberRankSetting::getId).collect(Collectors.toList());
+            memberRankSettingsId.addAll(ids);
+        }
+        int count = cloudTeacherOrderDao.countByMemberRankSettingId(memberRankSettingsId);
         result.setBuyFlag(count > 0);
 
         // 查询上级
@@ -205,7 +211,7 @@ public class MemberRankSettingServiceImpl extends BaseServiceImpl<Integer, Membe
     public void updateSetting(MemberRankSettingWrapper.MemberRankSettingAdd memberRankSetting) {
 
         // 是否已被购买
-        int count = cloudTeacherOrderDao.countByMemberRankSettingId(memberRankSetting.getId());
+        int count = cloudTeacherOrderDao.countByMemberRankSettingId(Lists.newArrayList(memberRankSetting.getId()));
         if (count >0) {
             // 不能修改权益内容
             List<MemberRankPrivileges> privilegesList = memberRankPrivilegesDao.findByRankSettingId(memberRankSetting.getId());
@@ -1197,7 +1203,7 @@ public class MemberRankSettingServiceImpl extends BaseServiceImpl<Integer, Membe
         // 判断是否买过
 
         // 是否已被购买
-        int count = cloudTeacherOrderDao.countByMemberRankSettingId(id);
+        int count = cloudTeacherOrderDao.countByMemberRankSettingId(Lists.newArrayList(id));
         if (count > 0) {
             throw new BizException("存在学员使用、或销售,不可删除");
         }
@@ -1291,4 +1297,16 @@ public class MemberRankSettingServiceImpl extends BaseServiceImpl<Integer, Membe
         parentSettings.forEach(e -> e.setChildren(childrenMap.get(e.getId())));
         return parentSettings;
     }
+
+    @Override
+    public Map<Integer, MemberRankSetting> getMapByIds(List<Integer> memberRankSettingIds) {
+        if (CollectionUtils.isEmpty(memberRankSettingIds)) {
+            return new HashMap<>();
+        }
+        List<MemberRankSetting> memberRankSettings = memberRankSettingDao.selectBatchIds(memberRankSettingIds);
+        if (CollectionUtils.isEmpty(memberRankSettings)) {
+            return new HashMap<>();
+        }
+        return memberRankSettings.stream().collect(Collectors.toMap(MemberRankSetting::getId, o -> o, (o1, o2) -> o1));
+    }
 }

+ 57 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentMemberUpdateLogServiceImpl.java

@@ -1,15 +1,28 @@
 package com.ym.mec.biz.service.impl;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dao.StudentMemberUpdateLogDao;
 import com.ym.mec.biz.dal.entity.CloudTeacherOrder;
+import com.ym.mec.biz.dal.entity.MemberRankSetting;
 import com.ym.mec.biz.dal.entity.StudentMemberUpdateLog;
+import com.ym.mec.biz.dal.wrapper.StudentMemberUpdateLogWrapper;
+import com.ym.mec.biz.service.MemberRankSettingService;
 import com.ym.mec.biz.service.StudentMemberUpdateLogService;
+import com.ym.mec.biz.service.SysUserService;
+import org.apache.commons.collections.CollectionUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+import java.util.stream.Collectors;
+
 /**
  * 学员云教练时长修改记录(StudentMemberUpdateLog)表服务实现类
  *
@@ -19,6 +32,12 @@ import org.springframework.transaction.annotation.Transactional;
 @Service("studentMemberUpdateLogService")
 public class StudentMemberUpdateLogServiceImpl extends ServiceImpl<StudentMemberUpdateLogDao, StudentMemberUpdateLog> implements StudentMemberUpdateLogService {
 
+    @Autowired
+    private SysUserService sysUserService;
+
+    @Autowired
+    private MemberRankSettingService memberRankSettingService;
+
     private final static Logger log = LoggerFactory.getLogger(StudentMemberUpdateLogServiceImpl.class);
 
     @Override
@@ -41,5 +60,43 @@ public class StudentMemberUpdateLogServiceImpl extends ServiceImpl<StudentMember
         this.save(studentMemberUpdateLog);
     }
 
+    @Override
+    public IPage<StudentMemberUpdateLogWrapper.StudentMemberUpdateLog> selectPage(IPage<StudentMemberUpdateLogWrapper.StudentMemberUpdateLog> page, StudentMemberUpdateLogWrapper.StudentMemberUpdateLogQuery query) {
+        IPage<StudentMemberUpdateLogWrapper.StudentMemberUpdateLog> studentMemberUpdateLogIPage = baseMapper.selectPage(page, query);
+        List<StudentMemberUpdateLogWrapper.StudentMemberUpdateLog> records = studentMemberUpdateLogIPage.getRecords();
+        if (CollectionUtils.isEmpty(records)) {
+            return studentMemberUpdateLogIPage;
+        }
+        // 操作人ID集合
+        List<Integer> operatorIds = records.stream()
+            .map(StudentMemberUpdateLogWrapper.StudentMemberUpdateLog::getOperatorId)
+            .filter(Objects::nonNull)
+            .distinct()
+            .collect(Collectors.toList());
+        Map<Long, SysUser> userServiceMapByIds = sysUserService.getMapByIds(operatorIds);
+
+        // 学练宝ID集合
+        List<Integer> memberRankSettingIds = records.stream()
+            .map(StudentMemberUpdateLogWrapper.StudentMemberUpdateLog::getLevel)
+            .filter(Objects::nonNull)
+            .distinct()
+            .collect(Collectors.toList());
+        Map<Integer, MemberRankSetting> rankSettingMap = memberRankSettingService.getMapByIds(memberRankSettingIds);
+
+        records.forEach(record -> {
+            if (record.getOperatorId() !=null) {
+                SysUser sysUser = userServiceMapByIds.get(record.getOperatorId().longValue());
+                if (sysUser != null) {
+                    record.setOperatorName(sysUser.getRealName());
+                }
+            }
+            MemberRankSetting memberRankSetting = rankSettingMap.get(record.getLevel());
+            if (memberRankSetting != null) {
+                record.setMemberRankSettingName(memberRankSetting.getName());
+            }
+        });
+        return studentMemberUpdateLogIPage.setRecords(records);
+    }
+
 }
 

+ 6 - 6
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentPaymentOrderDetailServiceImpl.java

@@ -761,9 +761,9 @@ public class StudentPaymentOrderDetailServiceImpl extends BaseServiceImpl<Long,
                     }
                 }
             }
-            BigDecimal cloudTeacherFee = memberDetailList.stream()
-                    .map(o -> o.getPrice().subtract(o.getRemitFee() == null ? BigDecimal.ZERO : o.getRemitFee()))
-                    .reduce(BigDecimal.ZERO, BigDecimal::add);
+            Map<Integer,BigDecimal> cloudTeacherFee = memberDetailList.stream()
+                    .collect(Collectors.toMap(e->e.getStudentInstrumentId().intValue(),
+                            o -> o.getPrice().subtract(o.getRemitFee() == null ? BigDecimal.ZERO : o.getRemitFee())));
             cloudTeacherOrderService.addOrderDetail2CloudTeacher(studentPaymentOrder, cloudTeacherFee,calenderMembers);
         }
     }
@@ -864,9 +864,9 @@ public class StudentPaymentOrderDetailServiceImpl extends BaseServiceImpl<Long,
                     }
                 }
             }
-            BigDecimal cloudTeacherFee = memberDetailList.stream()
-                    .map(o -> o.getPrice().subtract(o.getRemitFee() == null ? BigDecimal.ZERO : o.getRemitFee()))
-                    .reduce(BigDecimal.ZERO, BigDecimal::add);
+            Map<Integer,BigDecimal> cloudTeacherFee = memberDetailList.stream()
+                    .collect(Collectors.toMap(e->e.getStudentInstrumentId().intValue(),
+                            o -> o.getPrice().subtract(o.getRemitFee() == null ? BigDecimal.ZERO : o.getRemitFee())));
             cloudTeacherOrderService.addOrderDetail2CloudTeacher(studentPaymentOrder, cloudTeacherFee,calenderMembers);
         }
     }

+ 2 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentRegistrationServiceImpl.java

@@ -206,7 +206,7 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
                 }
                 if (studentCloudTeacherMap.containsKey(e.getStudentId())) {
                     List<CloudTeacherOrder> cloudTeacherOrders = studentCloudTeacherMap.get(e.getStudentId());
-                    if (cloudTeacherOrders != null && cloudTeacherOrders.size() > 0) {
+                    if (CollectionUtils.isNotEmpty(cloudTeacherOrders)) {
                         BigDecimal cloudAmount = BigDecimal.ZERO;
                         for (CloudTeacherOrder cloudTeacherOrder : cloudTeacherOrders) {
                             if (cloudTeacherOrder.getEndTime() == null || DateUtil.stringToDate(DateUtil.format(cloudTeacherOrder.getEndTime(), DateUtil.ISO_EXPANDED_DATE_FORMAT), DateUtil.ISO_EXPANDED_DATE_FORMAT).compareTo(
@@ -580,7 +580,7 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
                 
 				if (!(type == OrderDetailTypeEnum.ACCESSORIES && (isGiveAccessories && buyCloudTeacher))) {
 
-	                if (studentRegistration.getOrganId() == 55 && (CollectionUtils.isEmpty(newCourses)) && !buyCloudTeacher) {
+	                if (studentRegistration.getOrganId() == 55 && musicGroup.getCourseViewType() == CourseViewTypeEnum.MEMBER_FEE && !buyCloudTeacher) {
 	                    //取商品零售价
 	                    if (StringUtils.isNotBlank(goodsGroup.getGoodsIdList())) {
 	                        List<Goods> goodsList = goodsDao.findGoodsByIds(goodsGroup.getGoodsIdList());

+ 21 - 12
mec-biz/src/main/java/com/ym/mec/biz/service/impl/SysMusicScoreServiceImpl.java

@@ -305,6 +305,15 @@ public class SysMusicScoreServiceImpl extends BaseServiceImpl<Integer, SysMusicS
         List<SysMusicScore> rows = sysMusicScorePageInfo.getRows();
         //处理查询结果
         dealMusicScoreData(rows);
+
+        // 判断曲目是否在分类中
+        for (SysMusicScore row : rows) {
+            if (StringUtils.isBlank(row.getRankIds())) {
+                row.setUseStatus("FREE");
+            } else {
+                row.setUseStatus("LOCK");
+            }
+        }
         return sysMusicScorePageInfo;
     }
 
@@ -338,6 +347,7 @@ public class SysMusicScoreServiceImpl extends BaseServiceImpl<Integer, SysMusicS
         dealMusicScoreData(rows);
 
         // 根据用户会员判断是否锁定,免费曲目为试用
+        List<Integer> categoryIds = new ArrayList<>();
         if (queryInfo.getUserType()!=null && ClientEnum.STUDENT==queryInfo.getUserType()) {
             // 查询有效的会员
             List<Integer> activationVipIds = cloudTeacherOrderDao.getActivationVipIds(queryInfo.getUserId());
@@ -347,20 +357,19 @@ public class SysMusicScoreServiceImpl extends BaseServiceImpl<Integer, SysMusicS
             if (CollectionUtils.isEmpty(categoryMapperList)) {
                 categoryMapperList = new ArrayList<>();
             }
-            List<Integer> categoryIds = categoryMapperList.stream().map(MemberRankCategoryMapper::getCategoryId).distinct().collect(Collectors.toList());
+            categoryIds = categoryMapperList.stream().map(MemberRankCategoryMapper::getCategoryId).distinct().collect(Collectors.toList());
 
-            // 判断曲目是否在分类中
-            for (SysMusicScore row : rows) {
-                if (StringUtils.isBlank(row.getRankIds())) {
-                    row.setUseStatus("FREE");
-                } else if (categoryIds.contains(row.getCbsMusicCategoriesId())) {
-                    row.setUseStatus("UNLOCK");
-                } else {
-                    row.setUseStatus("LOCK");
-                }
+        }
+
+        // 判断曲目是否在分类中
+        for (SysMusicScore row : rows) {
+            if (StringUtils.isBlank(row.getRankIds())) {
+                row.setUseStatus("FREE");
+            } else if (categoryIds.contains(row.getCbsMusicCategoriesId())) {
+                row.setUseStatus("UNLOCK");
+            } else {
+                row.setUseStatus("LOCK");
             }
-        } else {
-            rows.forEach(o->o.setUseStatus("UNLOCK"));
         }
         return pageInfo;
     }

+ 4 - 1
mec-biz/src/main/resources/config/mybatis/CloudTeacherOrderMapper.xml

@@ -629,7 +629,10 @@
     </select>
 
     <select id="countByMemberRankSettingId" resultType="int">
-        select count(1) from cloud_teacher_order where level_ = #{memberRankSettingId}
+        select count(1) from cloud_teacher_order where  level_ in
+        <foreach collection="memberRankSettingId" item="item" separator="," open="(" close=")">
+            #{item}
+        </foreach>
     </select>
     <select id="getActivationMaxTime" resultType="java.util.Date">
         select max(end_time_) from cloud_teacher_order where student_id_ = #{studentId} and level_ = #{level} and status_ = 2

+ 33 - 0
mec-biz/src/main/resources/config/mybatis/StudentMemberUpdateLogMapper.xml

@@ -1,4 +1,37 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.ym.mec.biz.dal.dao.StudentMemberUpdateLogDao">
+
+    <select id="selectPage"
+            resultType="com.ym.mec.biz.dal.wrapper.StudentMemberUpdateLogWrapper$StudentMemberUpdateLog">
+
+        select * from student_member_update_log t
+        <if test="param.operatorName != null and param.operatorName != ''">
+            left join sys_user u on t.operator_id_ = u.id_
+        </if>
+        <where>
+            <if test="param.buyType != null">
+                and t.buy_type_ = #{param.buyType}
+            </if>
+            <if test="param.memberRankSettingId != null">
+                and t.level_ = #{param.memberRankSettingId}
+            </if>
+            <if test="param.startTime != null">
+                and t.create_time_ &gt;= #{param.startTime}
+            </if>
+            <if test="param.endTime != null">
+                and t.create_time_ &lt;= #{param.endTime}
+            </if>
+            <if test="param.operatorName != null and param.operatorName != ''">
+                and u.real_name_ like concat('%',#{param.operatorName},'%')
+            </if>
+            <if test="param.userId != null">
+                and t.student_id_ = #{param.userId}
+            </if>
+
+
+        </where>
+
+        order by t.create_time_ desc
+    </select>
 </mapper>