|
|
@ -16,6 +16,7 @@ import cc.hiver.mall.pojo.dto.SaleQueryDTO; |
|
|
import cc.hiver.mall.pojo.vo.*; |
|
|
import cc.hiver.mall.pojo.vo.*; |
|
|
import cc.hiver.mall.service.*; |
|
|
import cc.hiver.mall.service.*; |
|
|
import cc.hiver.mall.service.mybatis.CustomerService; |
|
|
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.SaleDetailService; |
|
|
import cc.hiver.mall.service.mybatis.SaleService; |
|
|
import cc.hiver.mall.service.mybatis.SaleService; |
|
|
import cn.hutool.core.util.StrUtil; |
|
|
import cn.hutool.core.util.StrUtil; |
|
|
@ -30,6 +31,7 @@ import org.springframework.transaction.annotation.Transactional; |
|
|
import org.springframework.util.ObjectUtils; |
|
|
import org.springframework.util.ObjectUtils; |
|
|
import org.springframework.web.bind.annotation.*; |
|
|
import org.springframework.web.bind.annotation.*; |
|
|
|
|
|
|
|
|
|
|
|
import java.math.BigDecimal; |
|
|
import java.time.LocalDate; |
|
|
import java.time.LocalDate; |
|
|
import java.time.format.DateTimeFormatter; |
|
|
import java.time.format.DateTimeFormatter; |
|
|
import java.util.ArrayList; |
|
|
import java.util.ArrayList; |
|
|
@ -78,6 +80,9 @@ public class SaleController { |
|
|
@Autowired |
|
|
@Autowired |
|
|
private SecurityUtil securityUtil; |
|
|
private SecurityUtil securityUtil; |
|
|
|
|
|
|
|
|
|
|
|
@Autowired |
|
|
|
|
|
private ReturnSaleService returnSaleService; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@RequestMapping(value = "/buy", method = RequestMethod.POST) |
|
|
@RequestMapping(value = "/buy", method = RequestMethod.POST) |
|
|
@ApiOperation(value = "下单操作") |
|
|
@ApiOperation(value = "下单操作") |
|
|
@ -127,20 +132,25 @@ public class SaleController { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@RequestMapping(value = "/edit", method = RequestMethod.POST) |
|
|
@RequestMapping(value = "/edit", method = RequestMethod.POST) |
|
|
@ApiOperation(value = "根据id修改货品属性") |
|
|
@ApiOperation(value = "根据id修改销售属性") |
|
|
public Result edit(@RequestBody SaleQueryVO saleQueryVO) { |
|
|
public Result edit(@RequestBody SaleQueryVO saleQueryVO) { |
|
|
Sale sale = saleQueryVO.getSale(); |
|
|
//下单以后不能修改订单明细了,否则还需要重新核对库存
|
|
|
List<SaleDetail> saleDetailList = saleQueryVO.getSaleDetailList(); |
|
|
Sale saleRequest = saleQueryVO.getSale(); |
|
|
boolean result = saleService.updateById(sale); |
|
|
String saleId = saleRequest.getId(); |
|
|
if(result) { |
|
|
Sale sale = saleService.getById(saleId); |
|
|
QueryWrapper<SaleDetail> deleteWrapper = new QueryWrapper<>(); |
|
|
org.springframework.beans.BeanUtils.copyProperties(saleRequest, sale, BeanUtils.getNullPropertyNames(saleRequest)); |
|
|
deleteWrapper.eq("sale_id",sale.getId()); |
|
|
BigDecimal realAmount = saleRequest.getRealAmount(); |
|
|
boolean removeBatchByIds = saleDetailService.remove(deleteWrapper); |
|
|
BigDecimal alreadyEarn = saleRequest.getAlreadyEarn(); |
|
|
if (removeBatchByIds){ |
|
|
if(realAmount.subtract(alreadyEarn).compareTo(BigDecimal.ZERO)>0 && alreadyEarn.compareTo(BigDecimal.ZERO)>0){ |
|
|
return saleDetailService.saveBatch(saleDetailList)?ResultUtil.success("修改成功"):ResultUtil.error("修改失败"); |
|
|
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) |
|
|
@RequestMapping(value = "/delById", method = RequestMethod.POST) |
|
|
@ -187,6 +197,69 @@ public class SaleController { |
|
|
return new ResultUtil<List<Sale>>().setData(saleList); |
|
|
return new ResultUtil<List<Sale>>().setData(saleList); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@RequestMapping(value = "/listAll", method = RequestMethod.POST) |
|
|
|
|
|
@ApiOperation(value = "下游客户查询全部订单列表") |
|
|
|
|
|
public Result<SaleReturnListVO> querySRAll(@RequestBody SaleVO saleVO) { |
|
|
|
|
|
QueryWrapper<Sale> 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<ReturnSale> 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<Sale> saleList = new ArrayList<>(); |
|
|
|
|
|
List<ReturnSale> 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<SaleReturnListVO>().setData(saleReturnListVO); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
@RequestMapping(value = "/listPages", method = RequestMethod.POST) |
|
|
@RequestMapping(value = "/listPages", method = RequestMethod.POST) |
|
|
@ApiOperation(value = "根据条件获得分页") |
|
|
@ApiOperation(value = "根据条件获得分页") |
|
|
public Result<Page<Sale>> queryPage(@RequestBody SaleVO saleVO) { |
|
|
public Result<Page<Sale>> queryPage(@RequestBody SaleVO saleVO) { |
|
|
|