门店分润入账
This commit is contained in:
@ -5,16 +5,18 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.google.common.collect.Lists;
|
import com.google.common.collect.Lists;
|
||||||
import com.sczx.order.common.enums.DistribTypeEnum;
|
import com.sczx.order.common.enums.DistribTypeEnum;
|
||||||
import com.sczx.order.common.enums.WalletChangeTypeEnum;
|
|
||||||
import com.sczx.order.dto.OrderDistribDTO;
|
import com.sczx.order.dto.OrderDistribDTO;
|
||||||
import com.sczx.order.dto.OrderDistribQueryReq;
|
import com.sczx.order.dto.OrderDistribQueryReq;
|
||||||
import com.sczx.order.exception.BizException;
|
import com.sczx.order.exception.BizException;
|
||||||
import com.sczx.order.po.*;
|
import com.sczx.order.po.BaseUserReferralPO;
|
||||||
|
import com.sczx.order.po.OrderDistribPO;
|
||||||
|
import com.sczx.order.po.OrderMainPO;
|
||||||
import com.sczx.order.repository.*;
|
import com.sczx.order.repository.*;
|
||||||
import com.sczx.order.service.OrderDistribService;
|
import com.sczx.order.service.OrderDistribService;
|
||||||
import com.sczx.order.thirdpart.dto.CompanyDTO;
|
import com.sczx.order.thirdpart.dto.CompanyDTO;
|
||||||
import com.sczx.order.thirdpart.dto.CompanyStoreDTO;
|
import com.sczx.order.thirdpart.dto.CompanyStoreDTO;
|
||||||
import com.sczx.order.thirdpart.dto.SysConfigDTO;
|
import com.sczx.order.thirdpart.dto.SysConfigDTO;
|
||||||
|
import com.sczx.order.thirdpart.dto.req.DistibIncomeReq;
|
||||||
import com.sczx.order.thirdpart.integration.StoreInteg;
|
import com.sczx.order.thirdpart.integration.StoreInteg;
|
||||||
import com.sczx.order.thirdpart.integration.UserInteg;
|
import com.sczx.order.thirdpart.integration.UserInteg;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
@ -24,7 +26,6 @@ import org.springframework.transaction.annotation.Transactional;
|
|||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
import java.time.LocalDateTime;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
||||||
@ -115,30 +116,39 @@ public class OrderDistribServiceImpl implements OrderDistribService {
|
|||||||
.set(OrderMainPO::getDistribed, 1);
|
.set(OrderMainPO::getDistribed, 1);
|
||||||
orderMainRepo.update(updateMainWrapper);
|
orderMainRepo.update(updateMainWrapper);
|
||||||
|
|
||||||
|
//更新推荐信息,防止重复分润
|
||||||
|
LambdaUpdateWrapper<BaseUserReferralPO> updateWrapper = new LambdaUpdateWrapper<>();
|
||||||
|
updateWrapper.eq(BaseUserReferralPO::getUserId, orderMainPO.getCustomerId())
|
||||||
|
.set(BaseUserReferralPO::getReferralOrderNo, storeDistribPO.getOrderNo());
|
||||||
|
baseUserReferralRepo.update(updateWrapper);
|
||||||
|
|
||||||
//门店钱包入账
|
//门店钱包入账
|
||||||
LambdaQueryWrapper<BaseWalletPO> queryWalletWrapper = new LambdaQueryWrapper<>();
|
DistibIncomeReq distibIncomeReq = new DistibIncomeReq();
|
||||||
queryWalletWrapper.eq(BaseWalletPO::getUserId, orderMainPO.getOperatorId()).last(" limit 1");
|
distibIncomeReq.setStoreId(orderMainPO.getStoreId());
|
||||||
BaseWalletPO baseWalletPO = baseWalletRepo.getOne(queryWalletWrapper);
|
distibIncomeReq.setAmount(storeDistribPO.getDistribAmount());
|
||||||
if(baseWalletPO != null){
|
storeInteg.distibIncome(distibIncomeReq);
|
||||||
LambdaUpdateWrapper<BaseWalletPO> updateWalletWrapper = new LambdaUpdateWrapper<>();
|
|
||||||
updateWalletWrapper.eq(BaseWalletPO::getUserId, orderMainPO.getOperatorId())
|
|
||||||
.set(BaseWalletPO::getBalance, baseWalletPO.getBalance().add(storeDistribPO.getDistribAmount()));
|
|
||||||
baseWalletRepo.update(updateWalletWrapper);
|
|
||||||
|
|
||||||
BaseWalletChangePO baseWalletChangePO = new BaseWalletChangePO();
|
// LambdaQueryWrapper<BaseWalletPO> queryWalletWrapper = new LambdaQueryWrapper<>();
|
||||||
baseWalletChangePO.setUserId(orderMainPO.getOperatorId());
|
// queryWalletWrapper.eq(BaseWalletPO::getUserId, orderMainPO.getStoreId()).last(" limit 1");
|
||||||
baseWalletChangePO.setChangeType(WalletChangeTypeEnum.REFERRAL.getCode());
|
// BaseWalletPO baseWalletPO = baseWalletRepo.getOne(queryWalletWrapper);
|
||||||
baseWalletChangePO.setChangeTime(LocalDateTime.now());
|
// if(baseWalletPO != null){
|
||||||
baseWalletChangePO.setChangeAmount(storeDistribPO.getDistribAmount());
|
// LambdaUpdateWrapper<BaseWalletPO> updateWalletWrapper = new LambdaUpdateWrapper<>();
|
||||||
baseWalletChangePO.setReferralOrderNo(orderMainPO.getOrderNo());
|
// updateWalletWrapper.eq(BaseWalletPO::getUserId, orderMainPO.getOperatorId())
|
||||||
baseWalletChangeRepo.save(baseWalletChangePO);
|
// .set(BaseWalletPO::getBalance, baseWalletPO.getBalance().add(storeDistribPO.getDistribAmount()));
|
||||||
|
// baseWalletRepo.update(updateWalletWrapper);
|
||||||
|
// }else {
|
||||||
|
// baseWalletPO = new BaseWalletPO();
|
||||||
|
// baseWalletPO.setUserId(Long.valueOf(companyStoreDTO.getId()));
|
||||||
|
// baseWalletPO.setUserName(companyStoreDTO.getName());
|
||||||
|
// }
|
||||||
|
// BaseWalletChangePO baseWalletChangePO = new BaseWalletChangePO();
|
||||||
|
// baseWalletChangePO.setUserId(orderMainPO.getOperatorId());
|
||||||
|
// baseWalletChangePO.setChangeType(WalletChangeTypeEnum.REFERRAL.getCode());
|
||||||
|
// baseWalletChangePO.setChangeTime(LocalDateTime.now());
|
||||||
|
// baseWalletChangePO.setChangeAmount(storeDistribPO.getDistribAmount());
|
||||||
|
// baseWalletChangePO.setReferralOrderNo(orderMainPO.getOrderNo());
|
||||||
|
// baseWalletChangeRepo.save(baseWalletChangePO);
|
||||||
|
|
||||||
//更新推荐信息,防止重复分润
|
|
||||||
LambdaUpdateWrapper<BaseUserReferralPO> updateWrapper = new LambdaUpdateWrapper<>();
|
|
||||||
updateWrapper.eq(BaseUserReferralPO::getUserId, orderMainPO.getCustomerId())
|
|
||||||
.set(BaseUserReferralPO::getReferralOrderNo, storeDistribPO.getOrderNo());
|
|
||||||
baseUserReferralRepo.update(updateWrapper);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -0,0 +1,18 @@
|
|||||||
|
package com.sczx.order.thirdpart.dto.req;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
@ApiModel(value = "分润收入查询参数")
|
||||||
|
@Data
|
||||||
|
public class DistibIncomeReq {
|
||||||
|
|
||||||
|
@ApiModelProperty("门店id")
|
||||||
|
private Long storeId;
|
||||||
|
|
||||||
|
@ApiModelProperty("金额")
|
||||||
|
private BigDecimal amount ;
|
||||||
|
}
|
||||||
@ -5,6 +5,7 @@ import com.sczx.order.thirdpart.dto.CompanyDTO;
|
|||||||
import com.sczx.order.thirdpart.dto.CompanyStoreDTO;
|
import com.sczx.order.thirdpart.dto.CompanyStoreDTO;
|
||||||
import com.sczx.order.thirdpart.dto.SysConfigDTO;
|
import com.sczx.order.thirdpart.dto.SysConfigDTO;
|
||||||
import com.sczx.order.thirdpart.dto.SysDictDataDTO;
|
import com.sczx.order.thirdpart.dto.SysDictDataDTO;
|
||||||
|
import com.sczx.order.thirdpart.dto.req.DistibIncomeReq;
|
||||||
import org.springframework.cloud.openfeign.FeignClient;
|
import org.springframework.cloud.openfeign.FeignClient;
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
import org.springframework.web.bind.annotation.PostMapping;
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
@ -32,4 +33,7 @@ public interface StoreFacade {
|
|||||||
|
|
||||||
@GetMapping("/sys/getConfigByConfigKey")
|
@GetMapping("/sys/getConfigByConfigKey")
|
||||||
Result<SysConfigDTO> getConfigByConfigKey(@RequestParam(name = "configKey") String configKey);
|
Result<SysConfigDTO> getConfigByConfigKey(@RequestParam(name = "configKey") String configKey);
|
||||||
|
|
||||||
|
@PostMapping("/wallet/distibIncome")
|
||||||
|
Result<Boolean> distibIncome(@RequestBody DistibIncomeReq distibIncomeReq);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -6,6 +6,7 @@ import com.sczx.order.thirdpart.dto.CompanyDTO;
|
|||||||
import com.sczx.order.thirdpart.dto.CompanyStoreDTO;
|
import com.sczx.order.thirdpart.dto.CompanyStoreDTO;
|
||||||
import com.sczx.order.thirdpart.dto.SysConfigDTO;
|
import com.sczx.order.thirdpart.dto.SysConfigDTO;
|
||||||
import com.sczx.order.thirdpart.dto.SysDictDataDTO;
|
import com.sczx.order.thirdpart.dto.SysDictDataDTO;
|
||||||
|
import com.sczx.order.thirdpart.dto.req.DistibIncomeReq;
|
||||||
import com.sczx.order.thirdpart.facade.StoreFacade;
|
import com.sczx.order.thirdpart.facade.StoreFacade;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
@ -86,4 +87,23 @@ public class StoreInteg {
|
|||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分润收入
|
||||||
|
* @param distibIncomeReq
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public boolean distibIncome(DistibIncomeReq distibIncomeReq){
|
||||||
|
|
||||||
|
try{
|
||||||
|
Result<Boolean> result = storeFacade.distibIncome(distibIncomeReq);
|
||||||
|
if(result.isSuccess()){
|
||||||
|
return result.getData();
|
||||||
|
}
|
||||||
|
} catch (Exception e){
|
||||||
|
log.error("分润收入失败",e);
|
||||||
|
throw new InnerException("分润收入失败");
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user