diff --git a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/controller/ReturnSaleController.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/controller/ReturnSaleController.java index 96b0fd84..bec29d93 100644 --- a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/controller/ReturnSaleController.java +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/controller/ReturnSaleController.java @@ -5,8 +5,10 @@ import cc.hiver.core.common.utils.ResultUtil; import cc.hiver.core.common.utils.SecurityUtil; import cc.hiver.core.common.utils.StringUtils; import cc.hiver.core.common.vo.Result; +import cc.hiver.core.common.vo.SearchDateVo; import cc.hiver.mall.entity.*; import cc.hiver.mall.pojo.dto.*; +import cc.hiver.mall.pojo.vo.SaleComVO; import cc.hiver.mall.pojo.vo.SaleQueryVO; import cc.hiver.mall.pojo.vo.SaleReturnVO; import cc.hiver.mall.pojo.vo.SaleVO; @@ -17,6 +19,7 @@ import cc.hiver.mall.service.mybatis.SaleDetailService; import cc.hiver.mall.service.mybatis.SaleService; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; @@ -27,6 +30,7 @@ import org.springframework.util.ObjectUtils; import org.springframework.web.bind.annotation.*; import java.util.ArrayList; +import java.util.Date; import java.util.List; @Slf4j @@ -85,7 +89,7 @@ public class ReturnSaleController { SaleReturnVO saleReturnVO = new SaleReturnVO(); ReturnSale returnSale = returnSaleService.getById(id); saleReturnVO.setReturnSale(returnSale); - QueryWrapper queryWrapper = new QueryWrapper<>(); + QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.select("product_id") .eq("sale_id",id) .groupBy("product_id"); @@ -182,12 +186,88 @@ public class ReturnSaleController { //扣减库存 stockAndLogService.handleRetIncStockLog(returnSaleDetailDTO); //更新原订单及明细 + ReturnSale returnSale = returnSaleService.getById(id); + returnSale.setStatus("5"); + returnSale.setUpdateTime(new Date()); + returnSaleService.saveOrUpdate(returnSale); + return ResultUtil.success("确认收货成功!"); + } + } + @RequestMapping(value = "/listPages", method = RequestMethod.POST) + @ApiOperation(value = "退货--根据条件获得分页") + public Result> queryPage(@RequestBody SaleComVO saleComVO) { + Page page = null; + QueryWrapper queryWrapper = new QueryWrapper<>(); + if (!ObjectUtils.isEmpty(saleComVO)){ + if (!StringUtils.isEmpty(saleComVO.getShopId())) queryWrapper.eq("shop_id",saleComVO.getShopId()); + queryWrapper.ne("status","5"); + SearchDateVo searchDateVo = saleComVO.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); + } + } + if (!ObjectUtils.isEmpty(saleComVO.getPageVo())){ + page = new Page<>(saleComVO.getPageVo().getPageNumber(),saleComVO.getPageVo().getPageSize()); + } + //默认加一个时间排序 + queryWrapper.orderByDesc("create_time"); + } else { + return new ResultUtil().setErrorMsg("请输入查询条件后再查询!"); + } + Page saleList = returnSaleService.page(page,queryWrapper); + return new ResultUtil>().setData(saleList); + } + @RequestMapping(value = "/list", method = RequestMethod.POST) + @ApiOperation(value = "退货-根据条件获得列表") + public Result> queryAll(@RequestBody SaleComVO saleComVO) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + if (!ObjectUtils.isEmpty(saleComVO)){ + if (!StringUtils.isEmpty(saleComVO.getShopId())) queryWrapper.eq("shop_id",saleComVO.getShopId()); + queryWrapper.ne("status","5"); + SearchDateVo searchDateVo = saleComVO.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"); + } + List saleList = returnSaleService.list(queryWrapper); + return new ResultUtil>().setData(saleList); + } - return ResultUtil.error("确认收货成功!"); + @RequestMapping(value = "/edit", method = RequestMethod.POST) + @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("修改失败"); + } } + return ResultUtil.error("修改失败"); } } diff --git a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/entity/ReturnSale.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/entity/ReturnSale.java index b481d034..ba887c61 100644 --- a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/entity/ReturnSale.java +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/entity/ReturnSale.java @@ -60,7 +60,7 @@ public class ReturnSale implements Serializable { @ApiModelProperty(value = "收款状态 0-未收款 1-已收款") private String payStatus; - @ApiModelProperty(value = "订单状态 0-拣货中 1-已提交抢单 2-已取货 3-已送达") + @ApiModelProperty(value = "订单状态 1-拣货中 2-已预定 3-已作废 4-已取货 5-已送达") private String status; @ApiModelProperty(value = "物流类别 0-物流 1-快递 2-自提 3-拼单") diff --git a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/pojo/vo/SaleComVO.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/pojo/vo/SaleComVO.java new file mode 100644 index 00000000..bbfdb63b --- /dev/null +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/pojo/vo/SaleComVO.java @@ -0,0 +1,25 @@ +package cc.hiver.mall.pojo.vo; + +import cc.hiver.core.common.vo.PageVo; +import cc.hiver.core.common.vo.SearchDateVo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +@Data +@ApiModel(value = "销售单主表") +public class SaleComVO implements Serializable { + + + @ApiModelProperty(value = "店铺ID") + private String shopId; + + @ApiModelProperty(value = "日期查询参数") + private SearchDateVo searchDateVo; + + @ApiModelProperty(value = "分页参数") + private PageVo pageVo; + +} \ No newline at end of file diff --git a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/SalesAndDetailsServiceImpl.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/SalesAndDetailsServiceImpl.java index 5e7263c3..3ab316b6 100644 --- a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/SalesAndDetailsServiceImpl.java +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/SalesAndDetailsServiceImpl.java @@ -210,6 +210,9 @@ public class SalesAndDetailsServiceImpl implements SalesAndDetailsService { ReturnSale returnSale = new ReturnSale(); returnSale.setCreateTime(new Date()); BeanUtils.copyBeanProp(returnSale,sale); + //重置退单状态和运送公司 + returnSale.setStatus("1"); + returnSale.setTransCompany(null); returnSale.setSaleId(id); returnSaleService.save(returnSale); diff --git a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/mybatis/ReturnDetailServiceImpl.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/mybatis/ReturnDetailServiceImpl.java index 6b18f58f..d865ebe2 100644 --- a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/mybatis/ReturnDetailServiceImpl.java +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/mybatis/ReturnDetailServiceImpl.java @@ -19,11 +19,11 @@ public class ReturnDetailServiceImpl extends ServiceImpl selectByCondition1(QueryWrapper queryWrapper) { - List list = returnSaleMapper.selectObjs(queryWrapper); + List list = returnDetailMapper.selectObjs(queryWrapper); return list; } }