From 220aadc8c089c55f508a28302c14730d39fa2139 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期三, 20 九月 2023 14:13:59 +0800
Subject: [PATCH] pp
---
server/service/src/main/java/com/doumee/service/business/impl/CategoryServiceImpl.java | 312 ++++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 241 insertions(+), 71 deletions(-)
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..1497b58 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
@@ -11,6 +11,7 @@
import com.doumee.core.utils.Utils;
import com.doumee.dao.business.CateAttrMapper;
import com.doumee.dao.business.CateParamMapper;
+import com.doumee.dao.business.CateParamSelectMapper;
import com.doumee.dao.business.CategoryMapper;
import com.doumee.dao.business.model.*;
import com.doumee.service.business.CategoryService;
@@ -47,6 +48,9 @@
@Autowired
private SystemDictDataBiz systemDictDataBiz;
+
+ @Autowired
+ private CateParamSelectMapper cateParamSelectMapper;
@Override
public Integer create(Category category) {
@@ -116,10 +120,56 @@
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.setCompanyId(user.getCompanyId());
+ //澶勭悊鎷奸煶闂
+ 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) {
@@ -177,8 +227,8 @@
}
}
- this.dealCateAttr(category.getAttrFirstList(),Constants.ZERO,category.getId(),user);
- this.dealCateAttr(category.getAttrSecondList(),Constants.ONE,category.getId(),user);
+// this.dealCateAttr(category.getAttrFirstList(),Constants.ZERO,category.getId(),user);
+// this.dealCateAttr(category.getAttrSecondList(),Constants.ONE,category.getId(),user);
// cateAttrMapper.delete(new QueryWrapper<CateAttr>().eq("CATEGORY_ID",category.getId()));
// List<CateAttr> attrFirst = category.getAttrFirstList();
// if(!Objects.isNull(attrFirst)&&attrFirst.size()> Constants.ZERO){
@@ -226,60 +276,88 @@
}
- public void dealCateAttr(List<CateAttr> cateAttrList,Integer type,Integer categoryId,LoginUserInfo user){
- List<CateAttr> oldCateAttrList = cateAttrMapper.selectList(new QueryWrapper<CateAttr>().eq("ISDELETED",Constants.ZERO).eq("CATEGORY_ID",categoryId).eq("TYPE",type));
- List<CateAttr> addCateAttr = new ArrayList<>();
- List<CateAttr> updCateAttr = new ArrayList<>();
- List<CateAttr> delCateAttr = new ArrayList<>();
- for (CateAttr oldCateAttr:oldCateAttrList) {
- Boolean flag = false;
- for (CateAttr cateAttr:cateAttrList) {
- if(oldCateAttr.getName().equals(cateAttr.getName())){
- updCateAttr.add(oldCateAttr);
- flag = true;
- break;
- }
- }
- if(!flag){
- delCateAttr.add(oldCateAttr);
+ @Override
+ public void companyUpdateById(Category category) {
+ LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+ if(categoryMapper.selectCount(new QueryWrapper<Category>().eq("ISDELETED",Constants.ZERO).eq("COMPANY_ID",user.getCompanyId())
+ .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);
+ //澶勭悊灞炴�ч厤缃�
+ this.dealCateParam(category.getParamList(),category.getId(),user);
+ 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);
}
}
- CateAttr maxCateAttr = cateAttrMapper.selectOne(new QueryWrapper<CateAttr>().eq("ISDELETED",Constants.ZERO).eq("CATEGORY_ID",categoryId).eq("TYPE",type).orderByDesc(" SORTNUM ").last(" limit 1 "));
- Integer nextSortNum = 0;
- if(!Objects.isNull(maxCateAttr)){
- nextSortNum = maxCateAttr.getSortnum();
- }
- //澶勭悊鏂板鏁版嵁
- for (CateAttr cateAttr:cateAttrList) {
- Boolean flag = false;
- for (CateAttr oldCateAttr:oldCateAttrList) {
- if(cateAttr.getName().equals(oldCateAttr.getName())){
- flag = true;
- break;
- }
- }
- if(!flag){
- nextSortNum = nextSortNum + 1;
- cateAttr.setCreator(user.getId());
- cateAttr.setCreateDate(new Date());
- cateAttr.setIsdeleted(Constants.ZERO);
- cateAttr.setSortnum(nextSortNum);
- cateAttr.setStatus(Constants.ZERO);
- cateAttr.setCategoryId(categoryId);
- cateAttr.setType(type);
- addCateAttr.add(cateAttr);
- }
- }
- addCateAttr.forEach(i->{
- cateAttrMapper.insert(i);
- });
- delCateAttr.forEach(i->{
- i.setIsdeleted(Constants.ONE);
- i.setEditDate(new Date());
- i.setEditor(user.getId());
- cateAttrMapper.updateById(i);
- });
}
+
+
+ public void dealCateParam(List<CateParam> cateParamList,Integer categoryId,LoginUserInfo userInfo ){
+ List<CateParam> oldCateParamList = cateParamMapper.selectList(new QueryWrapper<CateParam>()
+ .eq("ISDELETED",Constants.ZERO).eq("CATEGORY_ID",categoryId));
+ List<CateParam> updCateParam = new ArrayList<>();
+ List<CateParam> delCateParam = new ArrayList<>();
+ for (CateParam oldCateParam:oldCateParamList) {
+ Boolean flag = false;
+ for (CateParam cateParam:cateParamList) {
+ if(oldCateParam.getId().equals(cateParam.getId())){
+ updCateParam.add(cateParam);
+ flag = true;
+ break;
+ }
+ }
+ if(!flag){
+ delCateParam.add(oldCateParam);
+ }
+ }
+ CateParam maxCateParam = cateParamMapper.selectOne(new QueryWrapper<CateParam>().eq("ISDELETED",Constants.ZERO)
+ .eq("CATEGORY_ID",categoryId).orderByDesc(" SORTNUM ").last(" limit 1 "));
+ Integer nextSortNum = 0;
+ if(!Objects.isNull(maxCateParam)){
+ nextSortNum = maxCateParam.getSortnum();
+ }
+ for (CateParam cateParam:cateParamList) {
+ if(Objects.isNull(cateParam.getId())){
+ nextSortNum ++ ;
+ cateParam.setCreator(userInfo.getId());
+ cateParam.setCreateDate(new Date());
+ cateParam.setIsdeleted(Constants.ZERO);
+ cateParam.setSortnum(nextSortNum);
+ cateParam.setStatus(Constants.ZERO);
+ cateParam.setCategoryId(categoryId);
+ cateParamMapper.insert(cateParam);
+ }
+ }
+ delCateParam.forEach(i->{
+ cateParamMapper.deleteById(i.getId());
+ });
+ updCateParam.forEach(i->{
+ i.setEditDate(new Date());
+ i.setEditor(userInfo.getId());
+ cateParamMapper.updateById(i);
+ });
+
+
+ }
+
@Override
public void updateDisableById(Category category) {
@@ -302,13 +380,11 @@
@Override
public Category findById(Integer id) {
Category category = categoryMapper.selectById(id);
- String prefixUrl = systemDictDataBiz.queryByCode(Constants.SYSTEM, Constants.FILE_DIR).getCode()
- + systemDictDataBiz.queryByCode(Constants.SYSTEM, Constants.PROJECTS).getCode();
+ String prefixUrl = systemDictDataBiz.queryByCode(Constants.OSS, Constants.RESOURCE_PATH).getCode()
+ + systemDictDataBiz.queryByCode(Constants.OSS, Constants.CATEGORY_IMG).getCode();
category.setPrefixUrl(prefixUrl);
category.setParamList(cateParamMapper.selectList(new QueryWrapper<CateParam>().eq("CATEGORY_ID",id).eq("ISDELETED",Constants.ZERO).orderByAsc(" SORTNUM ")));
- category.setAttrFirstList(cateAttrMapper.selectList(new QueryWrapper<CateAttr>().eq("TYPE",Constants.ZERO).eq("ISDELETED",Constants.ZERO).eq("CATEGORY_ID",id).orderByAsc(" SORTNUM ")));
- category.setAttrSecondList(cateAttrMapper.selectList(new QueryWrapper<CateAttr>().eq("TYPE",Constants.ONE).eq("ISDELETED",Constants.ZERO).eq("CATEGORY_ID",id).orderByAsc(" SORTNUM ")));
- category.setBudgetList(cateBudgetMapper.selectList(new QueryWrapper<CateBudget>().eq("CATEGORY_ID",id).eq("ISDELETED",Constants.ZERO).orderByAsc(" SORTNUM ")));
+ category.setBudgetList(cateBudgetMapper.selectList(new QueryWrapper<CateBudget>().eq("CATEGORY_ID",id).eq("ISDELETED",Constants.ZERO).orderByAsc(" SORTNUM ")));
return category;
}
@@ -320,38 +396,101 @@
@Override
public List<Category> findList(Category category) {
+ LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
QueryWrapper<Category> wrapper = new QueryWrapper<>(category)
.eq("STATUS",Constants.ZERO)
.eq("ISDELETED",Constants.ZERO)
+ .eq("COMPANY_ID",user.getCompanyId())
.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();
+// String prefixUrl = systemDictDataBiz.queryByCode(Constants.OSS, Constants.RESOURCE_PATH).getCode()
+// + systemDictDataBiz.queryByCode(Constants.OSS, Constants.CATEGORY_IMG).getCode();
+// for (Category c:list) {
+// c.setPrefixUrl(prefixUrl);
+// c.setAttrFirstList(cateAttrMapper.selectList(new QueryWrapper<CateAttr>().eq("TYPE",Constants.ZERO).eq("ISDELETED",Constants.ZERO).eq("CATEGORY_ID",c.getId()).orderByAsc(" SORTNUM ")));
+// c.setAttrSecondList(cateAttrMapper.selectList(new QueryWrapper<CateAttr>().eq("TYPE",Constants.ONE).eq("ISDELETED",Constants.ZERO).eq("CATEGORY_ID",c.getId()).orderByAsc(" SORTNUM ")));
+// c.setBudgetList(cateBudgetMapper.selectList(new QueryWrapper<CateBudget>().eq("CATEGORY_ID",c.getId()).orderByAsc(" SORTNUM ")));
+// }
+ return list;
+ }
+
+
+
+ @Override
+ public List<Category> findListSaaS(Category category) {
+ LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+ if(!user.getType().equals(Constants.UserType.ZHUBO.getKey())){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鐢ㄦ埛绫诲埆閿欒锛岄潪涓绘挱鐢ㄦ埛!");
+ }
+ QueryWrapper<Category> wrapper = new QueryWrapper<>(category)
+ .eq("STATUS",Constants.ZERO)
+ .eq("ISDELETED",Constants.ZERO)
+ .eq("COMPANY_ID",user.getCompanyId())
+ .orderByAsc(" SORTNUM ");
+ List<Category> list = categoryMapper.selectList(wrapper);
+ String prefixUrl = systemDictDataBiz.queryByCode(Constants.OSS, Constants.RESOURCE_PATH).getCode()
+ + systemDictDataBiz.queryByCode(Constants.OSS, Constants.CATEGORY_IMG).getCode();
for (Category c:list) {
c.setPrefixUrl(prefixUrl);
- c.setAttrFirstList(cateAttrMapper.selectList(new QueryWrapper<CateAttr>().eq("TYPE",Constants.ZERO).eq("ISDELETED",Constants.ZERO).eq("CATEGORY_ID",c.getId()).orderByAsc(" SORTNUM ")));
- c.setAttrSecondList(cateAttrMapper.selectList(new QueryWrapper<CateAttr>().eq("TYPE",Constants.ONE).eq("ISDELETED",Constants.ZERO).eq("CATEGORY_ID",c.getId()).orderByAsc(" SORTNUM ")));
- c.setBudgetList(cateBudgetMapper.selectList(new QueryWrapper<CateBudget>().eq("CATEGORY_ID",c.getId()).orderByAsc(" SORTNUM ")));
+ c.setBudgetList(cateBudgetMapper.selectList(new QueryWrapper<CateBudget>().eq("CATEGORY_ID",c.getId())
+ .orderByAsc(" SORTNUM ")));
+ this.getParamSelect(c);
}
return list;
}
+
+ public void getParamSelect(Category category){
+ List<CateParam> cateParamList = cateParamMapper.selectList(new QueryWrapper<CateParam>()
+ .eq("CATEGORY_ID",category.getId())
+ .eq("ISSELECT",Constants.ONE)
+ .eq("ISDELETED",Constants.ZERO)
+ .eq("ISSHOW",Constants.ONE)
+ .orderByAsc(" SORTNUM ")
+ .last(" limit 2 ")
+ );
+ if(!Objects.isNull(cateParamList)&&cateParamList.size()>Constants.ZERO){
+ for (int i = 0; i < cateParamList.size(); i++) {
+ CateParam cateParam = cateParamList.get(i);
+ List<CateParamSelect> cateParamSelectList = cateParamSelectMapper.selectList(new QueryWrapper<CateParamSelect>()
+ .eq("PARAM_ID",cateParam.getId())
+ .eq("ISDELETED",Constants.ZERO));
+ if(i==0){
+ category.setAttrFirst(cateParam.getName());
+ category.setCateParamFirstList(cateParamSelectList);
+ }else if(i==1){
+ category.setAttrSecond(cateParam.getName());
+ category.setCateParamSecondList(cateParamSelectList);
+ }
+
+ }
+ }
+ }
+
+
+
@Override
public List<Category> findListForGoods(Integer goodsId) {
+ LoginUserInfo loginUserInfo = (LoginUserInfo)SecurityUtils.getSubject().getPrincipal();
QueryWrapper<Category> wrapper = new QueryWrapper<Category>()
.eq("STATUS",Constants.ZERO)
.eq("ISDELETED",Constants.ZERO)
+ .eq("COMPANY_ID",loginUserInfo.getCompanyId())
.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();
+ String prefixUrl = systemDictDataBiz.queryByCode(Constants.OSS, Constants.RESOURCE_PATH).getCode()
+ + systemDictDataBiz.queryByCode(Constants.OSS, Constants.CATEGORY_IMG).getCode();
for (Category c:list) {
c.setPrefixUrl(prefixUrl);
c.setAttrFirstList(cateAttrMapper.selectList(new QueryWrapper<CateAttr>().eq("TYPE",Constants.ZERO).eq("ISDELETED",Constants.ZERO).eq("CATEGORY_ID",c.getId()).orderByAsc(" SORTNUM ")));
c.setAttrSecondList(cateAttrMapper.selectList(new QueryWrapper<CateAttr>().eq("TYPE",Constants.ONE).eq("ISDELETED",Constants.ZERO).eq("CATEGORY_ID",c.getId()).orderByAsc(" SORTNUM ")));
c.setParamList(cateParamMapper.selectList(new QueryWrapper<CateParam>()
- .select(" * , ( select gp.VAL from goods_param gp where gp.GOODS_ID = "+goodsId+" and gp.PRAMA_ID = cate_param.id limit 1 ) as val ")
- .eq("CATEGORY_ID",c.getId()).orderByAsc(" SORTNUM ")));
+ .select(" * , ( select gp.VAL from goods_param gp where gp.GOODS_ID = "+goodsId+" and gp.PRAMA_ID = cate_param.id limit 1 ) as val ")
+ .eq("CATEGORY_ID",c.getId())
+ .eq("ISSHOW",Constants.ONE)
+ .eq("STATUS",Constants.ZERO)
+ .eq("ISDELETED",Constants.ZERO)
+ .orderByAsc(" SORTNUM ")));
}
return list;
}
@@ -370,10 +509,16 @@
if (pageWrap.getModel().getStatus() != null) {
queryWrapper.lambda().eq(Category::getStatus, pageWrap.getModel().getStatus());
}
+ if (pageWrap.getModel().getType() != null) {
+ queryWrapper.lambda().eq(Category::getType, pageWrap.getModel().getType());
+ }
+ if (pageWrap.getModel().getCompanyId() != null) {
+ queryWrapper.lambda().eq(Category::getCompanyId, pageWrap.getModel().getCompanyId());
+ }
queryWrapper.lambda().orderByAsc(Category::getSortnum);
IPage<Category> categoryIPage = categoryMapper.selectPage(page, queryWrapper);
- String prefixUrl = systemDictDataBiz.queryByCode(Constants.SYSTEM, Constants.FILE_DIR).getCode()
- + systemDictDataBiz.queryByCode(Constants.SYSTEM, Constants.PROJECTS).getCode();
+ String prefixUrl = systemDictDataBiz.queryByCode(Constants.OSS, Constants.RESOURCE_PATH).getCode()
+ + systemDictDataBiz.queryByCode(Constants.OSS, Constants.CATEGORY_IMG).getCode();
categoryIPage.getRecords().forEach(i->{
i.setPrefixUrl(prefixUrl);
});
@@ -385,4 +530,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.OSS, Constants.RESOURCE_PATH).getCode()
+ + systemDictDataBiz.queryByCode(Constants.OSS, Constants.CATEGORY_IMG).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;
+ }
+
+
+
}
--
Gitblit v1.9.3