超市优化
This commit is contained in:
@ -63,4 +63,9 @@ public class StoreOrderRespVO {
|
||||
*/
|
||||
private Integer status;
|
||||
|
||||
/**
|
||||
* 减免金额
|
||||
*/
|
||||
private Double reductionPrice;
|
||||
|
||||
}
|
@ -6,7 +6,6 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
|
||||
import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.storegoodsinventory.vo.AddReqVO;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.storesalegoods.vo.StoreSaleGoodsPageReqVO;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.storesalegoods.vo.StoreSaleGoodsRespVO;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.storesalegoods.vo.StoreSaleGoodsSaveBatchVO;
|
||||
@ -52,9 +51,8 @@ public class StoreSaleGoodsController {
|
||||
@Operation(summary = "创建售卖商品(上架)")
|
||||
@PreAuthorize("@ss.hasPermission('member:store-sale-goods:create')")
|
||||
public CommonResult<Integer> createStoreSaleGoods(@Valid @RequestBody StoreSaleGoodsSaveBatchVO createReqVO) {
|
||||
AddReqVO storeSaleGoods = storeSaleGoodsService.createStoreSaleGoods(createReqVO);
|
||||
memberAsyncService.batchRecord(storeSaleGoods);
|
||||
return success(storeSaleGoods.getList().size());
|
||||
Integer storeSaleGoods = storeSaleGoodsService.createStoreSaleGoods(createReqVO);
|
||||
return success(storeSaleGoods);
|
||||
}
|
||||
|
||||
@PutMapping("/update")
|
||||
|
@ -24,6 +24,7 @@ import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.validation.Valid;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
|
||||
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
|
||||
@ -93,4 +94,10 @@ public class AppStoreOrderController {
|
||||
return success(storeOrderService.refund(orderId));
|
||||
}
|
||||
|
||||
@GetMapping("/reduction")
|
||||
@Operation(summary = "减免")
|
||||
public CommonResult<Boolean> reduction(Long orderId, BigDecimal money){
|
||||
storeOrderService.reduction(orderId,money);
|
||||
return CommonResult.success(true);
|
||||
}
|
||||
}
|
@ -6,21 +6,28 @@ import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.storegoods.vo.StoreGoodsPageReqVO;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.storegoods.vo.StoreGoodsSaveReqVO;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.storegoods.vo.StoreSaleGoodsPageVO;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.storeorder.vo.StoreOrderPageVO;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.storegoodsinventory.vo.AddReqVO;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.storegoodsinventory.vo.GoodsInfoReqVO;
|
||||
import cn.iocoder.yudao.module.member.dal.dataobject.storegoods.StoreGoodsDO;
|
||||
import cn.iocoder.yudao.module.member.dal.dataobject.storesalegoods.StoreSaleGoodsDO;
|
||||
import cn.iocoder.yudao.module.member.dal.mysql.storegoods.StoreGoodsMapper;
|
||||
import cn.iocoder.yudao.module.member.dal.mysql.storesalegoods.StoreSaleGoodsMapper;
|
||||
import cn.iocoder.yudao.module.member.enums.InventoryTypeEnum;
|
||||
import cn.iocoder.yudao.module.member.enums.OutTypeEnum;
|
||||
import cn.iocoder.yudao.module.member.service.storegoodsinventory.StoreGoodsInventoryService;
|
||||
import cn.iocoder.yudao.module.system.api.carteen.CarteenApi;
|
||||
import cn.iocoder.yudao.module.system.api.carteen.dto.CarteenRespDto;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
|
||||
import static cn.iocoder.yudao.module.member.enums.ErrorCodeConstants.STORE_GOODS_IS_SALE;
|
||||
@ -39,14 +46,37 @@ public class StoreGoodsServiceImpl implements StoreGoodsService {
|
||||
private StoreGoodsMapper storeGoodsMapper;
|
||||
@Resource
|
||||
private StoreSaleGoodsMapper storeSaleGoodsMapper;
|
||||
@Resource
|
||||
private CarteenApi carteenApi;
|
||||
@Resource
|
||||
private StoreGoodsInventoryService storeGoodsInventoryService;
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Integer createStoreGoods(StoreGoodsSaveReqVO createReqVO) {
|
||||
// 插入
|
||||
StoreGoodsDO storeGoods = BeanUtils.toBean(createReqVO, StoreGoodsDO.class);
|
||||
storeGoodsMapper.insert(storeGoods);
|
||||
Integer goodsId = storeGoods.getGoodsId();
|
||||
//给每家店添加库存
|
||||
List<CarteenRespDto> carteenList = carteenApi.getCarteenList();
|
||||
List<GoodsInfoReqVO> list = new ArrayList<>();
|
||||
AddReqVO addReqVO = new AddReqVO();
|
||||
for (CarteenRespDto dto:carteenList){
|
||||
GoodsInfoReqVO vo = new GoodsInfoReqVO();
|
||||
vo.setGoodsId(goodsId);
|
||||
vo.setNumber(0);
|
||||
vo.setWeight(0d);
|
||||
vo.setCarteenId(dto.getId());
|
||||
list.add(vo);
|
||||
}
|
||||
//库存
|
||||
addReqVO.setList(list);
|
||||
addReqVO.setType(InventoryTypeEnum.IN.getCode());
|
||||
addReqVO.setOutType(OutTypeEnum.SYSTEM_ADD.getCode());
|
||||
storeGoodsInventoryService.createStoreGoodsInventoryBySale(addReqVO);
|
||||
// 返回
|
||||
return storeGoods.getGoodsId();
|
||||
return goodsId;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -87,6 +87,7 @@ public class StoreGoodsInventoryServiceImpl implements StoreGoodsInventoryServic
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void createStoreGoodsInventoryBySale(AddReqVO createReqVO) {
|
||||
List<GoodsInfoReqVO> list = createReqVO.getList();
|
||||
for (GoodsInfoReqVO vo : list) {
|
||||
|
@ -1,7 +1,6 @@
|
||||
package cn.iocoder.yudao.module.member.service.storesalegoods;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.storegoodsinventory.vo.AddReqVO;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.storesalegoods.vo.StoreSaleGoodsPageReqVO;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.storesalegoods.vo.StoreSaleGoodsSaveBatchVO;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.storesalegoods.vo.StoreSaleGoodsSaveReqVO;
|
||||
@ -24,7 +23,7 @@ public interface StoreSaleGoodsService {
|
||||
* @param createReqVO 创建信息
|
||||
* @return 编号
|
||||
*/
|
||||
AddReqVO createStoreSaleGoods(@Valid StoreSaleGoodsSaveBatchVO createReqVO);
|
||||
Integer createStoreSaleGoods(@Valid StoreSaleGoodsSaveBatchVO createReqVO);
|
||||
|
||||
/**
|
||||
* 更新售卖商品
|
||||
|
@ -4,8 +4,6 @@ import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.storegoodsinventory.vo.AddReqVO;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.storegoodsinventory.vo.GoodsInfoReqVO;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.storesalegoods.vo.StoreSaleGoodsPageReqVO;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.storesalegoods.vo.StoreSaleGoodsSaveBatchVO;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.storesalegoods.vo.StoreSaleGoodsSaveReqVO;
|
||||
@ -13,8 +11,6 @@ import cn.iocoder.yudao.module.member.controller.app.store.dto.StoreGoodsDto;
|
||||
import cn.iocoder.yudao.module.member.controller.app.store.dto.StoreSaleGoodsDto;
|
||||
import cn.iocoder.yudao.module.member.dal.dataobject.storesalegoods.StoreSaleGoodsDO;
|
||||
import cn.iocoder.yudao.module.member.dal.mysql.storesalegoods.StoreSaleGoodsMapper;
|
||||
import cn.iocoder.yudao.module.member.enums.InventoryTypeEnum;
|
||||
import cn.iocoder.yudao.module.member.enums.OutTypeEnum;
|
||||
import cn.iocoder.yudao.module.member.service.storegoodsinventory.StoreGoodsInventoryService;
|
||||
import cn.iocoder.yudao.module.system.api.cashregisterinfo.CashregisterinfoApi;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
@ -51,11 +47,9 @@ public class StoreSaleGoodsServiceImpl implements StoreSaleGoodsService {
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public AddReqVO createStoreSaleGoods(StoreSaleGoodsSaveBatchVO createReqVO) {
|
||||
public Integer createStoreSaleGoods(StoreSaleGoodsSaveBatchVO createReqVO) {
|
||||
List<StoreSaleGoodsDO> addList = new ArrayList<>();
|
||||
|
||||
AddReqVO addReqVO = new AddReqVO();
|
||||
List<GoodsInfoReqVO> list = new ArrayList<>();
|
||||
List<Long> carteenIds = createReqVO.getCarteenIds();
|
||||
List<Integer> goodsIds = createReqVO.getGoodsIds();
|
||||
for (Long carteenId : carteenIds) {
|
||||
@ -71,24 +65,10 @@ public class StoreSaleGoodsServiceImpl implements StoreSaleGoodsService {
|
||||
storeSaleGoods.setCarteenId(carteenId);
|
||||
storeSaleGoods.setGoodsId(goodsId);
|
||||
addList.add(storeSaleGoods);
|
||||
|
||||
GoodsInfoReqVO vo = new GoodsInfoReqVO();
|
||||
vo.setGoodsId(goodsId);
|
||||
vo.setNumber(createReqVO.getNumber());
|
||||
vo.setWeight(0d);
|
||||
vo.setCarteenId(carteenId);
|
||||
list.add(vo);
|
||||
|
||||
}
|
||||
}
|
||||
storeSaleGoodsMapper.insertBatch(addList);
|
||||
//库存
|
||||
addReqVO.setList(list);
|
||||
addReqVO.setType(InventoryTypeEnum.IN.getCode());
|
||||
addReqVO.setOutType(OutTypeEnum.SYSTEM_ADD.getCode());
|
||||
storeGoodsInventoryService.createStoreGoodsInventoryBySale(addReqVO);
|
||||
|
||||
return addReqVO;
|
||||
return addList.size();
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -107,8 +87,6 @@ public class StoreSaleGoodsServiceImpl implements StoreSaleGoodsService {
|
||||
wrapper.in(StoreSaleGoodsDO::getId, Arrays.asList(split));
|
||||
// 删除
|
||||
storeSaleGoodsMapper.delete(wrapper);
|
||||
//库存清零
|
||||
|
||||
}
|
||||
|
||||
private void validateStoreSaleGoodsExists(Long id) {
|
||||
|
Reference in New Issue
Block a user