Commit 0dbaf26b authored by 赵啸非's avatar 赵啸非

添加修改产品规划

parent 451436a6
......@@ -158,6 +158,7 @@ export default {
formatterYES(row, column, val) {
const content = formatter(this.tableData, column, val);
console.log("content",content)
if (content) {
if (val == '0') {
return <el-tag type={'danger'} size='mini'>{content}</el-tag>
......
......@@ -12,8 +12,8 @@
<Field label="产品编码" prop="productCode" v-model="form.productCode" type="textarea" placeholder="请输入产品编码"/>
<Field label="产品slogan" prop="productSlogan" v-model="form.productSlogan" placeholder="请输入产品slogan"/>
<Field label="产品分类" prop="categoryId" v-model="form.categoryId" :multiple="true" type="select" placeholder="请选择产品分类"/>
<Field label="所属企业" prop="companyId" v-model="form.companyId" :multiple="true" type="select" placeholder="请选择所属企业"/>
<Field label="产品分类" prop="categoryId" v-model="form.categoryId" :multiple="true" type="select" :enumData="dict.categoryId" placeholder="请选择产品分类"/>
<Field label="所属企业" prop="companyId" v-model="form.companyId" :multiple="true" type="select" :enumData="dict.companyId" placeholder="请选择所属企业"/>
<Field label="产品图标"><imageUpload v-model="form.productLogoPath" prePath="/file/preview"/></Field>
......@@ -106,6 +106,10 @@
toString:[
"hot",
],
toArrays:[
"companyId",
"categoryId"
],
toDate:[
"publishTime",
],
......@@ -212,6 +216,15 @@
this.open = true;
},
beforeSubmit(data) {
data.categoryId=data.categoryId.join(",")
data.companyId=data.companyId.join(",")
return data
},
afterSubmit(data) {
this.open = false;
this.$emit("ok");
......
......@@ -78,7 +78,7 @@
{label: "发布时间", prop: "publishTime", formatter: this.formatterDate},
{label: "热门", prop: "hot",formatter: this.formatter},
{label: "热门", prop: "hot",formatter: this.formatterYES},
{label: "最近更新时间", prop: "updateTime", formatter: this.formatterDate},
......
package com.mortals.xhx.module.product.service.impl;
import com.mortals.framework.model.PageInfo;
import com.mortals.xhx.module.category.model.CategoryEntity;
import com.mortals.xhx.module.category.service.CategoryService;
import com.mortals.xhx.module.company.model.CompanyEntity;
import com.mortals.xhx.module.company.model.CompanyProductEntity;
import com.mortals.xhx.module.company.model.CompanyProductQuery;
import com.mortals.xhx.module.company.service.CompanyProductService;
import com.mortals.xhx.module.company.service.CompanyService;
......@@ -15,19 +19,21 @@ import com.mortals.xhx.module.product.service.ProductService;
import org.springframework.beans.factory.annotation.Autowired;
import com.mortals.xhx.module.product.service.ProductQuestionService;
import org.springframework.util.ObjectUtils;
import java.util.Date;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
import lombok.extern.slf4j.Slf4j;
/**
* ProductService
* 产品 service实现
*
* @author zxfei
* @date 2023-09-18
*/
* ProductService
* 产品 service实现
*
* @author zxfei
* @date 2023-09-18
*/
@Service("productService")
@Slf4j
public class ProductServiceImpl extends AbstractCRUDServiceImpl<ProductDao, ProductEntity, Long> implements ProductService {
......@@ -45,10 +51,9 @@ public class ProductServiceImpl extends AbstractCRUDServiceImpl<ProductDao, Prod
private CompanyService companyService;
@Override
protected void findAfter(ProductEntity params, PageInfo pageInfo, Context context, List<ProductEntity> list) throws AppException {
list.forEach(item->{
list.forEach(item -> {
String categoryIds = productCategoryService.find(new ProductCategoryQuery().productId(item.getId())).stream().map(i -> i.getCategoryId().toString()).collect(Collectors.joining(","));
String companyIds = companyProductService.find(new CompanyProductQuery().productId(item.getId())).stream().map(i -> i.getProductId().toString()).collect(Collectors.joining(","));
item.setCompanyId(companyIds);
......@@ -58,8 +63,8 @@ public class ProductServiceImpl extends AbstractCRUDServiceImpl<ProductDao, Prod
@Override
protected void saveAfter(ProductEntity entity, Context context) throws AppException {
if(!ObjectUtils.isEmpty(entity.getProductQuestionList())){
entity.getProductQuestionList().stream().peek(item->{
if (!ObjectUtils.isEmpty(entity.getProductQuestionList())) {
entity.getProductQuestionList().stream().peek(item -> {
item.setProductId(entity.getId());
item.setProductName(entity.getProductName());
item.setCreateUserId(this.getContextUserId(context));
......@@ -67,15 +72,54 @@ public class ProductServiceImpl extends AbstractCRUDServiceImpl<ProductDao, Prod
}).count();
productQuestionService.save(entity.getProductQuestionList());
}
if (!ObjectUtils.isEmpty(entity.getCompanyId())) {
List<CompanyProductEntity> companyProductList = Arrays.asList(entity.getCompanyId().split(",")).stream().map(item -> {
CompanyEntity companyEntity = companyService.get(Long.parseLong(item), context);
CompanyProductEntity companyProductEntity = new CompanyProductEntity();
companyProductEntity.initAttrValue();
companyProductEntity.setProductId(entity.getId());
companyProductEntity.setProductName(entity.getProductName());
companyProductEntity.setCompanyId(companyEntity.getId());
companyProductEntity.setCompanyName(companyEntity.getCompanyName());
companyProductEntity.setCreateUserId(this.getContextUserId(context));
companyProductEntity.setCreateTime(new Date());
return companyProductEntity;
}).collect(Collectors.toList());
if (!ObjectUtils.isEmpty(companyProductList)) {
companyProductService.save(companyProductList);
}
}
if (!ObjectUtils.isEmpty(entity.getCategoryId())) {
List<ProductCategoryEntity> productCategoryList = Arrays.asList(entity.getCategoryId().split(",")).stream().map(item -> {
CategoryEntity categoryEntity = categoryService.get(Long.parseLong(item), context);
ProductCategoryEntity productCategoryEntity = new ProductCategoryEntity();
productCategoryEntity.initAttrValue();
productCategoryEntity.setProductId(entity.getId());
productCategoryEntity.setProductName(entity.getProductName());
productCategoryEntity.setCategoryId(categoryEntity.getId());
productCategoryEntity.setCategoryName(categoryEntity.getName());
productCategoryEntity.setCreateUserId(this.getContextUserId(context));
productCategoryEntity.setCreateTime(new Date());
return productCategoryEntity;
}).collect(Collectors.toList());
if (!ObjectUtils.isEmpty(productCategoryList)) {
productCategoryService.save(productCategoryList);
}
}
super.saveAfter(entity, context);
}
@Override
protected void updateAfter(ProductEntity entity, Context context) throws AppException {
if(!ObjectUtils.isEmpty(entity.getProductQuestionList())){
if (!ObjectUtils.isEmpty(entity.getProductQuestionList())) {
Long[] productQuestionIds = productQuestionService.find(new ProductQuestionQuery().productId(entity.getId())).stream().map(ProductQuestionEntity::getId).toArray(Long[]::new);
productQuestionService.remove(productQuestionIds,context);
entity.getProductQuestionList().stream().peek(item ->{
productQuestionService.remove(productQuestionIds, context);
entity.getProductQuestionList().stream().peek(item -> {
item.setProductId(entity.getId());
item.setProductName(entity.getProductName());
item.setCreateUserId(this.getContextUserId(context));
......@@ -85,13 +129,64 @@ public class ProductServiceImpl extends AbstractCRUDServiceImpl<ProductDao, Prod
}).count();
productQuestionService.save(entity.getProductQuestionList());
}
if (!ObjectUtils.isEmpty(entity.getCompanyId())) {
List<CompanyProductEntity> companyProductList = Arrays.asList(entity.getCompanyId().split(",")).stream().map(item -> {
Long[] companyProductRemoveIds = companyProductService.find(new CompanyProductQuery().productId(Long.parseLong(item))).stream().map(i -> i.getId()).toArray(Long[]::new);
if (!ObjectUtils.isEmpty(companyProductRemoveIds)) {
companyProductService.remove(companyProductRemoveIds, context);
}
CompanyEntity companyEntity = companyService.get(Long.parseLong(item), context);
CompanyProductEntity companyProductEntity = new CompanyProductEntity();
companyProductEntity.initAttrValue();
companyProductEntity.setProductId(entity.getId());
companyProductEntity.setProductName(entity.getProductName());
companyProductEntity.setCompanyId(companyEntity.getId());
companyProductEntity.setCompanyName(companyEntity.getCompanyName());
companyProductEntity.setCreateUserId(this.getContextUserId(context));
companyProductEntity.setCreateTime(new Date());
return companyProductEntity;
}).collect(Collectors.toList());
if (!ObjectUtils.isEmpty(companyProductList)) {
companyProductService.save(companyProductList);
}
}
if (!ObjectUtils.isEmpty(entity.getCategoryId())) {
List<ProductCategoryEntity> productCategoryList = Arrays.asList(entity.getCategoryId().split(",")).stream().map(item -> {
Long[] productCategoryRemoveIds = productCategoryService.find(new ProductCategoryQuery().productId(Long.parseLong(item))).stream().map(i -> i.getId()).toArray(Long[]::new);
if (!ObjectUtils.isEmpty(productCategoryRemoveIds)) {
productCategoryService.remove(productCategoryRemoveIds, context);
}
CategoryEntity categoryEntity = categoryService.get(Long.parseLong(item), context);
ProductCategoryEntity productCategoryEntity = new ProductCategoryEntity();
productCategoryEntity.initAttrValue();
productCategoryEntity.setProductId(entity.getId());
productCategoryEntity.setProductName(entity.getProductName());
productCategoryEntity.setCategoryId(categoryEntity.getId());
productCategoryEntity.setCategoryName(categoryEntity.getName());
productCategoryEntity.setCreateUserId(this.getContextUserId(context));
productCategoryEntity.setCreateTime(new Date());
return productCategoryEntity;
}).collect(Collectors.toList());
if (!ObjectUtils.isEmpty(productCategoryList)) {
productCategoryService.save(productCategoryList);
}
}
super.updateAfter(entity, context);
}
@Override
protected void removeAfter(Long[] ids, Context context, int result) throws AppException {
List<ProductQuestionEntity> productQuestionlist = productQuestionService.find(new ProductQuestionQuery().productIdList(Arrays.asList(ids)));
productQuestionService.removeList(productQuestionlist,context);
productQuestionService.removeList(productQuestionlist, context);
super.removeAfter(ids, context, result);
}
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment