Browse Source

销售订单-移动端主车优惠列表、主车优惠保存、删除主车优惠

master
dimengzhe 3 years ago
parent
commit
4ff280cff1
  1. 6
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basediscountpackage/BaseDiscountpackageService.java
  2. 19
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderdiscount/BusSalesOrderDiscountFeign.java
  3. 16
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderdiscount/BusSalesOrderDiscountFeignFallback.java
  4. 20
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderdiscount/app/AppBusSalesOrderDiscountDto.java
  5. 30
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderdiscount/app/AppBusSalesOrderDiscountListVo.java
  6. 26
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderdiscount/app/AppDiscountInfoDto.java
  7. 42
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderdiscount/BusSalesOrderDiscountMapper.java
  8. 21
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderdiscount/BusSalesOrderDiscountMapper.xml
  9. 30
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderdiscount/BusSalesOrderDiscountRest.java
  10. 91
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderdiscount/BusSalesOrderDiscountService.java
  11. 17
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/AppBusSalesOrderFeign.java
  12. 17
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/AppBusSalesOrderFeignFallback.java
  13. 32
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/deposit/DepositVo.java
  14. 21
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/deposit/ModelListVo.java
  15. 20
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/discount/DiscountDto.java
  16. 33
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/discount/DiscountInfo.java
  17. 27
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/discount/DiscountListVo.java
  18. 19
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/discount/DiscountVo.java
  19. 3
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/topinfo/TopDto.java
  20. 17
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/saleOrders/AppBusSalesOrderRest.java
  21. 52
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/saleOrders/AppBusSalesOrderService.java
  22. 120
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/config/CoverUtils.java

6
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basediscountpackage/BaseDiscountpackageService.java

