Merge branch 'master' of gitee.com:darlk/ShengTangManage into develop
This commit is contained in:
@ -38,6 +38,11 @@ public class SysCommision extends BaseEntity {
|
||||
*/
|
||||
private Long postId;
|
||||
|
||||
/**
|
||||
* 岗位编码code
|
||||
*/
|
||||
private String postCode;
|
||||
|
||||
/**
|
||||
* 业务员
|
||||
*/
|
||||
|
@ -39,4 +39,7 @@ public class SysImportFanWxAccount extends BaseEntity
|
||||
//导粉日期
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
private Date importFanDate;
|
||||
|
||||
//售前
|
||||
private Long preSaleId;
|
||||
}
|
@ -84,6 +84,17 @@ public class SysOrder extends BaseEntity {
|
||||
@Excel(name = "售前")
|
||||
private String preSale;
|
||||
|
||||
/**
|
||||
* 售前推送人(售中一开单才存在)
|
||||
*/
|
||||
//@Excel(name = "售前推送人")
|
||||
private Long pushPreSaleId;
|
||||
|
||||
/**
|
||||
* 售前推送人(售中一开单才存在)
|
||||
*/
|
||||
private String pushPreSale;
|
||||
|
||||
/** 售中ID */
|
||||
private Long onSaleId;
|
||||
|
||||
|
@ -45,6 +45,12 @@ public class SysWxSaleAccount extends BaseEntity
|
||||
|
||||
private Integer useCount;
|
||||
|
||||
//进粉渠道
|
||||
private Integer channel;
|
||||
|
||||
//销售ID
|
||||
private Long saleId;
|
||||
|
||||
//销售昵称
|
||||
private String saleName;
|
||||
}
|
@ -76,5 +76,5 @@ public interface SysWxSaleAccountMapper
|
||||
* 获取可接粉的微信号以及分配的销售昵称
|
||||
* @return
|
||||
*/
|
||||
List<SysWxSaleAccount> getWxAccountAndSale();
|
||||
List<SysWxSaleAccount> getWxAccountAndSale(SysWxSaleAccount sysWxSaleAccount);
|
||||
}
|
@ -70,4 +70,11 @@ public interface SysWxUserInfoMapper
|
||||
* @return
|
||||
*/
|
||||
public SysWxUserInfo getSysWxUserInfoByPhone(@Param("phone")String phone);
|
||||
|
||||
/**
|
||||
* 根据openid移除对应绑定的cusId
|
||||
* @param openid
|
||||
* @return
|
||||
*/
|
||||
public int removeCusIdByOpenId(@Param("openid")String openid);
|
||||
}
|
@ -77,5 +77,5 @@ public interface ISysWxSaleAccountService
|
||||
* 获取可接粉的微信号以及分配的销售昵称
|
||||
* @return
|
||||
*/
|
||||
List<SysWxSaleAccount> getWxAccountAndSale();
|
||||
List<SysWxSaleAccount> getWxAccountAndSale(SysWxSaleAccount sysWxSaleAccount);
|
||||
}
|
@ -70,5 +70,12 @@ public interface ISysWxUserInfoService
|
||||
*/
|
||||
public SysWxUserInfo getSysWxUserInfoByPhone(String phone);
|
||||
|
||||
/**
|
||||
* 根据openid移除对应绑定的cusId
|
||||
* @param openid
|
||||
* @return
|
||||
*/
|
||||
public int removeCusIdByOpenId(String openid);
|
||||
|
||||
|
||||
}
|
@ -198,11 +198,33 @@ public class SysCustomerServiceImpl implements ISysCustomerService {
|
||||
if(newCustomer == null || newCustomer.getId() == null || StringUtils.isEmpty(newCustomer.getPhone())){
|
||||
return;
|
||||
}
|
||||
//先根据cusId查询是否已经绑定过微信用户
|
||||
SysWxUserInfo cusIdWxUserInfo = sysWxUserInfoService.selectSysWxUserInfoByCusId(newCustomer.getId());
|
||||
//根据手机号查询微信用户记录
|
||||
SysWxUserInfo wxUserInfo = sysWxUserInfoService.getSysWxUserInfoByPhone(newCustomer.getPhone());
|
||||
if(wxUserInfo != null && (wxUserInfo.getCusId() == null || wxUserInfo.getCusId().longValue() != newCustomer.getId())){
|
||||
wxUserInfo.setCusId(newCustomer.getId());
|
||||
sysWxUserInfoService.updateSysWxUserInfo(wxUserInfo);
|
||||
SysWxUserInfo phoneWxUserInfo = sysWxUserInfoService.getSysWxUserInfoByPhone(newCustomer.getPhone());
|
||||
if(cusIdWxUserInfo != null) {
|
||||
if(phoneWxUserInfo != null){
|
||||
if(!cusIdWxUserInfo.getOpenid().equals(phoneWxUserInfo.getOpenid())){
|
||||
//解绑之前记录
|
||||
sysWxUserInfoService.removeCusIdByOpenId(cusIdWxUserInfo.getOpenid());
|
||||
//更新
|
||||
SysWxUserInfo param = new SysWxUserInfo();
|
||||
param.setOpenid(phoneWxUserInfo.getOpenid());
|
||||
param.setCusId(newCustomer.getId());
|
||||
sysWxUserInfoService.updateSysWxUserInfo(param);
|
||||
}
|
||||
}else{
|
||||
//解绑之前记录
|
||||
sysWxUserInfoService.removeCusIdByOpenId(cusIdWxUserInfo.getOpenid());
|
||||
}
|
||||
}else{
|
||||
if(phoneWxUserInfo != null){
|
||||
//更新
|
||||
SysWxUserInfo param = new SysWxUserInfo();
|
||||
param.setOpenid(phoneWxUserInfo.getOpenid());
|
||||
param.setCusId(newCustomer.getId());
|
||||
sysWxUserInfoService.updateSysWxUserInfo(param);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -105,7 +105,7 @@ public class SysOrderServiceImpl implements ISysOrderService {
|
||||
row = sysOrderMapper.insertSysOrder(sysOrder);
|
||||
//需要自动创建售后二开提成单
|
||||
if(row > 0 && sysOrder.getSecondAfterSaleFlag() != null && sysOrder.getSecondAfterSaleFlag().intValue() == 1){
|
||||
autoCreateSecondAfterSaleOrder(sysOrder);
|
||||
row = autoCreateSecondAfterSaleOrder(sysOrder);
|
||||
}
|
||||
}else{
|
||||
row = sysOrderMapper.insertSysOrder(sysOrder);
|
||||
@ -143,7 +143,7 @@ public class SysOrderServiceImpl implements ISysOrderService {
|
||||
//二开,是否需要自动创建售后二开提成单
|
||||
if(row > 0 && "1".equals(sysOrder.getOrderCountType()) && sysOrder.getSecondAfterSaleFlag() != null && sysOrder.getSecondAfterSaleFlag().intValue() == 1){
|
||||
sysOrder.setAmount(amount);
|
||||
autoCreateSecondAfterSaleOrder(sysOrder);
|
||||
row = autoCreateSecondAfterSaleOrder(sysOrder);
|
||||
}
|
||||
}
|
||||
//体验单
|
||||
@ -155,6 +155,64 @@ public class SysOrderServiceImpl implements ISysOrderService {
|
||||
sysOrder.setNutriAssisId(null);
|
||||
row = sysOrderMapper.insertSysOrder(sysOrder);
|
||||
}
|
||||
//售中单
|
||||
else if("3".equals(sysOrder.getOrderType())){
|
||||
sysOrder.setPreSaleId(null);
|
||||
//一开、二开
|
||||
if("0".equals(sysOrder.getOrderCountType()) || "1".equals(sysOrder.getOrderCountType())){
|
||||
sysOrder.setNutritionistId((sysOrder.getNutritionistIdList() != null && sysOrder.getNutritionistIdList().length > 0) ? sysOrder.getNutritionistIdList()[0] : null);
|
||||
sysOrder.setMainOrderId(0L);
|
||||
sysOrder.setAfterSaleCommissOrder(0);
|
||||
if("0".equals(sysOrder.getOrderCountType())){
|
||||
row = sysOrderMapper.insertSysOrder(sysOrder);
|
||||
}else{
|
||||
//二开单不存在售前推荐人
|
||||
sysOrder.setPushPreSaleId(null);
|
||||
row = sysOrderMapper.insertSysOrder(sysOrder);
|
||||
//需要自动创建售后二开提成单
|
||||
if(row > 0 && sysOrder.getSecondAfterSaleFlag() != null && sysOrder.getSecondAfterSaleFlag().intValue() == 1){
|
||||
row = autoCreateSecondAfterSaleOrder(sysOrder);
|
||||
}
|
||||
}
|
||||
}else{
|
||||
sysOrder.setAfterSaleCommissOrder(0);
|
||||
String rate = sysOrder.getNutritionistRate();
|
||||
if(StringUtils.isEmpty(rate) || rate.indexOf(",") == -1 || "0,10".equals(rate) || sysOrder.getNutritionistIdList().length != 2){
|
||||
return 0;
|
||||
}
|
||||
String[] rateArray = rate.split(",");
|
||||
if(Integer.parseInt(rateArray[0]) + Integer.parseInt(rateArray[1]) != 10){
|
||||
return 0;
|
||||
}
|
||||
BigDecimal amount = sysOrder.getAmount();
|
||||
//获取主单的数组下标
|
||||
int mainIndex = 0;
|
||||
if(Integer.parseInt(rateArray[1]) > Integer.parseInt(rateArray[0])){
|
||||
mainIndex = 1;
|
||||
}
|
||||
//添加主单
|
||||
sysOrder.setNutritionistId(sysOrder.getNutritionistIdList()[mainIndex]);
|
||||
sysOrder.setAmount(BigDecimal.valueOf(amount.doubleValue()*Integer.parseInt(rateArray[mainIndex])/10));
|
||||
sysOrder.setMainOrderId(0L);
|
||||
//拆分二开单
|
||||
if("3".equals(sysOrder.getOrderCountType())){
|
||||
//二开单不存在售前推荐人
|
||||
sysOrder.setPushPreSaleId(null);
|
||||
}
|
||||
row = sysOrderMapper.insertSysOrder(sysOrder);
|
||||
//添加副单
|
||||
sysOrder.setMainOrderId(sysOrder.getOrderId());
|
||||
sysOrder.setOrderId(sysOrder.getOrderId()+1);
|
||||
sysOrder.setNutritionistId(sysOrder.getNutritionistIdList()[1-mainIndex]);
|
||||
sysOrder.setAmount(BigDecimal.valueOf(amount.doubleValue()*Integer.parseInt(rateArray[1-mainIndex])/10));
|
||||
row = sysOrderMapper.insertSysOrder(sysOrder);
|
||||
//拆分二开单
|
||||
if(row > 0 && "3".equals(sysOrder.getOrderCountType()) && sysOrder.getSecondAfterSaleFlag() != null && sysOrder.getSecondAfterSaleFlag().intValue() == 1){
|
||||
sysOrder.setAmount(amount);
|
||||
row = autoCreateSecondAfterSaleOrder(sysOrder);
|
||||
}
|
||||
}
|
||||
}
|
||||
return row;
|
||||
}
|
||||
|
||||
@ -166,6 +224,8 @@ public class SysOrderServiceImpl implements ISysOrderService {
|
||||
private int autoCreateSecondAfterSaleOrder(SysOrder sysOrder){
|
||||
if(sysOrder != null){
|
||||
sysOrder.setPreSaleId(sysOrder.getAfterSaleId());
|
||||
sysOrder.setOnSaleId(null);
|
||||
sysOrder.setPushPreSaleId(null);
|
||||
sysOrder.setAfterSaleId(null);
|
||||
sysOrder.setNutritionistId(null);
|
||||
sysOrder.setNutriAssisId(null);
|
||||
@ -173,6 +233,7 @@ public class SysOrderServiceImpl implements ISysOrderService {
|
||||
sysOrder.setPlannerAssisId(null);
|
||||
sysOrder.setOperatorId(null);
|
||||
sysOrder.setOperatorAssisId(null);
|
||||
sysOrder.setMainOrderId(0L);
|
||||
sysOrder.setAfterSaleCommissOrder(1);
|
||||
sysOrder.setOrderId(sysOrder.getOrderId()+1);
|
||||
return sysOrderMapper.insertSysOrder(sysOrder);
|
||||
@ -208,6 +269,9 @@ public class SysOrderServiceImpl implements ISysOrderService {
|
||||
sysOrder.setOperatorId(null);
|
||||
sysOrder.setOperatorAssisId(null);
|
||||
}
|
||||
if("3".equals(sysOrder.getOrderType())){
|
||||
sysOrder.setPreSaleId(null);
|
||||
}
|
||||
if(oldSysOrder.getStartTime() == null){//确保提成计算时间不为空
|
||||
sysOrder.setCommissStartTime(sysOrder.getOrderTime());
|
||||
}
|
||||
@ -313,7 +377,7 @@ public class SysOrderServiceImpl implements ISysOrderService {
|
||||
for (SysOrder sysOrder : orderList) {
|
||||
LocalDate newStartTime = null;
|
||||
//判断是否提成单,拆分单中的副单,体验单,定金单
|
||||
if(sysOrder.getStartTime() == null || sysOrder.getAfterSaleCommissOrder().intValue() == 1 || ("1".equals(sysOrder.getOrderType()) && sysOrder.getMainOrderId().intValue() != 0) ||
|
||||
if(sysOrder.getStartTime() == null || sysOrder.getAfterSaleCommissOrder().intValue() == 1 || sysOrder.getMainOrderId().intValue() != 0 ||
|
||||
"2".equals(sysOrder.getOrderType()) || "1".equals(sysOrder.getOrderMoneyType())){
|
||||
continue;
|
||||
}
|
||||
|
@ -170,7 +170,7 @@ public class SysRecipesPlanServiceImpl implements ISysRecipesPlanService {
|
||||
continue;
|
||||
}
|
||||
//判断是否提成单,拆分单中的副单,体验单,定金单
|
||||
if (sysOrder.getAfterSaleCommissOrder().intValue() == 1 || ("1".equals(sysOrder.getOrderType()) && sysOrder.getMainOrderId().intValue() != 0) ||
|
||||
if (sysOrder.getAfterSaleCommissOrder().intValue() == 1 || sysOrder.getMainOrderId().intValue() != 0 ||
|
||||
// "2".equals(sysOrder.getOrderType()) || // 体验单也需要生成计划 2021.05.29
|
||||
"1".equals(sysOrder.getOrderMoneyType()) || sysOrder.getCounted() == 1) {
|
||||
System.out.println("---------------------" + sysOrder.getOrderId() + "不生成食谱------------------------");
|
||||
|
@ -136,7 +136,7 @@ public class SysWxSaleAccountServiceImpl implements ISysWxSaleAccountService {
|
||||
* @param sysWxSaleAccount
|
||||
* @return
|
||||
*/
|
||||
public List<SysWxSaleAccount> getWxAccountAndSale(){
|
||||
return sysWxSaleAccountMapper.getWxAccountAndSale();
|
||||
public List<SysWxSaleAccount> getWxAccountAndSale(SysWxSaleAccount sysWxSaleAccount){
|
||||
return sysWxSaleAccountMapper.getWxAccountAndSale(sysWxSaleAccount);
|
||||
}
|
||||
}
|
@ -106,4 +106,13 @@ public class SysWxUserInfoServiceImpl implements ISysWxUserInfoService {
|
||||
public SysWxUserInfo getSysWxUserInfoByPhone(String phone){
|
||||
return sysWxUserInfoMapper.getSysWxUserInfoByPhone(phone);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据openid移除对应绑定的cusId
|
||||
* @param openid
|
||||
* @return
|
||||
*/
|
||||
public int removeCusIdByOpenId(String openid){
|
||||
return sysWxUserInfoMapper.removeCusIdByOpenId(openid);
|
||||
}
|
||||
}
|
@ -4,9 +4,9 @@ import com.stdiet.custom.domain.SysOrder;
|
||||
|
||||
public class OrderUtils {
|
||||
|
||||
private static final String[] orderTypeArray = {"普通单","比例拆分单","体验单"};
|
||||
private static final String[] orderTypeArray = {"普通单","比例拆分单","体验单","售中单"};
|
||||
|
||||
private static final String[] orderCountTypeArray = {"一开单","二开单"};
|
||||
private static final String[] orderCountTypeArray = {"一开单","二开单","一开单(拆分)","二开单(拆分)"};
|
||||
|
||||
private static final String[] orderMoneyTypeArray = {"全款单","定金单","尾款单"};
|
||||
|
||||
@ -27,7 +27,7 @@ public class OrderUtils {
|
||||
orderTypeName += "/"+orderCountTypeArray[Integer.parseInt(sysOrder.getOrderCountType())];
|
||||
orderTypeName += "/"+orderMoneyTypeArray[Integer.parseInt(sysOrder.getOrderMoneyType())];
|
||||
//判断是不是二开提成单
|
||||
if("1".equals(sysOrder.getOrderCountType()) && sysOrder.getAfterSaleCommissOrder().intValue() == 1){
|
||||
if(sysOrder.getAfterSaleCommissOrder() != null && sysOrder.getAfterSaleCommissOrder().intValue() == 1){
|
||||
orderTypeName += "/提成单";
|
||||
}
|
||||
return orderTypeName;
|
||||
|
Reference in New Issue
Block a user