Commit 5e8d7644 authored by yanghao's avatar yanghao

Merge branch 'release-fix' into release

parents b274f96f add30e5e
...@@ -356,12 +356,12 @@ public class CustomerDO extends BaseDO { ...@@ -356,12 +356,12 @@ public class CustomerDO extends BaseDO {
/** /**
* 默认付款,1-是,0-否 * 默认付款,1-是,0-否
*/ */
private Boolean defaultPay ; private Boolean defaultPay;
/** /**
* 控货无收货人,1-是,0-否 * 控货无收货人,1-是,0-否
*/ */
private Boolean noConsignee ; private Boolean noConsignee;
@ApiModelProperty("延期申请次数") @ApiModelProperty("延期申请次数")
private int delayApprovalNum ; private int delayApprovalNum ;
...@@ -504,6 +504,12 @@ public class CustomerDO extends BaseDO { ...@@ -504,6 +504,12 @@ public class CustomerDO extends BaseDO {
@TableField(exist = false) @TableField(exist = false)
private String customerServiceName; private String customerServiceName;
/**
* 创建者名字
*/
@TableField(exist = false)
private String createUsername;
/** /**
* 国家名称 * 国家名称
......
...@@ -9,6 +9,7 @@ import lombok.EqualsAndHashCode; ...@@ -9,6 +9,7 @@ import lombok.EqualsAndHashCode;
import lombok.ToString; import lombok.ToString;
import org.springframework.format.annotation.DateTimeFormat; import org.springframework.format.annotation.DateTimeFormat;
import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
...@@ -35,8 +36,8 @@ public class CustomerPageReqDTO extends PageParam { ...@@ -35,8 +36,8 @@ public class CustomerPageReqDTO extends PageParam {
@ApiModelProperty(value = "客户类别") @ApiModelProperty(value = "客户类别")
private List<String> type; private List<String> type;
@ApiModelProperty(value = "客户货运类型", notes = "参见customer_transport_type数据字典") @ApiModelProperty(value = "出货渠道", notes = "参见customer_transport_type数据字典")
private String transportType; private List<String> transportType;
@ApiModelProperty(value = "客户资源类型", notes = "参见customer_resource_type数据字典") @ApiModelProperty(value = "客户资源类型", notes = "参见customer_resource_type数据字典")
private List<Integer> resourceType; private List<Integer> resourceType;
...@@ -51,8 +52,11 @@ public class CustomerPageReqDTO extends PageParam { ...@@ -51,8 +52,11 @@ public class CustomerPageReqDTO extends PageParam {
@ApiModelProperty(value = "客户状态") @ApiModelProperty(value = "客户状态")
private List<Integer> status; private List<Integer> status;
// @ApiModelProperty(value = "部门")
// private String department;
@ApiModelProperty(value = "部门") @ApiModelProperty(value = "部门")
private String department; private List<Long> deptIds;
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
@ApiModelProperty(value = "开始创建时间") @ApiModelProperty(value = "开始创建时间")
...@@ -100,4 +104,112 @@ public class CustomerPageReqDTO extends PageParam { ...@@ -100,4 +104,112 @@ public class CustomerPageReqDTO extends PageParam {
private String memberMobile; private String memberMobile;
@ApiModelProperty(value = "会员区号") @ApiModelProperty(value = "会员区号")
private String memberAreaCode; private String memberAreaCode;
// 20240904 add start
@ApiModelProperty(value = "客户角色")
private List<String> role;
/**
* 业务国家 逗号分隔
*/
@ApiModelProperty(value = "业务国家")
private List<Long> busiCountryIds;
@ApiModelProperty(value = "常用提货网点")
private List<Long> pickupPoints;
@ApiModelProperty(value = "创建人")
private Long founder;
// 开始入公海时间和结束入公海时间
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
@ApiModelProperty(value = "开始入公海时间")
private Date beginEnterOpenSeaTime;
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
@ApiModelProperty(value = "结束入公海时间")
private Date endEnterOpenSeaTime;
@ApiModelProperty(value = "业绩类型(老客户:0 新客户:1)")
private Boolean isNew;
// 大于等于年度发货量
@ApiModelProperty(value = "大于等于年度发货量")
private BigDecimal geWeightYearly;
// 小于等于年度发货量
@ApiModelProperty(value = "小于等于年度发货量")
private BigDecimal leWeightYearly;
// 等于年度发货量
@ApiModelProperty(value = "等于年度发货量")
private BigDecimal eqWeightYearly;
// 大于等于年度发货次数
@ApiModelProperty(value = "大于等于年度发货次数")
private Integer geNumYearly;
// 小于等于年度发货次数
@ApiModelProperty(value = "小于等于年度发货次数")
private Integer leNumYearly;
// 等于年度发货次数
@ApiModelProperty(value = "等于年度发货次数")
private Integer eqNumYearly;
@ApiModelProperty(value = "主营商品类型")
private List<Long> productTypes;
@ApiModelProperty(value = "主营商品名称")
private List<Long> productIds;
@ApiModelProperty(value = "主要竞争对手")
private List<Long> competitorIds;
@ApiModelProperty(value = "推介人")
private Long promoter;
@ApiModelProperty(value = "到仓确认")
private Integer arrivalConfirm;
@ApiModelProperty(value = "控货无收货人,1-是,0-否")
private Boolean noConsignee;
@ApiModelProperty(value = "默认付款")
private Boolean defaultPay;
@ApiModelProperty(value = "是否显示提单价格")
private Boolean isShowTidanPrice;
//归属时间
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
@ApiModelProperty(value = "开始归属时间")
private Date beginCustomerServiceConfirmedTime;
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
@ApiModelProperty(value = "结束归属时间")
private Date endCustomerServiceConfirmedTime;
// 首次成交时间
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
@ApiModelProperty(value = "开始首次成交时间")
private Date beginFirstDealTime;
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
@ApiModelProperty(value = "结束首次成交时间")
private Date endFirstDealTime;
@ApiModelProperty(value = "获取方式")
private List<String> getMethods;
//创建入口
@ApiModelProperty(value = "创建入口")
private List<String> createFroms;
// 结算方式
@ApiModelProperty(value = "结算方式")
private List<String> balances;
// 20240904 add end
} }
...@@ -77,7 +77,7 @@ ...@@ -77,7 +77,7 @@
su.nickname as customer_service_name, su.nickname as customer_service_name,
su.dept_id as dept_id, su.dept_id as dept_id,
(SELECT GROUP_CONCAT(name) FROM ecw_customer_competitor n WHERE FIND_IN_SET(n.id,(SELECT competitor_ids FROM ecw_customer WHERE id=a.id))) AS competitor_names, (SELECT GROUP_CONCAT(name) FROM ecw_customer_competitor n WHERE FIND_IN_SET(n.id,(SELECT competitor_ids FROM ecw_customer WHERE id=a.id))) AS competitor_names,
su2.creator as create_username su2.nickname as create_username
from ecw_customer a from ecw_customer a
left join (select * from ecw_customer_contacts where is_default = 1 and deleted = 0) as c on a.id = c.customer_id left join (select * from ecw_customer_contacts where is_default = 1 and deleted = 0) as c on a.id = c.customer_id
left join system_user su on a.customer_service = su.id left join system_user su on a.customer_service = su.id
...@@ -519,27 +519,22 @@ ...@@ -519,27 +519,22 @@
AND contact.is_customer_service_confirmed = #{query.isCustomerServiceConfirmed} AND contact.is_customer_service_confirmed = #{query.isCustomerServiceConfirmed}
</if> </if>
<if test="query.department != null and query.department != '' ">
AND contact.department = #{query.department}
</if>
<!--跟进客服 --> <!--部门deptIds-->
<if test="query.customerService != null and query.customerService.size()>0"> <if test="query.deptIds != null and query.deptIds.size()>0">
AND
<if test="query.customerService != null and query.customerService != '' and query.customerService.size()==1 "> <foreach item='item' index="index" collection='query.deptIds' open='(' separator='or' close=')'>
AND contact.customer_service = FIND_IN_SET(#{item}, contact.dept_id)
<foreach item='customerService' index="index" collection='query.customerService' >
#{customerService}
</foreach> </foreach>
</if> </if>
<if test="query.customerService != null and query.customerService != '' and query.customerService.size()>1 "> <!--跟进客服 -->
AND contact.customer_service in <if test="query.customerService != null and query.customerService.size()>0">
<foreach item='customerService' index="index" collection='query.customerService' open='(' separator=',' close=')'> AND
#{customerService} <foreach item='item' index="index" collection='query.customerService' open='(' separator='or' close=')'>
FIND_IN_SET(#{item}, contact.customer_service)
</foreach> </foreach>
</if> </if>
</if>
<!--市场获客 --> <!--市场获客 -->
...@@ -577,111 +572,192 @@ ...@@ -577,111 +572,192 @@
<!--信用等级 --> <!--信用等级 -->
<if test="query.creditLevel != null and query.creditLevel.size()>0"> <if test="query.creditLevel != null and query.creditLevel.size()>0">
AND
<if test="query.creditLevel != null and query.creditLevel != '' and query.creditLevel.size()==1 "> <foreach item='item' index="index" collection='query.creditLevel' open='(' separator='or' close=')'>
AND contact.credit_level = FIND_IN_SET(#{item}, contact.credit_level)
<foreach item='creditLevel' index="index" collection='query.creditLevel' >
#{creditLevel}
</foreach> </foreach>
</if> </if>
<if test="query.creditLevel != null and query.creditLevel != '' and query.creditLevel.size()>1 ">
AND contact.credit_level in
<foreach item='creditLevel' index="index" collection='query.creditLevel' open='(' separator=',' close=')'>
#{creditLevel}
</foreach>
</if>
</if>
<!--客户类别 --> <!--客户类别 -->
<if test="query.type != null and query.type.size()>0"> <if test="query.type != null and query.type.size()>0">
AND
<foreach item='item' index="index" collection='query.type' open='(' separator='or' close=')'>
FIND_IN_SET(#{item}, contact.type)
</foreach>
</if>
<if test="query.type != null and query.type != '' and query.type.size()==1 "> <!--客户来源 -->
AND contact.type = <if test="query.source != null and query.source.size()>0">
<foreach item='type' index="index" collection='query.type' > AND
#{type} <foreach item='item' index="index" collection='query.source' open='(' separator='or' close=')'>
FIND_IN_SET(#{item}, contact.source)
</foreach> </foreach>
</if> </if>
<if test="query.type != null and query.type != '' and query.type.size()>1 "> <!--国家 -->
AND contact.type in <if test="query.country != null and query.country.size()>0">
<foreach item='type' index="index" collection='query.type' open='(' separator=',' close=')'> AND
#{type} <foreach item='item' index="index" collection='query.country' open='(' separator='or' close=')'>
FIND_IN_SET(#{item}, contact.country)
</foreach> </foreach>
</if> </if>
<!--客户状态 -->
<if test="query.status != null and query.status.size()>0">
AND
<foreach item='item' index="index" collection='query.status' open='(' separator='or' close=')'>
FIND_IN_SET(#{item}, contact.status)
</foreach>
</if> </if>
<!--客户等级 -->
<if test="query.level != null and query.level.size()>0">
AND
<foreach item='item' index="index" collection='query.level' open='(' separator='or' close=')'>
FIND_IN_SET(#{item}, contact.level)
</foreach>
</if>
<!--客户来源 --> <!--角色-->
<if test="query.source != null and query.source.size()>0"> <if test="query.role != null and query.role.size()>0">
AND
<foreach item='item' index="index" collection='query.role' open='(' separator='or' close=')'>
FIND_IN_SET(#{item}, contact.roles)
</foreach>
</if>
<if test="query.source != null and query.source != '' and query.source.size()==1 "> <!--出货渠道-->
AND contact.source = <if test="query.transportType != null and query.transportType.size()>0">
<foreach item='source' index="index" collection='query.source' > AND
#{source} <foreach item='item' index="index" collection='query.transportType' open='(' separator='or' close=')'>
FIND_IN_SET(#{item}, contact.transport_type)
</foreach> </foreach>
</if> </if>
<if test="query.source != null and query.source != '' and query.source.size()>1 "> <!--业务国家-->
AND contact.source in <if test="query.busiCountryIds != null and query.busiCountryIds.size()>0">
<foreach item='source' index="index" collection='query.source' open='(' separator=',' close=')'> AND
#{source} <foreach item='item' index="index" collection='query.busiCountryIds' open='(' separator='or' close=')'>
FIND_IN_SET(#{item}, contact.busi_country_ids)
</foreach> </foreach>
</if> </if>
<!--创建人-->
<if test="query.founder != null">
AND contact.founder = #{query.founder}
</if> </if>
<!--国家 --> <!--开始入公海时间和结束入公海时间-->
<if test="query.country != null and query.country.size()>0"> <if test="query.beginEnterOpenSeaTime != null and query.endEnterOpenSeaTime != null">
AND (
(contact.enter_open_sea_time is not null and contact.enter_open_sea_time BETWEEN #{query.beginEnterOpenSeaTime} AND #{query.endEnterOpenSeaTime})
or (contact.enter_open_sea_time is null and contact.estimate_enter_open_sea_time BETWEEN #{query.beginEnterOpenSeaTime} AND #{query.endEnterOpenSeaTime})
)
</if>
<if test="query.country != null and query.country != '' and query.country.size()==1 "> <!--是否新客户-->
AND contact.country = <if test="query.isInOpenSea != null">
<foreach item='country' index="index" collection='query.country' > AND contact.is_in_open_sea = #{query.isInOpenSea}
#{country}
</foreach>
</if> </if>
<if test="query.country != null and query.country != '' and query.country.size()>1 ">
AND contact.country in <!--年度发货量 大于等于/小于等于/等于-->
<foreach item='country' index="index" collection='query.country' open='(' separator=',' close=')'> <if test="query.geWeightYearly != null">
#{country} AND contact.weight_yearly <![CDATA[ >= ]]> #{query.geWeightYearly}
</foreach>
</if> </if>
<if test="query.leWeightYearly != null">
AND contact.weight_yearly <![CDATA[ <= ]]> #{query.leWeightYearly}
</if>
<if test="query.eqWeightYearly != null">
AND contact.weight_yearly = #{query.eqWeightYearly}
</if> </if>
<!--客户状态 --> <!--年度发货次数 大于等于/小于等于/等于-->
<if test="query.status != null and query.status.size()>0"> <if test="query.geNumYearly != null">
AND contact.num_yearly <![CDATA[ >= ]]> #{query.geNumYearly}
</if>
<if test="query.leNumYearly != null">
AND contact.num_yearly <![CDATA[ <= ]]> #{query.leNumYearly}
</if>
<if test="query.leNumYearly != null">
AND contact.num_yearly = #{query.leNumYearly}
</if>
<if test="query.status != null and query.status != '' and query.status.size()==1 ">
AND contact.status = <!--主营商品类型-->
<foreach item='status' index="index" collection='query.status' > <if test="query.productTypes != null and query.productTypes.size()>0">
#{status} AND
<foreach item='item' index="index" collection='query.productTypes' open='(' separator='or' close=')'>
FIND_IN_SET(#{item}, contact.product_type)
</foreach>
</if>
<!--主营商品名称-->
<if test="query.productIds != null and query.productIds.size()>0">
AND
<foreach item='item' index="index" collection='query.productIds' open='(' separator='or' close=')'>
FIND_IN_SET(#{item}, contact.product_ids)
</foreach> </foreach>
</if> </if>
<if test="query.status != null and query.status != '' and query.status.size()>1 "> <!--主要竞争对手-->
AND contact.status in <if test="query.competitorIds != null and query.competitorIds.size()>0">
<foreach item='status' index="index" collection='query.status' open='(' separator=',' close=')'> AND
#{status} <foreach item='item' index="index" collection='query.competitorIds' open='(' separator='or' close=')'>
FIND_IN_SET(#{item}, contact.competitor_ids)
</foreach> </foreach>
</if> </if>
<!--推介人 promoter-->
<if test="query.promoter != null">
AND contact.promoter = #{query.promoter}
</if>
<!--到仓确认-->
<if test="query.arrivalConfirm != null">
AND contact.arrival_confirm = #{query.arrivalConfirm}
</if>
<!--控货无收货人-->
<if test="query.noConsignee != null">
AND contact.no_consignee = #{query.noConsignee}
</if>
<!--默认付款-->
<if test="query.defaultPay != null">
AND contact.default_pay = #{query.defaultPay}
</if>
<!--是否显示提单价格-->
<if test="query.isShowTidanPrice != null">
AND contact.is_show_tidan_price = #{query.isShowTidanPrice}
</if> </if>
<!--客户等级 -->
<if test="query.level != null and query.level.size()>0">
<if test="query.level != null and query.level != '' and query.level.size()==1 "> <!--归属时间-->
AND contact.level = <if test="query.beginCustomerServiceConfirmedTime != null and query.endCustomerServiceConfirmedTime != null">
<foreach item='level' index="index" collection='query.level' > AND contact.customer_service_confirmed_time BETWEEN #{query.beginCustomerServiceConfirmedTime} AND #{query.endCustomerServiceConfirmedTime}
#{level} </if>
</foreach> <!--首次成交时间-->
<if test="query.beginFirstDealTime != null and query.endFirstDealTime != null">
AND contact.first_deal_time BETWEEN #{query.beginFirstDealTime} AND #{query.endFirstDealTime}
</if> </if>
<if test="query.level != null and query.level != '' and query.level.size()>1 "> <!--获取方式-->
AND contact.level in <if test="query.getMethods != null and query.getMethods.size()>0">
<foreach item='level' index="index" collection='query.level' open='(' separator=',' close=')'> AND
#{level} <foreach item='item' index="index" collection='query.getMethods' open='(' separator='or' close=')'>
FIND_IN_SET(#{item}, contact.get_method)
</foreach> </foreach>
</if> </if>
<!--创建入口-->
<if test="query.createFroms != null and query.createFroms.size()>0">
AND
<foreach item='item' index="index" collection='query.createFroms' open='(' separator='or' close=')'>
FIND_IN_SET(#{item}, contact.create_from)
</foreach>
</if>
<!--结算方式balances-->
<if test="query.balances != null and query.balances.size()>0">
AND
<foreach item='item' index="index" collection='query.balances' open='(' separator='or' close=')'>
FIND_IN_SET(#{item}, contact.balance)
</foreach>
</if> </if>
<!-- 会员信息 --> <!-- 会员信息 -->
<if test="query.memberCode != null and query.memberCode != '' "> <if test="query.memberCode != null and query.memberCode != '' ">
......
...@@ -41,7 +41,7 @@ Content-Type: application/json ...@@ -41,7 +41,7 @@ Content-Type: application/json
{"inquiry":null,"id":"38155","number":"SGP00004","name":"yh2345","nameEn":null,"level":1,"country":194,"type":"0,1","transportType":"1","agentId":null,"company":"","companyEn":null,"payerName":null,"address":null,"productType":null,"productId":null,"pickupPoint":null,"memberId":null,"birthday":null,"balance":null,"source":5,"picture":null,"customerService":null,"customerContacts":[{"customerId":38155,"department":"","position":"","name":"yh12345","nameEn":"","social":null,"socialNumber":"","email":"","isDefault":1,"userid":null,"username":null,"areaCode":"65","phoneNew":"66666666","createTime":1692929203000,"id":69056,"customerContactsId":69056,"customerName":null,"company":""}],"customerLines":[],"lightUnit":null,"promoter":null,"status":1,"founder":118,"department":null,"invoiceTitle":null,"licenseNumber":null,"bank":null,"bankNumber":null,"project":null,"billingAddress":null,"billingTell":null,"taxRate":0,"remarks":null,"arrivalConfirm":0,"weightUnit":null,"createTime":1692924735000,"isShowTidanPrice":true,"carName":null,"carNo":null,"customerBanks":[],"creditLevel":3,"vipLevelScore":1,"vipLevelNameZh":"普通","vipLevelNameEn":"common","creditLevelScore":400,"creditLevelNameZh":"信用良好","creditLevelNameEn":"good credit","customerServiceName":null,"consigneeFirstCustomerService":null,"isNew":true,"resourceType":1,"isInOpenSea":false,"enterOpenSeaTime":null,"estimateEnterOpenSeaTime":null,"catchTime":null,"promoterName":null,"enquiryInfo":null,"isCustomerServiceConfirmed":false,"isWebOrderConsigneeSync":false,"isPotential":false,"founderName":"yanghao","customerBankBackVOList":[],"countryNameZh":"新加坡","countryNameEn":"Singapore","productTypeNameZh":null,"productTypeNameEn":null,"productNameZh":null,"productNameEn":null,"pickupPointNameZh":null,"pickupPointNameEn":null} {"inquiry":null,"id":"38155","number":"SGP00004","name":"yh2345","nameEn":null,"level":1,"country":194,"type":"0,1","transportType":"1","agentId":null,"company":"","companyEn":null,"payerName":null,"address":null,"productType":null,"productId":null,"pickupPoint":null,"memberId":null,"birthday":null,"balance":null,"source":5,"picture":null,"customerService":null,"customerContacts":[{"customerId":38155,"department":"","position":"","name":"yh12345","nameEn":"","social":null,"socialNumber":"","email":"","isDefault":1,"userid":null,"username":null,"areaCode":"65","phoneNew":"66666666","createTime":1692929203000,"id":69056,"customerContactsId":69056,"customerName":null,"company":""}],"customerLines":[],"lightUnit":null,"promoter":null,"status":1,"founder":118,"department":null,"invoiceTitle":null,"licenseNumber":null,"bank":null,"bankNumber":null,"project":null,"billingAddress":null,"billingTell":null,"taxRate":0,"remarks":null,"arrivalConfirm":0,"weightUnit":null,"createTime":1692924735000,"isShowTidanPrice":true,"carName":null,"carNo":null,"customerBanks":[],"creditLevel":3,"vipLevelScore":1,"vipLevelNameZh":"普通","vipLevelNameEn":"common","creditLevelScore":400,"creditLevelNameZh":"信用良好","creditLevelNameEn":"good credit","customerServiceName":null,"consigneeFirstCustomerService":null,"isNew":true,"resourceType":1,"isInOpenSea":false,"enterOpenSeaTime":null,"estimateEnterOpenSeaTime":null,"catchTime":null,"promoterName":null,"enquiryInfo":null,"isCustomerServiceConfirmed":false,"isWebOrderConsigneeSync":false,"isPotential":false,"founderName":"yanghao","customerBankBackVOList":[],"countryNameZh":"新加坡","countryNameEn":"Singapore","productTypeNameZh":null,"productTypeNameEn":null,"productNameZh":null,"productNameEn":null,"pickupPointNameZh":null,"pickupPointNameEn":null}
### page ### page
GET {{baseUrl}}/ecw/customer/page?pageNo=1&pageSize=100&name= GET {{baseUrl}}/ecw/customer/page?pageNo=1&pageSize=10&customerService[0]=1144&customerService[1]=2659&beginEnterOpenSeaTime=2024-10-02%2000%3A00%3A00&endEnterOpenSeaTime=2024-10-05%2000%3A00%3A00
Authorization: Bearer {{token}} Authorization: Bearer {{token}}
tenant-id: {{adminTenentId}} tenant-id: {{adminTenentId}}
......
...@@ -30,6 +30,8 @@ import java.util.List; ...@@ -30,6 +30,8 @@ import java.util.List;
public interface OrderService extends IService<OrderDO> { public interface OrderService extends IService<OrderDO> {
void updateOrderSalesmanId(Long orderId,Long salesman_id); void updateOrderSalesmanId(Long orderId,Long salesman_id);
/** /**
* 创建订单 * 创建订单
* *
...@@ -379,4 +381,15 @@ public interface OrderService extends IService<OrderDO> { ...@@ -379,4 +381,15 @@ public interface OrderService extends IService<OrderDO> {
void updateOrderCustomerAndSalesmanId(Long customerId, Long salesmanId, Long orderId); void updateOrderCustomerAndSalesmanId(Long customerId, Long salesmanId, Long orderId);
/**
* copy订单
*
* @param copyOrderId 复制的订单id
* @param memberUserDO 会员信息
* @return 编号
*/
Long copyOrder(Long copyOrderId,MemberUserDO memberUserDO);
} }
...@@ -6201,4 +6201,24 @@ public class OrderServiceImpl extends AbstractService<OrderMapper, OrderDO> impl ...@@ -6201,4 +6201,24 @@ public class OrderServiceImpl extends AbstractService<OrderMapper, OrderDO> impl
orderMapper.updateOrderCustomerAndSalesmanId(customerId, salesmanId, orderId); orderMapper.updateOrderCustomerAndSalesmanId(customerId, salesmanId, orderId);
} }
@Override
public Long copyOrder(Long copyOrderId, MemberUserDO memberUserDO) {
OrderDO orderDO = orderMapper.selectById(copyOrderId);
// 发货人信息
OrderConsignorDO orderConsignorDO = orderConsignorService.getOne(new LambdaQueryWrapper<OrderConsignorDO>().eq(OrderConsignorDO::getOrderId, orderDO.getOrderId()).orderByDesc(OrderConsignorDO::getId).last("limit 1"));
// 收货人信息
OrderConsigneeDO orderConsigneeDO = orderConsigneeService.getOne(new LambdaQueryWrapper<OrderConsigneeDO>().eq(OrderConsigneeDO::getOrderId, orderDO.getOrderId()).orderByDesc(OrderConsigneeDO::getId).last("limit 1"));
// 控货信息
OrderCargoControlDO orderCargoControlDO = orderCargoControlMapper.selectOne(new LambdaQueryWrapper<OrderCargoControlDO>().eq(OrderCargoControlDO::getOrderId, orderDO.getOrderId()).orderByDesc(OrderCargoControlDO::getId).last("limit 1"));
// 始发地
OrderDepartureDO orderDepartureDO = orderDepartureService.getOne(new LambdaQueryWrapper<OrderDepartureDO>().eq(OrderDepartureDO::getOrderId, orderDO.getOrderId()).orderByDesc(OrderDepartureDO::getId).last("limit 1"));
// 目的地
OrderObjectiveDO orderObjectiveDO = orderObjectiveService.getOne(new LambdaQueryWrapper<OrderObjectiveDO>().eq(OrderObjectiveDO::getOrderId, orderDO.getOrderId()).orderByDesc(OrderObjectiveDO::getId).last("limit 1"));
// 商品信息
List<OrderItemDO> itemDOList = orderItemMapper.selectList(new LambdaQueryWrapper<OrderItemDO>().eq(OrderItemDO::getOrderId, orderDO.getOrderId()).orderByDesc(OrderItemDO::getOrderItemId));
// TODO 这里是否需要重新判断业绩归属
// TODO 如果是web端复制的,发货人不是当前登陆会员,是否要改为当前登陆的会员管理客户信息
return 0L;
}
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment