From 34d388dde4577ff2439446266722c3cff550d74c Mon Sep 17 00:00:00 2001 From: Houpn Date: Mon, 25 Sep 2023 14:05:08 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=9F=A5=E8=AF=A2=E5=85=A8?= =?UTF-8?q?=E9=83=A8=E8=AE=A2=E5=8D=95=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../hiver/mall/controller/SaleController.java | 97 ++++++++++++++++--- .../hiver/mall/pojo/vo/SaleReturnListVO.java | 23 +++++ .../java/cc/hiver/mall/pojo/vo/SaleVO.java | 3 + 3 files changed, 111 insertions(+), 12 deletions(-) create mode 100644 hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/pojo/vo/SaleReturnListVO.java diff --git a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/controller/SaleController.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/controller/SaleController.java index 48aa01fa..7ab8e818 100644 --- a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/controller/SaleController.java +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/controller/SaleController.java @@ -16,6 +16,7 @@ import cc.hiver.mall.pojo.dto.SaleQueryDTO; import cc.hiver.mall.pojo.vo.*; import cc.hiver.mall.service.*; import cc.hiver.mall.service.mybatis.CustomerService; +import cc.hiver.mall.service.mybatis.ReturnSaleService; import cc.hiver.mall.service.mybatis.SaleDetailService; import cc.hiver.mall.service.mybatis.SaleService; import cn.hutool.core.util.StrUtil; @@ -30,6 +31,7 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.util.ObjectUtils; import org.springframework.web.bind.annotation.*; +import java.math.BigDecimal; import java.time.LocalDate; import java.time.format.DateTimeFormatter; import java.util.ArrayList; @@ -78,6 +80,9 @@ public class SaleController { @Autowired private SecurityUtil securityUtil; + @Autowired + private ReturnSaleService returnSaleService; + @RequestMapping(value = "/buy", method = RequestMethod.POST) @ApiOperation(value = "下单操作") @@ -127,20 +132,25 @@ public class SaleController { } @RequestMapping(value = "/edit", method = RequestMethod.POST) - @ApiOperation(value = "根据id修改货品属性") + @ApiOperation(value = "根据id修改销售属性") public Result edit(@RequestBody SaleQueryVO saleQueryVO) { - Sale sale = saleQueryVO.getSale(); - List saleDetailList = saleQueryVO.getSaleDetailList(); - boolean result = saleService.updateById(sale); - if(result) { - QueryWrapper deleteWrapper = new QueryWrapper<>(); - deleteWrapper.eq("sale_id",sale.getId()); - boolean removeBatchByIds = saleDetailService.remove(deleteWrapper); - if (removeBatchByIds){ - return saleDetailService.saveBatch(saleDetailList)?ResultUtil.success("修改成功"):ResultUtil.error("修改失败"); - } + //下单以后不能修改订单明细了,否则还需要重新核对库存 + Sale saleRequest = saleQueryVO.getSale(); + String saleId = saleRequest.getId(); + Sale sale = saleService.getById(saleId); + org.springframework.beans.BeanUtils.copyProperties(saleRequest, sale, BeanUtils.getNullPropertyNames(saleRequest)); + BigDecimal realAmount = saleRequest.getRealAmount(); + BigDecimal alreadyEarn = saleRequest.getAlreadyEarn(); + if(realAmount.subtract(alreadyEarn).compareTo(BigDecimal.ZERO)>0 && alreadyEarn.compareTo(BigDecimal.ZERO)>0){ + sale.setPayStatus("2"); + } else if (realAmount.subtract(alreadyEarn).compareTo(BigDecimal.ZERO)==0){ + sale.setPayStatus("1"); + } else { + sale.setPayStatus("0"); } - return ResultUtil.error("修改失败"); + saleService.saveOrUpdate(sale); + + return ResultUtil.success("修改成功!"); } @RequestMapping(value = "/delById", method = RequestMethod.POST) @@ -187,6 +197,69 @@ public class SaleController { return new ResultUtil>().setData(saleList); } + @RequestMapping(value = "/listAll", method = RequestMethod.POST) + @ApiOperation(value = "下游客户查询全部订单列表") + public Result querySRAll(@RequestBody SaleVO saleVO) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + if (!ObjectUtils.isEmpty(saleVO)){ + if (!StringUtils.isEmpty(saleVO.getPayStatus())) queryWrapper.eq("pay_status",saleVO.getPayStatus()); + if (!StringUtils.isEmpty(saleVO.getStatus())) queryWrapper.eq("status",saleVO.getStatus()); + if (!StringUtils.isEmpty(saleVO.getTransportType())) queryWrapper.eq("transport_type",saleVO.getTransportType()); + if (!StringUtils.isEmpty(saleVO.getUserId())) queryWrapper.eq("user_id",saleVO.getUserId()); + if (!StringUtils.isEmpty(saleVO.getShopId())) queryWrapper.eq("shop_id",saleVO.getShopId()); + SearchDateVo searchDateVo = saleVO.getSearchDateVo(); + if (!ObjectUtils.isEmpty(searchDateVo) && !searchDateVo.isAnyFieldEmpty()){ + Date endDate = searchDateVo.getEndDate(); + Date startDate = searchDateVo.getStartDate(); + if(!ObjectUtils.isEmpty(startDate) && !ObjectUtils.isEmpty(endDate)){ + queryWrapper.between("create_time",startDate,endDate); + }else if(!ObjectUtils.isEmpty(startDate)){ + queryWrapper.ge("create_time",startDate); + }else if(!ObjectUtils.isEmpty(endDate)){ + queryWrapper.le("create_time",endDate); + } + } + //默认加一个时间排序 + queryWrapper.orderByDesc("create_time"); + } + QueryWrapper queryRWrapper = new QueryWrapper<>(); + if (!ObjectUtils.isEmpty(saleVO)){ + if (!StringUtils.isEmpty(saleVO.getPayStatus())) queryRWrapper.eq("pay_status",saleVO.getPayStatus()); + if (!StringUtils.isEmpty(saleVO.getStatus())) queryRWrapper.eq("status",saleVO.getStatus()); + if (!StringUtils.isEmpty(saleVO.getTransportType())) queryRWrapper.eq("transport_type",saleVO.getTransportType()); + if (!StringUtils.isEmpty(saleVO.getUserId())) queryRWrapper.eq("user_id",saleVO.getUserId()); + if (!StringUtils.isEmpty(saleVO.getShopId())) queryRWrapper.eq("shop_id",saleVO.getShopId()); + SearchDateVo searchDateVo = saleVO.getSearchDateVo(); + if (!ObjectUtils.isEmpty(searchDateVo) && !searchDateVo.isAnyFieldEmpty()){ + Date endDate = searchDateVo.getEndDate(); + Date startDate = searchDateVo.getStartDate(); + if(!ObjectUtils.isEmpty(startDate) && !ObjectUtils.isEmpty(endDate)){ + queryRWrapper.between("create_time",startDate,endDate); + }else if(!ObjectUtils.isEmpty(startDate)){ + queryRWrapper.ge("create_time",startDate); + }else if(!ObjectUtils.isEmpty(endDate)){ + queryRWrapper.le("create_time",endDate); + } + } + //默认加一个时间排序 + queryRWrapper.orderByDesc("create_time"); + } + List saleList = new ArrayList<>(); + List returnSaleList = new ArrayList<>(); + if("2".equals(saleVO.getRemarkSR())){ + saleList = saleService.list(queryWrapper); + }else if("3".equals(saleVO.getRemarkSR())){ + returnSaleList = returnSaleService.list(queryRWrapper); + }else{ + saleList = saleService.list(queryWrapper); + returnSaleList = returnSaleService.list(queryRWrapper); + } + SaleReturnListVO saleReturnListVO = new SaleReturnListVO(); + saleReturnListVO.setSaleList(saleList); + saleReturnListVO.setReturnSaleList(returnSaleList); + return new ResultUtil().setData(saleReturnListVO); + } + @RequestMapping(value = "/listPages", method = RequestMethod.POST) @ApiOperation(value = "根据条件获得分页") public Result> queryPage(@RequestBody SaleVO saleVO) { diff --git a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/pojo/vo/SaleReturnListVO.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/pojo/vo/SaleReturnListVO.java new file mode 100644 index 00000000..aeb37dfb --- /dev/null +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/pojo/vo/SaleReturnListVO.java @@ -0,0 +1,23 @@ +package cc.hiver.mall.pojo.vo; + +import cc.hiver.mall.entity.ReturnSale; +import cc.hiver.mall.entity.Sale; +import cc.hiver.mall.pojo.dto.SaleDetailDTO; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +@ApiModel(value = "全部单据列表") +@Data +public class SaleReturnListVO implements Serializable { + + @ApiModelProperty(value = "订单列表") + private List saleList; + + @ApiModelProperty(value = "退货单列表") + private List returnSaleList; + +} \ No newline at end of file diff --git a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/pojo/vo/SaleVO.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/pojo/vo/SaleVO.java index 6114f0a1..dea66ce2 100644 --- a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/pojo/vo/SaleVO.java +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/pojo/vo/SaleVO.java @@ -16,6 +16,9 @@ import java.util.List; @ApiModel(value = "销售单主表") public class SaleVO implements Serializable { + @ApiModelProperty(value = "1-全部订单 2-订单列表 3-退货列表") + private String remarkSR; + @ApiModelProperty(value = "收款状态 0-未收款 1-已收款 2-部分收款") private String payStatus;