@ -67,8 +67,8 @@ public class BaseDiscountpackageService extends MybatisBaseService<BaseDiscountp
for (BaseDiscountpackagePageListVo record : records) {
String discountMoney = record.getDiscountMoney();
String projectCost = record.getProjectCost();
discountMoney = discountMoney.substring(0,discountMoney.indexOf("."));
projectCost = projectCost.substring(0,projectCost.indexOf("."));
discountMoney = discountMoney.substring(0, discountMoney.indexOf("."));
projectCost = projectCost.substring(0, projectCost.indexOf("."));
record.setDiscountMoney(discountMoney);
record.setProjectCost(projectCost);
}
@ -336,7 +336,7 @@ public class BaseDiscountpackageService extends MybatisBaseService<BaseDiscountp
}
List<AppBaseDiscountpackageVo> voList = baseMapper.getAppPackage(qw);
if (voList.isEmpty()) {
return rb.setData(new ArrayList<>());
voList = new ArrayList<>();
}
for (int i = 0; i < voList.size(); i++) {
if (StringUtils.isNotBlank(voList.get(i).getDiscountExplain())) {

19
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderdiscount/BusSalesOrderDiscountFeign.java

@ -25,11 +25,11 @@
*********************************************************/
package com.yxt.anrui.buscenter.api.bussalesorderdiscount;
import com.yxt.anrui.buscenter.api.bussalesorderdiscount.app.AppBusSalesOrderDiscountDto;
import com.yxt.anrui.buscenter.api.bussalesorderdiscount.app.AppBusSalesOrderDiscountListVo;
import com.yxt.common.core.result.ResultBean;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;
@ -56,5 +56,18 @@ import java.util.List;
fallback = BusSalesOrderDiscountFeignFallback.class)
public interface BusSalesOrderDiscountFeign {
@ApiOperation("查看主车优惠情况")
@GetMapping("/getAppDiscountListVoByOrderSid/{sid}")
@ResponseBody
ResultBean<List<AppBusSalesOrderDiscountListVo>> getDiscountList(@PathVariable(value = "sid") String sid);
@ApiOperation("保存主车优惠")
@PostMapping("/save")
@ResponseBody
ResultBean save(@RequestBody AppBusSalesOrderDiscountDto dto);
@ApiOperation("删除主车优惠")
@PostMapping("/delete")
@ResponseBody
ResultBean delete(@RequestParam(value = "saleOrderSid") String orderSid, @RequestParam(value = "sid") String sid);
}

16
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderdiscount/BusSalesOrderDiscountFeignFallback.java

@ -25,6 +25,8 @@
*********************************************************/
package com.yxt.anrui.buscenter.api.bussalesorderdiscount;
import com.yxt.anrui.buscenter.api.bussalesorderdiscount.app.AppBusSalesOrderDiscountDto;
import com.yxt.anrui.buscenter.api.bussalesorderdiscount.app.AppBusSalesOrderDiscountListVo;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
@ -48,4 +50,18 @@ import java.util.List;
@Component
public class BusSalesOrderDiscountFeignFallback implements BusSalesOrderDiscountFeign {
@Override
public ResultBean<List<AppBusSalesOrderDiscountListVo>> getDiscountList(String sid) {
return null;
}
@Override
public ResultBean save(AppBusSalesOrderDiscountDto dto) {
return null;
}
@Override
public ResultBean delete(String orderSid, String sid) {
return null;
}
}

20
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderdiscount/app/AppBusSalesOrderDiscountDto.java

@ -0,0 +1,20 @@
package com.yxt.anrui.buscenter.api.bussalesorderdiscount.app;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author dimengzhe
* @Date 2022/6/2 13:31
* @Description
*/
@Data
public class AppBusSalesOrderDiscountDto implements Dto {
private static final long serialVersionUID = -6647913733717178890L;
@ApiModelProperty(value = "销售订单sid")
private String saleOrderSid;
private AppDiscountInfoDto info;
}

30
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderdiscount/app/AppBusSalesOrderDiscountListVo.java

@ -0,0 +1,30 @@
package com.yxt.anrui.buscenter.api.bussalesorderdiscount.app;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author dimengzhe
* @Date 2022/6/2 11:07
* @Description
*/
@Data
public class AppBusSalesOrderDiscountListVo implements Vo {
private static final long serialVersionUID = 7529080786475382916L;
@ApiModelProperty(value = "主车优惠sid")
private String discountSid;
@ApiModelProperty(value = "数量")
private String number;
@ApiModelProperty(value = "说明")
private String explain;
@ApiModelProperty(value = "discountExplain")
private String discountExplain;
@ApiModelProperty(value = "价格")
private String price;
@ApiModelProperty(value = "名称")
private String discountName;
@ApiModelProperty(value = "总价")
private String totalPrice;
}

26
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderdiscount/app/AppDiscountInfoDto.java

@ -0,0 +1,26 @@
package com.yxt.anrui.buscenter.api.bussalesorderdiscount.app;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author dimengzhe
* @Date 2022/6/2 13:32
* @Description
*/
@Data
public class AppDiscountInfoDto implements Dto {
private static final long serialVersionUID = -5616343567153286991L;
@ApiModelProperty(value = "优惠数量")
private String num;
@ApiModelProperty(value = "优惠说明")
private String discountExplain;
@ApiModelProperty(value = "价格")
private String price;
@ApiModelProperty(value = "优惠包sid")
private String salesPolicySid;
@ApiModelProperty(value = "优惠包名称")
private String name;
}

42
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderdiscount/BusSalesOrderDiscountMapper.java

@ -25,16 +25,12 @@
*********************************************************/
package com.yxt.anrui.buscenter.biz.bussalesorderdiscount;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.yxt.anrui.buscenter.api.bussalesorderdiscount.BusSalesOrderDiscount;
import com.yxt.anrui.buscenter.api.bussalesorderdiscount.BusSalesOrderDiscountDetailsVo;
import com.yxt.anrui.buscenter.api.bussalesorderdiscount.app.AppBusSalesOrderDiscountListVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import com.yxt.anrui.buscenter.api.bussalesorderdiscount.BusSalesOrderDiscount;
import com.yxt.anrui.buscenter.api.bussalesorderdiscount.BusSalesOrderDiscountVo;
import java.util.List;
@ -53,8 +49,13 @@ import java.util.List;
*/
@Mapper
public interface BusSalesOrderDiscountMapper extends BaseMapper<BusSalesOrderDiscount> {
/**
* 根据销售订单sid删除主车优惠信息
*
* @param sid 销售订单sid
* @return
*/
int deleteList(String sid);
/**
@ -72,4 +73,31 @@ public interface BusSalesOrderDiscountMapper extends BaseMapper<BusSalesOrderDis
* @return
*/
int deleteByOrderSid(String sid);
/**
* 根据销售订单sid查询主车优惠明细信息
*
* @param sid 销售订单sid
* @return
*/
List<AppBusSalesOrderDiscountListVo> getDiscountList(String sid);
/**
* 根据销售订单sid和销售政策sid查询主车优惠
*
* @param salesOrderSid 销售订单sid
* @param salesPolicySid 销售政策sid
* @return
*/
BusSalesOrderDiscount getNum(@Param("sid") String salesOrderSid, @Param("policySid") String salesPolicySid);
/**
* 根据销售政策sid和销售订单sid更新数量
*
* @param salesOrderSid 销售订单sid
* @param salesPolicySid 销售政策sid
* @param numAll 数量
* @return
*/
int updateNum(@Param("sid") String salesOrderSid, @Param("policySid") String salesPolicySid, @Param("num") int numAll);
}

21
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderdiscount/BusSalesOrderDiscountMapper.xml

@ -27,4 +27,25 @@
from bus_sales_order_discount
where salesOrderSid = #{sid}
</delete>
<select id="getDiscountList"
resultType="com.yxt.anrui.buscenter.api.bussalesorderdiscount.app.AppBusSalesOrderDiscountListVo">
select sid as discountSid, num as number, discountExplain, price, name as discountName, totalValue as totalPrice
from bus_sales_order_discount
where salesOrderSid = #{sid}
</select>
<select id="getNum" resultType="com.yxt.anrui.buscenter.api.bussalesorderdiscount.BusSalesOrderDiscount">
select *
from bus_sales_order_discount
where salesOrderSid = #{sid}
and salesPolicySid = #{policySid}
</select>
<update id="updateNum">
update bus_sales_order_discount
set num = #{num}
where salesPolicySid = #{policySid}
and salesOrderSid = #{sid}
</update>
</mapper>

30
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderdiscount/BusSalesOrderDiscountRest.java

@ -25,14 +25,16 @@
*********************************************************/
package com.yxt.anrui.buscenter.biz.bussalesorderdiscount;
import com.yxt.anrui.buscenter.api.bussalesorderdiscount.*;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.anrui.buscenter.api.bussalesorderdiscount.BusSalesOrderDiscountFeign;
import com.yxt.anrui.buscenter.api.bussalesorderdiscount.app.AppBusSalesOrderDiscountDto;
import com.yxt.anrui.buscenter.api.bussalesorderdiscount.app.AppBusSalesOrderDiscountListVo;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* Project: anrui-buscenter(业务管理) <br/>
@ -52,5 +54,21 @@ import org.springframework.web.bind.annotation.*;
@RequestMapping("v1/bussalesorderdiscount")
public class BusSalesOrderDiscountRest implements BusSalesOrderDiscountFeign {
@Autowired
private BusSalesOrderDiscountService busSalesOrderDiscountService;
@Override
public ResultBean<List<AppBusSalesOrderDiscountListVo>> getDiscountList(String sid) {
return busSalesOrderDiscountService.getDiscountList(sid);
}
@Override
public ResultBean save(AppBusSalesOrderDiscountDto dto) {
return busSalesOrderDiscountService.saveDiscountInfo(dto);
}
@Override
public ResultBean delete(String orderSid, String sid) {
return busSalesOrderDiscountService.deleteDiscount(orderSid, sid);
}
}

91
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderdiscount/BusSalesOrderDiscountService.java

@ -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("成功");
}
}

17
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/AppBusSalesOrderFeign.java

@ -29,6 +29,8 @@ import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrderFeignFallback;
import com.yxt.anrui.buscenter.api.bussalesorder.app.*;
import com.yxt.anrui.crm.api.crmvehicledemand.AppCrmOrderVehicleDemandQuery;
import com.yxt.anrui.crm.api.crmvehicledemand.AppOrderCrmVehicleDemandVo;
import com.yxt.anrui.terminal.api.autoservice.saleOrders.discount.DiscountDto;
import com.yxt.anrui.terminal.api.autoservice.saleOrders.discount.DiscountVo;
import com.yxt.anrui.terminal.api.autoservice.saleOrders.model.ModelDto;
import com.yxt.anrui.terminal.api.autoservice.saleOrders.topinfo.TopDto;
import com.yxt.anrui.terminal.api.autoservice.saleOrders.topinfo.TopVo;
@ -120,4 +122,19 @@ public interface AppBusSalesOrderFeign {
@GetMapping("/init/topInfo/{saleOrderSid}")
@ResponseBody
ResultBean<TopVo> getTopInfo(@PathVariable(value = "saleOrderSid") String sid);
@ApiOperation("查看主车优惠情况")
@GetMapping("/getAppDiscountListVoByOrderSid/{orderSid}")
@ResponseBody
ResultBean<DiscountVo> getDiscountList(@PathVariable(value = "orderSid") String sid);
@ApiOperation("保存主车优惠")
@PostMapping("/saveOrUpdateAppOrderDiscount")
@ResponseBody
ResultBean saveDiscount(@RequestBody DiscountDto dto);
@ApiOperation("删除主车优惠")
@DeleteMapping("/delAppOrderDiscountBySid")
@ResponseBody
ResultBean deleteDiscount(@RequestParam(value = "saleOrderSid") String orderSid, @RequestParam(value = "sid") String sid);
}

