后台系统基本结束

develop
ddyd 5 days ago
parent 3afa86cf41
commit 7ae2f66ea4

@ -1,9 +1,12 @@
package com.bookstore.bookmall.product.controller;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import com.bookstore.bookmall.product.entity.ProductAttrValueEntity;
import com.bookstore.bookmall.product.service.ProductAttrValueService;
import com.bookstore.bookmall.product.vo.AttrRespVo;
import com.bookstore.bookmall.product.vo.AttrVo;
import org.springframework.beans.factory.annotation.Autowired;
@ -28,6 +31,20 @@ import com.bookstore.common.utils.R;
public class AttrController {
@Autowired
private AttrService attrService;
@Autowired
private ProductAttrValueService productAttrValueService;
//GET /product/attr/base/listforspu/{spuId}
@GetMapping("/base/listforspu/{spuId}")
public R baseAttrlistforspu(@PathVariable("spuId") Long spuId) {
List<ProductAttrValueEntity> attrValueEntityList = productAttrValueService.baseAttrlistforspu(spuId);
return R.ok().put("data", attrValueEntityList);
}
// /product/attr/base/list/{catelogId}
@GetMapping("/{attrType}/list/{catelogId}")
@ -77,6 +94,16 @@ public class AttrController {
}
//POST /product/attr/update/19
@RequestMapping("/update/{spuId}")
//@RequiresPermissions("product:attr:update")
public R updateSpuAttr(@RequestBody List<ProductAttrValueEntity> entities,
@PathVariable("spuId") Long spuId){
productAttrValueService.updateSpuAttr(spuId,entities);
return R.ok();
}
/**
*
*/

@ -19,5 +19,9 @@ public interface ProductAttrValueService extends IService<ProductAttrValueEntity
PageUtils queryPage(Map<String, Object> params);
void saveProductAttr(List<ProductAttrValueEntity> collect);
List<ProductAttrValueEntity> baseAttrlistforspu(Long spuId);
void updateSpuAttr(Long spuId, List<ProductAttrValueEntity> entities);
}

@ -1,7 +1,7 @@
package com.bookstore.bookmall.product.service.impl;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.bookstore.bookmall.product.constant.ProductConstant;
import com.bookstore.common.constant.ProductConstant;
import com.bookstore.bookmall.product.dao.AttrAttrgroupRelationDao;
import com.bookstore.bookmall.product.dao.AttrGroupDao;
import com.bookstore.bookmall.product.dao.CategoryDao;

@ -1,9 +1,12 @@
package com.bookstore.bookmall.product.service.impl;
import com.alibaba.nacos.shaded.io.grpc.Grpc;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@ -13,6 +16,7 @@ import com.bookstore.common.utils.Query;
import com.bookstore.bookmall.product.dao.ProductAttrValueDao;
import com.bookstore.bookmall.product.entity.ProductAttrValueEntity;
import com.bookstore.bookmall.product.service.ProductAttrValueService;
import org.springframework.transaction.annotation.Transactional;
@Service("productAttrValueService")
@ -33,4 +37,24 @@ public class ProductAttrValueServiceImpl extends ServiceImpl<ProductAttrValueDao
this.saveBatch(collect);
}
@Override
public List<ProductAttrValueEntity> baseAttrlistforspu(Long spuId) {
List<ProductAttrValueEntity> entities = this.baseMapper.selectList(
new QueryWrapper<ProductAttrValueEntity>().eq("spu_id", spuId));
return entities;
}
@Transactional
@Override
public void updateSpuAttr(Long spuId, List<ProductAttrValueEntity> entities) {
//1、删除这个spu之前对应的所有属性
this.baseMapper.delete(new QueryWrapper<ProductAttrValueEntity>().eq("spu_id", spuId));
List<ProductAttrValueEntity> collect = entities.stream().map((item) -> {
item.setSpuId(spuId);
return item;
}).collect(Collectors.toList());
this.saveBatch(collect);
}
}

