Переглянути джерело

管乐迷曲目来源内容平台

zouxuan 1 рік тому
батько
коміт
e7ec02f523

+ 5 - 0
mec-application/src/main/java/com/ym/mec/web/controller/SubjectController.java

@@ -142,6 +142,11 @@ public class SubjectController extends BaseController {
         try {
             query.setPage(1);
             query.setRows(-1);
+            Subject sb = subjectService.getDao().get(query.getSubjectId());
+            if (sb == null || sb.getCbsSubjectId() == null) {
+                throw new com.ym.mec.common.exception.BizException("声部数据不存在");
+            }
+            query.setIds(Collections.singletonList(sb.getCbsSubjectId().longValue()));
             List<CbsSubjectWrapper.Subject> subjectPageInfo = musicFeignClientService.subjectPage(query).feignData().getRows();
             if (CollectionUtils.isEmpty(subjectPageInfo)) {
                 return succeed(new ArrayList<>());

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

@@ -178,7 +178,7 @@ public interface SubjectDao extends BaseDAO<Integer, Subject> {
 
     List<Subject> queryCbsList(@Param("cbsSubjectIds") List<Long> cbsSubjectIds);
 
-    List<Subject> notInSubjectIds(@Param("subjectId") Long subjectId);
+    List<Subject> notInSubjectIds(@Param("subjectId") Integer subjectId);
 
     int findCount(Map<String, Object> params);
 

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

@@ -60,8 +60,11 @@ public class Subject {
 	@ApiModelProperty(value = "子节点列表",required = false)
 	private List<Subject> subjects;
 
+	@ApiModelProperty(value = "乐器编号(逗号分隔)",required = false)
+	private String instrumentIds;
+
 	@ApiModelProperty(value = "乐器名称",required = false)
-	private String institutionName;
+	private String instrumentName;
 
 	@Override
 	public String toString() {

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/wrapper/SubjectWrapper.java

@@ -260,7 +260,7 @@ public class SubjectWrapper {
     public static class CbsSubjectQuery extends CbsSubjectWrapper.SubjectQuery {
 
         @ApiModelProperty("当前声部ID")
-        private Long subjectId;
+        private Integer subjectId;
 
         @ApiModelProperty("是否移除被使用过的声部")
         private Boolean removeUsed = false;

+ 26 - 4
mec-biz/src/main/java/com/ym/mec/biz/service/impl/SubjectServiceImpl.java

@@ -27,6 +27,7 @@ import com.ym.mec.common.service.impl.BaseServiceImpl;
 import com.ym.mec.util.collection.MapUtil;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.CollectionUtils;
 
 import javax.annotation.Resource;
@@ -100,9 +101,11 @@ public class SubjectServiceImpl extends BaseServiceImpl<Integer, Subject> implem
     }
 
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public void upSetSubject(Subject subject) {
         if (subject.getDelFlag() == YesOrNoEnum.YES) {
             subjectDao.delete(subject.getId());
+            instrumentService.lambdaUpdate().eq(Instrument::getSubjectId, subject.getId()).remove();
             return;
         }
         Integer parentId = upset(subject, null);
@@ -124,9 +127,28 @@ public class SubjectServiceImpl extends BaseServiceImpl<Integer, Subject> implem
         } else {
             subjectDao.insert(subject);
         }
+        //保存乐器关联
+        this.saveInstrument(subject);
         return subject.getId();
     }
 
+    private void saveInstrument(Subject subject) {
+        if (StringUtils.isNotEmpty(subject.getInstrumentIds())) {
+            instrumentService.lambdaUpdate().eq(Instrument::getSubjectId, subject.getId()).remove();
+            List<Instrument> instruments = new ArrayList<>();
+            String[] split = subject.getInstrumentIds().split(",");
+            for (String s : split) {
+                Instrument instrument = new Instrument();
+                instrument.setSubjectId(subject.getId());
+                instrument.setId(Integer.valueOf(s));
+                instrument.setEnableFlag(true);
+                instrument.setDelFlag(false);
+                instruments.add(instrument);
+            }
+            instrumentService.saveBatch(instruments);
+        }
+    }
+
     @Override
     public void markGoods(List<SubjectGoodsMapper> subjectGoodsMappers) {
         subjectGoodsMappers.forEach(e -> {
@@ -242,7 +264,7 @@ public class SubjectServiceImpl extends BaseServiceImpl<Integer, Subject> implem
             for (Subject subject : dataList) {
                 CbsMusicalInstrumentWrapper.MusicalInstrumentQueryDto dto = map.get(subject.getCbsSubjectId());
                 if (dto != null) {
-                    subject.setInstitutionName(dto.getName());
+                    subject.setInstrumentName(dto.getName());
                 }
             }
         }
@@ -295,13 +317,13 @@ public class SubjectServiceImpl extends BaseServiceImpl<Integer, Subject> implem
 
         PageInfo<SubjectWrapper.Subject> subjectIPage = this.selectPage(query);
         List<SubjectWrapper.Subject> records = subjectIPage.getRows();
-        if (org.apache.commons.collections.CollectionUtils.isEmpty(records)) {
+        if (CollectionUtils.isEmpty(records)) {
             return records;
         }
         String instrumentIds = query.getInstrumentIds();
-        List<Long> instrumentIdList = new ArrayList<>();
+        List<Integer> instrumentIdList = new ArrayList<>();
         if (StringUtils.isNotEmpty(instrumentIds)) {
-            List<Long> collect = Arrays.stream(instrumentIds.split(",")).map(Long::valueOf).distinct().collect(Collectors.toList());
+            List<Integer> collect = Arrays.stream(instrumentIds.split(",")).map(Integer::valueOf).distinct().collect(Collectors.toList());
             instrumentIdList.addAll(collect);
         }
         if (!instrumentIdList.isEmpty()) {

+ 0 - 3
mec-biz/src/main/resources/config/mybatis/SubjectMapper.xml

@@ -42,9 +42,6 @@
             <if test="delFlag != null">
                 del_flag_ = #{delFlag,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
             </if>
-            <if test="cbsSubjectId != null">
-                parent_subject_id_ = #{cbsSubjectId},
-            </if>
             <if test="parentSubjectId != null">
                 cbs_subject_id_ = #{parentSubjectId},
             </if>

+ 1 - 1
mec-common/audit-log/src/main/java/com/yonge/log/interceptor/AuditLogInterceptor.java

@@ -41,7 +41,7 @@ public class AuditLogInterceptor extends HandlerInterceptorAdapter {
 
     @Override
     public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) {
-        syncSaveLog(request, handler);
+//        syncSaveLog(request, handler);
     }
 
     public void syncSaveLog(HttpServletRequest request, Object handler) {