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

Merge branch 'goods_don_category' into home_page_func

zoujiajian пре 3 година
родитељ
комит
0098ce79b0

+ 13 - 0
netflix-dao/src/main/java/com/cyksj/mapper/GoodsDonCategoryMapper.java

@@ -0,0 +1,13 @@
+package com.cyksj.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.cyksj.model.entity.GoodsDonCategory;
+
+/*
+ *项目名: netflix
+ *文件名: GoodsDonCategoryMapper
+ *创建者: JavaZou
+ *创建时间:2023/8/11 13:40
+ */
+public interface GoodsDonCategoryMapper extends BaseMapper<GoodsDonCategory> {
+}

+ 21 - 0
netflix-dao/src/main/java/com/cyksj/model/entity/GoodsDonCategory.java

@@ -0,0 +1,21 @@
+package com.cyksj.model.entity;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotEmpty;
+
+/*
+ *项目名: netflix
+ *文件名: GoodsDonCategory
+ *创建者: JavaZou
+ *创建时间:2023/8/11 13:38
+ */
+@Getter
+@Setter
+public class GoodsDonCategory extends BaseEntity {
+	@NotEmpty(message = "名称不为空")
+	private String name;
+
+	private Integer sorted;
+}

+ 21 - 0
netflix-dao/src/main/java/com/cyksj/model/views/GoodsDonCategoryFrontView.java

@@ -0,0 +1,21 @@
+package com.cyksj.model.views;
+
+import com.ejlchina.searcher.bean.SearchBean;
+import lombok.Getter;
+import lombok.Setter;
+
+/*
+ *项目名: netflix
+ *文件名: GoodsDonCategoryFrontView
+ *创建者: JavaZou
+ *创建时间:2023/8/11 14:13
+ */
+@Getter
+@Setter
+@SearchBean(tables = "goods_don_category"
+		, orderBy = "sorted desc")
+public class GoodsDonCategoryFrontView {
+	private Long id;
+
+	private String name;
+}

+ 16 - 0
netflix-service/src/main/java/com/cyksj/service/mange/GoodsDonCategoryService.java

@@ -0,0 +1,16 @@
+package com.cyksj.service.mange;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.cyksj.model.entity.GoodsDonCategory;
+
+/*
+ *项目名: netflix
+ *文件名: GoodsDonCategoryService
+ *创建者: JavaZou
+ *创建时间:2023/8/11 13:45
+ */
+public interface GoodsDonCategoryService extends IService<GoodsDonCategory> {
+	void saveOrUpdateGoods(GoodsDonCategory category);
+
+	void delById(Long id);
+}

+ 45 - 0
netflix-service/src/main/java/com/cyksj/service/mange/goods/GoodsDonCategoryServiceImpl.java

@@ -0,0 +1,45 @@
+package com.cyksj.service.mange.goods;
+
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.cyksj.common.exception.BusinessRuntimeException;
+import com.cyksj.mapper.GoodsDonCategoryMapper;
+import com.cyksj.mapper.GoodsDonMapper;
+import com.cyksj.model.entity.GoodsDon;
+import com.cyksj.model.entity.GoodsDonCategory;
+import com.cyksj.service.mange.GoodsDonCategoryService;
+import lombok.RequiredArgsConstructor;
+import org.springframework.dao.DuplicateKeyException;
+import org.springframework.stereotype.Service;
+
+/*
+ *项目名: netflix
+ *文件名: GoodsDonCategoryServiceImpl
+ *创建者: JavaZou
+ *创建时间:2023/8/11 13:45
+ */
+@Service
+@RequiredArgsConstructor
+public class GoodsDonCategoryServiceImpl extends ServiceImpl<GoodsDonCategoryMapper, GoodsDonCategory> implements GoodsDonCategoryService {
+	private final GoodsDonMapper goodsDonMapper;
+
+	@Override
+	public void saveOrUpdateGoods(GoodsDonCategory category) {
+		try {
+			this.saveOrUpdate(category);
+		} catch (DuplicateKeyException e) {
+			throw BusinessRuntimeException.getInstance("分类名称重复");
+		}
+	}
+
+	@Override
+	public void delById(Long id) {
+		Integer count = goodsDonMapper.selectCount(Wrappers.lambdaQuery(GoodsDon.class)
+				.eq(GoodsDon::getCategory, id)
+				.eq(GoodsDon::getDeleted, true));
+		if (count > 0) {
+			throw BusinessRuntimeException.getInstance("存在该分类下的商品");
+		}
+		this.removeById(id);
+	}
+}

