From 6498a0b8204d8f46a34c8bc41f8dc847f1850995 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期一, 11 九月 2023 17:38:05 +0800
Subject: [PATCH] 同步素材库商品
---
server/company/src/main/java/com/doumee/api/business/GoodsController.java | 27 +++
server/platform/src/main/java/com/doumee/api/business/BaseGoodsController.java | 5
server/service/src/main/java/com/doumee/dao/business/model/CateParam.java | 4
server/company/src/main/java/com/doumee/api/business/CategoryController.java | 24 ++
server/service/src/main/java/com/doumee/dao/business/model/dto/BatchDisableDTO.java | 25 ++
server/service/src/main/java/com/doumee/service/business/impl/CategoryServiceImpl.java | 120 +++++++++++++
server/service/src/main/resources/mappers/BaseCateParamMapper.xml | 21 ++
server/service/src/main/java/com/doumee/service/business/impl/GoodsServiceImpl.java | 202 +++++++++++++++++++++
server/service/src/main/java/com/doumee/dao/business/BaseCateParamMapper.java | 11 +
server/platform/src/main/java/com/doumee/api/business/BaseCategoryController.java | 14 +
server/service/src/main/java/com/doumee/service/business/GoodsService.java | 6
server/service/src/main/java/com/doumee/dao/business/model/BaseCategory.java | 8
server/service/src/main/resources/mappers/BaseCategoryMapper.xml | 28 +++
server/service/src/main/java/com/doumee/service/business/CategoryService.java | 5
14 files changed, 487 insertions(+), 13 deletions(-)
diff --git a/server/company/src/main/java/com/doumee/api/business/CategoryController.java b/server/company/src/main/java/com/doumee/api/business/CategoryController.java
index a666280..d3544d1 100644
--- a/server/company/src/main/java/com/doumee/api/business/CategoryController.java
+++ b/server/company/src/main/java/com/doumee/api/business/CategoryController.java
@@ -38,6 +38,15 @@
return ApiResponse.success(categoryService.create(category));
}
+
+ @PreventRepeat
+ @ApiOperation("浼佷笟鏂板缓鍒嗙被")
+ @PostMapping("/companyCreate")
+ @RequiresPermissions("business:category:create")
+ public ApiResponse companyCreate(@RequestBody Category category) {
+ return ApiResponse.success(categoryService.companyCreate(category));
+ }
+
@ApiOperation("鏍规嵁ID鍒犻櫎")
@GetMapping("/delete/{id}")
@RequiresPermissions("business:category:delete")
@@ -64,6 +73,14 @@
@RequiresPermissions("business:category:update")
public ApiResponse updateById(@RequestBody Category category) {
categoryService.updateById(category);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("浼佷笟鏍规嵁ID淇敼")
+ @PostMapping("/companyUpdateById")
+ @RequiresPermissions("business:category:update")
+ public ApiResponse companyUpdateById(@RequestBody Category category) {
+ categoryService.companyUpdateById(category);
return ApiResponse.success(null);
}
@@ -108,4 +125,11 @@
return ApiResponse.success(categoryService.findListForGoods(goodsId));
}
+
+ @ApiOperation("浼佷笟閫夋嫨鍒嗙被鍒楄〃 - H5")
+ @PostMapping("/companyFindList")
+ public ApiResponse<List<Category>> companyFindList (@RequestBody Category category) {
+ return ApiResponse.success(categoryService.companyFindList(category));
+ }
+
}
diff --git a/server/company/src/main/java/com/doumee/api/business/GoodsController.java b/server/company/src/main/java/com/doumee/api/business/GoodsController.java
index 50df5e6..ec599bc 100644
--- a/server/company/src/main/java/com/doumee/api/business/GoodsController.java
+++ b/server/company/src/main/java/com/doumee/api/business/GoodsController.java
@@ -6,6 +6,7 @@
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.dao.business.model.Goods;
+import com.doumee.dao.business.model.dto.BatchDisableDTO;
import com.doumee.dao.business.model.dto.GoodCreatePlatRequest;
import com.doumee.dao.business.model.dto.GoodsRequest;
import com.doumee.service.business.GoodsService;
@@ -41,6 +42,17 @@
public ApiResponse create(@RequestBody Goods goods) {
return ApiResponse.success(goodsService.create(goods));
}
+
+
+
+ @PreventRepeat
+ @ApiOperation("浼佷笟鏂板缓鍟嗗搧")
+ @PostMapping("/companyCreate")
+ @RequiresPermissions("business:goods:create")
+ public ApiResponse companyCreate(@RequestBody Goods goods) {
+ return ApiResponse.success(goodsService.companyCreate(goods));
+ }
+
@PreventRepeat
@ApiOperation("浠庡钩鍙伴�夋嫨鍟嗗搧")
@PostMapping("/createPlat")
@@ -75,6 +87,14 @@
@RequiresPermissions("business:goods:update")
public ApiResponse updateById(@RequestBody Goods goods) {
goodsService.updateById(goods);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("浼佷笟鏍规嵁ID淇敼")
+ @PostMapping("/companyUpdateById")
+ @RequiresPermissions("business:goods:update")
+ public ApiResponse companyUpdateById(@RequestBody Goods goods) {
+ goodsService.companyUpdateById(goods);
return ApiResponse.success(null);
}
@@ -118,6 +138,13 @@
return ApiResponse.success(null);
}
+ @ApiOperation("鎵归噺淇敼鐘舵��")
+ @PostMapping("/batchUpdateDisableById")
+ @RequiresPermissions("business:category:update")
+ public ApiResponse<String> batchUpdateDisableById(@RequestBody BatchDisableDTO batchDisableDTO) {
+ return ApiResponse.success(goodsService.batchUpdateDisableById(batchDisableDTO));
+ }
+
@ApiOperation("鍒楄〃 - H5")
@PostMapping("/list")
diff --git a/server/platform/src/main/java/com/doumee/api/business/BaseCategoryController.java b/server/platform/src/main/java/com/doumee/api/business/BaseCategoryController.java
index 6d8eb6a..fdfffcf 100644
--- a/server/platform/src/main/java/com/doumee/api/business/BaseCategoryController.java
+++ b/server/platform/src/main/java/com/doumee/api/business/BaseCategoryController.java
@@ -84,8 +84,20 @@
@ApiOperation("鏍规嵁ID鏌ヨ")
@GetMapping("/{id}")
- @RequiresPermissions("business:basecategory:query")
+// @RequiresPermissions("business:basecategory:query")
public ApiResponse findById(@PathVariable Integer id) {
return ApiResponse.success(baseCategoryService.findById(id));
}
+
+ /**
+ * 鏉′欢鏌ヨ
+ *
+ * @param baseCategory 瀹炰綋瀵硅薄
+ * @return List<BaseCategory>
+ */
+ @ApiOperation("鏍规嵁ID鏌ヨ")
+ @PostMapping("/findList")
+ public ApiResponse<List<BaseCategory>> findList(@RequestBody BaseCategory baseCategory){
+ return ApiResponse.success(baseCategoryService.findList(baseCategory));
+ }
}
diff --git a/server/platform/src/main/java/com/doumee/api/business/BaseGoodsController.java b/server/platform/src/main/java/com/doumee/api/business/BaseGoodsController.java
index 61818e1..efa43c4 100644
--- a/server/platform/src/main/java/com/doumee/api/business/BaseGoodsController.java
+++ b/server/platform/src/main/java/com/doumee/api/business/BaseGoodsController.java
@@ -7,10 +7,11 @@
import com.doumee.core.model.PageWrap;
import com.doumee.core.model.PageData;
import com.doumee.dao.business.model.BaseGoods;
+import com.doumee.dao.business.model.dto.BaseGoodsCreateOrUpdateRequest;
import com.doumee.service.business.BaseGoodsService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
-import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
@@ -34,7 +35,7 @@
@ApiOperation("鏂板缓")
@PostMapping("/create")
@RequiresPermissions("business:basegoods:create")
- public ApiResponse create(@RequestBody BaseGoods baseGoods) {
+ public ApiResponse create(@RequestBody BaseGoodsCreateOrUpdateRequest baseGoods) {
return ApiResponse.success(baseGoodsService.create(baseGoods));
}
diff --git a/server/service/src/main/java/com/doumee/dao/business/BaseCateParamMapper.java b/server/service/src/main/java/com/doumee/dao/business/BaseCateParamMapper.java
index 610b927..64cc487 100644
--- a/server/service/src/main/java/com/doumee/dao/business/BaseCateParamMapper.java
+++ b/server/service/src/main/java/com/doumee/dao/business/BaseCateParamMapper.java
@@ -2,6 +2,9 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.doumee.dao.business.model.BaseCateParam;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
/**
* @author 姹熻箘韫�
@@ -9,4 +12,12 @@
*/
public interface BaseCateParamMapper extends BaseMapper<BaseCateParam> {
+
+ /**
+ *
+ * 鏌ヨ鍙傛暟閰嶇疆
+ * @param categoryId
+ * @return
+ */
+ List<BaseCateParam> getBaseCateParamList(@Param("categoryId") Integer categoryId);
}
diff --git a/server/service/src/main/java/com/doumee/dao/business/model/BaseCategory.java b/server/service/src/main/java/com/doumee/dao/business/model/BaseCategory.java
index 86a4e9d..93ee05f 100644
--- a/server/service/src/main/java/com/doumee/dao/business/model/BaseCategory.java
+++ b/server/service/src/main/java/com/doumee/dao/business/model/BaseCategory.java
@@ -12,6 +12,7 @@
import java.math.BigDecimal;
import java.util.Date;
+import java.util.List;
/**
* 绱犳潗搴�-鍝佺被淇℃伅琛�
@@ -89,8 +90,11 @@
@ExcelColumn(name="鍔犱环绯绘暟")
private BigDecimal priceRate;
- @ApiModelProperty(value = "鍥炬爣")
- @ExcelColumn(name="鍥炬爣")
+ @ApiModelProperty(value = "鍥炬爣 鍏ㄨ矾寰�")
@TableField(exist = false)
private String imgfullurl;
+
+ @ApiModelProperty(value = "鍝佺被鍙傛暟")
+ @TableField(exist = false)
+ private List<BaseCateParam> baseCateParamList;
}
diff --git a/server/service/src/main/java/com/doumee/dao/business/model/CateParam.java b/server/service/src/main/java/com/doumee/dao/business/model/CateParam.java
index 423b765..329305f 100644
--- a/server/service/src/main/java/com/doumee/dao/business/model/CateParam.java
+++ b/server/service/src/main/java/com/doumee/dao/business/model/CateParam.java
@@ -78,5 +78,7 @@
@ExcelColumn(name="鎵�灞炲搧绫荤紪鐮�(鍏宠仈category琛�)")
private Integer categoryId;
-
+ @ApiModelProperty(value = "閫夋嫨鍝佺被鍙傛暟涓婚敭(鍏宠仈 base_cate_param 琛�)", example = "1")
+ @ExcelColumn(name="閫夋嫨鍝佺被鍙傛暟涓婚敭(鍏宠仈 base_cate_param 琛�)")
+ private Integer baseCateParamId;
}
diff --git a/server/service/src/main/java/com/doumee/dao/business/model/dto/BatchDisableDTO.java b/server/service/src/main/java/com/doumee/dao/business/model/dto/BatchDisableDTO.java
new file mode 100644
index 0000000..5711daa
--- /dev/null
+++ b/server/service/src/main/java/com/doumee/dao/business/model/dto/BatchDisableDTO.java
@@ -0,0 +1,25 @@
+package com.doumee.dao.business.model.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * Created by IntelliJ IDEA.
+ *
+ * @Author : Rk
+ * @create 2023/9/11 10:27
+ */
+@Data
+public class BatchDisableDTO {
+
+
+ @ApiModelProperty(value = "鎿嶄綔涓婚敭澶氫釜浠�,鍒嗗壊")
+ private String ids;
+
+
+ @ApiModelProperty(value = "鎿嶄綔鍒嗙被锛�0=涓婃灦锛�1=涓嬫灦")
+ private Integer status;
+
+}
diff --git a/server/service/src/main/java/com/doumee/service/business/CategoryService.java b/server/service/src/main/java/com/doumee/service/business/CategoryService.java
index 2784b17..3131e15 100644
--- a/server/service/src/main/java/com/doumee/service/business/CategoryService.java
+++ b/server/service/src/main/java/com/doumee/service/business/CategoryService.java
@@ -20,6 +20,9 @@
*/
Integer create(Category category);
+
+ Integer companyCreate(Category category);
+
/**
* 涓婚敭鍒犻櫎
*
@@ -50,6 +53,7 @@
*/
void updateById(Category category);
+ void companyUpdateById(Category category);
/**
* 鎵归噺涓婚敭鏇存柊
*
@@ -81,6 +85,7 @@
*/
List<Category> findList(Category category);
+ List<Category> companyFindList(Category category);
/**
* 鏌ヨ绫诲埆
* @param goodsId
diff --git a/server/service/src/main/java/com/doumee/service/business/GoodsService.java b/server/service/src/main/java/com/doumee/service/business/GoodsService.java
index ffeab8e..7be8af6 100644
--- a/server/service/src/main/java/com/doumee/service/business/GoodsService.java
+++ b/server/service/src/main/java/com/doumee/service/business/GoodsService.java
@@ -4,6 +4,7 @@
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.dao.business.model.Goods;
+import com.doumee.dao.business.model.dto.BatchDisableDTO;
import com.doumee.dao.business.model.dto.GoodCreatePlatRequest;
import com.doumee.dao.business.model.dto.GoodsRequest;
import org.springframework.web.multipart.MultipartFile;
@@ -26,6 +27,8 @@
* @return Integer
*/
Integer create(Goods goods);
+
+ Integer companyCreate(Goods goods);
/**
* 涓婚敭鍒犻櫎
@@ -55,6 +58,7 @@
*/
void updateById(Goods goods);
+ void companyUpdateById(Goods goods);
/**
* 鎵归噺涓婚敭鏇存柊
*
@@ -64,6 +68,8 @@
void updateDisableById(Goods goods);
+ String batchUpdateDisableById(BatchDisableDTO batchDisableDTO);
+
/**
* 涓婚敭鏌ヨ
*
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/CategoryServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/CategoryServiceImpl.java
index b3ed768..a51db4a 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/CategoryServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/CategoryServiceImpl.java
@@ -116,10 +116,55 @@
cateBudgetMapper.insert(cateBudget);
}
}
-
-
return category.getId();
}
+
+
+ @Override
+ public Integer companyCreate(Category category) {
+ LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+ if(categoryMapper.selectCount(new QueryWrapper<Category>().eq("ISDELETED",Constants.ZERO)
+ .eq("COMPANY_ID",user.getCompanyId()).eq("name",category.getName()))>0){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"銆�"+category.getName()+"銆戝凡瀛樺湪");
+ };
+ category.setStatus(Constants.ZERO);
+ category.setCreateDate(new Date());
+ category.setCreator(user.getId());
+ category.setIsdeleted(Constants.ZERO);
+ //澶勭悊鎷奸煶闂
+ category.setPinyin(PinYinUtil.getFullSpell(category.getName()));
+ category.setShortPinyin(PinYinUtil.getFirstSpell(category.getName()));
+ categoryMapper.insert(category);
+ List<CateParam> paramList = category.getParamList();
+ if(!Objects.isNull(paramList)&¶mList.size()> Constants.ZERO){
+ for (int i = 0; i < paramList.size(); i++) {
+ CateParam cateParam = paramList.get(i);
+ cateParam.setCreator(user.getId());
+ cateParam.setCreateDate(new Date());
+ cateParam.setIsdeleted(Constants.ZERO);
+ cateParam.setSortnum(i+Constants.ONE);
+ cateParam.setStatus(Constants.ZERO);
+ cateParam.setCategoryId(category.getId());
+ cateParamMapper.insert(cateParam);
+ }
+ }
+ List<CateBudget> budgetList = category.getBudgetList();
+ if(!Objects.isNull(budgetList)&&budgetList.size()> Constants.ZERO){
+ for (int i = 0; i < budgetList.size(); i++) {
+ CateBudget cateBudget = budgetList.get(i);
+ cateBudget.setCreator(user.getId());
+ cateBudget.setCreateDate(new Date());
+ cateBudget.setIsdeleted(Constants.ZERO);
+ cateBudget.setSortnum(i+Constants.ONE);
+ cateBudget.setStatus(Constants.ZERO);
+ cateBudget.setCategoryId(category.getId());
+ cateBudgetMapper.insert(cateBudget);
+ }
+ }
+ return category.getId();
+ }
+
+
@Override
public void deleteById(Integer id) {
@@ -209,6 +254,52 @@
// }
// }
+ cateBudgetMapper.delete(new QueryWrapper<CateBudget>().eq("CATEGORY_ID",category.getId()));
+ List<CateBudget> budgetList = category.getBudgetList();
+ if(!Objects.isNull(budgetList)&&budgetList.size()> Constants.ZERO){
+ for (int i = 0; i < budgetList.size(); i++) {
+ CateBudget cateBudget = budgetList.get(i);
+ cateBudget.setCreator(user.getId());
+ cateBudget.setCreateDate(new Date());
+ cateBudget.setIsdeleted(Constants.ZERO);
+ cateBudget.setSortnum(i+Constants.ONE);
+ cateBudget.setStatus(Constants.ZERO);
+ cateBudget.setCategoryId(category.getId());
+ cateBudgetMapper.insert(cateBudget);
+ }
+ }
+ }
+
+
+ @Override
+ public void companyUpdateById(Category category) {
+ LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+ if(categoryMapper.selectCount(new QueryWrapper<Category>().eq("ISDELETED",Constants.ZERO).ne("id",category.getId()).eq("name",category.getName()))>0){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"銆�"+category.getName()+"銆戝凡瀛樺湪");
+ };
+ category.setStatus(Constants.ZERO);
+ category.setEditDate(new Date());
+ category.setEditor(user.getId());
+ category.setIsdeleted(Constants.ZERO);
+ //澶勭悊鎷奸煶闂
+ category.setPinyin(PinYinUtil.getFullSpell(category.getName()));
+ category.setShortPinyin(PinYinUtil.getFirstSpell(category.getName()));
+ categoryMapper.updateById(category);
+ //澶勭悊灞炴�ч厤缃�
+ cateParamMapper.delete(new QueryWrapper<CateParam>().eq("CATEGORY_ID",category.getId()));
+ List<CateParam> paramList = category.getParamList();
+ if(!Objects.isNull(paramList)&¶mList.size()> Constants.ZERO){
+ for (int i = 0; i < paramList.size(); i++) {
+ CateParam cateParam = paramList.get(i);
+ cateParam.setCreator(user.getId());
+ cateParam.setCreateDate(new Date());
+ cateParam.setIsdeleted(Constants.ZERO);
+ cateParam.setSortnum(i+Constants.ONE);
+ cateParam.setStatus(Constants.ZERO);
+ cateParam.setCategoryId(category.getId());
+ cateParamMapper.insert(cateParam);
+ }
+ }
cateBudgetMapper.delete(new QueryWrapper<CateBudget>().eq("CATEGORY_ID",category.getId()));
List<CateBudget> budgetList = category.getBudgetList();
if(!Objects.isNull(budgetList)&&budgetList.size()> Constants.ZERO){
@@ -385,4 +476,29 @@
QueryWrapper<Category> wrapper = new QueryWrapper<>(category);
return categoryMapper.selectCount(wrapper);
}
+
+
+ /**********************************************************************************/
+
+ @Override
+ public List<Category> companyFindList(Category category) {
+ LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+ QueryWrapper<Category> wrapper = new QueryWrapper<>(category)
+ .eq("STATUS",Constants.ZERO)
+ .eq("COMPANY_ID",user.getCompanyId())
+ .eq("ISDELETED",Constants.ZERO)
+ .orderByAsc(" SORTNUM ");
+ List<Category> list = categoryMapper.selectList(wrapper);
+ String prefixUrl = systemDictDataBiz.queryByCode(Constants.SYSTEM, Constants.FILE_DIR).getCode()
+ + systemDictDataBiz.queryByCode(Constants.SYSTEM, Constants.PROJECTS).getCode();
+ for (Category c:list) {
+ c.setPrefixUrl(prefixUrl);
+ c.setBudgetList(cateBudgetMapper.selectList(new QueryWrapper<CateBudget>().eq("STATUS",Constants.ZERO).eq("CATEGORY_ID",c.getId()).orderByAsc(" SORTNUM ")));
+ c.setParamList(cateParamMapper.selectList(new QueryWrapper<CateParam>().eq("STATUS",Constants.ZERO).eq("CATEGORY_ID",c.getId()).orderByAsc("SORTNUM")));
+ }
+ return list;
+ }
+
+
+
}
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/GoodsServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/GoodsServiceImpl.java
index a7342ed..c9eca84 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/GoodsServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/GoodsServiceImpl.java
@@ -17,6 +17,7 @@
import com.doumee.dao.business.*;
import com.doumee.dao.business.join.GoodsJoinMapper;
import com.doumee.dao.business.model.*;
+import com.doumee.dao.business.model.dto.BatchDisableDTO;
import com.doumee.dao.business.model.dto.GoodCreatePlatRequest;
import com.doumee.dao.business.model.dto.GoodsRequest;
import com.doumee.dao.business.model.dto.PlatGoodsParam;
@@ -41,10 +42,7 @@
import java.math.BigDecimal;
import java.net.URLEncoder;
import java.nio.charset.Charset;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.Objects;
+import java.util.*;
/**
* 鍟嗗搧淇℃伅琛⊿ervice瀹炵幇
@@ -78,6 +76,10 @@
@Autowired
private GoodsJoinMapper goodsJoinMapper;
+ @Autowired
+ private CateParamSelectMapper cateParamSelectMapper;
+
+
@Override
@@ -225,7 +227,7 @@
goods.setCategoryId(param.getCategoryId());
//鑾峰彇鍏ユ墜浠锋牸
goods.setPrice(getPriceFromParam(model,param));
- goods.setZdPrice(model.getZdPrice());
+ goods.setZdPrice(model.getZdPrice());g
goods.setRemark(model.getRemark());
goods.setImgurl(model.getImgurl());
goods.setBrandId(model.getBrandId());
@@ -273,6 +275,72 @@
}
//杩斿洖
return Constants.formatBigdecimal(model.getPrice()).multiply(model.getCateRatePrice()).multiply(param.getRate());
+
+ }
+
+
+ @Override
+ public Integer companyCreate(Goods goods) {
+ LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+ if(user.getType()==1){
+ goods.setCompanyId(user.getCompanyId());
+ }else{
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"褰撳墠鐧诲綍鐢ㄦ埛绫诲埆閿欒锛屾棤娉曡繘琛岃鎿嶄綔");
+ }
+ if(goodsMapper.selectCount(new QueryWrapper<Goods>().eq("COMPANY_ID",user.getCompanyId()).eq("ISDELETED",Constants.ZERO).eq("name",goods.getName()))>0){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"銆�"+goods.getName()+"銆戝凡瀛樺湪");
+ }
+ goods.setStatus(Constants.ZERO);
+ goods.setCreateDate(new Date());
+ goods.setCreator(user.getId());
+ goods.setIsdeleted(Constants.ZERO);
+ //澶勭悊鎷奸煶闂
+ goods.setPinyin(PinYinUtil.getFullSpell(goods.getName()));
+ goods.setShortPinyin(PinYinUtil.getFirstSpell(goods.getName()));
+ goodsMapper.insert(goods);
+
+ List<Multifile> multifileList = goods.getMultifileList();
+ if(!Objects.isNull(multifileList)&&multifileList.size()>Constants.ZERO){
+ for (int i = 0; i < multifileList.size(); i++) {
+ Multifile multifile = multifileList.get(i);
+ multifile.setCreator(user.getId());
+ multifile.setCreateDate(new Date());
+ multifile.setIsdeleted(Constants.ZERO);
+ multifile.setSortnum(i+Constants.ONE);
+ multifile.setObjId(goods.getId());
+ multifile.setType(Constants.ZERO);
+ multifile.setObjType(Constants.ZERO);
+ multifileMapper.insert(multifile);
+ }
+ }
+ List<GoodsParam> goodsParamList = goods.getGoodsParamList();
+ if(!Objects.isNull(goodsParamList)&&goodsParamList.size()>0){
+ for (int i = 0; i < goodsParamList.size(); i++) {
+ GoodsParam goodsParam = goodsParamList.get(i);
+ goodsParam.setCreator(user.getId());
+ goodsParam.setCreateDate(new Date());
+ goodsParam.setIsdeleted(Constants.ZERO);
+ goodsParam.setStatus(Constants.ZERO);
+ goodsParam.setSortnum(i+Constants.ONE);
+ goodsParam.setGoodsId(goods.getId());
+ goodsParamMapper.insert(goodsParam);
+ //瀛樺偍 cate_param_select 鏌ヨ鏄惁宸插瓨鍦�
+ if(cateParamSelectMapper.selectCount(new QueryWrapper<CateParamSelect>()
+ .eq("PARAM_ID",goodsParam.getPramaId()).eq("NAME",goodsParam.getName()))<=Constants.ZERO){
+ CateParamSelect cateParamSelect = new CateParamSelect();
+ cateParamSelect.setCreator(user.getId());
+ cateParamSelect.setCreateDate(new Date());
+ cateParamSelect.setName(goodsParam.getVal());
+ cateParamSelect.setIsdeleted(Constants.ZERO);
+ cateParamSelect.setStatus(Constants.ZERO);
+ cateParamSelect.setParamId(goodsParam.getPramaId());
+ cateParamSelect.setCategoryId(goods.getCategoryId());
+ cateParamSelect.setStatus(Constants.ZERO);
+ cateParamSelectMapper.insert(cateParamSelect);
+ };
+ }
+ }
+ return goods.getId();
}
@Override
@@ -345,6 +413,73 @@
}
}
+
+ @Override
+ public void companyUpdateById(Goods goods) {
+ LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+ if(user.getType()==1){
+ goods.setCompanyId(user.getCompanyId());
+ }else{
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"褰撳墠鐧诲綍鐢ㄦ埛绫诲埆閿欒锛屾棤娉曡繘琛岃鎿嶄綔");
+ }
+ if(goodsMapper.selectCount(new QueryWrapper<Goods>().eq("COMPANY_ID",user.getCompanyId()).eq("ISDELETED",Constants.ZERO).ne("id",goods.getId()).eq("name",goods.getName()))>0){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"銆�"+goods.getName()+"銆戝凡瀛樺湪");
+ };
+ goods.setStatus(Constants.ZERO);
+ goods.setEditDate(new Date());
+ goods.setEditor(user.getId());
+ goods.setIsdeleted(Constants.ZERO);
+ //澶勭悊鎷奸煶闂
+ goods.setPinyin(PinYinUtil.getFullSpell(goods.getName()));
+ goods.setShortPinyin(PinYinUtil.getFirstSpell(goods.getName()));
+ goodsMapper.updateById(goods);
+
+ multifileMapper.delete(new QueryWrapper<Multifile>().eq("OBJ_ID",goods.getId()));
+ List<Multifile> multifileList = goods.getMultifileList();
+ if(!Objects.isNull(multifileList)&&multifileList.size()>Constants.ZERO){
+ for (int i = 0; i < multifileList.size(); i++) {
+ Multifile multifile = multifileList.get(i);
+ multifile.setCreator(user.getId());
+ multifile.setCreateDate(new Date());
+ multifile.setIsdeleted(Constants.ZERO);
+ multifile.setSortnum(i+Constants.ONE);
+ multifile.setObjId(goods.getId());
+ multifile.setType(Constants.ZERO);
+ multifile.setObjType(Constants.ZERO);
+ multifileMapper.insert(multifile);
+ }
+ }
+ goodsParamMapper.delete(new QueryWrapper<GoodsParam>().eq("GOODS_ID",goods.getId()));
+ List<GoodsParam> goodsParamList = goods.getGoodsParamList();
+ if(!Objects.isNull(goodsParamList)&&goodsParamList.size()>0){
+ for (int i = 0; i < goodsParamList.size(); i++) {
+ GoodsParam goodsParam = goodsParamList.get(i);
+ goodsParam.setCreator(user.getId());
+ goodsParam.setCreateDate(new Date());
+ goodsParam.setIsdeleted(Constants.ZERO);
+ goodsParam.setSortnum(i+Constants.ONE);
+ goodsParam.setStatus(Constants.ZERO);
+ goodsParam.setGoodsId(goods.getId());
+ goodsParamMapper.insert(goodsParam);
+ //瀛樺偍 cate_param_select 鏌ヨ鏄惁宸插瓨鍦�
+ if(cateParamSelectMapper.selectCount(new QueryWrapper<CateParamSelect>()
+ .eq("PARAM_ID",goodsParam.getPramaId()).eq("NAME",goodsParam.getName()))<=Constants.ZERO){
+ CateParamSelect cateParamSelect = new CateParamSelect();
+ cateParamSelect.setCreator(user.getId());
+ cateParamSelect.setCreateDate(new Date());
+ cateParamSelect.setName(goodsParam.getVal());
+ cateParamSelect.setIsdeleted(Constants.ZERO);
+ cateParamSelect.setStatus(Constants.ZERO);
+ cateParamSelect.setParamId(goodsParam.getPramaId());
+ cateParamSelect.setCategoryId(goods.getCategoryId());
+ cateParamSelect.setStatus(Constants.ZERO);
+ cateParamSelectMapper.insert(cateParamSelect);
+ };
+ }
+ }
+ }
+
+
@Override
public void updateByIdInBatch(List<Goods> goodss) {
if (CollectionUtils.isEmpty(goodss)) {
@@ -359,11 +494,68 @@
@Override
public void updateDisableById(Goods goods) {
LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+ Goods dbGoods = goodsMapper.selectById(goods.getId());
+ if(Objects.isNull(dbGoods)){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY);
+ }
+ //鎷夊紡鍟嗗搧 涓� 涓婃灦鏃讹紝闇�瑕侀檺鍒� 骞冲彴鍟嗗搧鏄惁宸蹭笅鏋�
+ if(dbGoods.getType().equals(Constants.goodsType.PULL)&&goods.getStatus().equals(Constants.ZERO)){
+ BaseGoods baseGoods = baseGoodsMapper.selectById(dbGoods.getGoodsId());
+ if(Objects.isNull(baseGoods)){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌骞冲彴鍟嗗搧淇℃伅");
+ }
+ if(!baseGoods.getStatus().equals(Constants.ZERO)){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"骞冲彴鍟嗗搧宸蹭笅鏋讹紝鏃犳硶涓婃灦");
+ }
+ }
goods.setEditDate(new Date());
goods.setEditor(user.getId());
goodsMapper.updateById(goods);
}
+ /**
+ * 鎵归噺涓婁笅鏋�
+ * @param batchDisableDTO
+ * @return
+ */
+ @Override
+ public String batchUpdateDisableById(BatchDisableDTO batchDisableDTO) {
+ LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+ if(StringUtils.isBlank(batchDisableDTO.getIds())){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"璇烽�夋嫨瀵瑰簲鐨勫晢鍝佽繘琛岃鎿嶄綔");
+ }
+ if(!(batchDisableDTO.getStatus().equals(Constants.ZERO)||batchDisableDTO.getStatus().equals(Constants.ONE))){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鎿嶄綔绫诲瀷閿欒");
+ }
+ Integer okNum = 0;
+ Integer errNum = 0;
+ List<String> goodsList = Arrays.asList(batchDisableDTO.getIds().split(","));
+ for (String goodsId:goodsList) {
+ Goods dbGoods = goodsMapper.selectById(goodsId);
+ if(Objects.isNull(dbGoods)){
+ errNum++;
+ continue;
+ }
+ //鎷夊紡鍟嗗搧 涓� 涓婃灦鏃讹紝闇�瑕侀檺鍒� 骞冲彴鍟嗗搧鏄惁宸蹭笅鏋�
+ if(dbGoods.getType().equals(Constants.goodsType.PULL)&&batchDisableDTO.getStatus().equals(Constants.ZERO)){
+ BaseGoods baseGoods = baseGoodsMapper.selectById(dbGoods.getGoodsId());
+ if(Objects.isNull(baseGoods)||!baseGoods.getStatus().equals(Constants.ZERO)){
+ errNum++;
+ continue;
+ }
+ }
+ dbGoods.setEditDate(new Date());
+ dbGoods.setEditor(user.getId());
+ dbGoods.setStatus(batchDisableDTO.getStatus());
+ goodsMapper.updateById(dbGoods);
+ okNum++;
+ }
+ return "鏇存柊鎴愬姛鏁伴噺("+okNum+");鏇存柊澶辫触鏁伴噺("+errNum+")";
+ }
+
+
+
+
@Override
public Goods findById(Integer id) {
Goods goods = goodsMapper.selectById(id);
diff --git a/server/service/src/main/resources/mappers/BaseCateParamMapper.xml b/server/service/src/main/resources/mappers/BaseCateParamMapper.xml
new file mode 100644
index 0000000..be96527
--- /dev/null
+++ b/server/service/src/main/resources/mappers/BaseCateParamMapper.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.doumee.dao.business.BaseCateParamMapper">
+
+ <resultMap id="BaseCateParam" type="com.doumee.dao.business.model.BaseCateParam">
+ <id column="ID" jdbcType="INTEGER" property="id" />
+ <result column="CREATOR" jdbcType="INTEGER" property="creator" />
+ <result column="CREATE_DATE" jdbcType="VARCHAR" property="createDate" />
+ <result column="EDITOR" jdbcType="VARCHAR" property="editor" />
+ <result column="EDIT_DATE" jdbcType="VARCHAR" property="editDate"/>
+ <result column="ISDELETED" jdbcType="TIMESTAMP" property="isdeleted"/>
+ <result column="NAME" jdbcType="TIMESTAMP" property="name"/>
+ <result column="REMARK" jdbcType="TIMESTAMP" property="remark"/>
+ <result column="STATUS" jdbcType="TIMESTAMP" property="status"/>
+ <result column="SORTNUM" jdbcType="TIMESTAMP" property="sortnum"/>
+ <result column="CATEGORY_ID" jdbcType="TIMESTAMP" property="categoryId"/>
+ </resultMap>
+ <select id="getBaseCateParamList" resultType="com.doumee.dao.business.model.BaseCateParam">
+ select * from base_cate_param where CATEGORY_ID = #{categoryId}
+ </select>
+</mapper>
diff --git a/server/service/src/main/resources/mappers/BaseCategoryMapper.xml b/server/service/src/main/resources/mappers/BaseCategoryMapper.xml
new file mode 100644
index 0000000..b222ab2
--- /dev/null
+++ b/server/service/src/main/resources/mappers/BaseCategoryMapper.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.doumee.dao.business.BaseCategoryMapper">
+ <resultMap id="BaseCategory" type="com.doumee.dao.business.model.BaseCategory" autoMapping="true">
+ <id column="ID" jdbcType="INTEGER" property="id"/>
+ <collection property="baseCateParamList"
+ column="{categoryId=id}"
+ ofType="com.doumee.dao.business.model.BaseCateParam"
+ javaType="ArrayList"
+ select="com.doumee.dao.business.BaseCateParamMapper.getBaseCateParamList" />
+ </resultMap>
+
+
+ <select id="selectById" resultMap="BaseCategory">
+ select * from base_category where id = #{id}
+ </select>
+
+ <select id="selectOne" resultMap="BaseCategory">
+ select * from base_category ${ew.customSqlSegment}
+ </select>
+
+ <select id="selectList" resultMap="BaseCategory">
+ select * from base_category ${ew.customSqlSegment}
+ </select>
+ <select id="selectPage" resultMap="BaseCategory">
+ select * from base_category ${ew.customSqlSegment}
+ </select>
+</mapper>
--
Gitblit v1.9.3