|
|
|
@ -1,6 +1,7 @@ |
|
|
|
package cc.hiver.mall.serviceimpl; |
|
|
|
|
|
|
|
import cc.hiver.core.common.constant.CommonConstant; |
|
|
|
import cc.hiver.core.common.constant.DealingsRecordConstant; |
|
|
|
import cc.hiver.core.common.constant.SaleConstant; |
|
|
|
import cc.hiver.core.common.constant.UserConstant; |
|
|
|
import cc.hiver.core.common.sms.SmsUtil; |
|
|
|
@ -14,6 +15,8 @@ import cc.hiver.core.service.LogiticsCompanyService; |
|
|
|
import cc.hiver.core.service.RoleService; |
|
|
|
import cc.hiver.core.service.UserRoleService; |
|
|
|
import cc.hiver.core.service.UserService; |
|
|
|
import cc.hiver.mall.debt.constant.DebtConstant; |
|
|
|
import cc.hiver.mall.debt.entity.Debt; |
|
|
|
import cc.hiver.mall.debt.service.DebtService; |
|
|
|
import cc.hiver.mall.deductlog.service.DeductLogService; |
|
|
|
import cc.hiver.mall.entity.*; |
|
|
|
@ -92,6 +95,9 @@ public class SalesAndDetailsServiceImpl implements SalesAndDetailsService { |
|
|
|
@Autowired |
|
|
|
private DebtService debtService; |
|
|
|
|
|
|
|
@Autowired |
|
|
|
private DealingsRecordService dealingsRecordService; |
|
|
|
|
|
|
|
@Override |
|
|
|
public Sale handleSalesAndDetails(SaleDTO saleDTO) { |
|
|
|
|
|
|
|
@ -404,6 +410,37 @@ public class SalesAndDetailsServiceImpl implements SalesAndDetailsService { |
|
|
|
@Override |
|
|
|
public Sale savePresale(SaleQueryDTO saleQueryDTO) { |
|
|
|
|
|
|
|
/** |
|
|
|
* 1.处理Sale总订单 |
|
|
|
* 处理订单状态/收款状态 |
|
|
|
* */ |
|
|
|
final Sale sale = saleQueryDTO.getSale(); |
|
|
|
|
|
|
|
// 查询分享单的创建人(销售员id)
|
|
|
|
// 获取分享单的id
|
|
|
|
String oldSaleId = saleQueryDTO.getOldSaleId(); |
|
|
|
// 新增下游客户信息
|
|
|
|
final Customer customer = new Customer(); |
|
|
|
// 欠款信息
|
|
|
|
final Debt debt = new Debt(); |
|
|
|
// 2. 新增欠款记录
|
|
|
|
final DealingsRecord dealingsRecord = new DealingsRecord(); |
|
|
|
|
|
|
|
if (StringUtils.isNotEmpty(oldSaleId)) { |
|
|
|
//
|
|
|
|
Map<String, String> userData = productShareService.getCreByUserData(oldSaleId); |
|
|
|
if (userData != null) { |
|
|
|
// 分享的人员设置为销售单的销售员
|
|
|
|
sale.setCreateBy(String.valueOf(userData.get("id"))); |
|
|
|
sale.setCreateByName(userData.get("nickname")); |
|
|
|
// 欠款信息创建人
|
|
|
|
debt.setCreateBy(String.valueOf(userData.get("id"))); |
|
|
|
// 欠款记录信息创建人
|
|
|
|
dealingsRecord.setCreateBy(String.valueOf(userData.get("id"))); |
|
|
|
dealingsRecord.setCreateByName(userData.get("nickname")); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
// 分享页提交订单的时候,根据手机号查询下游客户信息,如果查不到,则新增下游客户
|
|
|
|
User byMobile; |
|
|
|
String customerId = ""; |
|
|
|
@ -448,8 +485,7 @@ public class SalesAndDetailsServiceImpl implements SalesAndDetailsService { |
|
|
|
byMobile = userService.save(byMobile); |
|
|
|
} |
|
|
|
} |
|
|
|
// 新增下游客户信息
|
|
|
|
final Customer customer = new Customer(); |
|
|
|
|
|
|
|
customer.setUserId(byMobile.getId()); |
|
|
|
customer.setCreateTime(new Date()); |
|
|
|
customer.setDelFlag(CommonConstant.DEL_FLAG_FALSE); |
|
|
|
@ -463,29 +499,43 @@ public class SalesAndDetailsServiceImpl implements SalesAndDetailsService { |
|
|
|
customerService.save(customer); |
|
|
|
// 获取新增的客户id
|
|
|
|
customerId = customer.getId(); |
|
|
|
// 客户欠款信息
|
|
|
|
final BigDecimal amountOwed = customer.getAmountOwed() == null ? BigDecimal.ZERO : customer.getAmountOwed(); |
|
|
|
|
|
|
|
|
|
|
|
debt.setCreateTime(new Date()); |
|
|
|
debt.setUserId(customer.getId()); |
|
|
|
debt.setShopId(saleQueryDTO.getSale().getShopId()); |
|
|
|
debt.setUserPhone(customer.getPhone()); |
|
|
|
debt.setUserAdress(customer.getAddress()); |
|
|
|
debt.setUserName(customer.getName()); |
|
|
|
debt.setAmountOwed(amountOwed); |
|
|
|
debt.setUserType(DebtConstant.USER_TYPE[0]); |
|
|
|
debtService.save(debt); |
|
|
|
// 新增交易记录
|
|
|
|
dealingsRecord.setCreateTime(new Date()); |
|
|
|
dealingsRecord.setDealingsUserId(customer.getId()); |
|
|
|
dealingsRecord.setDealingsUserName(customer.getName()); |
|
|
|
dealingsRecord.setUserType(DealingsRecordConstant.TYPE[1]); |
|
|
|
dealingsRecord.setDealingsWay("新增客户"); |
|
|
|
dealingsRecord.setShopId(saleQueryDTO.getSale().getShopId()); |
|
|
|
// 销售金额
|
|
|
|
dealingsRecord.setSaleAmount(BigDecimal.ZERO); |
|
|
|
// 退货金额
|
|
|
|
dealingsRecord.setReturnAmount(BigDecimal.ZERO); |
|
|
|
// 上次欠款
|
|
|
|
dealingsRecord.setLastDebtAmount(BigDecimal.ZERO); |
|
|
|
// 最新欠款
|
|
|
|
dealingsRecord.setBalanceDue(amountOwed); |
|
|
|
dealingsRecord.setAmount(amountOwed); |
|
|
|
dealingsRecord.setDealingsType(DealingsRecordConstant.DEALINGS_TYPE[3]); |
|
|
|
dealingsRecordService.save(dealingsRecord); |
|
|
|
|
|
|
|
} else { |
|
|
|
log.error("下游客户未填写手机号!"); |
|
|
|
return null; |
|
|
|
} |
|
|
|
/** |
|
|
|
* 1.处理Sale总订单 |
|
|
|
* 处理订单状态/收款状态 |
|
|
|
* */ |
|
|
|
final Sale sale = saleQueryDTO.getSale(); |
|
|
|
|
|
|
|
// 查询分享单的创建人(销售员id)
|
|
|
|
// 获取分享单的id
|
|
|
|
String oldSaleId = saleQueryDTO.getOldSaleId(); |
|
|
|
if(StringUtils.isNotEmpty(oldSaleId)){ |
|
|
|
//
|
|
|
|
Map<String,String> userData = productShareService.getCreByUserData(oldSaleId); |
|
|
|
if(userData != null){ |
|
|
|
// 分享的人员设置为销售单的销售员
|
|
|
|
sale.setCreateBy(String.valueOf(userData.get("id"))); |
|
|
|
sale.setCreateByName(userData.get("nickname")); |
|
|
|
} |
|
|
|
} |
|
|
|
// 分享页提交订单这里肯定是:未收款
|
|
|
|
sale.setPayStatus("0"); |
|
|
|
// 分享页提交订单:6:待配货
|
|
|
|
@ -547,9 +597,10 @@ public class SalesAndDetailsServiceImpl implements SalesAndDetailsService { |
|
|
|
|
|
|
|
/** |
|
|
|
* 保存挂单商品信息 |
|
|
|
* |
|
|
|
* @param saleDetailDTOList |
|
|
|
* @author 王富康 |
|
|
|
* @date 2023/10/28 |
|
|
|
* @param saleDetailDTOList |
|
|
|
*/ |
|
|
|
@Override |
|
|
|
public void setSaleDetail(List<SaleDetailDTO> saleDetailDTOList, String saleId) { |
|
|
|
|