Преглед изворни кода

Merge branch 'online1' into apply_multi_order

yonge пре 4 година
родитељ
комит
d4d3cd4b9a
25 измењених фајлова са 551 додато и 353 уклоњено
  1. 3 13
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/GoodsDao.java
  2. 85 51
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/Goods.java
  3. 12 1
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/MemberRankOrganizationFeeMapper.java
  4. 93 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/page/GoodsQuery.java
  5. 64 41
      mec-biz/src/main/java/com/ym/mec/biz/dal/page/GoodsQueryInfo.java
  6. 8 2
      mec-biz/src/main/java/com/ym/mec/biz/service/GoodsService.java
  7. 2 1
      mec-biz/src/main/java/com/ym/mec/biz/service/StudentRegistrationService.java
  8. 13 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java
  9. 42 35
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/GoodsServiceImpl.java
  10. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/MemberRankOrganizationFeeMapperServiceImpl.java
  11. 0 1
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupSubjectPlanServiceImpl.java
  12. 19 7
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentRegistrationServiceImpl.java
  13. 3 1
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentServeServiceImpl.java
  14. 108 93
      mec-biz/src/main/resources/config/mybatis/GoodsMapper.xml
  15. 2 6
      mec-biz/src/main/resources/config/mybatis/MemberFeeSettingMapper.xml
  16. 3 1
      mec-biz/src/main/resources/config/mybatis/MemberRankOrganizationFeeMapperMapper.xml
  17. 16 22
      mec-student/src/main/java/com/ym/mec/student/controller/GoodsController.java
  18. 14 19
      mec-student/src/main/java/com/ym/mec/student/controller/RepairController.java
  19. 17 27
      mec-web/src/main/java/com/ym/mec/web/controller/ExportController.java
  20. 13 20
      mec-web/src/main/java/com/ym/mec/web/controller/GoodsController.java
  21. 10 0
      mec-web/src/main/java/com/ym/mec/web/controller/MemberRankOrganizationFeeMapperController.java
  22. 5 2
      mec-web/src/main/java/com/ym/mec/web/controller/StudentRegistrationController.java
  23. 18 4
      mec-web/src/main/java/com/ym/mec/web/controller/education/EduRepairController.java
  24. 0 5
      mec-web/src/main/resources/columnMapper.ini
  25. BIN
      mec-web/src/main/resources/excelTemplate/商品导入模板.xls

+ 3 - 13
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/GoodsDao.java

@@ -4,8 +4,8 @@ import com.ym.mec.biz.dal.dto.GoodsSellDto;
 import com.ym.mec.biz.dal.dto.MusicGroupGoodsAndDiscountDto;
 import com.ym.mec.biz.dal.entity.Goods;
 import com.ym.mec.biz.dal.entity.ReplacementInstrument;
+import com.ym.mec.biz.dal.page.GoodsQuery;
 import com.ym.mec.common.dal.BaseDAO;
-
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
@@ -18,10 +18,10 @@ public interface GoodsDao extends BaseDAO<Integer, Goods> {
     /**
      * 通过科目编号查询商品(教材、辅件)列表
      *
-     * @param subjectId
+     * @param goodsQuery
      * @return
      */
-    List<Goods> findGoodsBySubId(@Param("subjectId") Integer subjectId, @Param("type") String type,@Param("organId")Integer organId);
+    List<Goods> findGoodsBySubId(@Param("goodsQuery") GoodsQuery goodsQuery);
 
     /**
      * 根据商品分类查找商品数量
@@ -150,10 +150,6 @@ public interface GoodsDao extends BaseDAO<Integer, Goods> {
                                                                       @Param("courseViewType") Integer courseViewType,
                                                                       @Param("organId") Integer organId);
 
-    List<MusicGroupGoodsAndDiscountDto> getMusicGroupGoodsAndDiscountWithSubjects(@Param("subjectIds") String subjectIds,
-                                                                                  @Param("type") String type,
-                                                                                  @Param("organId") Integer organId);
-
     /**
      * 是否存在已上架的商品编号
      *
@@ -200,10 +196,4 @@ public interface GoodsDao extends BaseDAO<Integer, Goods> {
      */
     Integer getReplacementInstrumentCount(Map<String, Object> params);
 
-    /**
-     * 获取商品分部列表
-     * @param goodsIds
-     * @return
-     */
-    List<Map<Integer, String>> findGoodsOrganNames(@Param("goodsIds") List<Integer> goodsIds);
 }

+ 85 - 51
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/Goods.java