17
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/AppBusSalesOrderFeignFallback.java

@ -28,6 +28,8 @@ package com.yxt.anrui.terminal.api.autoservice.saleOrders;
import com.yxt.anrui.buscenter.api.bussalesorder.app.*;
import com.yxt.anrui.crm.api.crmvehicledemand.AppCrmOrderVehicleDemandQuery;
import com.yxt.anrui.crm.api.crmvehicledemand.AppOrderCrmVehicleDemandVo;
import com.yxt.anrui.terminal.api.autoservice.saleOrders.discount.DiscountDto;
import com.yxt.anrui.terminal.api.autoservice.saleOrders.discount.DiscountVo;
import com.yxt.anrui.terminal.api.autoservice.saleOrders.model.ModelDto;
import com.yxt.anrui.terminal.api.autoservice.saleOrders.topinfo.TopDto;
import com.yxt.anrui.terminal.api.autoservice.saleOrders.topinfo.TopVo;
@ -106,4 +108,19 @@ public class AppBusSalesOrderFeignFallback implements AppBusSalesOrderFeign {
public ResultBean<TopVo> getTopInfo(String sid) {
return null;
}
@Override
public ResultBean<DiscountVo> getDiscountList(String sid) {
return null;
}
@Override
public ResultBean saveDiscount(DiscountDto dto) {
return null;
}
@Override
public ResultBean deleteDiscount(String orderSid, String sid) {
return null;
}
}

32
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/deposit/DepositVo.java

@ -0,0 +1,32 @@
package com.yxt.anrui.terminal.api.autoservice.saleOrders.deposit;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* @Author dimengzhe
* @Date 2022/6/2 9:53
* @Description 虚拟订单订车列表返回数据
*/
@Data
public class DepositVo implements Vo {
private static final long serialVersionUID = 5043114761578714398L;
@ApiModelProperty(value = "虚拟订单sid")
private String virtualSid;
@ApiModelProperty(value = "虚拟订单编号")
private String virtualId;
@ApiModelProperty(value = "客户名称")
private String customerName;
@ApiModelProperty(value = "联系电话")
private String mobile;
@ApiModelProperty(value = "车型相关")
private List<ModelListVo> modelList;
}

21
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/deposit/ModelListVo.java

@ -0,0 +1,21 @@
package com.yxt.anrui.terminal.api.autoservice.saleOrders.deposit;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author dimengzhe
* @Date 2022/6/2 10:01
* @Description
*/
@Data
public class ModelListVo implements Vo {
private static final long serialVersionUID = 5383064919415950152L;
@ApiModelProperty(value = "车型图片")
private String modelImage;
@ApiModelProperty(value = "车型名称")
private String modelName;
}

20
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/discount/DiscountDto.java

@ -0,0 +1,20 @@
package com.yxt.anrui.terminal.api.autoservice.saleOrders.discount;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author dimengzhe
* @Date 2022/6/2 11:53
* @Description
*/
@Data
public class DiscountDto implements Dto {
private static final long serialVersionUID = 7231033634684892987L;
@ApiModelProperty(value = "销售订单sid")
private String saleOrderSid;
private DiscountInfo info;
}

33
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/discount/DiscountInfo.java

