diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basepostprice/BaseOrderPostPriceQuery.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basepostprice/BaseOrderPostPriceQuery.java new file mode 100644 index 0000000000..5fa7da7fbb --- /dev/null +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basepostprice/BaseOrderPostPriceQuery.java @@ -0,0 +1,17 @@ +package com.yxt.anrui.base.api.basepostprice; + +import com.yxt.common.core.query.Query; +import lombok.Data; + +/** + * @Author dimengzhe + * @Date 2022/5/12 15:22 + * @Description + */ +@Data +public class BaseOrderPostPriceQuery implements Query { + private static final long serialVersionUID = -8496157517849599849L; + + private String brandSid; + private String roleSid; +} diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basepostprice/BaseOrderPostPriceVo.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basepostprice/BaseOrderPostPriceVo.java new file mode 100644 index 0000000000..e450ec9d99 --- /dev/null +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basepostprice/BaseOrderPostPriceVo.java @@ -0,0 +1,20 @@ +package com.yxt.anrui.base.api.basepostprice; + +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author dimengzhe + * @Date 2022/5/12 15:19 + * @Description + */ +@Data +public class BaseOrderPostPriceVo implements Vo { + private static final long serialVersionUID = 7153675503206019053L; + @ApiModelProperty(value = "让价金额") + @JsonSerialize(using = ToStringSerializer.class) + private String price; +} diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basepostprice/BasePostPriceFeign.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basepostprice/BasePostPriceFeign.java index 5ae2f71212..b3e3e61064 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basepostprice/BasePostPriceFeign.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basepostprice/BasePostPriceFeign.java @@ -25,16 +25,15 @@ *********************************************************/ package com.yxt.anrui.base.api.basepostprice; -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 io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.cloud.openfeign.SpringQueryMap; import org.springframework.web.bind.annotation.*; -import java.util.List; - /** * Project: anrui-base(基础信息)
* File: BasePostPriceFeign.java
@@ -65,14 +64,19 @@ public interface BasePostPriceFeign { @PostMapping("/save") @ResponseBody public ResultBean save(@RequestBody BasePostPriceDto dto); - + @ApiOperation("根据sid删除记录") @DeleteMapping("/delBySids") @ResponseBody public ResultBean delBySids(@RequestBody String[] sids); - + @ApiOperation("根据SID获取一条记录") @GetMapping("/fetchDetailsBySid/{sid}") @ResponseBody public ResultBean fetchDetailsBySid(@PathVariable("sid") String sid); + + @ApiOperation("根据角色和品牌查询权限价格") + @GetMapping("/selectPostPrice") + @ResponseBody + ResultBean selectPostPrice(@SpringQueryMap BaseOrderPostPriceQuery query); } \ No newline at end of file diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basepostprice/BasePostPriceFeignFallback.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basepostprice/BasePostPriceFeignFallback.java index 63f327c9cc..ad7bd48426 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basepostprice/BasePostPriceFeignFallback.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basepostprice/BasePostPriceFeignFallback.java @@ -30,8 +30,6 @@ import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; import org.springframework.stereotype.Component; -import java.util.List; - /** * Project: anrui-base(基础信息)
* File: BasePostPriceFeignFallback.java
@@ -69,4 +67,9 @@ public class BasePostPriceFeignFallback implements BasePostPriceFeign { ResultBean rb = ResultBean.fireFail(); return rb.setMsg("接口anrui-base/basepostprice/fetchDetailsBySid无法访问"); } + + @Override + public ResultBean selectPostPrice(BaseOrderPostPriceQuery query) { + return null; + } } \ No newline at end of file diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehiclepolicy/BaseVehiclePolicyFeign.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehiclepolicy/BaseVehiclePolicyFeign.java index d2c1cf85c5..201e8d981e 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehiclepolicy/BaseVehiclePolicyFeign.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehiclepolicy/BaseVehiclePolicyFeign.java @@ -25,16 +25,14 @@ *********************************************************/ package com.yxt.anrui.base.api.basevehiclepolicy; -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 io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.*; -import java.util.List; - /** * Project: anrui-base(基础信息)
* File: BaseVehiclePolicyFeign.java
@@ -75,4 +73,8 @@ public interface BaseVehiclePolicyFeign { @GetMapping("/fetchDetailsBySid/{sid}") @ResponseBody public ResultBean fetchDetailsBySid(@PathVariable("sid") String sid); + @ApiOperation("根据车辆sid查询销售政策中的优惠金额") + @GetMapping("/selectPrice/{vehicleSid}") + @ResponseBody + ResultBean selectPrice(@PathVariable(value = "vehicleSid") String vehicleSid); } \ No newline at end of file diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehiclepolicy/BaseVehiclePolicyFeignFallback.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehiclepolicy/BaseVehiclePolicyFeignFallback.java index 93e44d81be..5a6b748c63 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehiclepolicy/BaseVehiclePolicyFeignFallback.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehiclepolicy/BaseVehiclePolicyFeignFallback.java @@ -30,8 +30,6 @@ import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; import org.springframework.stereotype.Component; -import java.util.List; - /** * Project: anrui-base(基础信息)
* File: BaseVehiclePolicyFeignFallback.java
@@ -69,4 +67,9 @@ public class BaseVehiclePolicyFeignFallback implements BaseVehiclePolicyFeign { ResultBean rb = ResultBean.fireFail(); return rb.setMsg("接口anrui-base/basevehiclepolicy/fetchDetailsBySid无法访问"); } + + @Override + public ResultBean selectPrice(String vehicleSid) { + return null; + } } \ No newline at end of file diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehiclepolicy/BaseVehiclePriceVo.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehiclepolicy/BaseVehiclePriceVo.java new file mode 100644 index 0000000000..b75fcb1fc8 --- /dev/null +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehiclepolicy/BaseVehiclePriceVo.java @@ -0,0 +1,21 @@ +package com.yxt.anrui.base.api.basevehiclepolicy; + +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author dimengzhe + * @Date 2022/5/13 10:28 + * @Description + */ +@Data +public class BaseVehiclePriceVo implements Vo { + private static final long serialVersionUID = 4695719404638327720L; + + @ApiModelProperty(value = "优惠金额") + @JsonSerialize(using = ToStringSerializer.class) + private String discountMoney; +} diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleapplydetail/BusVehicleApplyListVo.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleapplydetail/BusVehicleApplyListVo.java index d4bfa6aa49..1cc22214ef 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleapplydetail/BusVehicleApplyListVo.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleapplydetail/BusVehicleApplyListVo.java @@ -18,4 +18,10 @@ public class BusVehicleApplyListVo implements Vo { private String linkText; @ApiModelProperty("采购订单sid") private String linkSid; + @ApiModelProperty("可使用台数") + private Integer useNum; + @ApiModelProperty("台数") + private Integer platformNo; + @ApiModelProperty("锁定台数") + private Integer lockingNum; } diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basepostprice/BasePostPriceMapper.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basepostprice/BasePostPriceMapper.java index 5d6b8a7e4b..414fa69742 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basepostprice/BasePostPriceMapper.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basepostprice/BasePostPriceMapper.java @@ -26,14 +26,15 @@ package com.yxt.anrui.base.biz.basepostprice; 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.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.yxt.anrui.base.api.basepostprice.BaseOrderPostPriceVo; +import com.yxt.anrui.base.api.basepostprice.BasePostPrice; +import com.yxt.anrui.base.api.basepostprice.BasePostPriceVo; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; -import com.yxt.anrui.base.api.basepostprice.BasePostPrice; -import com.yxt.anrui.base.api.basepostprice.BasePostPriceVo; import java.util.List; @@ -53,13 +54,15 @@ import java.util.List; @Mapper public interface BasePostPriceMapper extends BaseMapper { - //@Update("update base_post_price set name=#{msg} where id=#{id}") - //IPage voPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); - - IPage selectPageVo(IPage page, @Param(Constants.WRAPPER) Wrapper qw); - - List selectListAllVo(@Param(Constants.WRAPPER) Wrapper qw); - - @Select("select * from base_post_price") - List selectListVo(); + //@Update("update base_post_price set name=#{msg} where id=#{id}") + //IPage voPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + + IPage selectPageVo(IPage page, @Param(Constants.WRAPPER) Wrapper qw); + + List selectListAllVo(@Param(Constants.WRAPPER) Wrapper qw); + + @Select("select * from base_post_price") + List selectListVo(); + + BaseOrderPostPriceVo selectPostPrice(@Param("brandSid") String brandSid, @Param("roleSid") String roleSid); } \ No newline at end of file diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basepostprice/BasePostPriceMapper.xml b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basepostprice/BasePostPriceMapper.xml index 3ace3168b2..5ef02216da 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basepostprice/BasePostPriceMapper.xml +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basepostprice/BasePostPriceMapper.xml @@ -1,13 +1,28 @@ - - - - - + + + + + + + \ No newline at end of file diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basepostprice/BasePostPriceRest.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basepostprice/BasePostPriceRest.java index be6a1505a0..c2dc1d8ff3 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basepostprice/BasePostPriceRest.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basepostprice/BasePostPriceRest.java @@ -25,6 +25,7 @@ *********************************************************/ package com.yxt.anrui.base.biz.basepostprice; +import com.yxt.anrui.base.api.basepostprice.*; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; @@ -33,14 +34,6 @@ import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; -import java.util.List; -import com.yxt.anrui.base.api.basepostprice.BasePostPrice; -import com.yxt.anrui.base.api.basepostprice.BasePostPriceQuery; -import com.yxt.anrui.base.api.basepostprice.BasePostPriceVo; -import com.yxt.anrui.base.api.basepostprice.BasePostPriceDetailsVo; -import com.yxt.anrui.base.api.basepostprice.BasePostPriceDto; -import com.yxt.anrui.base.api.basepostprice.BasePostPriceFeign; - /** * Project: anrui-base(基础信息)
* File: BasePostPriceFeignFallback.java
@@ -97,4 +90,9 @@ public class BasePostPriceRest implements BasePostPriceFeign { BasePostPriceDetailsVo vo = basePostPriceService.fetchDetailsVoBySid(sid); return rb.success().setData(vo); } + + @Override + public ResultBean selectPostPrice(BaseOrderPostPriceQuery query) { + return basePostPriceService.selectPostPrice(query); + } } diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basepostprice/BasePostPriceService.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basepostprice/BasePostPriceService.java index 00dc51beef..9148f84acd 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basepostprice/BasePostPriceService.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basepostprice/BasePostPriceService.java @@ -28,23 +28,15 @@ package com.yxt.anrui.base.biz.basepostprice; import cn.hutool.core.bean.BeanUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; -import org.apache.commons.lang3.StringUtils; +import com.yxt.anrui.base.api.basepostprice.*; 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.result.ResultBean; import com.yxt.common.core.vo.PagerVo; -import com.yxt.anrui.base.api.basepostprice.BasePostPrice; -import com.yxt.anrui.base.api.basepostprice.BasePostPriceQuery; -import com.yxt.anrui.base.api.basepostprice.BasePostPriceVo; -import com.yxt.anrui.base.api.basepostprice.BasePostPriceDetailsVo; -import com.yxt.anrui.base.api.basepostprice.BasePostPriceDto; -import com.yxt.anrui.base.api.basepostprice.BasePostPriceFeign; - +import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; -import java.util.List; - /** * Project: anrui-base(基础信息)
* File: BasePostPriceService.java
@@ -60,51 +52,59 @@ import java.util.List; */ @Service public class BasePostPriceService extends MybatisBaseService { - private QueryWrapper createQueryWrapper(BasePostPriceQuery query) { - // todo: 这里根据具体业务调整查询条件 - // 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName())); - QueryWrapper qw = new QueryWrapper<>(); - return qw; - } - - public PagerVo listPageVo(PagerQuery pq) { - BasePostPriceQuery query = pq.getParams(); - QueryWrapper qw = createQueryWrapper(query); - IPage page = PagerUtil.queryToPage(pq); - IPage pagging = baseMapper.selectPageVo(page, qw); - PagerVo p = PagerUtil.pageToVo(pagging, null); - return p; - } - - public void saveOrUpdateDto(BasePostPriceDto dto){ + private QueryWrapper createQueryWrapper(BasePostPriceQuery query) { + // todo: 这里根据具体业务调整查询条件 + // 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName())); + QueryWrapper qw = new QueryWrapper<>(); + return qw; + } + + public PagerVo listPageVo(PagerQuery pq) { + BasePostPriceQuery query = pq.getParams(); + QueryWrapper qw = createQueryWrapper(query); + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.selectPageVo(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return p; + } + + public void saveOrUpdateDto(BasePostPriceDto dto) { String dtoSid = dto.getSid(); if (StringUtils.isBlank(dtoSid)) { this.insertByDto(dto); - return; - } - this.updateByDto(dto); - } - - public void insertByDto(BasePostPriceDto dto){ - BasePostPrice entity = new BasePostPrice(); - BeanUtil.copyProperties(dto, entity, "id", "sid"); - baseMapper.insert(entity); - } - - public void updateByDto(BasePostPriceDto dto){ - String dtoSid = dto.getSid(); + return; + } + this.updateByDto(dto); + } + + public void insertByDto(BasePostPriceDto dto) { + BasePostPrice entity = new BasePostPrice(); + BeanUtil.copyProperties(dto, entity, "id", "sid"); + baseMapper.insert(entity); + } + + public void updateByDto(BasePostPriceDto dto) { + String dtoSid = dto.getSid(); if (StringUtils.isBlank(dtoSid)) { return; - } - BasePostPrice entity = fetchBySid(dtoSid); - BeanUtil.copyProperties(dto, entity, "id", "sid"); - baseMapper.updateById(entity); - } - - public BasePostPriceDetailsVo fetchDetailsVoBySid(String sid){ - BasePostPrice entity = fetchBySid(sid); - BasePostPriceDetailsVo vo = new BasePostPriceDetailsVo(); - BeanUtil.copyProperties(entity, vo); - return vo; - } + } + BasePostPrice entity = fetchBySid(dtoSid); + BeanUtil.copyProperties(dto, entity, "id", "sid"); + baseMapper.updateById(entity); + } + + public BasePostPriceDetailsVo fetchDetailsVoBySid(String sid) { + BasePostPrice entity = fetchBySid(sid); + BasePostPriceDetailsVo vo = new BasePostPriceDetailsVo(); + BeanUtil.copyProperties(entity, vo); + return vo; + } + + public ResultBean selectPostPrice(BaseOrderPostPriceQuery query) { + ResultBean rb = ResultBean.fireFail(); + String brandSid = query.getBrandSid(); + String roleSid = query.getRoleSid(); + BaseOrderPostPriceVo vo = baseMapper.selectPostPrice(brandSid,roleSid); + return rb.success().setData(vo); + } } \ No newline at end of file diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclepolicy/BaseVehiclePolicyMapper.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclepolicy/BaseVehiclePolicyMapper.java index e2f93d194f..40b11ff919 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclepolicy/BaseVehiclePolicyMapper.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclepolicy/BaseVehiclePolicyMapper.java @@ -29,6 +29,7 @@ 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.base.api.basevehiclepolicy.BaseVehiclePriceVo; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; @@ -53,13 +54,21 @@ import java.util.List; @Mapper public interface BaseVehiclePolicyMapper extends BaseMapper { - //@Update("update base_vehicle_policy set name=#{msg} where id=#{id}") - //IPage voPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); - - IPage selectPageVo(IPage page, @Param(Constants.WRAPPER) Wrapper qw); - - List selectListAllVo(@Param(Constants.WRAPPER) Wrapper qw); - - @Select("select * from base_vehicle_policy") - List selectListVo(); + //@Update("update base_vehicle_policy set name=#{msg} where id=#{id}") + //IPage voPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + + IPage selectPageVo(IPage page, @Param(Constants.WRAPPER) Wrapper qw); + + List selectListAllVo(@Param(Constants.WRAPPER) Wrapper qw); + + @Select("select * from base_vehicle_policy") + List selectListVo(); + + /** + * 根据车辆sid查询销售政策的优惠金额 + * + * @param vehicleSid 车辆sid + * @return + */ + BaseVehiclePriceVo selectPrice(String vehicleSid); } \ No newline at end of file diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclepolicy/BaseVehiclePolicyMapper.xml b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclepolicy/BaseVehiclePolicyMapper.xml index 0b9c773d55..dba62068c8 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclepolicy/BaseVehiclePolicyMapper.xml +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclepolicy/BaseVehiclePolicyMapper.xml @@ -1,13 +1,28 @@ - - - - - + + + + + + + \ No newline at end of file diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclepolicy/BaseVehiclePolicyRest.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclepolicy/BaseVehiclePolicyRest.java index 50b0f39c12..dc2fec5654 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclepolicy/BaseVehiclePolicyRest.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclepolicy/BaseVehiclePolicyRest.java @@ -25,22 +25,16 @@ *********************************************************/ package com.yxt.anrui.base.biz.basevehiclepolicy; +import com.yxt.anrui.base.api.basevehiclepolicy.*; import com.yxt.common.core.query.PagerQuery; 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.stereotype.Controller; import org.springframework.web.bind.annotation.*; -import java.util.List; -import com.yxt.anrui.base.api.basevehiclepolicy.BaseVehiclePolicy; -import com.yxt.anrui.base.api.basevehiclepolicy.BaseVehiclePolicyQuery; -import com.yxt.anrui.base.api.basevehiclepolicy.BaseVehiclePolicyVo; -import com.yxt.anrui.base.api.basevehiclepolicy.BaseVehiclePolicyDetailsVo; -import com.yxt.anrui.base.api.basevehiclepolicy.BaseVehiclePolicyDto; -import com.yxt.anrui.base.api.basevehiclepolicy.BaseVehiclePolicyFeign; - /** * Project: anrui-base(基础信息)
* File: BaseVehiclePolicyFeignFallback.java
@@ -55,46 +49,51 @@ import com.yxt.anrui.base.api.basevehiclepolicy.BaseVehiclePolicyFeign; * @since 1.0 */ @Api(tags = "车辆与销售政策关联表") -@RestController("com.yxt.anrui.base.biz.basevehiclepolicy.BaseVehiclePolicyRest") +@Controller @RequestMapping("v1/basevehiclepolicy") public class BaseVehiclePolicyRest implements BaseVehiclePolicyFeign { - @Autowired - private BaseVehiclePolicyService baseVehiclePolicyService; + @Autowired + private BaseVehiclePolicyService baseVehiclePolicyService; - @Override - @ApiOperation("根据条件分页查询数据的列表") - @PostMapping("/listPage") - public ResultBean> listPage(@RequestBody PagerQuery pq){ - ResultBean rb = ResultBean.fireFail(); - PagerVo pv = baseVehiclePolicyService.listPageVo(pq); - return rb.success().setData(pv); - } + @Override + @ApiOperation("根据条件分页查询数据的列表") + @PostMapping("/listPage") + public ResultBean> listPage(@RequestBody PagerQuery pq) { + ResultBean rb = ResultBean.fireFail(); + PagerVo pv = baseVehiclePolicyService.listPageVo(pq); + return rb.success().setData(pv); + } - @Override - @ApiOperation("新增或修改") - @PostMapping("/save") - public ResultBean save(@RequestBody BaseVehiclePolicyDto dto){ - ResultBean rb = ResultBean.fireFail(); - baseVehiclePolicyService.saveOrUpdateDto(dto); - return rb.success(); - } + @Override + @ApiOperation("新增或修改") + @PostMapping("/save") + public ResultBean save(@RequestBody BaseVehiclePolicyDto dto) { + ResultBean rb = ResultBean.fireFail(); + baseVehiclePolicyService.saveOrUpdateDto(dto); + return rb.success(); + } - @Override - @ApiOperation("根据sid批量删除") + @Override + @ApiOperation("根据sid批量删除") @PostMapping("/delBySids") - public ResultBean delBySids(@RequestBody String[] sids){ - ResultBean rb = ResultBean.fireFail(); - baseVehiclePolicyService.delBySids(sids); - return rb.success(); - } + public ResultBean delBySids(@RequestBody String[] sids) { + ResultBean rb = ResultBean.fireFail(); + baseVehiclePolicyService.delBySids(sids); + return rb.success(); + } - @Override - @ApiOperation("根据SID获取一条记录") + @Override + @ApiOperation("根据SID获取一条记录") @GetMapping("/fetchDetailsBySid/{sid}") - public ResultBean fetchDetailsBySid(@PathVariable("sid") String sid){ - ResultBean rb = ResultBean.fireFail(); - BaseVehiclePolicyDetailsVo vo = baseVehiclePolicyService.fetchDetailsVoBySid(sid); - return rb.success().setData(vo); - } + public ResultBean fetchDetailsBySid(@PathVariable("sid") String sid) { + ResultBean rb = ResultBean.fireFail(); + BaseVehiclePolicyDetailsVo vo = baseVehiclePolicyService.fetchDetailsVoBySid(sid); + return rb.success().setData(vo); + } + + @Override + public ResultBean selectPrice(String vehicleSid) { + return baseVehiclePolicyService.selectPrice(vehicleSid); + } } diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclepolicy/BaseVehiclePolicyService.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclepolicy/BaseVehiclePolicyService.java index 068c32769a..02515412a6 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclepolicy/BaseVehiclePolicyService.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclepolicy/BaseVehiclePolicyService.java @@ -28,23 +28,15 @@ package com.yxt.anrui.base.biz.basevehiclepolicy; import cn.hutool.core.bean.BeanUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; -import org.apache.commons.lang3.StringUtils; +import com.yxt.anrui.base.api.basevehiclepolicy.*; 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.result.ResultBean; import com.yxt.common.core.vo.PagerVo; -import com.yxt.anrui.base.api.basevehiclepolicy.BaseVehiclePolicy; -import com.yxt.anrui.base.api.basevehiclepolicy.BaseVehiclePolicyQuery; -import com.yxt.anrui.base.api.basevehiclepolicy.BaseVehiclePolicyVo; -import com.yxt.anrui.base.api.basevehiclepolicy.BaseVehiclePolicyDetailsVo; -import com.yxt.anrui.base.api.basevehiclepolicy.BaseVehiclePolicyDto; -import com.yxt.anrui.base.api.basevehiclepolicy.BaseVehiclePolicyFeign; - +import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; -import java.util.List; - /** * Project: anrui-base(基础信息)
* File: BaseVehiclePolicyService.java
@@ -60,51 +52,63 @@ import java.util.List; */ @Service public class BaseVehiclePolicyService extends MybatisBaseService { - private QueryWrapper createQueryWrapper(BaseVehiclePolicyQuery query) { - // todo: 这里根据具体业务调整查询条件 - // 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName())); - QueryWrapper qw = new QueryWrapper<>(); - return qw; - } - - public PagerVo listPageVo(PagerQuery pq) { - BaseVehiclePolicyQuery query = pq.getParams(); - QueryWrapper qw = createQueryWrapper(query); - IPage page = PagerUtil.queryToPage(pq); - IPage pagging = baseMapper.selectPageVo(page, qw); - PagerVo p = PagerUtil.pageToVo(pagging, null); - return p; - } - - public void saveOrUpdateDto(BaseVehiclePolicyDto dto){ + private QueryWrapper createQueryWrapper(BaseVehiclePolicyQuery query) { + // todo: 这里根据具体业务调整查询条件 + // 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName())); + QueryWrapper qw = new QueryWrapper<>(); + return qw; + } + + public PagerVo listPageVo(PagerQuery pq) { + BaseVehiclePolicyQuery query = pq.getParams(); + QueryWrapper qw = createQueryWrapper(query); + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.selectPageVo(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return p; + } + + public void saveOrUpdateDto(BaseVehiclePolicyDto dto) { String dtoSid = dto.getSid(); if (StringUtils.isBlank(dtoSid)) { this.insertByDto(dto); - return; - } - this.updateByDto(dto); - } - - public void insertByDto(BaseVehiclePolicyDto dto){ - BaseVehiclePolicy entity = new BaseVehiclePolicy(); - BeanUtil.copyProperties(dto, entity, "id", "sid"); - baseMapper.insert(entity); - } - - public void updateByDto(BaseVehiclePolicyDto dto){ - String dtoSid = dto.getSid(); + return; + } + this.updateByDto(dto); + } + + public void insertByDto(BaseVehiclePolicyDto dto) { + BaseVehiclePolicy entity = new BaseVehiclePolicy(); + BeanUtil.copyProperties(dto, entity, "id", "sid"); + baseMapper.insert(entity); + } + + public void updateByDto(BaseVehiclePolicyDto dto) { + String dtoSid = dto.getSid(); if (StringUtils.isBlank(dtoSid)) { return; - } - BaseVehiclePolicy entity = fetchBySid(dtoSid); - BeanUtil.copyProperties(dto, entity, "id", "sid"); - baseMapper.updateById(entity); - } - - public BaseVehiclePolicyDetailsVo fetchDetailsVoBySid(String sid){ - BaseVehiclePolicy entity = fetchBySid(sid); - BaseVehiclePolicyDetailsVo vo = new BaseVehiclePolicyDetailsVo(); - BeanUtil.copyProperties(entity, vo); - return vo; - } + } + BaseVehiclePolicy entity = fetchBySid(dtoSid); + BeanUtil.copyProperties(dto, entity, "id", "sid"); + baseMapper.updateById(entity); + } + + public BaseVehiclePolicyDetailsVo fetchDetailsVoBySid(String sid) { + BaseVehiclePolicy entity = fetchBySid(sid); + BaseVehiclePolicyDetailsVo vo = new BaseVehiclePolicyDetailsVo(); + BeanUtil.copyProperties(entity, vo); + return vo; + } + + /** + * 根据车辆sid查询销售政策的优惠金额 + * + * @param vehicleSid 车辆sid + * @return + */ + public ResultBean selectPrice(String vehicleSid) { + ResultBean rb = ResultBean.fireFail(); + BaseVehiclePriceVo vo = baseMapper.selectPrice(vehicleSid); + return rb.success().setData(vo); + } } \ No newline at end of file diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleapplydetail/BusVehicleApplyDetailService.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleapplydetail/BusVehicleApplyDetailService.java index 277a8de9ad..80ab28a703 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleapplydetail/BusVehicleApplyDetailService.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleapplydetail/BusVehicleApplyDetailService.java @@ -130,6 +130,13 @@ public class BusVehicleApplyDetailService extends MybatisBaseService qw = applyPageWrapper(query); IPage page = PagerUtil.queryToPage(pagerQuery); IPage pagging = baseMapper.applyPage(page, qw); + List list = pagging.getRecords(); + for (int i = 0; i p = PagerUtil.pageToVo(pagging, null); return p; } diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/BusSalesOrderAllDto.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/BusSalesOrderAllDto.java index bca5e57e90..ab431463c1 100644 --- a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/BusSalesOrderAllDto.java +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/BusSalesOrderAllDto.java @@ -16,6 +16,7 @@ import lombok.Data; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; +import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -110,4 +111,9 @@ public class BusSalesOrderAllDto implements Dto { @ApiModelProperty(value = "客户头像", required = true) @NotBlank(message = "客户头像不能为空") private String customerPhoto; + + @ApiModelProperty(value = "选择的现车的车辆sid") + private List vehicleList = new ArrayList<>(); + @ApiModelProperty(value = "优惠包价值") + private List priceList = new ArrayList<>(); } diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/BusSalesOrderPowerVo.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/BusSalesOrderPowerVo.java new file mode 100644 index 0000000000..562e09aea4 --- /dev/null +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/BusSalesOrderPowerVo.java @@ -0,0 +1,20 @@ +package com.yxt.anrui.buscenter.api.bussalesorder; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author dimengzhe + * @Date 2022/5/13 10:59 + * @Description + */ +@Data +public class BusSalesOrderPowerVo implements Vo { + private static final long serialVersionUID = -7297987001568904641L; + + @ApiModelProperty(value = "销售支持部经理是否有权限") + private Boolean isHavePower; + @ApiModelProperty(value = "总经理是否有权限") + private Boolean isPower; +} diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderdeposit/BusSalesOrderDepositDto.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderdeposit/BusSalesOrderDepositDto.java index eb6c22e47c..374ff19d61 100644 --- a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderdeposit/BusSalesOrderDepositDto.java +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderdeposit/BusSalesOrderDepositDto.java @@ -31,8 +31,6 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; -import java.math.BigDecimal; - /** * Project: anrui-buscenter(业务管理)
* File: BusSalesOrderDepositDto.java
@@ -52,7 +50,7 @@ public class BusSalesOrderDepositDto implements Dto { private static final long serialVersionUID = -5178085916707721474L; @ApiModelProperty("单台订金") - private BigDecimal deposit; + private String deposit; @ApiModelProperty("订金合计") private String depositAll; @ApiModelProperty("订金交纳方式") diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesordermodel/BusSalesOrderModelDto.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesordermodel/BusSalesOrderModelDto.java index b073f3a8e7..0d2226ab33 100644 --- a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesordermodel/BusSalesOrderModelDto.java +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesordermodel/BusSalesOrderModelDto.java @@ -31,7 +31,7 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; -import java.math.BigDecimal; +import javax.validation.constraints.NotBlank; /** * Project: anrui-buscenter(业务管理)
@@ -53,26 +53,37 @@ public class BusSalesOrderModelDto implements Dto { private static final long serialVersionUID = -216156078782065154L; @ApiModelProperty(value = "品牌") + @NotBlank(message = "参数错误:品牌") private String brandName; @ApiModelProperty(value = "品牌sid") + @NotBlank(message = "参数错误:品牌sid") private String brandSid; @ApiModelProperty("车型sid") + @NotBlank(message = "参数错误:车型sid") private String modelSid; @ApiModelProperty("配置sid") + @NotBlank(message = "参数错误:配置sid") private String modelConfigSid; @ApiModelProperty("车型名称") + @NotBlank(message = "参数错误:车型名称") private String modelName; @ApiModelProperty("车型配置名称") + @NotBlank(message = "参数错误:车型配置名称") private String modelConfig; @ApiModelProperty("常用配置") + @NotBlank(message = "参数错误:常用配置") private String config; @ApiModelProperty("更多配置") + @NotBlank(message = "参数错误:更多配置") private String moreConfig; @ApiModelProperty("特殊配置说明") + @NotBlank(message = "特殊配置说明不能为空") private String specialConfig; @ApiModelProperty("单台指导价") - private BigDecimal guildPrice; + @NotBlank(message = "参数错误:主车单台指导价") + private String guildPrice; @ApiModelProperty("单台成交价") - private BigDecimal finalPrice; + @NotBlank(message = "单台成交价不能为空") + private String finalPrice; } \ No newline at end of file diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesvehicleorder/BusSalesVehicleOrderDto.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesvehicleorder/BusSalesVehicleOrderDto.java index 723103bdca..d7ec87c59f 100644 --- a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesvehicleorder/BusSalesVehicleOrderDto.java +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesvehicleorder/BusSalesVehicleOrderDto.java @@ -56,5 +56,9 @@ public class BusSalesVehicleOrderDto implements Dto { private String linkNo; @ApiModelProperty("采购订单日期") private String linkText; + @ApiModelProperty("可使用台数") + private Integer useNum; + @ApiModelProperty("本次使用台数") + private Integer usingNum; } \ No newline at end of file diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java index c30ca66ce7..b6fce02ca8 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java @@ -30,8 +30,13 @@ import cn.hutool.core.convert.Convert; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.yxt.anrui.base.api.basemodelconfig.AppCarConfigSummaryVo; +import com.yxt.anrui.base.api.basepostprice.BaseOrderPostPriceQuery; +import com.yxt.anrui.base.api.basepostprice.BaseOrderPostPriceVo; +import com.yxt.anrui.base.api.basepostprice.BasePostPriceFeign; import com.yxt.anrui.base.api.basevehicle.AppVinsDetailsVo; import com.yxt.anrui.base.api.basevehicle.BaseVehicleFeign; +import com.yxt.anrui.base.api.basevehiclepolicy.BaseVehiclePolicyFeign; +import com.yxt.anrui.base.api.basevehiclepolicy.BaseVehiclePriceVo; import com.yxt.anrui.base.api.basevehmodelconfig.BaseVehmodelConfigFeign; import com.yxt.anrui.base.api.busvehicleorder.AppOrderReadyCar; import com.yxt.anrui.base.api.busvehicleorder.BusVehicleOrderFeign; @@ -88,6 +93,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.math.BigDecimal; import java.util.*; /** @@ -137,6 +143,10 @@ public class BusSalesOrderService extends MybatisBaseService saveOrUpdateOrder(BusSalesOrderAllDto dto) { ResultBean rb = ResultBean.fireFail(); String sid = dto.getSid(); + //验证传入的参数是否正确 + ResultBean resultBean = isCheck(dto); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } if (StringUtils.isBlank(dto.getSid())) { //新增 sid = save(dto); @@ -289,6 +304,107 @@ public class BusSalesOrderService extends MybatisBaseService busSalesVehicleOrderList = dto.getBusSalesVehicleOrderList(); + for (int i = 0; i < busSalesVehicleOrderList.size(); i++) { + vehicleNum = vehicleNum + busSalesVehicleOrderList.get(i).getUsingNum(); + } + } + //判断和价格信息中的台数是否一致 + int quantity = dto.getBusSalesOrderPrice().getQuantity(); + if (vehicleNum != quantity) { + return rb.setMsg("选择的台数与价格信息中的台数数值不一致"); + } + BigDecimal singleGuildPriceBig = new BigDecimal("0"); + BigDecimal singleFinalPriceBig = new BigDecimal("0"); + //单台指导价 + String guildPrice = dto.getBusSalesOrderModel().getGuildPrice(); + singleGuildPriceBig = singleGuildPriceBig.add(new BigDecimal(guildPrice)); + //单台成交价 + String finalPrice = dto.getBusSalesOrderModel().getFinalPrice(); + singleFinalPriceBig = singleFinalPriceBig.add(new BigDecimal(finalPrice)); + //包含上装 + if ("1".equals(dto.getIsTop())) { + //上装价格 + String topPrice = dto.getBusSalesOrderMakeup().getTopPrice(); + singleGuildPriceBig.add(new BigDecimal(topPrice)); + singleFinalPriceBig.add(new BigDecimal(topPrice)); + } + //单台指导价(主车+上装价格) + String singleGuildPrice = dto.getBusSalesOrderPrice().getSingleGuildPrice(); + String singleFinalPrice = dto.getBusSalesOrderPrice().getSingleFinalPrice(); + //比较单台指导价(主车加上装)是否等于 单台指导价+上装的价格 + if (new BigDecimal(singleGuildPrice).compareTo(singleGuildPriceBig) != 0) { + return rb.setMsg("价格信息中的单台指导价数值计算错误"); + } + //比较单台成交价(主车加上装) 是否等于单台成交价+上装的价格 + if (new BigDecimal(singleFinalPrice).compareTo(singleFinalPriceBig) != 0) { + return rb.setMsg("价格信息中的单台成交价数值计算错误"); + } + //计算车价合计是否正确 + String priceSum = dto.getBusSalesOrderPrice().getPriceSum(); + + //车价合计是否等于单台成交价*数量 + if (new BigDecimal(priceSum).compareTo(singleFinalPriceBig.multiply(new BigDecimal(new Integer(quantity).toString()))) != 0) { + return rb.setMsg("价格信息中的车价合计数值计算错误"); + } + //计算主车优惠明细计算的是否正确 + List busSalesOrderDiscountList = dto.getBusSalesOrderDiscountList(); + if (busSalesOrderDiscountList.size() > 0) { + for (int i = 0; i < busSalesOrderDiscountList.size(); i++) { + //价值 + String price = busSalesOrderDiscountList.get(i).getPrice(); + Integer num = busSalesOrderDiscountList.get(i).getNum(); + String totalValue = busSalesOrderDiscountList.get(i).getTotalValue(); + if (new BigDecimal(totalValue).compareTo(new BigDecimal(price).multiply(new BigDecimal(num.toString()))) != 0) { + return rb.setMsg("主车优惠明细中总价值数值计算错误"); + } + } + } + //订金信息的数值验证 + String deposit = dto.getBusSalesOrderDeposit().getDeposit(); + String depositAll = dto.getBusSalesOrderDeposit().getDepositAll(); + if (new BigDecimal(depositAll).compareTo(new BigDecimal(deposit).multiply(new BigDecimal(new Integer(quantity).toString()))) != 0) { + return rb.setMsg("订金信息中订金合计数值计算错误"); + } + if ("02".equals(dto.getBusSalesOrderDeposit().getDepositTypeKey())) { + List busDepositFictitiousList = dto.getBusDepositFictitiousList(); + BigDecimal depositBig = new BigDecimal("0"); + if (busDepositFictitiousList.size() > 0) { + for (int i = 0; i < busDepositFictitiousList.size(); i++) { + String depositPrice = busDepositFictitiousList.get(i).getDepositPrice(); + String price = busDepositFictitiousList.get(i).getPrice(); + if (new BigDecimal(price).compareTo(new BigDecimal(depositPrice)) > 0) { + return rb.setMsg("虚拟订单中存在本次结转金额大于订金剩余金额的数据"); + } + depositBig = depositBig.add(new BigDecimal(price)); + } + } + //判断补交金额和订金合计-本次结转金额 + String makeUpDeposit = dto.getBusSalesOrderDeposit().getMakeUpDeposit(); + if (new BigDecimal(makeUpDeposit).compareTo(new BigDecimal(depositAll).subtract(depositBig)) != 0) { + return rb.setMsg("订金信息中需补交订金数值计算错误"); + } + } + return rb.success(); + } + private void updateOrder(BusSalesOrderAllDto dto) { //主车车型信息 BusSalesOrderModelDto busSalesOrderModelDto = dto.getBusSalesOrderModel(); @@ -421,14 +537,14 @@ public class BusSalesOrderService extends MybatisBaseService priceList = dto.getPriceList(); + if (priceList.size() > 0) { + for (int i = 0; i < priceList.size(); i++) { + String price = priceList.get(i); + discountPrice = discountPrice.add(new BigDecimal(price)); + } + } + //计算总指导价-总成交价-总优惠包的价值 + bigDecimalOne = guildPriceAll.subtract(finalPriceAll).subtract(discountPrice); + List vehicleList = new ArrayList<>(); + //是否是现车 + if ("1".equals(dto.getType())) { + vehicleList = dto.getVehicleList(); + //根据现车去查询销售政策的总促销政策之和 + if (vehicleList.size() > 0) { + for (int i = 0; i < vehicleList.size(); i++) { + //根据sid去查询销售政策的sid,根据销售政策查询销售政策的金额 + ResultBean priceResultBean = baseVehiclePolicyFeign.selectPrice(vehicleList.get(i)); + String price = priceResultBean.getData().getDiscountMoney(); + BigDecimal bigDecimal1 = new BigDecimal(price); + initBigDecimal = initBigDecimal.add(bigDecimal1); + } + } + } + //销售经理的角色sid + String roleSid = "f0a79b5e-5338-435e-b0c6-08fc01048f55"; + //查询销售支持部经理是否超权限 + String brandSid = dto.getBusSalesOrderModel().getBrandSid(); + BaseOrderPostPriceQuery baseOrderPostPriceQuery = new BaseOrderPostPriceQuery(); + baseOrderPostPriceQuery.setBrandSid(brandSid); + baseOrderPostPriceQuery.setRoleSid(roleSid); + ResultBean resultBean1 = basePostPriceFeign.selectPostPrice(baseOrderPostPriceQuery); + if (resultBean1.getSuccess()) { + String price = resultBean1.getData().getPrice(); + //ToDo:计算是否有权限:岗位权限(销售部经理权限、总经理权限)+总促销金额<总指导价-总成交价-优惠包总价值 + //销售支持部经理的岗位权限价格 + BigDecimal bigDecimal2 = new BigDecimal(price); + bigDecimalTwo = bigDecimal2.add(initBigDecimal); + //判断岗位权限+总促销价格和总指导价-总成交价-优惠包总价值的大小 + if (bigDecimalTwo.compareTo(bigDecimalOne) < 0) { + //bigDecimalTwo 0) { + //bigDecimalTwo>bigDecimalOne + isHavePower = false; + } else { + isHavePower = false; + } + } + //总经理的角色sid + roleSid = "135b4829-2928-4124-a5b3-7d4b1101a863"; + //查询总经理审批是否超权限 + baseOrderPostPriceQuery = new BaseOrderPostPriceQuery(); + baseOrderPostPriceQuery.setBrandSid(brandSid); + baseOrderPostPriceQuery.setRoleSid(roleSid); + ResultBean resultBean2 = basePostPriceFeign.selectPostPrice(baseOrderPostPriceQuery); + if (resultBean2.getSuccess()) { + String price = resultBean2.getData().getPrice(); + //ToDo:计算是否有权限:岗位权限(销售部经理权限、总经理权限)+总促销金额>总指导价-总成交价-优惠包总价值 + //总经理的岗位权限价格 + bigDecimalTwo = new BigDecimal("0"); + BigDecimal bigDecimal2 = new BigDecimal(price); + bigDecimalTwo = bigDecimal2.add(initBigDecimal); + //判断岗位权限+总促销价格和总指导价-总成交价-优惠包总价值的大小 + if (bigDecimalTwo.compareTo(bigDecimalOne) < 0) { + //bigDecimalTwo 0) { + //bigDecimalTwo>bigDecimalOne + isPower = false; + } else { + isPower = false; + } + } + busSalesOrderPowerVo.setIsPower(isPower); + busSalesOrderPowerVo.setIsHavePower(isHavePower); + return busSalesOrderPowerVo; + } + /** * 查询用户是否设置了部门 * diff --git a/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/sysprourl/SysProUrlService.java b/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/sysprourl/SysProUrlService.java index 8b408c89ea..5628d9c119 100644 --- a/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/sysprourl/SysProUrlService.java +++ b/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/sysprourl/SysProUrlService.java @@ -183,6 +183,6 @@ public class SysProUrlService extends MybatisBaseService