@@ -129,20 +129,35 @@ public class Goods {
 	@ApiModelProperty(value = "备查货号,进货渠道")
 	private String supplyChannel;
 
-	@ApiModelProperty(value = "客户端是否展示")
-	private YesOrNoEnum clientShow;
-	
-	@ApiModelProperty(value = "教务端是否展示")
-	private YesOrNoEnum educationalShow;
-	
-	@ApiModelProperty(value = "乐团是否展示")
-	private YesOrNoEnum musicGroupShow;
+	@ApiModelProperty(value = "客户端展示分部")
+	private String studentShowOrganId;
 
-	@ApiModelProperty(value = "乐团收费模式")
-	private String courseViewType;
+	@ApiModelProperty(value = "教务端展示分部")
+	private String educationShowOrganId;
 
-	@ApiModelProperty(value = "乐器置换是否展示")
-	private YesOrNoEnum replacementShow;
+	@ApiModelProperty(value = "课程收费团展示分部")
+	private String courseFeeShowOrganId;
+
+	@ApiModelProperty(value = "会员收费团展示分部")
+	private String memberFeeShowOrganId;
+
+	@ApiModelProperty(value = "乐器置换展示分部")
+	private String replacementShowOrganId;
+
+	@ApiModelProperty(value = "客户端展示分部")
+	private String studentShowOrganName;
+
+	@ApiModelProperty(value = "教务端展示分部")
+	private String educationShowOrganName;
+
+	@ApiModelProperty(value = "课程收费团展示分部")
+	private String courseFeeShowOrganName;
+
+	@ApiModelProperty(value = "会员收费团展示分部")
+	private String memberFeeShowOrganName;
+
+	@ApiModelProperty(value = "乐器置换展示分部")
+	private String replacementShowOrganName;
 
 	@ApiModelProperty(value = "库存类型")
 	private StockType stockType;
@@ -150,65 +165,92 @@ public class Goods {
 	@ApiModelProperty(value = "库存预警")
 	private YesOrNoEnum stockWarning;
 
-	@ApiModelProperty(value = "商品所属分部")
-	private String organIdList;
+	public String getStudentShowOrganId() {
+		return studentShowOrganId;
+	}
 
-	private String organName;
+	public void setStudentShowOrganId(String studentShowOrganId) {
+		this.studentShowOrganId = studentShowOrganId;
+	}
 
-	public String getOrganName() {
-		return organName;
+	public String getEducationShowOrganId() {
+		return educationShowOrganId;
 	}
 
-	public void setOrganName(String organName) {
-		this.organName = organName;
+	public void setEducationShowOrganId(String educationShowOrganId) {
+		this.educationShowOrganId = educationShowOrganId;
 	}
 
-	public String getOrganIdList() {
-		return organIdList;
+	public String getCourseFeeShowOrganId() {
+		return courseFeeShowOrganId;
 	}
 
-	public void setOrganIdList(String organIdList) {
-		this.organIdList = organIdList;
+	public void setCourseFeeShowOrganId(String courseFeeShowOrganId) {
+		this.courseFeeShowOrganId = courseFeeShowOrganId;
 	}
 
-	public String getCourseViewType() {
-		return courseViewType;
+	public String getMemberFeeShowOrganId() {
+		return memberFeeShowOrganId;
 	}
 
-	public void setCourseViewType(String courseViewType) {
-		this.courseViewType = courseViewType;
+	public void setMemberFeeShowOrganId(String memberFeeShowOrganId) {
+		this.memberFeeShowOrganId = memberFeeShowOrganId;
 	}
 
-	public YesOrNoEnum getStockWarning() {
-		return stockWarning;
+	public String getReplacementShowOrganId() {
+		return replacementShowOrganId;
 	}
 
-	public void setStockWarning(YesOrNoEnum stockWarning) {
-		this.stockWarning = stockWarning;
+	public void setReplacementShowOrganId(String replacementShowOrganId) {
+		this.replacementShowOrganId = replacementShowOrganId;
+	}
+
+	public String getStudentShowOrganName() {
+		return studentShowOrganName;
+	}
+
+	public void setStudentShowOrganName(String studentShowOrganName) {
+		this.studentShowOrganName = studentShowOrganName;
 	}
 
-	public YesOrNoEnum getClientShow() {
-		return clientShow;
+	public String getEducationShowOrganName() {
+		return educationShowOrganName;
 	}
 
-	public void setClientShow(YesOrNoEnum clientShow) {
-		this.clientShow = clientShow;
+	public void setEducationShowOrganName(String educationShowOrganName) {
+		this.educationShowOrganName = educationShowOrganName;
 	}
 
-	public YesOrNoEnum getEducationalShow() {
-		return educationalShow;
+	public String getCourseFeeShowOrganName() {
+		return courseFeeShowOrganName;
 	}
 
-	public void setEducationalShow(YesOrNoEnum educationalShow) {
-		this.educationalShow = educationalShow;
+	public void setCourseFeeShowOrganName(String courseFeeShowOrganName) {
+		this.courseFeeShowOrganName = courseFeeShowOrganName;
 	}
 
-	public YesOrNoEnum getMusicGroupShow() {
-		return musicGroupShow;
+	public String getMemberFeeShowOrganName() {
+		return memberFeeShowOrganName;
 	}
 
-	public void setMusicGroupShow(YesOrNoEnum musicGroupShow) {
-		this.musicGroupShow = musicGroupShow;
+	public void setMemberFeeShowOrganName(String memberFeeShowOrganName) {
+		this.memberFeeShowOrganName = memberFeeShowOrganName;
+	}
+
+	public String getReplacementShowOrganName() {
+		return replacementShowOrganName;
+	}
+
+	public void setReplacementShowOrganName(String replacementShowOrganName) {
+		this.replacementShowOrganName = replacementShowOrganName;
+	}
+
+	public YesOrNoEnum getStockWarning() {
+		return stockWarning;
+	}
+
+	public void setStockWarning(YesOrNoEnum stockWarning) {
+		this.stockWarning = stockWarning;
 	}
 
 	public StockType getStockType() {
@@ -463,12 +505,4 @@ public class Goods {
 	public String toString() {
 		return ToStringBuilder.reflectionToString(this);
 	}
-
-	public YesOrNoEnum getReplacementShow() {
-		return replacementShow;
-	}
-
-	public void setReplacementShow(YesOrNoEnum replacementShow) {
-		this.replacementShow = replacementShow;
-	}
 }

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

@@ -18,6 +18,9 @@ public class MemberRankOrganizationFeeMapper {
 
 	/**  */
 	private Integer operatorId;
+
+	/**  */
+	private String operatorName;
 	
 	/**  */
 	private java.util.Date createTime;
@@ -32,7 +35,15 @@ public class MemberRankOrganizationFeeMapper {
 	private Integer memberFeeSettingId;
 
 	private MemberFeeSetting memberFeeSetting;
-	
+
+	public String getOperatorName() {
+		return operatorName;
+	}
+
+	public void setOperatorName(String operatorName) {
+		this.operatorName = operatorName;
+	}
+
 	public MemberFeeSetting getMemberFeeSetting() {
 		return memberFeeSetting;
 	}

+ 93 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/page/GoodsQuery.java

@@ -0,0 +1,93 @@
+package com.ym.mec.biz.dal.page;
+
+import io.swagger.annotations.ApiModelProperty;
+
+public class GoodsQuery {
+
+    @ApiModelProperty(value = "商品类型", required = false)
+    private String type;
+
+    @ApiModelProperty(value = "客户端展示分部")
+    private Integer studentShowOrganId;
+
+    @ApiModelProperty(value = "教务端展示分部")
+    private Integer educationShowOrganId;
+
+    @ApiModelProperty(value = "课程收费团展示分部")
+    private Integer courseFeeShowOrganId;
+
+    @ApiModelProperty(value = "会员收费团展示分部")
+    private Integer memberFeeShowOrganId;
+
+    @ApiModelProperty(value = "乐器置换展示分部")
+    private Integer replacementShowOrganId;
+
+    @ApiModelProperty(value = "分部")
+    private Integer organId;
+
+    private Integer subjectId;
+
+    public String getType() {
+        return type;
+    }
+
+    public void setType(String type) {
+        this.type = type;
+    }
+
+    public Integer getOrganId() {
+        return organId;
+    }
+
+    public void setOrganId(Integer organId) {
+        this.organId = organId;
+    }
+
+    public Integer getSubjectId() {
+        return subjectId;
+    }
+
+    public void setSubjectId(Integer subjectId) {
+        this.subjectId = subjectId;
+    }
+
+    public Integer getStudentShowOrganId() {
+        return studentShowOrganId;
+    }
+
+    public void setStudentShowOrganId(Integer studentShowOrganId) {
+        this.studentShowOrganId = studentShowOrganId;
+    }
+
+    public Integer getEducationShowOrganId() {
+        return educationShowOrganId;
+    }
+
+    public void setEducationShowOrganId(Integer educationShowOrganId) {
+        this.educationShowOrganId = educationShowOrganId;
+    }
+
+    public Integer getCourseFeeShowOrganId() {
+        return courseFeeShowOrganId;
+    }
+
+    public void setCourseFeeShowOrganId(Integer courseFeeShowOrganId) {
+        this.courseFeeShowOrganId = courseFeeShowOrganId;
+    }
+
+    public Integer getMemberFeeShowOrganId() {
+        return memberFeeShowOrganId;
+    }
+
+    public void setMemberFeeShowOrganId(Integer memberFeeShowOrganId) {
+        this.memberFeeShowOrganId = memberFeeShowOrganId;
+    }
+
+    public Integer getReplacementShowOrganId() {
+        return replacementShowOrganId;
+    }
+
+    public void setReplacementShowOrganId(Integer replacementShowOrganId) {
+        this.replacementShowOrganId = replacementShowOrganId;
+    }
+}

+ 64 - 41
mec-biz/src/main/java/com/ym/mec/biz/dal/page/GoodsQueryInfo.java

@@ -28,22 +28,37 @@ public class GoodsQueryInfo extends QueryInfo {
     @ApiModelProperty(value = "是否组合商品:0/1")
     private Integer groupGoods;
 
-    @ApiModelProperty(value = "客户端是否展示:0否,1是")
-    private Integer clientShow;
+    @ApiModelProperty(value = "客户端展示分部")
+    private String studentShowOrganId;
 
-    @ApiModelProperty(value = "教务端是否展示:0否,1是")
-    private Integer educationalShow;
+    @ApiModelProperty(value = "教务端展示分部")
+    private String educationShowOrganId;
 
-    @ApiModelProperty(value = "乐团端是否展示:0否,1是")
-    private Integer musicGroupShow;
+    @ApiModelProperty(value = "课程收费团展示分部")
+    private String courseFeeShowOrganId;
 
-    @ApiModelProperty(value = "乐器置换是否展示:0否,1是")
-    private Integer replacementShow;
+    @ApiModelProperty(value = "会员收费团展示分部")
+    private String memberFeeShowOrganId;
 
-    private String courseViewType;
+    @ApiModelProperty(value = "乐器置换展示分部")
+    private String replacementShowOrganId;
 
+    @ApiModelProperty(value = "分部")
     private String organId;
 
+    @ApiModelProperty(value = "此参数为1则不按分部查询")
+    private Integer noOrganSearch;
+
+    private Integer subjectId;
+
+    public Integer getNoOrganSearch() {
+        return noOrganSearch;
+    }
+
+    public void setNoOrganSearch(Integer noOrganSearch) {
+        this.noOrganSearch = noOrganSearch;
+    }
+
     public String getOrganId() {
         return organId;
     }
@@ -52,12 +67,44 @@ public class GoodsQueryInfo extends QueryInfo {
         this.organId = organId;
     }
 
-    public String getCourseViewType() {
-        return courseViewType;
+    public String getStudentShowOrganId() {
+        return studentShowOrganId;
+    }
+
+    public void setStudentShowOrganId(String studentShowOrganId) {
+        this.studentShowOrganId = studentShowOrganId;
+    }
+
+    public String getEducationShowOrganId() {
+        return educationShowOrganId;
+    }
+
+    public void setEducationShowOrganId(String educationShowOrganId) {
+        this.educationShowOrganId = educationShowOrganId;
+    }
+
+    public String getCourseFeeShowOrganId() {
+        return courseFeeShowOrganId;
+    }
+
+    public void setCourseFeeShowOrganId(String courseFeeShowOrganId) {
+        this.courseFeeShowOrganId = courseFeeShowOrganId;
+    }
+
+    public String getMemberFeeShowOrganId() {
+        return memberFeeShowOrganId;
+    }
+
+    public void setMemberFeeShowOrganId(String memberFeeShowOrganId) {
+        this.memberFeeShowOrganId = memberFeeShowOrganId;
+    }
+
+    public String getReplacementShowOrganId() {
+        return replacementShowOrganId;
     }
 
-    public void setCourseViewType(String courseViewType) {
-        this.courseViewType = courseViewType;
+    public void setReplacementShowOrganId(String replacementShowOrganId) {
+        this.replacementShowOrganId = replacementShowOrganId;
     }
 
     public Integer getGroupGoods() {
@@ -108,35 +155,11 @@ public class GoodsQueryInfo extends QueryInfo {
         this.status = status;
     }
 
-    public Integer getClientShow() {
-        return clientShow;
-    }
-
-    public void setClientShow(Integer clientShow) {
-        this.clientShow = clientShow;
-    }
-
-	public Integer getEducationalShow() {
-		return educationalShow;
-	}
-
-	public void setEducationalShow(Integer educationalShow) {
-		this.educationalShow = educationalShow;
-	}
-
-	public Integer getMusicGroupShow() {
-		return musicGroupShow;
-	}
-
-	public void setMusicGroupShow(Integer musicGroupShow) {
-		this.musicGroupShow = musicGroupShow;
-	}
-
-    public Integer getReplacementShow() {
-        return replacementShow;
+    public Integer getSubjectId() {
+        return subjectId;
     }
 
-    public void setReplacementShow(Integer replacementShow) {
-        this.replacementShow = replacementShow;
+    public void setSubjectId(Integer subjectId) {
+        this.subjectId = subjectId;
     }
 }

+ 8 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/GoodsService.java

@@ -5,6 +5,7 @@ import com.ym.mec.biz.dal.entity.Goods;
 import com.ym.mec.biz.dal.entity.GoodsProcurement;
 import com.ym.mec.biz.dal.entity.SellOrder;
 import com.ym.mec.biz.dal.enums.AccountType;
+import com.ym.mec.biz.dal.page.GoodsQuery;
 import com.ym.mec.biz.dal.page.GoodsQueryInfo;
 import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.service.BaseService;
@@ -34,7 +35,7 @@ public interface GoodsService extends BaseService<Integer, Goods> {
      * @param subjectId
      * @return
      */
-    List<Goods> findGoodsBySubId(Integer subjectId,String type,Integer organId);
+    List<Goods> findGoodsBySubId(GoodsQuery goodsQuery);
 
     /**
      * 根据商品分类id查找商品数量
@@ -117,5 +118,10 @@ public interface GoodsService extends BaseService<Integer, Goods> {
      */
     List<GoodsSellDto> queryGoodsSellDtos(String goodsId);
 
-    PageInfo<Goods> queryGoodsPage(GoodsQueryInfo queryInfo);
+    /**
+     * 获取商品包含分部名称
+     * @param goodsId
+     * @return
+     */
+    Goods getDetail(Integer goodsId);
 }

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

@@ -26,6 +26,7 @@ import com.ym.mec.biz.dal.enums.ClassGroupTypeEnum;
 import com.ym.mec.biz.dal.page.NoClassMusicStudentQueryInfo;
 import com.ym.mec.biz.dal.page.RegistrationOrPreQueryInfo;
 import com.ym.mec.biz.dal.page.StudentRegistrationQueryInfo;
+import com.ym.mec.common.entity.HttpResponseResult;
 import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.service.BaseService;
 
@@ -433,7 +434,7 @@ public interface StudentRegistrationService extends BaseService<Long, StudentReg
      * @param id
      * @return
      */
-    Boolean addPaidNum(Long id);
+    HttpResponseResult<Boolean> addPaidNum(Long id, boolean isContinue);
 
 
     /**

+ 13 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java

@@ -5864,6 +5864,19 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 			return httpResponseResult;
 		}
 
+		//主课类型为基础技能课需要更新课酬
+		if (CourseSchedule.CourseScheduleType.HIGH_ONLINE.equals(courseMergeInfo.getType()) || CourseSchedule.CourseScheduleType.HIGH.equals(courseMergeInfo.getType())) {
+			List<CourseScheduleTeacherSalary> oldCourseSalaries = courseScheduleTeacherSalaryDao.findByCourseSchedule(courseMergeInfo.getId());
+			for (CourseScheduleTeacherSalary oldCourseSalary : oldCourseSalaries) {
+				//课酬调整后不能更新课酬
+				if(!oldCourseSalary.getEnableChangeSalary()){
+					continue;
+				}
+				courseScheduleTeacherSalaryService.createMusicGroupCourseTeacherSalary(null, courseMergeInfo, oldCourseSalary);
+				courseScheduleTeacherSalaryService.update(oldCourseSalary);
+			}
+		}
+
 		if (insertCourseScheduleModifyLogList.size() > 0) {
 			courseScheduleModifyLogDao.batchInsert(insertCourseScheduleModifyLogList);
 		}

+ 42 - 35
mec-biz/src/main/java/com/ym/mec/biz/service/impl/GoodsServiceImpl.java

@@ -15,6 +15,9 @@ import java.util.Set;
 import java.util.concurrent.atomic.AtomicInteger;
 import java.util.stream.Collectors;
 
+import com.ym.mec.biz.dal.dao.*;
+import com.ym.mec.biz.dal.entity.Organization;
+import com.ym.mec.biz.dal.page.GoodsQuery;
 import com.ym.mec.biz.dal.page.GoodsQueryInfo;
 import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.util.collection.MapUtil;
@@ -33,11 +36,6 @@ import org.springframework.web.multipart.MultipartFile;
 
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
-import com.ym.mec.biz.dal.dao.GoodsDao;
-import com.ym.mec.biz.dal.dao.GoodsProcurementDao;
-import com.ym.mec.biz.dal.dao.SellOrderDao;
-import com.ym.mec.biz.dal.dao.SysConfigDao;
-import com.ym.mec.biz.dal.dao.TeacherDao;
 import com.ym.mec.biz.dal.dto.BasicUserDto;
 import com.ym.mec.biz.dal.dto.GoodsSellDto;
 import com.ym.mec.biz.dal.entity.Goods;
@@ -82,6 +80,8 @@ public class GoodsServiceImpl extends BaseServiceImpl<Integer, Goods>  implement
 	private TeacherDao teacherDao;
 	@Autowired
 	private SellOrderDao sellOrderDao;
+	@Autowired
+	private OrganizationDao organizationDao;
 
 	@Override
 	public BaseDAO<Integer, Goods> getDAO() {
@@ -177,8 +177,8 @@ public class GoodsServiceImpl extends BaseServiceImpl<Integer, Goods>  implement
 	}
 
 	@Override
-	public List<Goods> findGoodsBySubId(Integer subjectId,String type,Integer organId) {
-		return goodsDao.findGoodsBySubId(subjectId,type,organId);
+	public List<Goods> findGoodsBySubId(GoodsQuery goodsQuery) {
+		return goodsDao.findGoodsBySubId(goodsQuery);
 	}
 
 	public int findGoodsNumByCategoryId(Integer goodsCategoryId){
@@ -227,17 +227,17 @@ public class GoodsServiceImpl extends BaseServiceImpl<Integer, Goods>  implement
 						LOGGER.error("商品导入异常:参数{}不可为空 param:{}",columnValue,objectMap);
 						continue valueIsNull;
 					}
-					if (columnValue.equals("courseViewType")) {
-						if(row.get(s) != null){
-							for (String courseViewType : courseViewTypeMap.keySet()) {
-								if (courseViewType.equals(row.get(s).toString())) {
-									objectMap.put(columnValue, courseViewTypeMap.get(courseViewType));
-									break;
-								}
-							}
-						}
-						continue;
-					}
+//					if (columnValue.equals("courseViewType")) {
+//						if(row.get(s) != null){
+//							for (String courseViewType : courseViewTypeMap.keySet()) {
+//								if (courseViewType.equals(row.get(s).toString())) {
+//									objectMap.put(columnValue, courseViewTypeMap.get(courseViewType));
+//									break;
+//								}
+//							}
+//						}
+//						continue;
+//					}
 					if (columnValue.equals("type")) {
 						for (GoodsType goodsType : GoodsType.values()) {
 							if (goodsType.getDesc().equals(row.get(s).toString())) {
@@ -256,7 +256,7 @@ public class GoodsServiceImpl extends BaseServiceImpl<Integer, Goods>  implement
 						}
 						continue;
 					}
-					if (columnValue.equals("educationalShow")) {
+					/*if (columnValue.equals("educationalShow")) {
 						for (YesOrNoEnum yesOrNoEnum : YesOrNoEnum.values()) {
 							if (yesOrNoEnum.getMsg().equals(row.get(s).toString())) {
 								objectMap.put(columnValue, yesOrNoEnum);
@@ -291,7 +291,7 @@ public class GoodsServiceImpl extends BaseServiceImpl<Integer, Goods>  implement
 							}
 						}
 						continue;
-					}
+					}*/
 					if (columnValue.equals("stockWarning")) {
 						for (YesOrNoEnum yesOrNoEnum : YesOrNoEnum.values()) {
 							if (yesOrNoEnum.getMsg().equals(row.get(s).toString())) {
@@ -392,9 +392,9 @@ public class GoodsServiceImpl extends BaseServiceImpl<Integer, Goods>  implement
 			if(Objects.nonNull(newGoods.getDesc())&&!newGoods.getDesc().equals(existsGood.getDesc())){
 				existsGood.setDesc(newGoods.getDesc());
 			}
-			if(Objects.nonNull(newGoods.getClientShow())&&!newGoods.getClientShow().equals(existsGood.getClientShow())){
-				existsGood.setClientShow(newGoods.getClientShow());
-			}
+//			if(Objects.nonNull(newGoods.getClientShow())&&!newGoods.getClientShow().equals(existsGood.getClientShow())){
+//				existsGood.setClientShow(newGoods.getClientShow());
+//			}
 			if(Objects.nonNull(newGoods.getStockWarning())&&!newGoods.getStockWarning().equals(existsGood.getStockWarning())){
 				existsGood.setStockWarning(newGoods.getStockWarning());
 			}
@@ -674,17 +674,24 @@ public class GoodsServiceImpl extends BaseServiceImpl<Integer, Goods>  implement
 		return goodsDao.queryGoodsSellDtos(goodsId);
 	}
 
-    @Override
-    public PageInfo<Goods> queryGoodsPage(GoodsQueryInfo queryInfo) {
-		PageInfo<Goods> goodsPageInfo = this.queryPage(queryInfo);
-		List<Goods> rows = goodsPageInfo.getRows();
-		if(rows != null && rows.size() > 0){
-			List<Integer> goodsIds = rows.stream().map(e -> e.getId()).collect(Collectors.toList());
-			Map<Integer,String> goodsNameMap = MapUtil.convertMybatisMap(goodsDao.findGoodsOrganNames(goodsIds));
-			for (Goods row : rows) {
-				row.setOrganName(goodsNameMap.get(row.getId()));
-			}
+	@Override
+	public Goods getDetail(Integer goodsId) {
+		Goods goods = goodsDao.get(goodsId);
+		if(StringUtils.isNotEmpty(goods.getStudentShowOrganId())){
+			goods.setStudentShowOrganName(StringUtils.join(organizationDao.findByOrganIds(goods.getStudentShowOrganId()),","));
+		}
+		if(StringUtils.isNotEmpty(goods.getEducationShowOrganId())){
+			goods.setEducationShowOrganName(StringUtils.join(organizationDao.findByOrganIds(goods.getEducationShowOrganId()),","));
+		}
+		if(StringUtils.isNotEmpty(goods.getReplacementShowOrganId())){
+			goods.setReplacementShowOrganName(StringUtils.join(organizationDao.findByOrganIds(goods.getReplacementShowOrganId()),","));
 		}
-		return goodsPageInfo;
-    }
+		if(StringUtils.isNotEmpty(goods.getCourseFeeShowOrganId())){
+			goods.setCourseFeeShowOrganName(StringUtils.join(organizationDao.findByOrganIds(goods.getCourseFeeShowOrganId()),","));
+		}
+		if(StringUtils.isNotEmpty(goods.getMemberFeeShowOrganId())){
+			goods.setMemberFeeShowOrganName(StringUtils.join(organizationDao.findByOrganIds(goods.getMemberFeeShowOrganId()),","));
+		}
+		return goods;
+	}
 }

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

@@ -53,7 +53,7 @@ public class MemberRankOrganizationFeeMapperServiceImpl extends BaseServiceImpl<
 		if(memberFeeSetting == null){
 			throw new BizException("修改失败: 请设置收费标准");
 		}
-		if(feeMapper.getOrganId() != memberRankOrganizationFeeMapper.getOrganId()){
+		if(!feeMapper.getOrganId().equals(memberRankOrganizationFeeMapper.getOrganId())){
 			MemberRankOrganizationFeeMapper organIdAndRankId = memberRankOrganizationFeeMapperDao.findByOrganIdAndRankId(memberRankOrganizationFeeMapper.getOrganId(), memberRankOrganizationFeeMapper.getMemberRankSettingId());
 			if(organIdAndRankId != null){
 				throw new BizException("修改失败: 该分部会员收费标准已存在");

+ 0 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupSubjectPlanServiceImpl.java

@@ -244,7 +244,6 @@ public class MusicGroupSubjectPlanServiceImpl extends BaseServiceImpl<Integer, M
         if (StringUtils.isNotEmpty(musicGroupId)) {
             MusicGroup musicGroup = musicGroupService.get(musicGroupId);
             courseViewType = musicGroup.getCourseViewType().getCode();
-            courseViewType = courseViewType == 3?2:courseViewType;
             organId = musicGroup.getOrganId();
         }
         List<MusicGroupGoodsAndDiscountDto> goodsList = goodsDao.getMusicGroupGoodsAndDiscount(subjectId, type, courseViewType,organId);

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

@@ -23,6 +23,7 @@ import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpStatus;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Isolation;
 import org.springframework.transaction.annotation.Propagation;
@@ -42,6 +43,7 @@ import com.ym.mec.biz.dal.dto.StudentMusicDetailDto;
 import com.ym.mec.biz.dal.dto.StudentMusicGroupDto;
 import com.ym.mec.biz.dal.page.StudentRegistrationQueryInfo;
 import com.ym.mec.common.dal.BaseDAO;
+import com.ym.mec.common.entity.HttpResponseResult;
 import com.ym.mec.common.entity.ImResult;
 import com.ym.mec.common.entity.ImUserModel;
 import com.ym.mec.common.exception.BizException;
@@ -526,6 +528,10 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
         boolean firstPaidZeroFlag = false;
 
         MusicGroupSubjectPlan musicOneSubjectClassPlan = musicGroupSubjectPlanService.getMusicOneSubjectClassPlan(studentRegistration.getMusicGroupId(), studentRegistration.getActualSubjectId());
+        if (musicOneSubjectClassPlan.getPaidStudentNum() >= musicOneSubjectClassPlan.getExpectedStudentNum()) {
+            throw new BizException("乐团该声部人数暂时已满,请稍后再试");
+        }
+        
         int paidNum = musicOneSubjectClassPlan.getPaidStudentNum() == null ? 0 : musicOneSubjectClassPlan.getPaidStudentNum();
         int paidZeroNum = musicOneSubjectClassPlan.getPaidZeroNum() == null ? 0 : musicOneSubjectClassPlan.getPaidZeroNum();
         if ((musicGroup.getCourseViewType().equals(CourseViewTypeEnum.MEMBER_FEE) && !buyCloudTeacher))
@@ -539,9 +545,6 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
         } else {
             musicOneSubjectClassPlan.setPaidStudentNum(paidNum + 1);
         }
-        if (studentRegistration.getTemporaryCourseFee() == null && musicOneSubjectClassPlan.getPaidStudentNum() > musicOneSubjectClassPlan.getExpectedStudentNum()) {
-            throw new BizException("乐团该声部人数暂时已满,请稍后再试");
-        }
         int count = musicGroupSubjectPlanService.update(musicOneSubjectClassPlan);
         if (count <= 0) {
             throw new BizException("排队人数过多,请重试");
@@ -1860,6 +1863,7 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
         if (studentRegistration.getNoneNeedCloudTeacher().equals(1)) {
             throw new BizException("该学生已设置");
         }
+        studentRegistration.setPayingStatus(0);
         studentRegistration.setNoneNeedCloudTeacher(1);
         if (studentRegistrationDao.update(studentRegistration) <= 0) {
             throw new BizException("设置失败,请重试");
@@ -1869,7 +1873,7 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public Boolean addPaidNum(Long id) {
+    public HttpResponseResult<Boolean> addPaidNum(Long id, boolean isContinue) {
         StudentRegistration studentRegistration = studentRegistrationDao.get(id);
         if (!studentRegistration.getPayingStatus().equals(2)) {
             throw new BizException("该学生不在审核");
@@ -1877,6 +1881,15 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
         if (!studentRegistration.getPaymentStatus().equals(YES)) {
             throw new BizException("该学生状态已更新,请刷新查看");
         }
+
+        MusicGroupSubjectPlan musicOneSubjectClassPlan = musicGroupSubjectPlanService.getMusicOneSubjectClassPlan(studentRegistration.getMusicGroupId(), studentRegistration.getActualSubjectId());
+        
+        if(!isContinue){
+        	if (musicOneSubjectClassPlan.getPaidStudentNum() >= musicOneSubjectClassPlan.getExpectedStudentNum()) {
+                return new HttpResponseResult<Boolean>(true, HttpStatus.CONTINUE, null, "乐团该声部招生人数已满,是否继续操作?");
+            }
+        }
+        
         studentRegistration.setPayingStatus(0);
         studentRegistration.setMusicGroupStatus(StudentMusicGroupStatusEnum.NORMAL);
         studentRegistrationDao.update(studentRegistration);
@@ -1885,8 +1898,7 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
         if(studentPaymentOrderService.update(order)<=0){
             throw new BizException("订单处理失败,请重试");
         }
-
-        MusicGroupSubjectPlan musicOneSubjectClassPlan = musicGroupSubjectPlanService.getMusicOneSubjectClassPlan(studentRegistration.getMusicGroupId(), studentRegistration.getActualSubjectId());
+        
         int paidNum = musicOneSubjectClassPlan.getPaidStudentNum() == null ? 0 : musicOneSubjectClassPlan.getPaidStudentNum();
         int paidZeroNum = musicOneSubjectClassPlan.getPaidZeroNum() == null ? 0 : musicOneSubjectClassPlan.getPaidZeroNum();
         musicOneSubjectClassPlan.setPaidZeroNum(paidZeroNum + 1);
@@ -1895,7 +1907,7 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
         if (count <= 0) {
             throw new BizException("缴费人数更新失败,请重试");
         }
-        return true;
+        return new HttpResponseResult<Boolean>(true, HttpStatus.OK, null, null);
     }
 
     @Override

+ 3 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentServeServiceImpl.java

@@ -910,6 +910,7 @@ public class StudentServeServiceImpl implements StudentServeService {
             result.put("isAssignHomework", 0);
             return result;
         }
+
         String configValue = sysConfigDao.findConfigValue(SysConfigService.HOMEWORK_OPEN_FLAG);
         if(StringUtils.isEmpty(configValue)){
             configValue = "0";
@@ -928,6 +929,8 @@ public class StudentServeServiceImpl implements StudentServeService {
         LocalDate localDate=LocalDate.now();
 
         if(Objects.nonNull(courseScheduleId)){
+            List<BasicUserDto> students = courseScheduleStudentPaymentDao.findStudents(courseScheduleId);
+            result.put("courseStudentNum", students.size());
             CourseSchedule courseSchedule = courseScheduleDao.get(courseScheduleId);
             if(Objects.isNull(courseSchedule)){
                 result.put("isAssignHomework", 0);
@@ -941,7 +944,6 @@ public class StudentServeServiceImpl implements StudentServeService {
                 if(musicGroup != null){
                     result.put("courseViewType", musicGroup.getCourseViewType());
                 }else if(result.get("memberNum") == null){
-                    List<BasicUserDto> students = courseScheduleStudentPaymentDao.findStudents(courseScheduleId);
                     Set<Integer> collect = students.stream().map(e -> e.getUserId()).collect(Collectors.toSet());
                     result.put("memberNum", studentDao.getMemberNum(StringUtils.join(collect,",")));
                 }

+ 108 - 93
mec-biz/src/main/resources/config/mybatis/GoodsMapper.xml

@@ -35,19 +35,23 @@
         <result column="type_" property="type" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
         <result column="supply_channel_" property="supplyChannel" />
         <result column="stock_type_" property="stockType" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
-        <result column="client_show_" property="clientShow" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
-        <result column="educational_show_" property="educationalShow" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
-        <result column="music_group_show_" property="musicGroupShow" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
-        <result column="replacement_show_" property="replacementShow" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
         <result column="stock_warning_" property="stockWarning" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
-        <result column="course_view_type_" property="courseViewType"/>
-        <result column="organ_id_list_" property="organIdList"/>
-        <result column="organ_name_" property="organName"/>
+        <result column="student_show_organ_id_" property="studentShowOrganId"/>
+        <result column="student_show_organ_name_" property="studentShowOrganName"/>
+        <result column="education_show_organ_id_" property="educationShowOrganId"/>
+        <result column="education_show_organ_name_" property="educationShowOrganName"/>
+        <result column="replacement_show_organ_id_" property="replacementShowOrganId"/>
+        <result column="replacement_show_organ_name_" property="replacementShowOrganName"/>
+        <result column="course_fee_show_organ_id_" property="courseFeeShowOrganId"/>
+        <result column="course_fee_show_organ_name_" property="courseFeeShowOrganName"/>
+        <result column="member_fee_show_organ_id_" property="memberFeeShowOrganId"/>
+        <result column="member_fee_show_organ_name_" property="memberFeeShowOrganName"/>
     </resultMap>
 
     <!-- 根据主键查询一条记录 -->
     <select id="get" resultMap="Goods" useCache="false" flushCache="true">
-		SELECT * FROM goods WHERE id_ = #{id}
+		SELECT * FROM goods g
+		WHERE g.id_ = #{id}
 	</select>
 
     <select id="lock" resultMap="Goods" useCache="false" flushCache="true">
@@ -65,41 +69,42 @@
         INSERT INTO goods
         (goods_category_id_,sn_,name_,brand_,specification_,image_,stock_count_,tax_stock_count_,sell_count_,market_price_,
         discount_price_,group_purchase_price_,brief_,desc_,is_new_,is_top_,status_,memo_,publish_time_,
-        complement_goods_id_list_,update_time_,create_time_,type_,agree_cost_price_,client_show_,educational_show_,
-         music_group_show_,replacement_show_,stock_warning_,stock_type_,course_view_type_,organ_id_list_)
+        complement_goods_id_list_,update_time_,create_time_,type_,agree_cost_price_,stock_warning_,stock_type_
+            ,student_show_organ_id_,education_show_organ_id_,replacement_show_organ_id_,course_fee_show_organ_id_,member_fee_show_organ_id_)
         VALUES(#{goodsCategoryId},#{sn},#{name},#{brand},#{specification},#{image},#{stockCount},#{taxStockCount},#{sellCount},#{marketPrice},
         #{discountPrice},#{groupPurchasePrice},#{brief},#{desc},
         #{isNew,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{isTop,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
         #{memo},#{publishTime},#{complementGoodsIdList},now(),now(),#{type,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{agreeCostPrice},
-        #{clientShow,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{educationalShow,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
-        #{musicGroupShow,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{replacementShow,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
-        #{stockWarning,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}, #{stockType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{courseViewType},#{organIdList})
+        #{stockWarning,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}, #{stockType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
+        #{studentShowOrganId},#{educationShowOrganId},#{replacementShowOrganId},#{courseFeeShowOrganId},#{memberFeeShowOrganId})
     </insert>
     <insert id="batchInsert" parameterType="java.util.List" useGeneratedKeys="true" keyProperty="id">
         INSERT INTO goods
         (goods_category_id_,name_,brand_,specification_,image_,market_price_,
         discount_price_,group_purchase_price_,brief_,desc_,update_time_,create_time_,type_,agree_cost_price_,sn_,
-        stock_count_,tax_stock_count_,client_show_,educational_show_,music_group_show_,replacement_show_,stock_warning_,stock_type_,course_view_type_,organ_id_list_)
+        stock_count_,tax_stock_count_,stock_warning_,stock_type_
+        ,student_show_organ_id_,education_show_organ_id_,replacement_show_organ_id_,course_fee_show_organ_id_,member_fee_show_organ_id_)
         VALUES
         <foreach collection="list" separator="," item="goods">
             (#{goods.goodsCategoryId},#{goods.name},#{goods.brand},#{goods.specification},#{goods.image},#{goods.marketPrice},
             #{goods.discountPrice},#{goods.groupPurchasePrice},#{goods.brief},#{goods.desc},now(),now(),
             #{goods.type,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{goods.agreeCostPrice},#{goods.sn},
-            #{goods.stockCount},#{goods.taxStockCount},#{goods.clientShow,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
-            #{goods.educationalShow,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
-        	#{goods.musicGroupShow,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
-        	#{goods.replacementShow,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
+            #{goods.stockCount},#{goods.taxStockCount},
             #{goods.stockWarning,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
-            #{goods.stockType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{goods.courseViewType},#{goods.organIdList})
+            #{goods.stockType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
+            #{goods.studentShowOrganId},#{goods.educationShowOrganId},#{goods.replacementShowOrganId},#{goods.courseFeeShowOrganId},#{goods.memberFeeShowOrganId}
+            )
         </foreach>
     </insert>
     <!-- 根据主键查询一条记录 -->
     <update id="update" parameterType="com.ym.mec.biz.dal.entity.Goods">
         UPDATE goods
         <set>
-            <if test="courseViewType != null">
-                course_view_type_ = #{courseViewType},
-            </if>
+                student_show_organ_id_ = #{studentShowOrganId},
+                education_show_organ_id_ = #{educationShowOrganId},
+                replacement_show_organ_id_ = #{replacementShowOrganId},
+                course_fee_show_organ_id_ = #{courseFeeShowOrganId},
+                member_fee_show_organ_id_ = #{memberFeeShowOrganId},
             <if test="agreeCostPrice != null">
                 agree_cost_price_ = #{agreeCostPrice},
             </if>
@@ -166,18 +171,6 @@
             <if test="taxStockCount != null">
                 tax_stock_count_ = #{taxStockCount},
             </if>
-            <if test="clientShow != null">
-                client_show_ = #{clientShow,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
-            </if>
-            <if test="educationalShow != null">
-                educational_show_ = #{educationalShow,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
-            </if>
-            <if test="musicGroupShow != null">
-                music_group_show_ = #{musicGroupShow,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
-            </if>
-            <if test="replacementShow != null">
-                replacement_show_ = #{replacementShow,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
-            </if>
             <if test="stockWarning != null">
                 stock_warning_ = #{stockWarning,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
             </if>
@@ -193,8 +186,20 @@
         <foreach collection="goodsList" item="goods" separator=";">
             UPDATE goods
             <set>
-                <if test="goods.courseViewType != null">
-                    course_view_type_ = #{goods.courseViewType},
+                <if test="goods.studentShowOrganId != null">
+                    student_show_organ_id_ = #{goods.studentShowOrganId},
+                </if>
+                <if test="goods.educationShowOrganId != null">
+                    education_show_organ_id_ = #{goods.educationShowOrganId},
+                </if>
+                <if test="goods.replacementShowOrganId != null">
+                    replacement_show_organ_id_ = #{goods.replacementShowOrganId},
+                </if>
+                <if test="goods.courseFeeShowOrganId != null">
+                    course_fee_show_organ_id_ = #{goods.courseFeeShowOrganId},
+                </if>
+                <if test="goods.memberFeeShowOrganId != null">
+                    member_fee_show_organ_id_ = #{goods.memberFeeShowOrganId},
                 </if>
                 <if test="goods.agreeCostPrice != null">
                     agree_cost_price_ = #{goods.agreeCostPrice},
@@ -262,18 +267,6 @@
                 <if test="goods.taxStockCount != null">
                     tax_stock_count_ = #{goods.taxStockCount},
                 </if>
-                <if test="goods.clientShow != null">
-                    client_show_ = #{goods.clientShow,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
-                </if>
-	            <if test="goods.educationalShow != null">
-	                educational_show_ = #{goods.educationalShow,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
-	            </if>
-	            <if test="goods.musicGroupShow != null">
-	                music_group_show_ = #{goods.musicGroupShow,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
-	            </if>
-                <if test="goods.replacementShow != null">
-                    music_group_show_ = #{goods.replacementShow,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
-                </if>
                 <if test="goods.stockWarning != null">
                     stock_warning_ = #{goods.stockWarning,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
                 </if>
@@ -308,9 +301,6 @@
 
     <sql id="queryGoodsPageSql">
         <where>
-            <if test="organId != null and organId != ''">
-                AND INTE_ARRAY(#{organId},g.organ_id_list_)
-            </if>
             <if test="goodsCategoryId != null">
                 AND g.goods_category_id_ = #{goodsCategoryId}
             </if>
@@ -332,20 +322,30 @@
             <if test="groupGoods!=null and groupGoods==1">
                 AND g.complement_goods_id_list_ IS NOT NULL
             </if>
-            <if test="clientShow!=null">
-                AND g.client_show_=#{clientShow}
+            <if test="studentShowOrganId != null and studentShowOrganId!=''">
+                AND INTE_ARRAY(#{studentShowOrganId},g.student_show_organ_id_)
             </if>
-            <if test="educationalShow!=null">
-                AND g.educational_show_=#{educationalShow}
+            <if test="educationShowOrganId != null and educationShowOrganId!=''">
+                AND INTE_ARRAY(#{educationShowOrganId},g.education_show_organ_id_)
             </if>
-            <if test="musicGroupShow!=null">
-                AND g.music_group_show_=#{musicGroupShow}
+            <if test="courseFeeShowOrganId != null and courseFeeShowOrganId!=''">
+                AND INTE_ARRAY(#{courseFeeShowOrganId},g.course_fee_show_organ_id_)
             </if>
-            <if test="courseViewType != null">
-                AND FIND_IN_SET(#{courseViewType},g.course_view_type_)
+            <if test="memberFeeShowOrganId!=null and memberFeeShowOrganId!=''">
+                AND INTE_ARRAY(#{memberFeeShowOrganId},g.member_fee_show_organ_id_)
+            </if>
+            <if test="replacementShowOrganId!=null and replacementShowOrganId!=''">
+                AND INTE_ARRAY(#{replacementShowOrganId},g.replacement_show_organ_id_)
             </if>
-            <if test="replacementShow!=null">
-                AND g.replacement_show_=#{replacementShow}
+            <if test="noOrganSearch == null">
+                <if test="organId != null and organId != ''">
+                    AND INTE_ARRAY (#{organId},CONCAT_WS(',',
+                    CASE WHEN member_fee_show_organ_id_ = '' THEN NULL ELSE member_fee_show_organ_id_ END,
+                    CASE WHEN course_fee_show_organ_id_ = '' THEN NULL ELSE course_fee_show_organ_id_ END,
+                    CASE WHEN education_show_organ_id_ = '' THEN NULL ELSE education_show_organ_id_ END,
+                    CASE WHEN student_show_organ_id_ = '' THEN NULL ELSE student_show_organ_id_ END,
+                    CASE WHEN replacement_show_organ_id_ = '' THEN NULL ELSE replacement_show_organ_id_ END))
+                </if>
             </if>
             <if test="search!=null and search!=''">
                 AND (g.sn_=#{search} OR g.id_=#{search} OR g.name_ LIKE CONCAT('%', #{search}, '%'))
@@ -356,12 +356,44 @@
     <select id="findGoodsBySubId" resultMap="Goods">
         SELECT g.* FROM subject_goods_mapper sgm
         LEFT JOIN goods g ON sgm.goods_category_id_ = g.goods_category_id_
-        WHERE sgm.subject_id_ = #{subjectId} AND g.type_ = #{type} and g.status_ != 0
-        <if test="organId != null">
-            AND FIND_IN_SET(#{organId},g.organ_id_list_)
-        </if>
+        <include refid="queryOrganIdSql"/>
     </select>
 
+    <sql id="queryOrganIdSql">
+        <where>
+                AND g.status_ != 0
+            <if test="goodsQuery.subjectId != null">
+                AND sgm.subject_id_ = #{goodsQuery.subjectId}
+            </if>
+            <if test="goodsQuery.type != null and goodsQuery.type != ''">
+                AND g.type_ = #{goodsQuery.type}
+            </if>
+            <if test="goodsQuery.studentShowOrganId != null">
+                AND FIND_IN_SET(#{goodsQuery.studentShowOrganId},g.student_show_organ_id_)
+            </if>
+            <if test="goodsQuery.educationShowOrganId != null">
+                AND FIND_IN_SET(#{goodsQuery.educationShowOrganId},g.education_show_organ_id_)
+            </if>
+            <if test="goodsQuery.courseFeeShowOrganId != null">
+                AND FIND_IN_SET(#{goodsQuery.courseFeeShowOrganId},g.course_fee_show_organ_id_)
+            </if>
+            <if test="goodsQuery.memberFeeShowOrganId!=null">
+                AND FIND_IN_SET(#{goodsQuery.memberFeeShowOrganId},g.member_fee_show_organ_id_)
+            </if>
+            <if test="goodsQuery.replacementShowOrganId!=null">
+                AND FIND_IN_SET(#{goodsQuery.replacementShowOrganId},g.replacement_show_organ_id_)
+            </if>
+            <if test="goodsQuery.organId != null">
+                AND FIND_IN_SET (#{goodsQuery.organId},CONCAT_WS(',',
+                CASE WHEN member_fee_show_organ_id_ = '' THEN NULL ELSE member_fee_show_organ_id_ END,
+                CASE WHEN course_fee_show_organ_id_ = '' THEN NULL ELSE course_fee_show_organ_id_ END,
+                CASE WHEN education_show_organ_id_ = '' THEN NULL ELSE education_show_organ_id_ END,
+                CASE WHEN student_show_organ_id_ = '' THEN NULL ELSE student_show_organ_id_ END,
+                CASE WHEN replacement_show_organ_id_ = '' THEN NULL ELSE replacement_show_organ_id_ END))
+            </if>
+        </where>
+    </sql>
+
     <!-- 根据 -->
     <select id="findGoodsNumByCategoryId" resultType="int">
         SELECT COUNT(*) FROM goods WHERE goods_category_id_ = #{goodsCategoryId}
@@ -427,29 +459,22 @@
     <select id="getMusicGroupGoodsAndDiscount" resultMap="MusicGroupGoods">
         SELECT g.* FROM subject_goods_mapper sgm
         LEFT JOIN goods g ON sgm.goods_category_id_ = g.goods_category_id_
-        WHERE sgm.subject_id_ = #{subjectId} AND g.music_group_show_ = 1 AND g.status_ != 0
+        WHERE sgm.subject_id_ = #{subjectId} AND g.status_ != 0
         <if test="organId != null">
-            AND FIND_IN_SET(#{organId},g.organ_id_list_)
+            <if test="courseViewType != null">
+                <if test="courseViewType == 2">
+                    AND FIND_IN_SET(#{organId},g.member_fee_show_organ_id_)
+                </if>
+                <if test="courseViewType == 1 or courseViewType == 0">
+                    AND FIND_IN_SET(#{organId},g.course_fee_show_organ_id_)
+                </if>
+            </if>
         </if>
         <if test="type!=null">
             AND g.type_ = #{type}
         </if>
-        <if test="courseViewType != null">
-            AND FIND_IN_SET(#{courseViewType},g.course_view_type_)
-        </if>
     </select>
 
-    <select id="getMusicGroupGoodsAndDiscountWithSubjects" resultMap="MusicGroupGoods">
-        SELECT g.* FROM subject_goods_mapper sgm
-        LEFT JOIN goods g ON sgm.goods_category_id_ = g.goods_category_id_
-        WHERE FIND_IN_SET(sgm.subject_id_, #{subjectIds}) and g.status_ != 0
-        <if test="organId != null">
-            AND FIND_IN_SET(#{organId},g.organ_id_list_)
-        </if>
-        <if test="type!=null">
-            AND g.type_ = #{type}
-        </if>
-    </select>
     <select id="findByIdAndStatus" resultType="java.lang.Boolean">
         SELECT COUNT(0) FROM goods WHERE status_ = #{status} AND id_ = #{goodsId}
     </select>
@@ -493,24 +518,14 @@
         <include refid="replacementQuerySql"/>
         <include refid="global.limit"/>
     </select>
-    <select id="findGoodsOrganNames" resultType="java.util.Map">
-        SELECT g.id_ 'key',GROUP_CONCAT(DISTINCT o.name_) 'value' FROM goods g
-        LEFT JOIN organization o ON FIND_IN_SET(o.id_,g.organ_id_list_)
-        WHERE g.id_ IN
-        <foreach collection="goodsIds" open="(" close=")" item="organId" separator=",">
-            #{organId}
-        </foreach>
-        GROUP BY g.id_
-    </select>
 
     <sql id="replacementQuerySql">
         <where>
-            g.replacement_show_ = 1
-            AND g.status_ != 0
+            g.status_ != 0
             AND g.type_ = 'INSTRUMENT'
             AND gc.del_flag_ = 0
             <if test="organId != null">
-                AND FIND_IN_SET(#{organId},g.organ_id_list_)
+                AND FIND_IN_SET(#{organId},g.replacement_show_organ_id_)
             </if>
             <if test="subjectId != null">
                 AND sgm.subject_id_ = #{subjectId}

+ 2 - 6
mec-biz/src/main/resources/config/mybatis/MemberFeeSettingMapper.xml

@@ -30,12 +30,8 @@
 	
 	<!-- 向数据库增加一条记录 -->
 	<insert id="insert" parameterType="com.ym.mec.biz.dal.entity.MemberFeeSetting" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
-		<!--
-		<selectKey resultClass="int" keyProperty="id" > 
-		SELECT SEQ_WSDEFINITION_ID.nextval AS ID FROM DUAL 
-		</selectKey>
-		-->
-		INSERT INTO member_fee_setting (id_,current_day_fee_,original_day_fee_,current_month_fee_,original_month_fee_,current_half_year_fee_,original_half_year_fee_,current_year_fee_,original_year_fee_) VALUES(#{id},#{currentDayFee},#{originalDayFee},#{currentMonthFee},#{originalMonthFee},#{currentHalfYearFee},#{originalHalfYearFee},#{currentYearFee},#{originalYearFee})
+		INSERT INTO member_fee_setting (current_day_fee_,original_day_fee_,current_month_fee_,original_month_fee_,current_half_year_fee_,original_half_year_fee_,current_year_fee_,original_year_fee_)
+		VALUES(#{currentDayFee},#{originalDayFee},#{currentMonthFee},#{originalMonthFee},#{currentHalfYearFee},#{originalHalfYearFee},#{currentYearFee},#{originalYearFee})
 	</insert>
 	
 	<!-- 根据主键查询一条记录 -->

+ 3 - 1
mec-biz/src/main/resources/config/mybatis/MemberRankOrganizationFeeMapperMapper.xml

@@ -12,6 +12,7 @@
 		<result column="member_rank_setting_id_" property="memberRankSettingId" />
 		<result column="member_fee_setting_id_" property="memberFeeSettingId" />
 		<result column="operator_id_" property="operatorId" />
+		<result column="operator_name_" property="operatorName" />
 		<result column="create_time_" property="createTime" />
 		<result column="update_time_" property="updateTime" />
 		<result column="rank_name_" property="rankName" />
@@ -68,11 +69,12 @@
 	
 	<!-- 分页查询 -->
 	<select id="queryPage" resultMap="MemberRankOrganizationFeeMapper" parameterType="map">
-		SELECT mrofm.*,o.name_ organ_name_,mrs.name_ rank_name_,mfs.*,mfs.id_ member_fee_setting_id_
+		SELECT mrofm.*,o.name_ organ_name_,mrs.name_ rank_name_,mfs.*,mfs.id_ member_fee_setting_id_,su.real_name_ operator_name_
 		FROM member_rank_organization_fee_mapper mrofm
 		LEFT JOIN member_rank_setting mrs ON  mrofm.member_rank_setting_id_ = mrs.id_
 		LEFT JOIN member_fee_setting mfs ON mfs.id_ = mrofm.member_fee_setting_id_
 		LEFT JOIN organization o ON o.id_ = mrofm.organ_id_
+		LEFT JOIN sys_user su ON su.id_ = mrofm.operator_id_
 		<where>
 			<if test="search != null and search != ''">
 				AND mrs.name_ LIKE CONCAT('%',#{search},'%')

+ 16 - 22
mec-student/src/main/java/com/ym/mec/student/controller/GoodsController.java

@@ -1,27 +1,24 @@
 package com.ym.mec.student.controller;
 
+import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.entity.Goods;
 import com.ym.mec.biz.dal.entity.GoodsCategory;
+import com.ym.mec.biz.dal.page.GoodsQuery;
+import com.ym.mec.biz.dal.page.GoodsQueryInfo;
 import com.ym.mec.biz.service.GoodsCategoryService;
+import com.ym.mec.biz.service.GoodsService;
+import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.exception.BizException;
 import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiImplicitParam;
-import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
-
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
-import com.ym.mec.auth.api.client.SysUserFeignService;
-import com.ym.mec.biz.dal.page.GoodsQueryInfo;
-import com.ym.mec.biz.service.GoodsService;
-import com.ym.mec.common.controller.BaseController;
-
 import java.util.Objects;
 
 @RequestMapping("goods")
@@ -50,25 +47,22 @@ public class GoodsController extends BaseController {
     @ApiOperation(value = "分页查询商品(教材、辅件)列表")
     @GetMapping("/queryPage")
     public Object queryPage(GoodsQueryInfo queryInfo){
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if(sysUser == null){
+            throw new BizException("请先登录");
+        }
+        queryInfo.setStudentShowOrganId(sysUser.getOrganId().toString());
         return succeed(goodsService.queryPage(queryInfo));
     }
 
     @ApiOperation(value = "通过科目编号、商品分类 查询商品(教材、辅件)列表")
     @GetMapping("/queryGoodsBySubId")
-    @ApiImplicitParams({ @ApiImplicitParam(name = "subjectId", value = "科目编号", required = true, dataType = "Integer"),
-            @ApiImplicitParam(name = "organId", value = "分部编号", required = true, dataType = "Integer"),
-            @ApiImplicitParam(name = "type", value = "INSTRUMENT 乐器, ACCESSORIES 教辅", required = true, dataType = "String")})
-    public Object findGoodsBySubId(Integer subjectId,String type,Integer organId){
-        if(organId == null){
-            SysUser sysUser = sysUserFeignService.queryUserInfo();
-            if(sysUser == null){
-                throw new BizException("请先登录");
-            }
-            organId = sysUser.getOrganId();
-            if(organId == null){
-                throw new BizException("学员分部异常,请联系管理员");
-            }
+    public Object findGoodsBySubId(GoodsQuery goodsQuery){
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if(sysUser == null){
+            throw new BizException("请先登录");
         }
-        return succeed(goodsService.findGoodsBySubId(subjectId,type,organId));
+        goodsQuery.setStudentShowOrganId(sysUser.getOrganId());
+        return succeed(goodsService.findGoodsBySubId(goodsQuery));
     }
 }

+ 14 - 19
mec-student/src/main/java/com/ym/mec/student/controller/RepairController.java

@@ -1,20 +1,6 @@
 package com.ym.mec.student.controller;
 
 
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-
-import java.util.List;
-import java.util.Map;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.HttpStatus;
-import org.springframework.web.bind.annotation.GetMapping;
-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.RestController;
-
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.entity.StudentGoodsSell;
@@ -27,14 +13,18 @@ import com.ym.mec.biz.dal.page.GoodsCategoryQueryInfo;
 import com.ym.mec.biz.dal.page.GoodsQueryInfo;
 import com.ym.mec.biz.dal.page.GoodsSellQueryInfo;
 import com.ym.mec.biz.dal.page.RepairStudentQueryInfo;
-import com.ym.mec.biz.service.GoodsCategoryService;
-import com.ym.mec.biz.service.GoodsService;
-import com.ym.mec.biz.service.StudentGoodsSellService;
-import com.ym.mec.biz.service.StudentPaymentOrderService;
-import com.ym.mec.biz.service.StudentRepairService;
+import com.ym.mec.biz.service.*;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.entity.HttpResponseResult;
 import com.ym.mec.common.exception.BizException;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpStatus;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+import java.util.Map;
 
 @RequestMapping("repair")
 @Api(tags = "学生维修服务")
@@ -143,6 +133,11 @@ public class RepairController extends BaseController {
     @ApiOperation(value = "分页查询商品(教材、辅件)列表")
     @GetMapping("/queryGoodsPage")
     public Object queryPage(GoodsQueryInfo queryInfo){
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if(sysUser == null){
+            throw new BizException("请先登录");
+        }
+        queryInfo.setStudentShowOrganId(sysUser.getOrganId().toString());
         return succeed(goodsService.queryPage(queryInfo));
     }
 

+ 17 - 27
mec-web/src/main/java/com/ym/mec/web/controller/ExportController.java

@@ -1,5 +1,7 @@
 package com.ym.mec.web.controller;
 
+import com.ym.mec.auth.api.client.SysUserFeignService;
+import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dao.*;
 import com.ym.mec.biz.dal.dto.*;
 import com.ym.mec.biz.dal.entity.*;
@@ -7,24 +9,16 @@ import com.ym.mec.biz.dal.enums.*;
 import com.ym.mec.biz.dal.page.*;
 import com.ym.mec.biz.service.*;
 import com.ym.mec.common.constant.CommonConstants;
+import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.entity.HttpResponseResult;
+import com.ym.mec.common.exception.BizException;
+import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.service.IdGeneratorService;
+import com.ym.mec.util.collection.MapUtil;
+import com.ym.mec.util.date.DateUtil;
+import com.ym.mec.util.excel.POIUtil;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
-import java.io.IOException;
-import java.io.OutputStream;
-import java.math.BigDecimal;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Objects;
-import java.util.Set;
-import java.util.stream.Collectors;
-import javax.servlet.http.HttpServletResponse;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.poi.hssf.usermodel.HSSFWorkbook;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -34,14 +28,13 @@ import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
-import com.ym.mec.auth.api.client.SysUserFeignService;
-import com.ym.mec.auth.api.entity.SysUser;
-import com.ym.mec.common.controller.BaseController;
-import com.ym.mec.common.exception.BizException;
-import com.ym.mec.common.page.PageInfo;
-import com.ym.mec.util.collection.MapUtil;
-import com.ym.mec.util.date.DateUtil;
-import com.ym.mec.util.excel.POIUtil;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.math.BigDecimal;
+import java.util.*;
+import java.util.stream.Collectors;
 
 @RequestMapping
 @Api(tags = "数据导出服务")
@@ -474,13 +467,10 @@ public class ExportController extends BaseController {
         OutputStream outputStream = response.getOutputStream();
         try {
             HSSFWorkbook workbook = POIUtil.exportExcel(new String[]{"商品编号", "货号", "品牌", "商品名称",
-                    "是否组合商品", "学员是否展示", "教务端是否展示", "乐团是否展示", "乐团收费模式","是否乐器置换", "是否库存预警",
-                    "商品类型", "商品分类", "具体型号", "内部库存", "税务库存", "库存类型", "市场价(元)",
+                    "是否组合商品", "是否库存预警","商品类型", "商品分类", "具体型号", "内部库存", "税务库存", "库存类型", "市场价(元)",
                     "零售价(元)", "商品团购价(元)", "商品描述", "商品详情", "是否上下架"}, new String[]{
                     "id", "sn", "brand", "name",
-                    "complementGoodsIdList == null || complementGoodsIdList == '' ? '否':'是'", "clientShow.msg", "educationalShow.msg", "musicGroupShow.msg",
-                    "courseViewType == null?'':courseViewType == '0'?'系统收费':courseViewType == '0,1'?'系统收费,课程收费':courseViewType == '0,2'?'系统收费,云教练收费':courseViewType == '1,2'?'课程收费,云教练收费':courseViewType == '0,1,2'?'系统收费,课程收费,云教练收费':''",
-                    "replacementShow.msg", "stockWarning.msg",
+                    "complementGoodsIdList == null || complementGoodsIdList == '' ? '否':'是'", "stockWarning.msg",
                     "type.desc", "goodsCategoryName", "specification", "stockCount", "taxStockCount", "stockType.msg", "marketPrice",
                     "discountPrice", "groupPurchasePrice", "brief", "desc", "status.msg"}, rows);
             response.setContentType("application/octet-stream");

+ 13 - 20
mec-web/src/main/java/com/ym/mec/web/controller/GoodsController.java

@@ -7,6 +7,7 @@ import com.ym.mec.biz.dal.entity.Employee;
 import com.ym.mec.biz.dal.entity.GoodsCategory;
 import com.ym.mec.biz.dal.entity.GoodsProcurement;
 import com.ym.mec.biz.dal.enums.AccountType;
+import com.ym.mec.biz.dal.page.GoodsQuery;
 import com.ym.mec.biz.service.GoodsCategoryService;
 import com.ym.mec.common.entity.HttpResponseResult;
 import com.ym.mec.common.exception.BizException;
@@ -16,10 +17,8 @@ import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
 
-import java.util.Arrays;
-import java.util.Date;
-import java.util.List;
-import java.util.Objects;
+import java.util.*;
+import java.util.stream.Collectors;
 
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -106,7 +105,7 @@ public class GoodsController extends BaseController {
     @ApiOperation(value = "根据商品(教材、辅件)编号查询商品(教材、辅件)")
     @GetMapping("/get/{id}")
     public Object get(@ApiParam(value = "商品(教材、辅件)编号", required = true) @PathVariable("id") Integer id){
-        Goods goods = goodsService.get(id);
+        Goods goods = goodsService.getDetail(id);
         GoodsCategory goodsCategory = goodsCategoryService.get(goods.getGoodsCategoryId());
         if(Objects.nonNull(goodsCategory)){
             goods.setGoodsCategoryName(goodsCategory.getName());
@@ -118,34 +117,28 @@ public class GoodsController extends BaseController {
     @GetMapping("/queryPage")
     @PreAuthorize("@pcs.hasPermissions('goods/queryPage')")
     public Object queryPage(GoodsQueryInfo queryInfo){
+        queryInfo.setOrganId(null);
         SysUser sysUser = sysUserFeignService.queryUserInfo();
         if (sysUser == null) {
             return failed("用户信息获取失败");
         }
         Employee employee = employeeDao.get(sysUser.getId());
-        if (StringUtils.isEmpty(queryInfo.getOrganId())) {
+        if (queryInfo.getStudentShowOrganId() == null &&
+                queryInfo.getEducationShowOrganId() == null &&
+                queryInfo.getCourseFeeShowOrganId() == null &&
+                queryInfo.getMemberFeeShowOrganId() == null &&
+                queryInfo.getReplacementShowOrganId() == null) {
             queryInfo.setOrganId(employee.getOrganIdList());
         }else if(StringUtils.isEmpty(employee.getOrganIdList())){
             return failed("用户所在分部异常");
-        }else {
-            List<String> list = Arrays.asList(employee.getOrganIdList().split(","));
-            if(!list.containsAll(Arrays.asList(queryInfo.getOrganId().split(",")))){
-                return failed("非法请求");
-            }
         }
-        return succeed(goodsService.queryGoodsPage(queryInfo));
+        return succeed(goodsService.queryPage(queryInfo));
     }
 
     @ApiOperation(value = "通过科目编号、商品分类 查询商品(教材、辅件)列表")
     @GetMapping("/queryGoodsBySubId")
     @PreAuthorize("@pcs.hasPermissions('goods/queryGoodsBySubId')")
-    @ApiImplicitParams({ @ApiImplicitParam(name = "subjectId", value = "科目编号", required = true, dataType = "Integer"),
-            @ApiImplicitParam(name = "organId", value = "分部编号", required = true, dataType = "Integer"),
-            @ApiImplicitParam(name = "type", value = "INSTRUMENT 乐器, ACCESSORIES 教辅", required = true, dataType = "String")})
-    public Object findGoodsBySubId(Integer subjectId,String type,Integer organId){
-        if(organId == null){
-            throw new BizException("请选择用户分部");
-        }
-        return succeed(goodsService.findGoodsBySubId(subjectId,type,organId));
+    public Object findGoodsBySubId(GoodsQuery goodsQuery){
+        return succeed(goodsService.findGoodsBySubId(goodsQuery));
     }
 }

+ 10 - 0
mec-web/src/main/java/com/ym/mec/web/controller/MemberRankOrganizationFeeMapperController.java

@@ -40,6 +40,11 @@ public class MemberRankOrganizationFeeMapperController extends BaseController {
     @PreAuthorize("@pcs.hasPermissions('memberRankOrganizationFeeMapper/add')")
     @AuditLogAnnotation(operateName = "新增系统功能类型")
     public Object add(@RequestBody MemberRankOrganizationFeeMapper memberRankOrganizationFeeMapper) {
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if (sysUser == null) {
+            throw new BizException("用户信息获取失败");
+        }
+        memberRankOrganizationFeeMapper.setOperatorId(sysUser.getId());
         memberRankOrganizationFeeMapperService.add(memberRankOrganizationFeeMapper);
         return succeed();
     }
@@ -48,6 +53,11 @@ public class MemberRankOrganizationFeeMapperController extends BaseController {
     @PostMapping("/update")
     @PreAuthorize("@pcs.hasPermissions('memberRankOrganizationFeeMapper/update')")
     public Object update(@RequestBody MemberRankOrganizationFeeMapper memberRankOrganizationFeeMapper) {
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if (sysUser == null) {
+            throw new BizException("用户信息获取失败");
+        }
+        memberRankOrganizationFeeMapper.setOperatorId(sysUser.getId());
         memberRankOrganizationFeeMapperService.updateFee(memberRankOrganizationFeeMapper);
         return succeed();
     }

+ 5 - 2
mec-web/src/main/java/com/ym/mec/web/controller/StudentRegistrationController.java

@@ -439,11 +439,14 @@ public class StudentRegistrationController extends BaseController {
     @ApiOperation(value = "设置不需要云教练")
     @GetMapping("/setNoneCloudTeacher")
     @PreAuthorize("@pcs.hasPermissions('studentRegistration/setNoneCloudTeacher')")
-    public HttpResponseResult<Boolean> setNoneCloudTeacher(Long id) {
+    public HttpResponseResult<Boolean> setNoneCloudTeacher(Long id, Boolean isContinue) {
+    	if(isContinue == null){
+    		isContinue = false;
+    	}
         StudentRegistration studentRegistration = studentRegistrationService.get(id);
         //已付费的增加,已缴费人数、和0元付费人数
         if (studentRegistration.getPaymentStatus().equals(PaymentStatusEnum.YES)) {
-            return succeed(studentRegistrationService.addPaidNum(id));
+            return studentRegistrationService.addPaidNum(id, isContinue);
         } else {
             return succeed(studentRegistrationService.setNoneCloudTeacher(id));
         }

+ 18 - 4
mec-web/src/main/java/com/ym/mec/web/controller/education/EduRepairController.java

@@ -24,10 +24,9 @@ import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpStatus;
 import org.springframework.web.bind.annotation.*;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
-import java.util.Objects;
+
+import java.util.*;
+import java.util.stream.Collectors;
 
 @RequestMapping("eduRepair")
 @Api(tags = "教务维修服务")
@@ -188,6 +187,21 @@ public class EduRepairController extends BaseController {
     @ApiOperation(value = "分页查询商品(教材、辅件)列表")
     @GetMapping("/queryGoodsPage")
     public Object queryPage(GoodsQueryInfo queryInfo){
+        queryInfo.setOrganId(null);
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if (sysUser == null) {
+            return failed("用户信息获取失败");
+        }
+        Employee employee = employeeDao.get(sysUser.getId());
+        if (queryInfo.getStudentShowOrganId() == null &&
+                queryInfo.getEducationShowOrganId() == null &&
+                queryInfo.getCourseFeeShowOrganId() == null &&
+                queryInfo.getMemberFeeShowOrganId() == null &&
+                queryInfo.getReplacementShowOrganId() == null) {
+            queryInfo.setEducationShowOrganId(employee.getOrganIdList());
+        }else if(StringUtils.isEmpty(employee.getOrganIdList())){
+            return failed("用户所在分部异常");
+        }
         return succeed(goodsService.queryPage(queryInfo));
     }
 

+ 0 - 5
mec-web/src/main/resources/columnMapper.ini

@@ -15,11 +15,6 @@
 内部库存 = stockCount
 税务库存 = taxStockCount
 备查货号 = supplyChannel
-是否App展示 = clientShow
-是否在教务端展示 = educationalShow
-是否在乐团展示 = musicGroupShow
-乐团收费类型 = courseViewType
-是否乐器置换 = replacementShow
 库存类型 = stockType
 商品详情 = desc
 库存预警 = stockWarning

BIN
mec-web/src/main/resources/excelTemplate/商品导入模板.xls