@ -4,11 +4,12 @@ import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.transaction.annotation.EnableTransactionManagement;
@EnableTransactionManagement
@MapperScan("com.bookstore.bookmall.ware.dao")
@EnableFeignClients
@EnableDiscoveryClient
@SpringBootApplication
public class BookWareApplication {

@ -0,0 +1,22 @@
package com.bookstore.bookmall.ware.config;
import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.transaction.annotation.EnableTransactionManagement;
@EnableTransactionManagement
@MapperScan("com.bookstore.bookmall.ware.dao")
@Configuration
public class WareMyBatisConfig {
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); // 如果配置多个插件, 切记分页最后添加
// 如果有多数据源可以不配具体类型, 否则都建议配上具体的 DbType
return interceptor;
}
}

@ -1,9 +1,11 @@
package com.bookstore.bookmall.ware.controller;
import java.util.Arrays;
import java.util.Date;
import java.util.Map;
import com.bookstore.bookmall.ware.vo.MergeVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@ -29,12 +31,12 @@ public class PurchaseController {
//合并采购需求
// /ware/purchase/merge
@PostMapping("/ware/purchase/merge")
@PostMapping("/merge")
//@RequiresPermissions("ware:purchase:list")
public R unreceivelist(@RequestParam Map<String, Object> params){
PageUtils page = purchaseService.queryPageUnreceivePurchase(params);
public R merge(@RequestBody MergeVo mergeVo){
purchaseService.mergePurchase(mergeVo);
return R.ok().put("page", page);
return R.ok();
}
//查询采购单
@ -76,6 +78,8 @@ public class PurchaseController {
@RequestMapping("/save")
//@RequiresPermissions("ware:purchase:save")
public R save(@RequestBody PurchaseEntity purchase){
purchase.setCreateTime(new Date());
purchase.setUpdateTime(new Date());
purchaseService.save(purchase);
return R.ok();

@ -0,0 +1,8 @@
package com.bookstore.bookmall.ware.feign;
import org.springframework.cloud.openfeign.FeignClient;
@FeignClient("book-product")
public class ProductFeignService {
}

@ -1,6 +1,7 @@
package com.bookstore.bookmall.ware.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.bookstore.bookmall.ware.vo.MergeVo;
import com.bookstore.common.utils.PageUtils;
import com.bookstore.bookmall.ware.entity.PurchaseEntity;
@ -18,5 +19,7 @@ public interface PurchaseService extends IService<PurchaseEntity> {
PageUtils queryPage(Map<String, Object> params);
PageUtils queryPageUnreceivePurchase(Map<String, Object> params);
void mergePurchase(MergeVo mergeVo);
}

@ -1,7 +1,17 @@
package com.bookstore.bookmall.ware.service.impl;
import com.bookstore.bookmall.ware.entity.PurchaseDetailEntity;
import com.bookstore.bookmall.ware.service.PurchaseDetailService;
import com.bookstore.bookmall.ware.vo.MergeVo;
import com.bookstore.common.constant.WareConstant;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@ -11,12 +21,14 @@ import com.bookstore.common.utils.Query;
import com.bookstore.bookmall.ware.dao.PurchaseDao;
import com.bookstore.bookmall.ware.entity.PurchaseEntity;
import com.bookstore.bookmall.ware.service.PurchaseService;
import org.springframework.transaction.annotation.Transactional;
@Service("purchaseService")
public class PurchaseServiceImpl extends ServiceImpl<PurchaseDao, PurchaseEntity> implements PurchaseService {
@Autowired
PurchaseDetailService purchaseDetailService;
@Override
@ -43,4 +55,39 @@ public class PurchaseServiceImpl extends ServiceImpl<PurchaseDao, PurchaseEntity
return new PageUtils(page);
}
@Transactional
@Override
public void mergePurchase(MergeVo mergeVo) {
Long purchaseId = mergeVo.getPurchaseId();
//没有选择采购单
if (purchaseId == null) {
//新建一个
PurchaseEntity purchaseEntity = new PurchaseEntity();
purchaseEntity.setCreateTime(new Date());
purchaseEntity.setCreateTime(new Date());
purchaseEntity.setStatus(WareConstant.PurchaseStatusEnum.CREATED.getCode());
this.save(purchaseEntity);
purchaseId = purchaseEntity.getId();
}
List<Long> items = mergeVo.getItems();
Long finalPurchaseId = purchaseId;
List<PurchaseDetailEntity> collect = items.stream().map(item -> {
PurchaseDetailEntity purchaseDetailEntity = new PurchaseDetailEntity();
purchaseDetailEntity.setId(item);
purchaseDetailEntity.setPurchaseId(finalPurchaseId);
purchaseDetailEntity.setStatus(WareConstant.PurchaseDetailStatusEnum.ASSIGNED.getCode());
return purchaseDetailEntity;
}).collect(Collectors.toList());
purchaseDetailService.updateBatchById(collect);
PurchaseEntity purchaseEntity = new PurchaseEntity();
purchaseEntity.setId(purchaseId);
purchaseEntity.setUpdateTime(new Date());
this.updateById(purchaseEntity);
}
}

@ -1,5 +1,12 @@
package com.bookstore.bookmall.ware.vo;
import lombok.Data;
import java.util.List;
@Data
public class MergeVo {
private Long purchaseId;
private List<Long> items;
}

@ -10,6 +10,8 @@ spring:
server-addr: 127.0.0.1:8848
application:
name: mall-ware
jackson:
date-format: yyyy-MM-dd HH:mm:ss
mybatis-plus:
config-locations: classpath*:/mapper/**/*.xml #classpath*中的*指的是不止引用自己路径的mapper依赖的jar包也扫描

@ -1,4 +1,4 @@
package com.bookstore.bookmall.product.constant;
package com.bookstore.common.constant;
public class ProductConstant {
public enum AttrEnum{

@ -0,0 +1,49 @@
package com.bookstore.common.constant;
public class WareConstant {
public enum PurchaseStatusEnum{
CREATED(0, "新建"), ASSIGNED(1,"已分配"),
RECEIVE(2, "已领取"),FINISH(3, "已完成"),
HASERROR(4, "异常");
private int code;
private String msg;
PurchaseStatusEnum(int code, String msg) {
this.code = code;
this.msg = msg;
}
public int getCode() {
return code;
}
public String getMsg() {
return msg;
}
}
public enum PurchaseDetailStatusEnum{
CREATED(0, "新建"), ASSIGNED(1,"已分配"),
BUYING(2, "正在采购"),FINISH(3, "已完成"),
HASERROR(4, "采购失败");
private int code;
private String msg;
PurchaseDetailStatusEnum(int code, String msg) {
this.code = code;
this.msg = msg;
}
public int getCode() {
return code;
}
public String getMsg() {
return msg;
}
}
}

@ -103,15 +103,18 @@ export default {
params: this.$http.adornParams({})
}).then(({ data }) => {
//baseAttrs
console.log("这是response的data.data", data);
console.log("这是response的spuattrmap", this.spuAttrsMap);
data.data.forEach(item => {
let attrArray = [];
item.attrs.forEach(attr => {
let v = "";
if (_this.spuAttrsMap["" + attr.attrId]) {
v = _this.spuAttrsMap["" + attr.attrId].attrValue.split(";");
if (v.length == 1) {
v = v[0] + "";
}
let v = attr.valueType == 1 ? [] : "";
if (this.spuAttrsMap["" + attr.attrId]) {
let attrValue = this.spuAttrsMap["" + attr.attrId].attrValue;
v = attrValue ? attrValue.split(";") : [];
if (attr.valueType == 0 && v.length == 1) {
v = v[0] + "";
}
}
attrArray.push({
attrId: attr.attrId,
@ -125,6 +128,8 @@ export default {
this.dataResp.baseAttrs.push(attrArray);
});
this.dataResp.attrGroups = data.data;
console.log("这是baseattr",this.dataResp.baseAttrs);
console.log("这是attrGroup",this.dataResp.attrGroups);
});
},
submitSpuAttrs() {
@ -187,5 +192,3 @@ export default {
}
};
</script>
<style scoped>
</style>

@ -95,6 +95,7 @@ export default {
},
attrUpdateShow(row) {
console.log(row);
console.log("spuId:", row.id, "catalogId:", row.catalogId);
this.$router.push({
path: "/product-attrupdate",
query: { spuId: row.id, catalogId: row.catalogId }
@ -150,6 +151,10 @@ export default {
},
beforeDestroy() {
PubSub.unsubscribe(this.dataSub);
}
},
// AttrUpdate.vue
};
</script>

Loading…
Cancel
Save