zouxuan преди 6 години
родител
ревизия
f8b6cf7cd6

+ 14 - 20
mec-web/src/main/java/com/ym/mec/web/controller/GoodsCategoryController.java

@@ -1,5 +1,6 @@
 package com.ym.mec.web.controller;
 
+import com.ym.mec.web.dal.entity.Subject;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
@@ -28,18 +29,11 @@ import com.ym.mec.web.service.GoodsService;
 public class GoodsCategoryController extends BaseController {
 
     @Autowired
-    private GoodsCategoryService GoodsCategoryCategoryService;
+    private GoodsCategoryService goodsCategoryService;
 
     @Autowired
     private GoodsService goodsService;
 
-    @ApiOperation(value = "新增商品分类")
-    @PostMapping("/add")
-    public Object add(@RequestBody GoodsCategory goodsCategory) {
-        GoodsCategoryCategoryService.insert(goodsCategory);
-        return succeed();
-    }
-
     @ApiOperation(value = "删除商品分类")
     @DeleteMapping("/del/{id}")
     public Object del(@ApiParam(value = "商品分类编号", required = true) @PathVariable("id") Integer id) {
@@ -47,29 +41,29 @@ public class GoodsCategoryController extends BaseController {
         if (num > 0) {
             return failed("商品分类下有商品,不能删除");
         }
-        GoodsCategoryCategoryService.delete(id);
+        goodsCategoryService.delete(id);
         return succeed();
     }
 
-    @ApiOperation(value = "修改商品分类")
-    @PutMapping("/update")
-    public Object update(@RequestBody GoodsCategory goodsCategory) {
-        goodsCategory.setUpdateTime(new Date());
-        GoodsCategoryCategoryService.update(goodsCategory);
+    @ApiOperation(value = "新增、修改商品类型")
+    @PutMapping("/upset")
+    public Object upset(@RequestBody GoodsCategory goodsCategory){
+        goodsCategoryService.upsetGoodsCategory(goodsCategory);
         return succeed();
     }
 
     @ApiOperation(value = "分页查询商品分类列表")
-    @PostMapping("/queryPage")
-    public Object queryPage(@RequestBody GoodsCategoryQueryInfo queryInfo) {
-        queryInfo.setParentId(-1);
-        return succeed(GoodsCategoryCategoryService.queryPage(queryInfo));
+    @GetMapping("/queryPage")
+    public Object queryPage(@RequestBody(required = false) GoodsCategoryQueryInfo queryInfo) {
+        if(queryInfo == null){
+            queryInfo = new GoodsCategoryQueryInfo();
+        }
+        return succeed(goodsCategoryService.queryPage(queryInfo));
     }
 
-
     @ApiOperation(value = "根据商品分类编号查询商品分类")
     @GetMapping("/get/{id}")
     public Object get(@ApiParam(value = "商品分类编号", required = true) @PathVariable("id") Integer id) {
-        return succeed(GoodsCategoryCategoryService.get(id));
+        return succeed(goodsCategoryService.get(id));
     }
 }

+ 12 - 25
mec-web/src/main/java/com/ym/mec/web/controller/GoodsController.java

@@ -1,28 +1,14 @@
 package com.ym.mec.web.controller;
 
-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 java.util.Date;
-import java.util.HashMap;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.DeleteMapping;
-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.PutMapping;
-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.common.controller.BaseController;
 import com.ym.mec.web.dal.entity.Goods;
 import com.ym.mec.web.dal.page.GoodsQueryInfo;
 import com.ym.mec.web.service.GoodsService;
+import io.swagger.annotations.*;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.Date;
 
 @RequestMapping("goods")
 @Api(tags = "商品(教材、辅件)服务")
@@ -61,18 +47,19 @@ public class GoodsController extends BaseController {
     }
 
     @ApiOperation(value = "分页查询商品(教材、辅件)列表")
-    @PostMapping("/queryPage")
-    public Object queryPage(@RequestBody GoodsQueryInfo queryInfo){
+    @GetMapping("/queryPage")
+    public Object queryPage(@RequestBody(required = false) GoodsQueryInfo queryInfo){
+        if(queryInfo == null){
+            queryInfo = new GoodsQueryInfo();
+        }
         return succeed(goodsService.queryPage(queryInfo));
     }
 
     @ApiOperation(value = "通过科目编号、商品分类 查询商品(教材、辅件)列表")
-    @PostMapping("/queryGoodsBySubId")
+    @GetMapping("/queryGoodsBySubId")
     @ApiImplicitParams({ @ApiImplicitParam(name = "subjectId", value = "科目编号", required = true, dataType = "Integer"),
             @ApiImplicitParam(name = "goodsCategoryId", value = "商品分类", required = true, dataType = "Integer")})
-    public Object findGoodsBySubId(@RequestBody HashMap<String, Integer> param){
-        Integer subjectId = param.get("subjectId");
-        Integer goodsCategoryId = param.get("goodsCategoryId");
+    public Object findGoodsBySubId(@RequestAttribute Integer subjectId,@RequestAttribute Integer goodsCategoryId){
         return succeed(goodsService.findGoodsBySubId(subjectId,goodsCategoryId));
     }
 }

+ 14 - 29
mec-web/src/main/java/com/ym/mec/web/controller/SubjectController.java

@@ -2,6 +2,7 @@ package com.ym.mec.web.controller;
 
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.web.dal.entity.Subject;
+import com.ym.mec.web.dal.page.GoodsQueryInfo;
 import com.ym.mec.web.dal.page.SubjectQueryInfo;
 import com.ym.mec.web.service.SubjectService;
 import io.swagger.annotations.*;
@@ -19,32 +20,10 @@ public class SubjectController extends BaseController {
     @Autowired
     private SubjectService subjectService;
 
-    @ApiOperation(value = "新增科目")
-    @PostMapping("/add")
-    public Object add(@RequestBody Subject subject){
-        subjectService.addSubject(subject);
-        return succeed();
-    }
-
-    @ApiOperation(value = "删除科目")
-    @DeleteMapping("/del/{id}")
-    public Object del(@ApiParam(value = "科目编号", required = true) @PathVariable("id") Integer id){
-        subjectService.delete(id);
-        return succeed();
-    }
-
-    @ApiOperation(value = "修改科目")
-    @PutMapping("/update")
+    @ApiOperation(value = "修改、新增科目")
+    @PutMapping("/upset")
     public Object update(@RequestBody Subject subject){
-        subject.setUpdateTime(new Date());
-        subjectService.update(subject);
-        return succeed();
-    }
-
-    @ApiOperation(value = "批量修改科目")
-    @PutMapping("/batchUpdate")
-    public Object batchUpdate(@RequestBody List<Subject> subjects){
-        subjectService.batchUpdate(subjects);
+        subjectService.upSetSubject(subject);
         return succeed();
     }
 
@@ -55,14 +34,20 @@ public class SubjectController extends BaseController {
     }
 
     @ApiOperation(value = "分页查询科目列表")
-    @PostMapping("/queryPage")
-    public Object queryPage(@RequestBody SubjectQueryInfo queryInfo){
+    @GetMapping("/queryPage")
+    public Object queryPage(@RequestBody(required = false) SubjectQueryInfo queryInfo){
+        if(queryInfo == null){
+            queryInfo = new SubjectQueryInfo();
+        }
         return succeed(subjectService.queryPage(queryInfo));
     }
 
     @ApiOperation(value = "分页查询科目树状列表")
-    @PostMapping("/queryPageTree")
-    public Object queryPageTree(@RequestBody SubjectQueryInfo queryInfo){
+    @GetMapping("/queryPageTree")
+    public Object queryPageTree(@RequestBody(required = false) SubjectQueryInfo queryInfo){
+        if(queryInfo == null){
+            queryInfo = new SubjectQueryInfo();
+        }
         return succeed(subjectService.queryPageTree(queryInfo));
     }
 

+ 6 - 0
mec-web/src/main/java/com/ym/mec/web/dal/dao/SubjectDao.java

@@ -51,4 +51,10 @@ public interface SubjectDao extends BaseDAO<Integer, Subject> {
      * @return
      */
     List<SubjectApplyDetailDto> findSubApplyDetail(Integer musicGroupId);
+
+    /**
+     * 新增或修改科目
+     * @param subject
+     */
+    void upSet(Subject subject);
 }

+ 14 - 1
mec-web/src/main/java/com/ym/mec/web/dal/entity/GoodsCategory.java

@@ -4,6 +4,8 @@ import com.ym.mec.web.dal.enums.YesOrNoEnum;
 import io.swagger.annotations.ApiModelProperty;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 
+import java.util.List;
+
 /**
  * 对应数据库表(goods_category):
  */
@@ -41,7 +43,18 @@ public class GoodsCategory {
 	
 	/** 创建时间 */
 	private java.util.Date createTime;
-	
+
+	@ApiModelProperty(value = "子级商品类型列表",required = false)
+	private List<GoodsCategory> goodsCategories;
+
+	public List<GoodsCategory> getGoodsCategories() {
+		return goodsCategories;
+	}
+
+	public void setGoodsCategories(List<GoodsCategory> goodsCategories) {
+		this.goodsCategories = goodsCategories;
+	}
+
 	public void setId(Integer id){
 		this.id = id;
 	}

+ 2 - 2
mec-web/src/main/java/com/ym/mec/web/dal/page/GoodsCategoryQueryInfo.java

@@ -7,10 +7,10 @@ import io.swagger.annotations.ApiModelProperty;
 public class GoodsCategoryQueryInfo extends QueryInfo {
 
     @ApiModelProperty(value = "上级分类")
-    private Integer parentId;
+    private Integer parentId = 0;
 
     @ApiModelProperty(value = "状态(1,可见  0,不可见)")
-    private YesOrNoEnum status;
+    private YesOrNoEnum status = YesOrNoEnum.YES;
 
     public Integer getParentId() {
         return parentId;

+ 11 - 0
mec-web/src/main/java/com/ym/mec/web/service/GoodsCategoryService.java

@@ -5,4 +5,15 @@ import com.ym.mec.web.dal.entity.GoodsCategory;
 
 public interface GoodsCategoryService extends BaseService<Integer, GoodsCategory> {
 
+    /**
+     * 新政商品类型
+     * @param goodsCategory
+     */
+    void add(GoodsCategory goodsCategory);
+
+    /**
+     * 新增、修改商品类型
+     * @param goodsCategory
+     */
+    void upsetGoodsCategory(GoodsCategory goodsCategory);
 }

+ 2 - 22
mec-web/src/main/java/com/ym/mec/web/service/SubjectService.java

@@ -19,20 +19,6 @@ public interface SubjectService extends BaseService<Integer, Subject> {
     List<Subject> findSubByMusicGroupId(Integer musicGroupId);
 
     /**
-     * 通过乐团收费方式,获取默认的声部列表
-     * @param chargeTypeId
-     * @return
-     */
-    List<Subject> findSubByChargeType(Integer chargeTypeId);
-
-    /**
-     * 根据科目code查科目
-     * @param code
-     * @return
-     */
-    Subject findByCode(@Param("code") String code);
-
-    /**
      * 分页查询科目树状列表
      * @param queryInfo
      * @return
@@ -54,14 +40,8 @@ public interface SubjectService extends BaseService<Integer, Subject> {
     List<SubjectApplyDetailDto> findSubApplyDetail(Integer musicGroupId);
 
     /**
-     * 新增科目树状结构
+     * 修改、新增科目树状列表
      * @param subject
      */
-    void addSubject(Subject subject);
-
-    /**
-     * 批量修改声部
-     * @param subjects
-     */
-    void batchUpdate(List<Subject> subjects);
+    void upSetSubject(Subject subject);
 }

+ 39 - 4
mec-web/src/main/java/com/ym/mec/web/service/impl/GoodsCategoryServiceImpl.java

@@ -1,13 +1,16 @@
 package com.ym.mec.web.service.impl;
 
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
 import com.ym.mec.web.dal.dao.GoodsCategoryDao;
 import com.ym.mec.web.dal.entity.GoodsCategory;
 import com.ym.mec.web.service.GoodsCategoryService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.Date;
+import java.util.List;
 
 @Service
 public class GoodsCategoryServiceImpl extends BaseServiceImpl<Integer, GoodsCategory>  implements GoodsCategoryService {
@@ -19,5 +22,37 @@ public class GoodsCategoryServiceImpl extends BaseServiceImpl<Integer, GoodsCate
 	public BaseDAO<Integer, GoodsCategory> getDAO() {
 		return goodsCategoryDao;
 	}
-	
+
+	@Override
+	@Transactional(rollbackFor = Exception.class)
+	public void add(GoodsCategory goodsCategory) {
+		goodsCategoryDao.insert(goodsCategory);
+		List<GoodsCategory> goodsCategories = goodsCategory.getGoodsCategories();
+		goodsCategories.forEach(e->{
+			e.setParentId(goodsCategory.getId());
+			goodsCategoryDao.insert(e);
+		});
+	}
+
+	@Override
+	public void upsetGoodsCategory(GoodsCategory goodsCategory) {
+		Integer parentId = upset(goodsCategory, null);
+		List<GoodsCategory> goodsCategories = goodsCategory.getGoodsCategories();
+		goodsCategories.forEach(e->{
+			upset(e, parentId);
+		});
+	}
+
+	private Integer upset(GoodsCategory goodsCategory, Integer parentId){
+		if(parentId != null){
+			goodsCategory.setParentId(parentId);
+		}
+		if(goodsCategory.getId() != null){
+			goodsCategory.setUpdateTime(new Date());
+			goodsCategoryDao.update(goodsCategory);
+		}else {
+			goodsCategoryDao.insert(goodsCategory);
+		}
+		return goodsCategory.getId();
+	}
 }

+ 13 - 25
mec-web/src/main/java/com/ym/mec/web/service/impl/SubjectServiceImpl.java

@@ -12,7 +12,6 @@ import com.ym.mec.web.dal.page.SubjectQueryInfo;
 import com.ym.mec.web.service.SubjectService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
 
 import java.util.Date;
 import java.util.List;
@@ -36,16 +35,6 @@ public class SubjectServiceImpl extends BaseServiceImpl<Integer, Subject>  imple
 	}
 
 	@Override
-	public List<Subject> findSubByChargeType(Integer chargeTypeId) {
-		return subjectDao.findSubByChargeType(chargeTypeId);
-	}
-
-	@Override
-	public Subject findByCode(String code){
-		return subjectDao.findByCode(code);
-	}
-
-	@Override
 	public PageInfo<Subject> queryPageTree(SubjectQueryInfo queryInfo) {
 		PageInfo<Subject> pageInfo = queryPage(queryInfo);
 		for (Subject subject:pageInfo.getRows()) {
@@ -69,28 +58,27 @@ public class SubjectServiceImpl extends BaseServiceImpl<Integer, Subject>  imple
 	}
 
 	@Override
-	@Transactional(rollbackFor = Exception.class)
-	public void addSubject(Subject subject) {
-		subjectDao.insert(subject);
+	public void upSetSubject(Subject subject) {
+		Integer parentId = upset(subject, null);
 		List<Subject> subjects = subject.getSubjects();
 		if(subjects != null && subjects.size() > 0){
 			subjects.forEach(e->{
-				e.setParentSubjectId(subject.getId());
-				subjectDao.insert(e);
+				upset(e, parentId);
 			});
 		}
 	}
 
-	@Override
-	@Transactional(rollbackFor = Exception.class)
-	public void batchUpdate(List<Subject> subjects) {
-		if(subjects != null && subjects.size() > 0){
-			Date date = new Date();
-			subjects.forEach(e->{
-				e.setUpdateTime(date);
-				subjectDao.update(e);
-			});
+	private Integer upset(Subject subject,Integer parentId){
+		if(parentId != null){
+			subject.setParentSubjectId(parentId);
+		}
+		if(subject.getId() != null){
+			subject.setUpdateTime(new Date());
+			subjectDao.update(subject);
+		}else {
+			subjectDao.insert(subject);
 		}
+		return subject.getId();
 	}
 
 	private Subject getTree(Subject sub,YesOrNoEnum yesOrNoEnum){

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

@@ -60,6 +60,9 @@
         </set>
         WHERE id_ = #{id}
     </update>
+    <update id="upSet">
+
+    </update>
 
     <!-- 根据主键删除一条记录 -->
     <delete id="delete">