@ -0,0 +1,33 @@
package com.yxt.anrui.terminal.api.autoservice.saleOrders.discount;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author dimengzhe
* @Date 2022/6/2 11:54
* @Description
*/
@Data
public class DiscountInfo implements Dto {
private static final long serialVersionUID = -8859476280086407156L;
@ApiModelProperty(value = "优惠数量")
@JsonProperty(value = "number")
private String num;
@ApiModelProperty(value = "优惠说明")
@JsonProperty(value = "explain")
private String discountExplain;
@ApiModelProperty(value = "优惠价格")
private String price;
@ApiModelProperty(value = "销售政策sid")
@JsonProperty(value = "discountType")
private String salesPolicySid;
@ApiModelProperty(value = "优惠名称")
@JsonProperty(value = "discountValue")
private String name;
}

27
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/discount/DiscountListVo.java

@ -0,0 +1,27 @@
package com.yxt.anrui.terminal.api.autoservice.saleOrders.discount;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author dimengzhe
* @Date 2022/6/2 10:51
* @Description
*/
@Data
public class DiscountListVo implements Vo {
private static final long serialVersionUID = 1973331967490606940L;
@ApiModelProperty(value = "本条优惠包的sid")
private String discountSid;
@ApiModelProperty(value = "数量")
private String number;
@ApiModelProperty(value = "说明")
private String explain;
@ApiModelProperty(value = "价格")
private String price;
@ApiModelProperty(value = "名称")
private String discountName;
@ApiModelProperty(value = "总价")
private String totalPrice;
}

19
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/discount/DiscountVo.java

@ -0,0 +1,19 @@
package com.yxt.anrui.terminal.api.autoservice.saleOrders.discount;
import com.yxt.common.core.vo.Vo;
import lombok.Data;
import java.util.List;
/**
* @Author dimengzhe
* @Date 2022/6/2 13:55
* @Description
*/
@Data
public class DiscountVo implements Vo {
private static final long serialVersionUID = -1835469698115349175L;
private String total;
private List<DiscountListVo> records;
}

3
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/topinfo/TopDto.java

@ -49,6 +49,7 @@ public class TopDto implements Dto {
@ApiModelProperty(value = "有无上装信息")
private Boolean topInfoState;
@ApiModelProperty(value = "销售订单sid")
private String saleOrderSid;
@JsonProperty(value = "saleOrderSid")
private String salesOrderSid;
}

17
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/saleOrders/AppBusSalesOrderRest.java

@ -29,6 +29,8 @@ import com.yxt.anrui.buscenter.api.bussalesorder.app.*;
import com.yxt.anrui.crm.api.crmvehicledemand.AppCrmOrderVehicleDemandQuery;
import com.yxt.anrui.crm.api.crmvehicledemand.AppOrderCrmVehicleDemandVo;
import com.yxt.anrui.terminal.api.autoservice.saleOrders.AppBusSalesOrderFeign;
import com.yxt.anrui.terminal.api.autoservice.saleOrders.discount.DiscountDto;
import com.yxt.anrui.terminal.api.autoservice.saleOrders.discount.DiscountVo;
import com.yxt.anrui.terminal.api.autoservice.saleOrders.model.ModelDto;
import com.yxt.anrui.terminal.api.autoservice.saleOrders.topinfo.TopDto;
import com.yxt.anrui.terminal.api.autoservice.saleOrders.topinfo.TopVo;
@ -127,4 +129,19 @@ public class AppBusSalesOrderRest implements AppBusSalesOrderFeign {
return appBusSalesOrderService.getTopInfo(sid);
}
@Override
public ResultBean<DiscountVo> getDiscountList(String sid) {
return appBusSalesOrderService.getDiscountList(sid);
}
@Override
public ResultBean saveDiscount(DiscountDto dto) {
return appBusSalesOrderService.saveDiscount(dto);
}
@Override
public ResultBean deleteDiscount(String orderSid, String sid) {
return appBusSalesOrderService.deleteDiscount(orderSid, sid);
}
}

52
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/saleOrders/AppBusSalesOrderService.java