+ 10 - 0
netflix-web/src/main/java/com/cyksj/web/controller/goods/GoodsDonController.java

@@ -64,6 +64,16 @@ public class GoodsDonController {
 
     private final HomeManagementFrontService homeManagementFrontService;
 
+    /**
+     * 获取平台商品分类
+     */
+    @GetMapping("/get/category")
+    public Result<SearchResult<GoodsDonCategoryFrontView>> getCategory() {
+        SearchResult<GoodsDonCategoryFrontView> search = beanSearcher.search(GoodsDonCategoryFrontView.class, MapUtils.flatBuilder(request.getParameterMap())
+                .build());
+        return GatewayResponse.SUCCESS.newBuilder().toResult(search);
+    }
+
     /**
      * 获取商品列表
      */

+ 62 - 0
netflix-web/src/main/java/com/cyksj/web/controller/manage/goods/CmsGoodsDonCategoryController.java

@@ -0,0 +1,62 @@
+package com.cyksj.web.controller.manage.goods;
+
+import com.cyksj.dto.Result;
+import com.cyksj.enums.GatewayResponse;
+import com.cyksj.model.entity.GoodsDonCategory;
+import com.cyksj.service.mange.GoodsDonCategoryService;
+import com.ejlchina.searcher.BeanSearcher;
+import com.ejlchina.searcher.SearchResult;
+import com.ejlchina.searcher.util.MapUtils;
+import lombok.RequiredArgsConstructor;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.List;
+
+/*
+ *项目名: netflix
+ *文件名: CmsGoodsDonCategoryController
+ *创建者: JavaZou
+ *创建时间:2023/8/11 13:40
+ */
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/manage/goods/category")
+public class CmsGoodsDonCategoryController {
+	private final GoodsDonCategoryService goodsDonCategoryService;
+
+	private final BeanSearcher beanSearcher;
+
+	private final HttpServletRequest request;
+
+	@PostMapping("/post")
+	public Result<String> saveGoodsDonCategory(@RequestBody @Validated GoodsDonCategory category) {
+		goodsDonCategoryService.saveOrUpdateGoods(category);
+		return GatewayResponse.SUCCESS.newBuilder().toResult();
+	}
+
+	@PutMapping("/put")
+	public Result<String> updateGoodsDonCategory(@RequestBody @Validated GoodsDonCategory category) {
+		goodsDonCategoryService.saveOrUpdateGoods(category);
+		return GatewayResponse.SUCCESS.newBuilder().toResult();
+	}
+
+	@DeleteMapping("/del/{id}")
+	public Result<String> del(@PathVariable Long id) {
+		goodsDonCategoryService.delById(id);
+		return GatewayResponse.SUCCESS.newBuilder().toResult();
+	}
+
+	@GetMapping("/get")
+	public Result<SearchResult<GoodsDonCategory>> getCategory() {
+		SearchResult<GoodsDonCategory> search = beanSearcher.search(GoodsDonCategory.class, MapUtils.flatBuilder(request.getParameterMap()).build());
+		return GatewayResponse.SUCCESS.newBuilder().toResult(search);
+	}
+
+	@GetMapping("/get/all")
+	public Result<List<GoodsDonCategory>> getAll() {
+		List<GoodsDonCategory> search = beanSearcher.searchAll(GoodsDonCategory.class, MapUtils.flatBuilder(request.getParameterMap()).build());
+		return GatewayResponse.SUCCESS.newBuilder().toResult(search);
+	}
+}