Commit bec3b9fe authored by tangfang's avatar tangfang

修改注册判断银行卡

parent ec99e28b
......@@ -30,7 +30,8 @@ public class CompanyDaoImpl extends BaseDaoImpl implements CompanyDao {
table.add(QUERY_COMPANY,"select a.*,b.subledger_status,b.subledger_rule,b.subledger_rule_time,b.divide_status,b.scan_code_pay_status," +
"invitation_status,invitation_rule_id,invitation_code,invitees_people,invited_people,activation_status,withdraw_rule,min_withdraw_money," +
"withdraw_fee,withdraw_type,grade,withdraw_total_cash,frozen_money " +
"max_withdraw_money,withdraw_fee,withdraw_type,grade,withdraw_total_cash,frozen_money,discount_rule," +
"service_charge_status,service_charge_type,service_charge,late_fee " +
" from pd_company a inner join pd_company_extend b on a.id = b.id " +
"where 1=1 {WHERE} order by create_time desc")
.add("companyName","and company_name LIKE concat('%', ?,'%') ")
......
......@@ -23,8 +23,10 @@ public class CompanyExtendDaoImpl extends BaseDaoImpl implements CompanyExtendDa
protected void init() {
register(CompanyExtendVo.class);
table.add(UPDATE_COMPANY_MONEY, "UPDATE pd_company_extend SET withdraw_total_cash = withdraw_total_cash + @newWithdrawTotalCash " +
"WHERE id = @companyId ");
table.add(UPDATE_COMPANY_MONEY, "UPDATE pd_company_extend SET withdraw_total_cash = withdraw_total_cash + @newWithdrawTotalCash{FIELD} " +
"WHERE id = @companyId ")
.addPara("frozenMoney", "{FIELD}",",frozen_money = frozen_money + @frozenMoney")
.addPara("lateFee", "{FIELD}", ",late_fee = late_fee + @lateFee");
table.add(UPDATE_COMPANY_INVITED_PEOPLE, "UPDATE pd_company_extend SET " +
"invited_people = invited_people + @invitedPeople " +
......
......@@ -77,9 +77,9 @@ public class CompanyConsumer {
companyProducer.applyWithdrawal(capitalFlowReqVo);
}
public void updateCompanyMoneyMQ(UpdateCompanyMoneyReqVo updateCompanyMoneyReqVo){
companyProducer.companyMoneyUpdate(updateCompanyMoneyReqVo);
}
// public void updateCompanyMoneyMQ(UpdateCompanyMoneyReqVo updateCompanyMoneyReqVo){
// companyProducer.companyMoneyUpdate(updateCompanyMoneyReqVo);
// }
@RabbitListener(queues = {MqConstant.COMPANY_MONEY_UPDATE})
public void updateCompanyMoney(String content, Message message, Channel channel) {
......
......@@ -6,6 +6,7 @@ import com.pangding.web.vo.order.req.CapitalFlowReqVo;
import com.pangding.web.vo.order.req.back.CashWithdrawalBackReqVo;
import com.pangding.web.vo.order.res.CapitalFlowListResVo;
import com.pangding.web.vo.system.req.company.UpdateCompanyMoneyReqVo;
import com.pangding.web.vo.system.res.company.CompanyResVo;
import com.yanzuoguang.util.vo.ResponseResult;
/**
......@@ -45,4 +46,6 @@ public interface FinanceService {
void divideSettlement(CapitalFlowReqVo req);
double getServiceCharge(CompanyResVo companyResVo);
}
......@@ -17,6 +17,7 @@ import com.pangding.web.authority.vo.reqvo.CompanySaveReqVo;
import com.pangding.web.authority.vo.reqvo.OldSaveCompanyReqVo;
import com.pangding.web.authority.vo.resvo.*;
import com.pangding.web.constant.CompanyConstant;
import com.pangding.web.constant.PangdConstant;
import com.pangding.web.util.RSAUtils;
import com.pangding.web.vo.order.pd.CapitalFlowVo;
import com.pangding.web.vo.order.req.CapitalFlowReqVo;
......@@ -99,6 +100,8 @@ public class CompanyServiceImpl implements CompanyService {
private String payMsgId;
@Value("${msg.groupProductMsgId}")
private String groupProductMsgId;
@Value("${pay.paydJumpUrl}")
private String paydJumpUrl;
/**
......@@ -177,8 +180,6 @@ public class CompanyServiceImpl implements CompanyService {
.replace(":", "")
.replace(" ", ""));
}
}
......@@ -294,10 +295,34 @@ public class CompanyServiceImpl implements CompanyService {
companyBankCardGetReqVo.setIsDefault(CompanyBankCardConstant.IS_DEFAULT);
CompanyBankCardVo companyBankCardVo = companyBankCardDao.load(companyBankCardGetReqVo, CompanyBankCardVo.class);
resVo.setBankCardVo(companyBankCardVo);
// 获取支付成功后跳转链接
resVo.setPaydJumpUrl(getJumpUrl(companyVo));
}
return resVo;
}
public String getJumpUrl(CompanyVo companyVo) {
String jumpUrl = "";
switch (companyVo.getCompanyAttribute()) {
case PangdConstant.ATTRIBUTE_SCENIC:
break;
case PangdConstant.ATTRIBUTE_HOTEL:
break;
case PangdConstant.ATTRIBUTE_RESTAURANT:
break;
case PangdConstant.ATTRIBUTE_SPECIALTY:
break;
case PangdConstant.ATTRIBUTE_TAXI:
jumpUrl = paydJumpUrl.replace("COMPANYID", companyVo.getId());
break;
default:
break;
}
return jumpUrl;
}
/**
* 新增用户表(密码为123456),公司主表,公司扩展表,商户表,银行卡表(企业类型有,个人类型没有)
*
......@@ -1167,6 +1192,7 @@ public class CompanyServiceImpl implements CompanyService {
CompanyResVo companyResVo = new CompanyResVo();
ObjectHelper.writeWithFromClass(companyResVo, companyVo);
ObjectHelper.writeWithFromClass(companyResVo, companyExtendVo);
companyResVo.setRewardType(CompanyConstant.CATEGORY_ACTIVATION_BONUS);
companyConsumer.companyReward(companyResVo);
}
}
......@@ -1415,11 +1441,15 @@ public class CompanyServiceImpl implements CompanyService {
List<CompanyInvitationRuleVo> companyInvitationRuleVoList = companyInvitationRuleDao.loadList(companyInvitationRuleReqVo, CompanyInvitationRuleVo.class);
for (int i = 0; i < companyInvitationRuleVoList.size(); i++) {
CompanyInvitationRuleVo companyInvitationRuleVo = companyInvitationRuleVoList.get(i);
if(!StringHelper.isEmpty(companyInvitationRuleVo.getEndDate()) && !StringHelper.isEmpty(companyInvitationRuleVo.getStartDate())){
if (!StringHelper.isEmpty(companyInvitationRuleVo.getEndDate()) && !StringHelper.isEmpty(companyInvitationRuleVo.getStartDate())) {
System.out.println(DateHelper.compare(DateHelper.getDateTime(DateHelper.getToday(DateHelper.getCurDate())),
DateHelper.getDateTime(companyInvitationRuleVo.getStartDate().substring(0, 10))));
System.out.println(DateHelper.compare(DateHelper.getDateTime(DateHelper.getToday(DateHelper.getCurDate())),
DateHelper.getDateTime(companyInvitationRuleVo.getEndDate().substring(0, 10))));
if (DateHelper.compare(DateHelper.getDateTime(DateHelper.getToday(DateHelper.getCurDate())),
DateHelper.getDateTime(companyInvitationRuleVo.getEndDate().substring(0, 10))) >= 0 &&
DateHelper.getDateTime(companyInvitationRuleVo.getStartDate().substring(0, 10))) <= 0 &&
DateHelper.compare(DateHelper.getDateTime(DateHelper.getToday(DateHelper.getCurDate())),
DateHelper.getDateTime(companyInvitationRuleVo.getEndDate().substring(0, 10))) <= 0) {
DateHelper.getDateTime(companyInvitationRuleVo.getEndDate().substring(0, 10))) >= 0) {
// 当前时间和开始时间和结束时间进行对比
if (orderNumTotal >= companyInvitationRuleVo.getOrderNum()) {
System.out.println("==============用户激活==============");
......@@ -1428,9 +1458,12 @@ public class CompanyServiceImpl implements CompanyService {
ObjectHelper.writeWithFromClass(companyExtendVo, companyResVo);
companyExtendVo.setActivationStatus(1);
companyExtendDao.update(companyExtendVo);
// 公司激活状态 审核通过状态 公司邀请奖励
companyResVo.setRewardType(CompanyConstant.CATEGORY_ACTIVATION_BONUS);
companyConsumer.companyReward(companyResVo);
}
}
}else{
} else {
if (orderNumTotal >= companyInvitationRuleVo.getOrderNum()) {
// 可激活公司
System.out.println("==============用户激活==============");
......@@ -1438,6 +1471,9 @@ public class CompanyServiceImpl implements CompanyService {
ObjectHelper.writeWithFromClass(companyExtendVo, companyResVo);
companyExtendVo.setActivationStatus(1);
companyExtendDao.update(companyExtendVo);
// 公司激活状态 审核通过状态 公司邀请奖励
companyResVo.setRewardType(CompanyConstant.CATEGORY_ACTIVATION_BONUS);
companyConsumer.companyReward(companyResVo);
}
}
}
......@@ -1447,12 +1483,11 @@ public class CompanyServiceImpl implements CompanyService {
* 邀请人的奖励
*/
public void companyReward(CompanyResVo companyResVo) {
// 查询邀请公司是否已获取了该公司的激活奖励了
CapitalFlowReqVo capitalFlowReqVo = new CapitalFlowReqVo();
capitalFlowReqVo.setCompanyId(companyResVo.getInvitationCompanyId());
capitalFlowReqVo.setOrderId(companyResVo.getId());
capitalFlowReqVo.setCategory(7);
capitalFlowReqVo.setCategory(companyResVo.getRewardType());
capitalFlowReqVo.setStatus(1);
CapitalFlowResVo capitalFlowResVo = capitalFlowDao.load(capitalFlowReqVo, CapitalFlowResVo.class);
if (StringHelper.isEmpty(capitalFlowResVo)) {
......@@ -1463,12 +1498,12 @@ public class CompanyServiceImpl implements CompanyService {
List<CompanyInvitationRuleVo> companyInvitationRuleVoList = companyInvitationRuleDao.loadList(companyInvitationRuleReqVo, CompanyInvitationRuleVo.class);
for (int i = 0; i < companyInvitationRuleVoList.size(); i++) {
CompanyInvitationRuleVo companyInvitationRuleVo = companyInvitationRuleVoList.get(i);
if (3 == companyInvitationRuleVo.getRewardType()) {
if (3 == companyInvitationRuleVo.getRewardType() && CompanyConstant.CATEGORY_ACTIVATION_BONUS == companyResVo.getRewardType()) {
// 对象激活时奖励
System.out.println("==============对象激活时奖励==============");
dd(companyResVo, companyInvitationRuleVo);
}
if (4 == companyInvitationRuleVo.getRewardType()) {
if (4 == companyInvitationRuleVo.getRewardType() && CompanyConstant.CATEGORY_ACTIVATION_SALE_BONUS == companyResVo.getRewardType()) {
// 对象激活后交易多少笔后奖励 查询该公司的总交易次数
int orderNumTotal = 0;
CompanyMoneyReqVo companyMoneyReqVo = new CompanyMoneyReqVo();
......@@ -1476,6 +1511,7 @@ public class CompanyServiceImpl implements CompanyService {
CompanyMoneyVo companyMoneyVo = companyMoneyDao.findReport(companyMoneyReqVo);
if (!StringHelper.isEmpty(companyMoneyVo)) {
orderNumTotal = companyMoneyVo.getInNumber();
System.out.println("=======入账数量:" + orderNumTotal + ",===" + companyInvitationRuleVo.getOrderNum());
if (orderNumTotal >= companyInvitationRuleVo.getOrderNum()) {
// 邀请公司可获取奖励
System.out.println("==============邀请公司可获取奖励==============");
......@@ -1494,7 +1530,7 @@ public class CompanyServiceImpl implements CompanyService {
capitalFlowVo.setCompanyName(companyResVo.getInvitationCompanyName());
capitalFlowVo.setTime(DateHelper.getNow());
capitalFlowVo.setOrderId(companyResVo.getId());
capitalFlowVo.setCategory(7);
capitalFlowVo.setCategory(companyResVo.getRewardType());
capitalFlowVo.setOrderMoney(companyInvitationRuleVo.getRewardMoney());
capitalFlowVo.setOrderFee(0d);
capitalFlowVo.setActualMoney(companyInvitationRuleVo.getRewardMoney());
......
......@@ -23,6 +23,7 @@ import com.pangding.web.vo.system.res.company.CompanyResVo;
import com.yanzuoguang.util.base.ObjectHelper;
import com.yanzuoguang.util.exception.CodeException;
import com.yanzuoguang.util.helper.DateHelper;
import com.yanzuoguang.util.helper.JsonHelper;
import com.yanzuoguang.util.helper.StringHelper;
import com.yanzuoguang.util.vo.PageSizeData;
import com.yanzuoguang.util.vo.ResponseResult;
......@@ -107,8 +108,8 @@ public class FinanceServiceImpl implements FinanceService {
* @param req
* @return
*/
@Override
public ResponseResult<CapitalFlowReqVo> applyWithdrawal(CapitalFlowReqVo req) {
// @Override
public ResponseResult<CapitalFlowReqVo> applyWithdrawalbak(CapitalFlowReqVo req) {
// 查找公司信息,提现信息
CompanyResVo companyResVo = companyDao.load(req.getCompanyId(), CompanyResVo.class);
// 查询银行卡信息
......@@ -166,6 +167,125 @@ public class FinanceServiceImpl implements FinanceService {
}
/**
* 申请提现
*
* @param req
* @return
*/
@Transactional
@Override
public ResponseResult<CapitalFlowReqVo> applyWithdrawal(CapitalFlowReqVo req) {
// 先修改公司余额
UpdateCompanyMoneyReqVo updateCompanyMoneyReqVo = new UpdateCompanyMoneyReqVo();
updateCompanyMoneyReqVo.setCompanyId(req.getCompanyId());
updateCompanyMoneyReqVo.setNewWithdrawTotalCash(-req.getOrderMoney());
updateCompanyMoneyReqVo.setFrozenMoney(req.getOrderMoney());
companyExtendDao.updateCompanyMoney(updateCompanyMoneyReqVo);
// 查找公司信息,提现信息
CompanyResVo companyResVo = companyDao.load(req.getCompanyId(), CompanyResVo.class);
// 查询银行卡信息
CompanyBankCardVo companyBankCardVo = companyBankCardDao.load(req.getBankId(), CompanyBankCardVo.class);
if (StringHelper.isEmpty(companyResVo) || StringHelper.isEmpty(companyBankCardVo)) {
throw new CodeException("未找到公司信息");
}
// 可提现余额
double withdrawTotalCash = companyResVo.getWithdrawTotalCash();
if (withdrawTotalCash <= 0) {
throw new CodeException("提现金额不能大于可提现余额");
}
if (companyResVo.getMinWithdrawMoney() > req.getOrderMoney() || companyResVo.getMaxWithdrawMoney() < req.getOrderMoney()) {
throw new CodeException("提现金额必须在范围内");
}
// 提现手续费
double withdrawFee = getWithdrawFee(companyResVo);
// 服务费
double serviceCharge = getServiceCharge(companyResVo);
// 滞纳金
double lateFee = StringHelper.isEmpty(companyResVo.getLateFee()) ? 0 : companyResVo.getLateFee();
CapitalFlowVo capitalFlowVo = new CapitalFlowVo();
ObjectHelper.writeWithFrom(capitalFlowVo, req);
capitalFlowVo.setOrderId(StringHelper.getNewID());
capitalFlowVo.setCategory(1);
capitalFlowVo.setOrderFee(withdrawFee + lateFee);
capitalFlowVo.setActualMoney(req.getOrderMoney() - capitalFlowVo.getOrderFee());
capitalFlowVo.setTime(DateHelper.getNow());
capitalFlowVo.setStatus(0);
capitalFlowDao.save(capitalFlowVo);
System.out.println("========" + JsonHelper.serialize(capitalFlowVo));
CashWithdrawalReqVo cashWithdrawalReqVo = new CashWithdrawalReqVo();
ObjectHelper.writeWithFrom(cashWithdrawalReqVo, capitalFlowVo);
cashWithdrawalReqVo.setActualType(companyResVo.getWithdrawType());
cashWithdrawalReqVo.setBankCardType(companyBankCardVo.getType());
companyConsumer.cashWithdrawal(cashWithdrawalReqVo);
ResponseResult<CapitalFlowReqVo> responseResult = new ResponseResult<>();
responseResult.setData(req);
// TODO 设置提现到账时间为1个小时,未到账则会写可提现余额
return responseResult;
}
public double getServiceCharge(CompanyResVo companyResVo) {
double serviceCharge = 0d;
if (1 == companyResVo.getServiceChargeStatus()) {
// 有服务费
switch (companyResVo.getServiceChargeType()) {
case 0:
serviceCharge = companyResVo.getServiceCharge();
break;
case 1:
if (DateHelper.compare(DateHelper.getDateTime(DateHelper.getDayStart(DateHelper.getCurDate())),
DateHelper.getDateTime(DateHelper.getMonthStart(DateHelper.getCurDate()))) == 0) {
serviceCharge = companyResVo.getServiceCharge();
}
break;
case 2:
if (DateHelper.compare(DateHelper.getDateTime(DateHelper.getDayStart(DateHelper.getCurDate())),
DateHelper.getDateTime(DateHelper.getYearStart(DateHelper.getCurDate()))) == 0) {
serviceCharge = companyResVo.getServiceCharge();
}
break;
default:
break;
}
}
return serviceCharge;
}
/**
* 获取提现手续费
* @param companyResVo
* @return
*/
public Double getWithdrawFee(CompanyResVo companyResVo) {
// 提现手续费
double withdrawFee = companyResVo.getWithdrawFee();
// 该公司有优惠
switch (companyResVo.getDiscountRule()) {
case 1:
CompanyRuleReqVo companyRuleReqVo = new CompanyRuleReqVo();
companyRuleReqVo.setCompanyId(companyResVo.getId());
List<CompanyRuleVo> companyRuleVoList = companyRuleDao.loadList(companyRuleReqVo, CompanyRuleVo.class);
for (int i = 0; i < companyRuleVoList.size(); i++) {
CompanyRuleVo companyRuleVo = companyRuleVoList.get(i);
// 获取提现笔数
int withdrawNum = findWithdrawNum(companyResVo.getId(), companyRuleVo.getDateType());
// 判断总提现笔数在哪个优惠区间
if (companyRuleVo.getMinNum() <= withdrawNum && withdrawNum <= companyRuleVo.getMaxNum()) {
withdrawFee = companyRuleVo.getWithdrawFee();
break;
}
}
break;
default:
break;
}
return withdrawFee;
}
public int findWithdrawNum(String companyId, int dateType) {
CapitalFlowReqVo capitalFlowReqVo = new CapitalFlowReqVo();
capitalFlowReqVo.setCompanyId(companyId);
......@@ -199,6 +319,43 @@ public class FinanceServiceImpl implements FinanceService {
return withdrawNum;
}
/**
* 提现回调
*
* @param req
*/
@Transactional
// @Override
public ResponseResult<String> withdrawalBackbak(CashWithdrawalBackReqVo req) {
CapitalFlowVo capitalFlowVo = capitalFlowDao.load(req.getId(), CapitalFlowVo.class);
if (!StringHelper.isEmpty(capitalFlowVo)) {
capitalFlowVo.setStatus(req.getStatus());
capitalFlowVo.setErrorMessage(req.getErrorMessage());
capitalFlowVo.setTonglianId(req.getTonglianId());
capitalFlowVo.setTime(DateHelper.getNow());
if (1 == req.getStatus()) {
// 修改公司金额
UpdateCompanyMoneyReqVo updateCompanyMoneyReqVo = new UpdateCompanyMoneyReqVo();
updateCompanyMoneyReqVo.setCompanyId(req.getCompanyId());
updateCompanyMoneyReqVo.setNewWithdrawTotalCash(-capitalFlowVo.getOrderMoney());
companyExtendDao.updateCompanyMoney(updateCompanyMoneyReqVo);
CompanyResVo companyResVo = companyDao.load(capitalFlowVo.getCompanyId(), CompanyResVo.class);
if (!StringHelper.isEmpty(companyResVo)) {
double oldMoney = companyResVo.getWithdrawTotalCash() + capitalFlowVo.getOrderMoney();
double newMoney = oldMoney - capitalFlowVo.getOrderMoney();
capitalFlowVo.setInitMoney(oldMoney);
capitalFlowVo.setFinalMoney(newMoney);
saveCompanyMoney(capitalFlowVo, companyResVo, oldMoney);
}
}
capitalFlowDao.update(capitalFlowVo);
} else {
throw new CodeException("订单信息错误。");
}
return ResponseResult.result("");
}
/**
* 提现回调
*
......@@ -217,7 +374,7 @@ public class FinanceServiceImpl implements FinanceService {
// 修改公司金额
UpdateCompanyMoneyReqVo updateCompanyMoneyReqVo = new UpdateCompanyMoneyReqVo();
updateCompanyMoneyReqVo.setCompanyId(req.getCompanyId());
updateCompanyMoneyReqVo.setNewWithdrawTotalCash(-capitalFlowVo.getOrderMoney());
updateCompanyMoneyReqVo.setFrozenMoney(-capitalFlowVo.getOrderMoney());
companyExtendDao.updateCompanyMoney(updateCompanyMoneyReqVo);
CompanyResVo companyResVo = companyDao.load(capitalFlowVo.getCompanyId(), CompanyResVo.class);
......@@ -228,6 +385,13 @@ public class FinanceServiceImpl implements FinanceService {
capitalFlowVo.setFinalMoney(newMoney);
saveCompanyMoney(capitalFlowVo, companyResVo, oldMoney);
}
}else{
// 修改公司金额
UpdateCompanyMoneyReqVo updateCompanyMoneyReqVo = new UpdateCompanyMoneyReqVo();
updateCompanyMoneyReqVo.setCompanyId(req.getCompanyId());
updateCompanyMoneyReqVo.setNewWithdrawTotalCash(capitalFlowVo.getOrderMoney());
updateCompanyMoneyReqVo.setFrozenMoney(-capitalFlowVo.getOrderMoney());
companyExtendDao.updateCompanyMoney(updateCompanyMoneyReqVo);
}
capitalFlowDao.update(capitalFlowVo);
} else {
......@@ -249,7 +413,7 @@ public class FinanceServiceImpl implements FinanceService {
}
/**
* 提现回调
* 转账回调
*
* @param req
*/
......@@ -343,8 +507,7 @@ public class FinanceServiceImpl implements FinanceService {
double inMoney = 0d, outMoney = 0d, refundMoney = 0d;
int inNumber = 0, outNumber = 0, refundNumber = 0;
if (CompanyConstant.CATEGORY_ENTRY == capitalFlowVo.getCategory()
|| CompanyConstant.CATEGORY_RECHARGE == capitalFlowVo.getCategory()
|| CompanyConstant.CATEGORY_DIVIDEND == capitalFlowVo.getCategory()) {
|| CompanyConstant.CATEGORY_RECHARGE == capitalFlowVo.getCategory()) {
// 交易订单金额 充值 分润
inNumber = 1;
inMoney = capitalFlowVo.getActualMoney();
......@@ -394,6 +557,7 @@ public class FinanceServiceImpl implements FinanceService {
}
if (1 == companyVo.getActivationStatus() && 1 == companyVo.getExamineStatus()) {
// 公司激活状态 审核通过状态 公司邀请奖励
companyVo.setRewardType(CompanyConstant.CATEGORY_ACTIVATION_SALE_BONUS);
companyConsumer.companyReward(companyVo);
}
......
......@@ -192,6 +192,11 @@ public class RegisterServiceImpl implements RegisterService {
CompanyGetReqVo companyGetReqVo = new CompanyGetReqVo();
companyGetReqVo.setId(reqVo.getId());
CompanyVo company = companyDao.load(companyGetReqVo, CompanyVo.class);
if(StringHelper.isEmpty(company)){
throw new CodeException("未找到公司信息");
}
/*此处应该调用第三方接口传入companyVo发送手机验证码并更新公司状态*/
ObjectHelper.writeWithFrom(company, reqVo);
CompanySaveReqVo companySaveReqVo = new CompanySaveReqVo();
ObjectHelper.writeWithFrom(companySaveReqVo, reqVo);
companySaveReqVo.setCompanyAttribution(reqVo.getCompanyAttribute());
......@@ -204,11 +209,11 @@ public class RegisterServiceImpl implements RegisterService {
/*更新公司表*/
CompanyVo companyVo = new CompanyVo();
ObjectHelper.writeWithFrom(companyVo, resCompanySaveReqVo);
companyVo.setProductOrInterface(CompanyConstant.PRODUCT);
companyVo.setExamineStatus(0);
companyVo.setCompanyAttribute(reqVo.getCompanyAttribute());
companyDao.update(companyVo);
ObjectHelper.writeWithFrom(company, resCompanySaveReqVo);
company.setProductOrInterface(CompanyConstant.PRODUCT);
company.setExamineStatus(0);
company.setCompanyAttribute(reqVo.getCompanyAttribute());
companyDao.update(company);
/*跟新用户表添加联系方式*/
UserVo userReqVo = new UserVo();
......@@ -262,7 +267,9 @@ public class RegisterServiceImpl implements RegisterService {
/*此处应该调用第三方接口传入companyVo发送手机验证码并更新公司状态*/
// 找到公司信息
CompanyVo company = companyDao.load(reqVo.getId(), CompanyVo.class);
if(StringHelper.isEmpty(company)){
throw new CodeException("未找到公司信息");
}
// 初始化通联参数
CompanySaveReqVo companySaveReqVo = new CompanySaveReqVo();
ObjectHelper.writeWithFrom(companySaveReqVo, reqVo);
......@@ -280,12 +287,11 @@ public class RegisterServiceImpl implements RegisterService {
CompanySaveReqVo resCompanySaveReqVo = (CompanySaveReqVo) result.getData();
/*更新公司表*/
CompanyVo companyVo = new CompanyVo();
ObjectHelper.writeWithFrom(companyVo, resCompanySaveReqVo);
companyVo.setProductOrInterface(CompanyConstant.PRODUCT);
companyVo.setExamineStatus(0);
companyVo.setCompanyAttribute(reqVo.getCompanyAttribute());
companyDao.update(companyVo);
ObjectHelper.writeWithFrom(company, resCompanySaveReqVo);
company.setProductOrInterface(CompanyConstant.PRODUCT);
company.setExamineStatus(0);
company.setCompanyAttribute(reqVo.getCompanyAttribute());
companyDao.update(company);
List<CompanyBankReqVo1> bankList = resCompanySaveReqVo.getBankList();
if (null == bankList || bankList.isEmpty()) {
......@@ -361,7 +367,7 @@ public class RegisterServiceImpl implements RegisterService {
resVo.setMerchantId(merchantId);
}
resVo.setCompanyId(companyVo.getId());
resVo.setCompanyId(company.getId());
resVo.setCompanyBankCardId(companyBankCardVo.getId());
resVo.setCompanyExtendId(extendVo.getId());
resVo.setUserId(userVo.getId());
......@@ -542,6 +548,9 @@ public class RegisterServiceImpl implements RegisterService {
CompanyGetReqVo getReqVo = new CompanyGetReqVo();
getReqVo.setId(reqVo.getId());
CompanyVo companyVo = companyDao.load(getReqVo, CompanyVo.class);
if(StringHelper.isEmpty(companyVo)){
throw new CodeException("未找到公司信息");
}
/*此处应该将companyVo和verifyCode发送到第三方接口,返回的数据用于更新公司信息*/
CompanySaveReqVo companySaveReqVo = new CompanySaveReqVo();
ObjectHelper.writeWithFrom(companySaveReqVo, companyVo);
......@@ -554,12 +563,11 @@ public class RegisterServiceImpl implements RegisterService {
CompanySaveReqVo resCompanySaveReqVo = (CompanySaveReqVo) result.getData();
/*更新公司表*/
CompanyVo companyVo1 = new CompanyVo();
ObjectHelper.writeWithFrom(companyVo1, resCompanySaveReqVo);
companyVo1.setProductOrInterface(CompanyConstant.PRODUCT);
companyVo1.setCompanyAttribute(companyVo.getCompanyAttribute());
companyVo1.setExamineStatus(0);
companyDao.update(companyVo1);
ObjectHelper.writeWithFrom(companyVo, resCompanySaveReqVo);
companyVo.setProductOrInterface(CompanyConstant.PRODUCT);
companyVo.setCompanyAttribute(companyVo.getCompanyAttribute());
companyVo.setExamineStatus(0);
companyDao.update(companyVo);
return reqVo.getVerifyCode();
}
......@@ -572,7 +580,11 @@ public class RegisterServiceImpl implements RegisterService {
@Override
public String enterpriceSubmit(EnterpriceSubmitReqVo reqVo) {
CompanyVo companyVo = companyDao.load(reqVo.getId(), CompanyVo.class);
if(StringHelper.isEmpty(companyVo)){
throw new CodeException("未找到公司信息");
}
/*此处应该调用第三方接口传入companyVo发送手机验证码并更新公司状态*/
ObjectHelper.writeWithFrom(companyVo, reqVo);
CompanySaveReqVo companySaveReqVo = new CompanySaveReqVo();
ObjectHelper.writeWithFrom(companySaveReqVo, companyVo);
companySaveReqVo.setValidateCode(reqVo.getVerifyCode());
......@@ -584,11 +596,17 @@ public class RegisterServiceImpl implements RegisterService {
companyBankReqVo1.setName(reqVo.getContactName());
companyBankReqVo1.setIdCard(reqVo.getContactCode());
companyBankReqVo1.setPhone(reqVo.getContactPhone());
// 查询银行卡
CompanyBankCardGetReqVo companyBankCardGetReqVo = new CompanyBankCardGetReqVo();
companyBankCardGetReqVo.setBankCardCode(reqVo.getBankCardCode());
CompanyBankCardVo companyBankCardVo1 = companyBankCardDao.load(companyBankCardGetReqVo, CompanyBankCardVo.class);
companyBankReqVo1.setStatus(companyBankCardVo1.getStatus());
CompanyBankCardVo sqlCompanyBankCardVo = companyBankCardDao.load(companyBankCardGetReqVo, CompanyBankCardVo.class);
if(!StringHelper.isEmpty(sqlCompanyBankCardVo)){
companyBankReqVo1.setStatus(sqlCompanyBankCardVo.getStatus());
companyBankReqVo1.setId(sqlCompanyBankCardVo.getId());
}else{
companyBankReqVo1.setStatus(0);
companyBankReqVo1.setId(StringHelper.getNewID());
}
companyBankReqVo1.setValidateCode(reqVo.getVerifyCode());
companySaveReqVo.setBankList(new ArrayList<>());
companySaveReqVo.getBankList().add(companyBankReqVo1);
......@@ -600,12 +618,11 @@ public class RegisterServiceImpl implements RegisterService {
CompanySaveReqVo resCompanySaveReqVo = (CompanySaveReqVo) result.getData();
/*更新公司表*/
CompanyVo companyVo1 = new CompanyVo();
ObjectHelper.writeWithFrom(companyVo1, resCompanySaveReqVo);
companyVo1.setProductOrInterface(CompanyConstant.PRODUCT);
companyVo1.setExamineStatus(0);
companyVo1.setCompanyAttribute(companyVo.getCompanyAttribute());
companyDao.update(companyVo1);
ObjectHelper.writeWithFrom(companyVo, resCompanySaveReqVo);
companyVo.setProductOrInterface(CompanyConstant.PRODUCT);
companyVo.setExamineStatus(0);
companyVo.setCompanyAttribute(companyVo.getCompanyAttribute());
companyDao.update(companyVo);
List<CompanyBankReqVo1> bankList = resCompanySaveReqVo.getBankList();
if (null == bankList || bankList.isEmpty()) {
......
package com.pangding.web.authority.util;
import com.pangding.web.authority.dao.CompanyBankCardDao;
import com.pangding.web.authority.dao.CompanyDao;
import com.pangding.web.authority.dao.CompanyExtendDao;
import com.pangding.web.authority.service.FinanceService;
import com.pangding.web.vo.order.req.CapitalFlowReqVo;
import com.pangding.web.vo.system.pd.company.CompanyBankCardVo;
import com.pangding.web.vo.system.req.company.CompanyBankCardReqVo;
import com.pangding.web.vo.system.req.company.CompanyReqVo;
import com.pangding.web.vo.system.req.company.UpdateCompanyMoneyReqVo;
import com.pangding.web.vo.system.res.company.CompanyResVo;
import com.yanzuoguang.util.helper.DateHelper;
import com.yanzuoguang.util.helper.StringHelper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* 订单相关的定时任务
*/
@Component
@Configuration
@EnableScheduling
public class UserTask {
@Autowired
private CompanyDao companyDao;
@Autowired
private CompanyExtendDao companyExtendDao;
@Autowired
private CompanyBankCardDao companyBankCardDao;
@Autowired
private FinanceService financeService;
/**
* 自动提现
*/
// @Scheduled(cron = "0 0 10 * * ?")
public void automaticWithdrawal() {
CompanyReqVo companyReqVo = new CompanyReqVo();
companyReqVo.setWithdrawRule(0);
companyReqVo.setExamineStatus(1);
companyReqVo.setStatus(6);
List<CompanyResVo> companyResVoList = companyDao.loadList(companyReqVo, CompanyResVo.class);
for (int i = 0; i < companyResVoList.size(); i++) {
CompanyResVo companyResVo = companyResVoList.get(i);
CompanyBankCardReqVo companyBankCardReqVo = new CompanyBankCardReqVo();
companyBankCardReqVo.setCompanyId(companyResVo.getId());
companyBankCardReqVo.setStatus(1);
companyBankCardReqVo.setIsDefault(1);
CompanyBankCardVo companyBankCardVo = companyBankCardDao.load(companyBankCardReqVo, CompanyBankCardVo.class);
if (StringHelper.isEmpty(companyBankCardReqVo)) {
// 该公司没有默认银行卡 不可提现。
continue;
}
CapitalFlowReqVo capitalFlowReqVo = new CapitalFlowReqVo();
capitalFlowReqVo.setCompanyId(companyResVo.getId());
capitalFlowReqVo.setOrderMoney(companyResVo.getWithdrawTotalCash());
capitalFlowReqVo.setOrderId(companyResVo.getId());
capitalFlowReqVo.setStatus(0);
capitalFlowReqVo.setBankCardCode(companyBankCardVo.getBankCardCode());
capitalFlowReqVo.setBankId(companyBankCardVo.getId());
capitalFlowReqVo.setCategory(1);
capitalFlowReqVo.setOrderFee(0d);
capitalFlowReqVo.setTime(DateHelper.getNow());
capitalFlowReqVo.setRemark(companyResVo.getCompanyName() + "自动提现:" + DateHelper.getNow());
financeService.applyWithdrawal(capitalFlowReqVo);
}
}
/**
* 服务费
*/
// @Scheduled(cron = "0 0 1 * * ?")
public void serviceCharge() {
CompanyReqVo companyReqVo = new CompanyReqVo();
companyReqVo.setServiceChargeStatus(1);
companyReqVo.setExamineStatus(1);
companyReqVo.setStatus(6);
List<CompanyResVo> companyResVoList = companyDao.loadList(companyReqVo, CompanyResVo.class);
for (int i = 0; i < companyResVoList.size(); i++) {
CompanyResVo companyResVo = companyResVoList.get(i);
double serviceCharge = financeService.getServiceCharge(companyResVo);
if(serviceCharge > 0 ){
UpdateCompanyMoneyReqVo updateCompanyMoneyReqVo = new UpdateCompanyMoneyReqVo();
updateCompanyMoneyReqVo.setCompanyId(companyResVo.getId());
updateCompanyMoneyReqVo.setNewWithdrawTotalCash(0d);
updateCompanyMoneyReqVo.setLateFee(-serviceCharge);
companyExtendDao.updateCompanyMoney(updateCompanyMoneyReqVo);
}
}
}
}
......@@ -13,6 +13,10 @@ import java.util.List;
* @create 2019/5/23 14:53
*/
public class CompanyLoginResVo {
@ApiModelProperty(notes = "跳转链接")
private String paydJumpUrl;
private UserVo userVo;
private CompanyVo companyVo;
......@@ -123,4 +127,12 @@ public class CompanyLoginResVo {
public void setCompanyInvitationRewardRuleVoList(List<CompanyInvitationRuleVo> companyInvitationRewardRuleVoList) {
this.companyInvitationRewardRuleVoList = companyInvitationRewardRuleVoList;
}
public String getPaydJumpUrl() {
return paydJumpUrl;
}
public void setPaydJumpUrl(String paydJumpUrl) {
this.paydJumpUrl = paydJumpUrl;
}
}
......@@ -10,3 +10,6 @@ yzg:
msg:
payMsgId: 4
groupProductMsgId: 10
pay:
paydJumpUrl: /pages/combination/distributionCombiChoose/distributionCombiChoose?channelId=1&merchantId=z0015605022691a5945bbe463141668c&groupId=z0016038113016708b8ad38c637b2f26&groupChannelId=z00160423712018998e6260ffcaf3369&companyId=COMPANYID&pageCode=SD_GROUP
\ No newline at end of file
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