@ -28,6 +28,9 @@ package com.yxt.anrui.terminal.biz.autoservice.saleOrders;
import cn.hutool.core.bean.BeanUtil;
import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrderFeign;
import com.yxt.anrui.buscenter.api.bussalesorder.app.*;
import com.yxt.anrui.buscenter.api.bussalesorderdiscount.BusSalesOrderDiscountFeign;
import com.yxt.anrui.buscenter.api.bussalesorderdiscount.app.AppBusSalesOrderDiscountDto;
import com.yxt.anrui.buscenter.api.bussalesorderdiscount.app.AppBusSalesOrderDiscountListVo;
import com.yxt.anrui.buscenter.api.bussalesordermakeup.BusSalesOrderMakeupFeign;
import com.yxt.anrui.buscenter.api.bussalesordermakeup.app.AppBusSalesOrderMakeUpDto;
import com.yxt.anrui.buscenter.api.bussalesordermakeup.app.AppBusSalesOrderMakeUpVo;
@ -36,9 +39,13 @@ import com.yxt.anrui.buscenter.api.bussalesordermodel.app.AppBusSalesOrderModelD
import com.yxt.anrui.crm.api.crmvehicledemand.AppCrmOrderVehicleDemandQuery;
import com.yxt.anrui.crm.api.crmvehicledemand.AppOrderCrmVehicleDemandVo;
import com.yxt.anrui.crm.api.crmvehicledemand.CrmVehicledemandFeign;
import com.yxt.anrui.terminal.api.autoservice.saleOrders.discount.DiscountDto;
import com.yxt.anrui.terminal.api.autoservice.saleOrders.discount.DiscountListVo;
import com.yxt.anrui.terminal.api.autoservice.saleOrders.discount.DiscountVo;
import com.yxt.anrui.terminal.api.autoservice.saleOrders.model.ModelDto;
import com.yxt.anrui.terminal.api.autoservice.saleOrders.topinfo.TopDto;
import com.yxt.anrui.terminal.api.autoservice.saleOrders.topinfo.TopVo;
import com.yxt.anrui.terminal.config.CoverUtils;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
@ -46,6 +53,9 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cloud.openfeign.SpringQueryMap;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.List;
/**
* Project: anrui-buscenter(业务管理) <br/>
@ -71,6 +81,8 @@ public class AppBusSalesOrderService {
private BusSalesOrderModelFeign busSalesOrderModelFeign;
@Autowired
private BusSalesOrderMakeupFeign busSalesOrderMakeupFeign;
@Autowired
private BusSalesOrderDiscountFeign busSalesOrderDiscountFeign;
/************************************* 销售订单接口 *********************************************/
@ -172,6 +184,12 @@ public class AppBusSalesOrderService {
return resultBean;
}
/**
* 保存更新上装信息
*
* @param dto 数据传输对象
* @return
*/
public ResultBean saveTopInfo(TopDto dto) {
AppBusSalesOrderMakeUpDto appBusSalesOrderMakeUpDto = new AppBusSalesOrderMakeUpDto();
BeanUtil.copyProperties(dto, appBusSalesOrderMakeUpDto);
@ -179,6 +197,12 @@ public class AppBusSalesOrderService {
return resultBean;
}
/**
* 初始化上装信息
*
* @param sid 销售订单sid
* @return
*/
public ResultBean<TopVo> getTopInfo(String sid) {
ResultBean<TopVo> rb = ResultBean.fireFail();
ResultBean<AppBusSalesOrderMakeUpVo> resultBean = busSalesOrderMakeupFeign.getTopInfo(sid);
@ -187,4 +211,32 @@ public class AppBusSalesOrderService {
BeanUtil.copyProperties(appBusSalesOrderMakeUpVo, topVo);
return rb.success().setData(topVo);
}
public ResultBean<DiscountVo> getDiscountList(String sid) {
ResultBean<DiscountVo> rb = ResultBean.fireFail();
DiscountVo vo = new DiscountVo();
ResultBean<List<AppBusSalesOrderDiscountListVo>> resultBean = busSalesOrderDiscountFeign.getDiscountList(sid);
List<AppBusSalesOrderDiscountListVo> list = resultBean.getData();
List<DiscountListVo> discountListVoList = CoverUtils.collectionCopy(list, DiscountListVo.class);
vo.setRecords(discountListVoList);
BigDecimal price = new BigDecimal("0");
for (DiscountListVo discountListVo : discountListVoList) {
String totalPrice = discountListVo.getTotalPrice();
price = price.add(new BigDecimal(totalPrice));
}
vo.setTotal(price.toString());
return rb.success().setData(vo);
}
public ResultBean saveDiscount(DiscountDto dto) {
AppBusSalesOrderDiscountDto appBusSalesOrderDiscountDto = new AppBusSalesOrderDiscountDto();
BeanUtil.copyProperties(dto, appBusSalesOrderDiscountDto);
ResultBean resultBean = busSalesOrderDiscountFeign.save(appBusSalesOrderDiscountDto);
return resultBean;
}
public ResultBean deleteDiscount(String orderSid, String sid) {
ResultBean resultBean = busSalesOrderDiscountFeign.delete(orderSid, sid);
return resultBean;
}
}

120
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/config/CoverUtils.java

@ -3,6 +3,12 @@ package com.yxt.anrui.terminal.config;
import cn.hutool.core.bean.BeanUtil;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.vo.PagerVo;
import org.springframework.beans.BeanUtils;
import org.springframework.util.CollectionUtils;
import java.lang.reflect.Field;
import java.lang.reflect.Modifier;
import java.util.*;
/**
* @Author dimengzhe
@ -10,7 +16,7 @@ import com.yxt.common.core.vo.PagerVo;
* @Description
*/
public class CoverUtils {
public class CoverUtils extends BeanUtils {
public static PagerQuery getPagerQuery(PagerQuery pagerQuery) {
PagerQuery pagerQuery1 = new PagerQuery();
@ -23,4 +29,116 @@ public class CoverUtils {
BeanUtil.copyProperties(pagerVo, pagerVo1);
return pagerVo1;
}
public CoverUtils() {
}
public static <T> T propertiesCopy(Object source, Class<T> clazz) {
if (null == source) {
return null;
} else {
try {
T obj = clazz.newInstance();
BeanUtils.copyProperties(source, obj);
return obj;
} catch (IllegalAccessException | InstantiationException var3) {
throw new RuntimeException(var3);
}
}
}
/**
* list中对象的copy
*
* @param source
* @param clazz
* @param <T>
* @return
*/
public static <T> List<T> collectionCopy(Collection source, Class<T> clazz) {
if (null == source) {
return new ArrayList();
} else {
List<T> list = new ArrayList();
Iterator var3 = source.iterator();
while (var3.hasNext()) {
Object o = var3.next();
list.add(propertiesCopy(o, clazz));
}
return list;
}
}
/**
* 将对象转换为map
*
* @param obj
* @return
*/
public static Map<String, Object> object2Map(Object obj) {
Map<String, Object> map = new HashMap();
if (obj == null) {
return map;
} else {
Class clazz = obj.getClass();
Field[] fields = clazz.getDeclaredFields();
try {
Field[] var4 = fields;
int var5 = fields.length;
for (int var6 = 0; var6 < var5; ++var6) {
Field field = var4[var6];
field.setAccessible(true);
map.put(field.getName(), field.get(obj));
}
return map;
} catch (Exception var8) {
throw new RuntimeException(var8);
}
}
}
/**
* 将map转换为对象,必须保证属性名称相同
*
* @return
*/
public static Object map2Object(Map<Object, Object> map, Class<?> clzz) {
try {
Object target = clzz.newInstance();
if (CollectionUtils.isEmpty(map)) {
return target;
}
Field[] fields = clzz.getDeclaredFields();
if (!CollectionUtils.isEmpty(Arrays.asList(fields))) {
Arrays.stream(fields).filter((Field field) -> map.containsKey(field.getName())).forEach(var -> {
//获取属性的修饰符
int modifiers = var.getModifiers();
if (Modifier.isStatic(modifiers) || Modifier.isFinal(modifiers)) {
//在lambada中结束本次循环是用return,它不支持continue和break
return;
}
//设置权限
var.setAccessible(true);
try {
var.set(target, map.get(var.getName()));
} catch (IllegalAccessException e) {
//属性类型不对,非法操作,跳过本次循环,直接进入下一次循环
throw new RuntimeException(e);
}
});
}
return target;
} catch (InstantiationException | IllegalAccessException e) {
e.printStackTrace();
}
return null;
}
}

Loading…
Cancel
Save