|
|
@ -26,16 +26,25 @@ |
|
|
|
package com.yxt.anrui.buscenter.biz.bussalesorderdiscount; |
|
|
|
|
|
|
|
import cn.hutool.core.bean.BeanUtil; |
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage; |
|
|
|
import com.yxt.anrui.buscenter.api.bussalesorderdiscount.*; |
|
|
|
import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrder; |
|
|
|
import com.yxt.anrui.buscenter.api.bussalesorderdiscount.BusSalesOrderDiscount; |
|
|
|
import com.yxt.anrui.buscenter.api.bussalesorderdiscount.BusSalesOrderDiscountDetailsVo; |
|
|
|
import com.yxt.anrui.buscenter.api.bussalesorderdiscount.BusSalesOrderDiscountDto; |
|
|
|
import com.yxt.anrui.buscenter.api.bussalesorderdiscount.app.AppBusSalesOrderDiscountDto; |
|
|
|
import com.yxt.anrui.buscenter.api.bussalesorderdiscount.app.AppBusSalesOrderDiscountListVo; |
|
|
|
import com.yxt.anrui.buscenter.api.bussalesorderdiscount.app.AppDiscountInfoDto; |
|
|
|
import com.yxt.anrui.buscenter.biz.bussalesorder.BusSalesOrderService; |
|
|
|
import com.yxt.common.base.service.MybatisBaseService; |
|
|
|
import com.yxt.common.base.utils.PagerUtil; |
|
|
|
import com.yxt.common.core.query.PagerQuery; |
|
|
|
import com.yxt.common.core.vo.PagerVo; |
|
|
|
import com.yxt.common.base.utils.StringUtils; |
|
|
|
import com.yxt.common.core.result.ResultBean; |
|
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
|
import org.springframework.stereotype.Service; |
|
|
|
|
|
|
|
import java.math.BigDecimal; |
|
|
|
import java.util.ArrayList; |
|
|
|
import java.util.List; |
|
|
|
import java.util.Objects; |
|
|
|
import java.util.stream.Collectors; |
|
|
|
|
|
|
|
/** |
|
|
|
* Project: anrui-buscenter(业务管理) <br/> |
|
|
@ -52,7 +61,10 @@ import java.util.List; |
|
|
|
*/ |
|
|
|
@Service |
|
|
|
public class BusSalesOrderDiscountService extends MybatisBaseService<BusSalesOrderDiscountMapper, BusSalesOrderDiscount> { |
|
|
|
|
|
|
|
|
|
|
|
@Autowired |
|
|
|
private BusSalesOrderService busSalesOrderService; |
|
|
|
|
|
|
|
public void saveDiscount(List<BusSalesOrderDiscountDto> busSalesOrderDiscountList, String sid) { |
|
|
|
//删除原有的
|
|
|
|
baseMapper.deleteList(sid); |
|
|
@ -83,4 +95,69 @@ public class BusSalesOrderDiscountService extends MybatisBaseService<BusSalesOrd |
|
|
|
public int deleteByOrderSid(String sid) { |
|
|
|
return baseMapper.deleteByOrderSid(sid); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 根据销售订单sid查询主车优惠明细信息 |
|
|
|
* |
|
|
|
* @param sid 销售订单sid |
|
|
|
* @return |
|
|
|
*/ |
|
|
|
public ResultBean<List<AppBusSalesOrderDiscountListVo>> getDiscountList(String sid) { |
|
|
|
ResultBean<List<AppBusSalesOrderDiscountListVo>> rb = ResultBean.fireFail(); |
|
|
|
List<AppBusSalesOrderDiscountListVo> list = baseMapper.getDiscountList(sid); |
|
|
|
list.parallelStream().filter(Objects::nonNull).collect(Collectors.toList()); |
|
|
|
if (!list.isEmpty()) { |
|
|
|
for (AppBusSalesOrderDiscountListVo discountListVo : list) { |
|
|
|
if (StringUtils.isNotBlank(discountListVo.getDiscountExplain())) { |
|
|
|
discountListVo.setExplain(discountListVo.getDiscountExplain()); |
|
|
|
} |
|
|
|
} |
|
|
|
} else { |
|
|
|
list = new ArrayList<>(); |
|
|
|
} |
|
|
|
return rb.success().setData(list); |
|
|
|
} |
|
|
|
|
|
|
|
public ResultBean saveDiscountInfo(AppBusSalesOrderDiscountDto dto) { |
|
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
|
String salesOrderSid = dto.getSaleOrderSid(); |
|
|
|
BusSalesOrder busSalesOrder = busSalesOrderService.fetchBySid(salesOrderSid); |
|
|
|
if (busSalesOrder == null) { |
|
|
|
return rb.setMsg("该销售订单不存在"); |
|
|
|
} |
|
|
|
AppDiscountInfoDto appDiscountInfoDto = dto.getInfo(); |
|
|
|
String salesPolicySid = appDiscountInfoDto.getSalesPolicySid(); |
|
|
|
BusSalesOrderDiscount busSalesOrderDiscount1 = baseMapper.getNum(salesOrderSid, salesPolicySid); |
|
|
|
if (busSalesOrderDiscount1 == null) { |
|
|
|
BusSalesOrderDiscount busSalesOrderDiscount = new BusSalesOrderDiscount(); |
|
|
|
BeanUtil.copyProperties(appDiscountInfoDto, busSalesOrderDiscount, "sid"); |
|
|
|
busSalesOrderDiscount.setSalesOrderSid(salesOrderSid); |
|
|
|
if (StringUtils.isNotBlank(appDiscountInfoDto.getPrice())) { |
|
|
|
busSalesOrderDiscount.setTotalValue(new BigDecimal(appDiscountInfoDto.getPrice()).multiply(new BigDecimal(appDiscountInfoDto.getNum().toString())).toString()); |
|
|
|
} |
|
|
|
save(busSalesOrderDiscount); |
|
|
|
} else { |
|
|
|
int numAll = busSalesOrderDiscount1.getNum() + Integer.parseInt(appDiscountInfoDto.getNum()); |
|
|
|
baseMapper.updateNum(salesOrderSid, salesPolicySid, numAll); |
|
|
|
} |
|
|
|
|
|
|
|
return rb.success().setMsg("成功"); |
|
|
|
} |
|
|
|
|
|
|
|
public ResultBean deleteDiscount(String orderSid, String sid) { |
|
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
|
BusSalesOrder busSalesOrder = busSalesOrderService.fetchBySid(orderSid); |
|
|
|
if (busSalesOrder == null) { |
|
|
|
return rb.setMsg("该销售订单单据不存在"); |
|
|
|
} |
|
|
|
BusSalesOrderDiscount busSalesOrderDiscount = fetchBySid(sid); |
|
|
|
if (busSalesOrderDiscount == null) { |
|
|
|
return rb.setMsg("销售订单该主车优惠信息不存在"); |
|
|
|
} |
|
|
|
if (!busSalesOrderDiscount.getSalesOrderSid().equals(orderSid)) { |
|
|
|
return rb.setMsg("该主车优惠信息不属于该销售订单"); |
|
|
|
} |
|
|
|
deleteBySid(sid); |
|
|
|
return rb.success().setMsg("成功"); |
|
|
|
} |
|
|
|
} |