|
@ -1,7 +1,10 @@ |
|
|
package org.jeecg.modules.apiService.impl; |
|
|
package org.jeecg.modules.apiService.impl; |
|
|
|
|
|
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.toolkit.IdWorker; |
|
|
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; |
|
|
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; |
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
|
|
|
|
|
import com.github.binarywang.wxpay.bean.notify.WxPayOrderNotifyResult; |
|
|
|
|
|
import lombok.extern.log4j.Log4j2; |
|
|
import org.apache.commons.lang.StringUtils; |
|
|
import org.apache.commons.lang.StringUtils; |
|
|
import org.jeecg.common.api.vo.Result; |
|
|
import org.jeecg.common.api.vo.Result; |
|
|
import org.jeecg.config.shiro.ShiroRealm; |
|
|
import org.jeecg.config.shiro.ShiroRealm; |
|
@ -15,6 +18,8 @@ import org.jeecg.modules.employAuthenticationPerson.entity.EmployAuthenticationP |
|
|
import org.jeecg.modules.employAuthenticationPerson.service.IEmployAuthenticationPersonService; |
|
|
import org.jeecg.modules.employAuthenticationPerson.service.IEmployAuthenticationPersonService; |
|
|
import org.jeecg.modules.employCategory.entity.EmployCategory; |
|
|
import org.jeecg.modules.employCategory.entity.EmployCategory; |
|
|
import org.jeecg.modules.employCategory.service.IEmployCategoryService; |
|
|
import org.jeecg.modules.employCategory.service.IEmployCategoryService; |
|
|
|
|
|
import org.jeecg.modules.employConfig.entity.EmployConfig; |
|
|
|
|
|
import org.jeecg.modules.employConfig.service.IEmployConfigService; |
|
|
import org.jeecg.modules.employJob.entity.EmployJob; |
|
|
import org.jeecg.modules.employJob.entity.EmployJob; |
|
|
import org.jeecg.modules.employJob.service.IEmployJobService; |
|
|
import org.jeecg.modules.employJob.service.IEmployJobService; |
|
|
import org.jeecg.modules.employOrder.entity.EmployOrder; |
|
|
import org.jeecg.modules.employOrder.entity.EmployOrder; |
|
@ -36,6 +41,7 @@ import java.util.ArrayList; |
|
|
import java.util.Date; |
|
|
import java.util.Date; |
|
|
import java.util.List; |
|
|
import java.util.List; |
|
|
|
|
|
|
|
|
|
|
|
@Log4j2 |
|
|
@Service |
|
|
@Service |
|
|
public class OrderServiceImpl implements OrderService { |
|
|
public class OrderServiceImpl implements OrderService { |
|
|
|
|
|
|
|
@ -73,6 +79,10 @@ public class OrderServiceImpl implements OrderService { |
|
|
private IEmploySeekService employSeekService; |
|
|
private IEmploySeekService employSeekService; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Autowired |
|
|
|
|
|
private IEmployConfigService employConfigService; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//支付接口 |
|
|
//支付接口 |
|
|
@Autowired |
|
|
@Autowired |
|
|
private MpWxPayService mpWxPayService; |
|
|
private MpWxPayService mpWxPayService; |
|
@ -198,9 +208,10 @@ public class OrderServiceImpl implements OrderService { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//创建订单信息 |
|
|
//创建订单信息 |
|
|
EmployOrder employOrder = new EmployOrder(); |
|
|
EmployOrder employOrder = new EmployOrder(); |
|
|
employOrder.setType(0);//订单类型 招聘订单 |
|
|
|
|
|
|
|
|
employOrder.setType(0);//订单类型 企业发布招聘的订单 |
|
|
employOrder.setStatus(0);//订单状态 |
|
|
employOrder.setStatus(0);//订单状态 |
|
|
employOrder.setJobId(workId); |
|
|
employOrder.setJobId(workId); |
|
|
employOrder.setTitle(employJob.getTitle()); |
|
|
employOrder.setTitle(employJob.getTitle()); |
|
@ -210,6 +221,7 @@ public class OrderServiceImpl implements OrderService { |
|
|
employOrder.setJobPhone(resume.getPhone()); |
|
|
employOrder.setJobPhone(resume.getPhone()); |
|
|
employOrder.setJobAddress(resume.getAddress()); |
|
|
employOrder.setJobAddress(resume.getAddress()); |
|
|
employOrder.setPayType(employJob.getPayType()); |
|
|
employOrder.setPayType(employJob.getPayType()); |
|
|
|
|
|
employOrder.setPayMoney(employJob.getSalaryDay());//试工日薪 |
|
|
|
|
|
|
|
|
//招聘方信息 |
|
|
//招聘方信息 |
|
|
employOrder.setWorkHeadImg(company.getHeadImg()); |
|
|
employOrder.setWorkHeadImg(company.getHeadImg()); |
|
@ -226,6 +238,21 @@ public class OrderServiceImpl implements OrderService { |
|
|
employOrder.setPersonId(person.getId()); |
|
|
employOrder.setPersonId(person.getId()); |
|
|
employOrder.setJobId(workId); |
|
|
employOrder.setJobId(workId); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//保险费用 |
|
|
|
|
|
List<EmployConfig> list = employConfigService.lambdaQuery() |
|
|
|
|
|
.eq(EmployConfig::getParamCode, "order_premium_price") |
|
|
|
|
|
.list(); |
|
|
|
|
|
|
|
|
|
|
|
if (list.size() > 0 && StringUtils.isNotBlank(list.get(0).getParamValueText())){ |
|
|
|
|
|
try { |
|
|
|
|
|
String price = list.get(0).getParamValueText(); |
|
|
|
|
|
employOrder.setPremium(BigDecimal.valueOf(Double.parseDouble(price))); |
|
|
|
|
|
}catch (Exception e){ |
|
|
|
|
|
log.error(e); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
employOrderService.save(employOrder); |
|
|
employOrderService.save(employOrder); |
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -234,13 +261,18 @@ public class OrderServiceImpl implements OrderService { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//订单信息-立即支付 |
|
|
|
|
|
|
|
|
//订单信息-求职者支付保险 |
|
|
@Override |
|
|
@Override |
|
|
public Result<?> payOrder(String token, String orderId,Integer payType){ |
|
|
public Result<?> payOrder(String token, String orderId,Integer payType){ |
|
|
HanHaiMember hanHaiMember = shiroRealm.checkUserTokenIsEffectHanHaiOpenId(token); |
|
|
HanHaiMember hanHaiMember = shiroRealm.checkUserTokenIsEffectHanHaiOpenId(token); |
|
|
//根据订单标识查询订单信息 |
|
|
//根据订单标识查询订单信息 |
|
|
EmployOrder order = employOrderService.getById(orderId); |
|
|
EmployOrder order = employOrderService.getById(orderId); |
|
|
BigDecimal payPrice = order.getPayMoney(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (order == null){ |
|
|
|
|
|
return Result.error("订单不存在"); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
BigDecimal payPrice = order.getPremium(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if(payType == 1){ |
|
|
if(payType == 1){ |
|
@ -248,29 +280,29 @@ public class OrderServiceImpl implements OrderService { |
|
|
if(hanHaiMember.getPrice().compareTo(payPrice)==-1){ |
|
|
if(hanHaiMember.getPrice().compareTo(payPrice)==-1){ |
|
|
return Result.error("余额不足"); |
|
|
return Result.error("余额不足"); |
|
|
} |
|
|
} |
|
|
hanHaiMember.setPrice(hanHaiMember.getPrice().subtract(payPrice)); |
|
|
|
|
|
hanHaiMemberService.updateById(hanHaiMember); |
|
|
|
|
|
//增加金额明细 |
|
|
|
|
|
EmployAmountLog amountLog = new EmployAmountLog(); |
|
|
|
|
|
amountLog.setTitle(order.getTitle()); |
|
|
|
|
|
amountLog.setAmount(payPrice); |
|
|
|
|
|
amountLog.setType("0"); |
|
|
|
|
|
amountLog.setUserId(hanHaiMember.getId()); |
|
|
|
|
|
employAmountLogService.save(amountLog); |
|
|
|
|
|
|
|
|
subtractMemberAmount(hanHaiMember, payPrice, "支付保险费:" + order.getTitle()); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return Result.OK("余额支付成功",order); |
|
|
return Result.OK("余额支付成功",order); |
|
|
}else{ |
|
|
}else{ |
|
|
|
|
|
|
|
|
|
|
|
String idStr = IdWorker.getIdStr(); |
|
|
|
|
|
|
|
|
|
|
|
order.setOrderNoSeek(idStr); |
|
|
|
|
|
|
|
|
|
|
|
employOrderService.updateById(order); |
|
|
|
|
|
|
|
|
//吊起微信支付 |
|
|
//吊起微信支付 |
|
|
String s = payPrice.multiply(new BigDecimal(100)).toString(); |
|
|
|
|
|
int i1 = Double.valueOf(s).intValue(); |
|
|
|
|
|
Object appOrder = mpWxPayService.createOrder( |
|
|
Object appOrder = mpWxPayService.createOrder( |
|
|
"购买"+order.getTitle(), |
|
|
"购买"+order.getTitle(), |
|
|
"127.0.0.1", |
|
|
"127.0.0.1", |
|
|
System.currentTimeMillis()+"", |
|
|
|
|
|
i1, |
|
|
|
|
|
System.currentTimeMillis()+"", |
|
|
|
|
|
|
|
|
idStr, |
|
|
|
|
|
payPrice.multiply(new BigDecimal(100)).intValue(), |
|
|
|
|
|
idStr, |
|
|
hanHaiMember.getAppletOpenid(), |
|
|
hanHaiMember.getAppletOpenid(), |
|
|
order.toString()); |
|
|
|
|
|
|
|
|
order.toString(), |
|
|
|
|
|
"/employ/order/payNotify" |
|
|
|
|
|
); |
|
|
return Result.OK("微信支付成功",appOrder); |
|
|
return Result.OK("微信支付成功",appOrder); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
@ -280,8 +312,6 @@ public class OrderServiceImpl implements OrderService { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//订单信息-求职信息-立即聘用 |
|
|
//订单信息-求职信息-立即聘用 |
|
|
@Override |
|
|
@Override |
|
|
public Result<?> addOrderJob(String token, String jobId){ |
|
|
public Result<?> addOrderJob(String token, String jobId){ |
|
@ -336,7 +366,7 @@ public class OrderServiceImpl implements OrderService { |
|
|
|
|
|
|
|
|
//创建订单信息 |
|
|
//创建订单信息 |
|
|
EmployOrder employOrder = new EmployOrder(); |
|
|
EmployOrder employOrder = new EmployOrder(); |
|
|
employOrder.setType(1);//订单类型 招聘订单 |
|
|
|
|
|
|
|
|
employOrder.setType(1);//订单类型 求职者发布的求职订单 |
|
|
employOrder.setStatus(0);//订单状态 |
|
|
employOrder.setStatus(0);//订单状态 |
|
|
employOrder.setSeekId(jobId); |
|
|
employOrder.setSeekId(jobId); |
|
|
employOrder.setTitle("求职:"+employCategoryService.getById(employSeek.getCategoryOne()).getName() +"-"+employCategoryService.getById(employSeek.getCategoryTwo()).getName()); |
|
|
employOrder.setTitle("求职:"+employCategoryService.getById(employSeek.getCategoryOne()).getName() +"-"+employCategoryService.getById(employSeek.getCategoryTwo()).getName()); |
|
@ -347,6 +377,7 @@ public class OrderServiceImpl implements OrderService { |
|
|
employOrder.setJobAddress(resume.getAddress()); |
|
|
employOrder.setJobAddress(resume.getAddress()); |
|
|
employOrder.setJobHeadImg(person.getImage()); |
|
|
employOrder.setJobHeadImg(person.getImage()); |
|
|
employOrder.setPayType(employSeek.getPayType()); |
|
|
employOrder.setPayType(employSeek.getPayType()); |
|
|
|
|
|
employOrder.setPayMoney(employSeek.getDayMoney());//试工日薪 |
|
|
|
|
|
|
|
|
//招聘方信息 |
|
|
//招聘方信息 |
|
|
employOrder.setWorkHeadImg(company.getHeadImg()); |
|
|
employOrder.setWorkHeadImg(company.getHeadImg()); |
|
@ -365,6 +396,20 @@ public class OrderServiceImpl implements OrderService { |
|
|
employOrder.setSeekId(jobId); |
|
|
employOrder.setSeekId(jobId); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//保险费用 |
|
|
|
|
|
List<EmployConfig> list = employConfigService.lambdaQuery() |
|
|
|
|
|
.eq(EmployConfig::getParamCode, "order_premium_price") |
|
|
|
|
|
.list(); |
|
|
|
|
|
|
|
|
|
|
|
if (list.size() > 0 && StringUtils.isNotBlank(list.get(0).getParamValueText())){ |
|
|
|
|
|
try { |
|
|
|
|
|
String price = list.get(0).getParamValueText(); |
|
|
|
|
|
employOrder.setPremium(BigDecimal.valueOf(Double.parseDouble(price))); |
|
|
|
|
|
}catch (Exception e){ |
|
|
|
|
|
log.error(e); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
employOrderService.save(employOrder); |
|
|
employOrderService.save(employOrder); |
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -389,6 +434,14 @@ public class OrderServiceImpl implements OrderService { |
|
|
if(order.getStatus()==6){ |
|
|
if(order.getStatus()==6){ |
|
|
return Result.error("订单已经取消,不能取消"); |
|
|
return Result.error("订单已经取消,不能取消"); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
EmploySeek seek = employSeekService.getById(order.getSeekId()); |
|
|
|
|
|
if (seek != null){ |
|
|
|
|
|
seek.setSeekStatus(0); |
|
|
|
|
|
employSeekService.updateById(seek); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
//修改订单状态为已取消 |
|
|
//修改订单状态为已取消 |
|
|
order.setStatus(6); |
|
|
order.setStatus(6); |
|
|
employOrderService.updateById(order); |
|
|
employOrderService.updateById(order); |
|
@ -429,6 +482,13 @@ public class OrderServiceImpl implements OrderService { |
|
|
if(order.getStatus()==6){ |
|
|
if(order.getStatus()==6){ |
|
|
return Result.error("订单已经取消,不能确认"); |
|
|
return Result.error("订单已经取消,不能确认"); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
EmploySeek seek = employSeekService.getById(order.getSeekId()); |
|
|
|
|
|
if (seek != null){ |
|
|
|
|
|
seek.setSeekStatus(1); |
|
|
|
|
|
employSeekService.updateById(seek); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
order.setStatus(1); |
|
|
order.setStatus(1); |
|
|
employOrderService.updateById(order); |
|
|
employOrderService.updateById(order); |
|
|
return Result.OK("确认成功", order); |
|
|
return Result.OK("确认成功", order); |
|
@ -468,27 +528,46 @@ public class OrderServiceImpl implements OrderService { |
|
|
|
|
|
|
|
|
//企业支付 |
|
|
//企业支付 |
|
|
@Override |
|
|
@Override |
|
|
public Result<?> payOrderCompany(String token, String orderId,Integer payType){ |
|
|
|
|
|
|
|
|
public Result<?> payOrderCompany(String token, String orderId, Integer payType, BigDecimal fare){//fare交通费 |
|
|
HanHaiMember hanHaiMember = shiroRealm.checkUserTokenIsEffectHanHaiOpenId(token); |
|
|
HanHaiMember hanHaiMember = shiroRealm.checkUserTokenIsEffectHanHaiOpenId(token); |
|
|
//根据订单标识查询订单信息 |
|
|
//根据订单标识查询订单信息 |
|
|
EmployOrder order = employOrderService.getById(orderId); |
|
|
EmployOrder order = employOrderService.getById(orderId); |
|
|
BigDecimal payPrice = order.getPayMoney(); |
|
|
|
|
|
|
|
|
if(order==null){ |
|
|
|
|
|
return Result.error("订单不存在", null); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// type 0企业发布招聘,企业不需要支付保险、交通费,由个人承担 |
|
|
|
|
|
// type 1个人发布求职,企业承担保险费、交通费用 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
order.setFare(fare); |
|
|
|
|
|
|
|
|
|
|
|
order.setOrderNoMoney(order.getPayMoney().add(fare)); |
|
|
|
|
|
|
|
|
|
|
|
if (order.getType() == 1){//企业招聘求职者,需要企业支付保险费用 |
|
|
|
|
|
order.setOrderNoMoney(order.getOrderNoMoney().add(order.getPremium())); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
BigDecimal payPrice = order.getOrderNoMoney(); |
|
|
|
|
|
|
|
|
if(payType == 1){ |
|
|
if(payType == 1){ |
|
|
//余额支付 |
|
|
//余额支付 |
|
|
if(hanHaiMember.getPrice().compareTo(payPrice)==-1){ |
|
|
if(hanHaiMember.getPrice().compareTo(payPrice)==-1){ |
|
|
return Result.error("余额不足"); |
|
|
return Result.error("余额不足"); |
|
|
} |
|
|
} |
|
|
hanHaiMember.setPrice(hanHaiMember.getPrice().subtract(payPrice)); |
|
|
|
|
|
hanHaiMemberService.updateById(hanHaiMember); |
|
|
|
|
|
//增加金额明细 |
|
|
|
|
|
EmployAmountLog amountLog = new EmployAmountLog(); |
|
|
|
|
|
amountLog.setTitle(order.getTitle()); |
|
|
|
|
|
amountLog.setAmount(payPrice); |
|
|
|
|
|
amountLog.setType("0"); |
|
|
|
|
|
amountLog.setUserId(hanHaiMember.getId()); |
|
|
|
|
|
employAmountLogService.save(amountLog); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
subtractMemberAmount(hanHaiMember, payPrice, "企业支付:" + order.getTitle()); |
|
|
|
|
|
|
|
|
|
|
|
//给求职者钱包加钱 |
|
|
|
|
|
try { |
|
|
|
|
|
EmployResume resume = employResumeService.getById(order.getResumeId()); |
|
|
|
|
|
|
|
|
|
|
|
HanHaiMember member = hanHaiMemberService.getById(resume.getUserId()); |
|
|
|
|
|
|
|
|
|
|
|
addMemberAmount(member, order.getPayMoney(), "试工费用到账:" + order.getTitle()); |
|
|
|
|
|
}catch (Exception e){ |
|
|
|
|
|
log.error("求职者数据丢失,金额:{}无法到账,订单号:{}", order.getPayMoney(), order.getId()); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
//修改订单状态 |
|
|
//修改订单状态 |
|
|
order.setStatus(4); |
|
|
order.setStatus(4); |
|
@ -496,17 +575,25 @@ public class OrderServiceImpl implements OrderService { |
|
|
|
|
|
|
|
|
return Result.OK("余额支付成功",order); |
|
|
return Result.OK("余额支付成功",order); |
|
|
}else{ |
|
|
}else{ |
|
|
|
|
|
|
|
|
|
|
|
String idStr = IdWorker.getIdStr(); |
|
|
|
|
|
|
|
|
|
|
|
order.setOrderNo(idStr); |
|
|
|
|
|
|
|
|
|
|
|
employOrderService.updateById(order); |
|
|
|
|
|
|
|
|
//吊起微信支付 |
|
|
//吊起微信支付 |
|
|
String s = payPrice.multiply(new BigDecimal(100)).toString(); |
|
|
|
|
|
int i1 = Double.valueOf(s).intValue(); |
|
|
|
|
|
Object appOrder = mpWxPayService.createOrder( |
|
|
Object appOrder = mpWxPayService.createOrder( |
|
|
"支付"+order.getTitle(), |
|
|
"支付"+order.getTitle(), |
|
|
"127.0.0.1", |
|
|
"127.0.0.1", |
|
|
System.currentTimeMillis()+"", |
|
|
|
|
|
i1, |
|
|
|
|
|
System.currentTimeMillis()+"", |
|
|
|
|
|
|
|
|
idStr, |
|
|
|
|
|
payPrice.multiply(new BigDecimal(100)).intValue(), |
|
|
|
|
|
idStr, |
|
|
hanHaiMember.getAppletOpenid(), |
|
|
hanHaiMember.getAppletOpenid(), |
|
|
order.toString()); |
|
|
|
|
|
|
|
|
order.toString(), |
|
|
|
|
|
"/employ/order/payNotifyCompany" |
|
|
|
|
|
); |
|
|
|
|
|
|
|
|
return Result.OK("微信支付成功",appOrder); |
|
|
return Result.OK("微信支付成功",appOrder); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
@ -520,7 +607,104 @@ public class OrderServiceImpl implements OrderService { |
|
|
//修改订单状态 |
|
|
//修改订单状态 |
|
|
order.setStatus(5); |
|
|
order.setStatus(5); |
|
|
employOrderService.updateById(order); |
|
|
employOrderService.updateById(order); |
|
|
|
|
|
|
|
|
|
|
|
EmploySeek seek = employSeekService.getById(order.getSeekId()); |
|
|
|
|
|
if (seek != null){ |
|
|
|
|
|
seek.setSeekStatus(2); |
|
|
|
|
|
employSeekService.updateById(seek); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
return Result.ok("确认成功"); |
|
|
return Result.ok("确认成功"); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public void addMemberAmount(HanHaiMember hanHaiMember, BigDecimal payPrice, String title){ |
|
|
|
|
|
hanHaiMember.setPrice(hanHaiMember.getPrice().add(payPrice)); |
|
|
|
|
|
hanHaiMemberService.updateById(hanHaiMember); |
|
|
|
|
|
//增加金额明细 |
|
|
|
|
|
EmployAmountLog amountLog = new EmployAmountLog(); |
|
|
|
|
|
amountLog.setTitle(title); |
|
|
|
|
|
amountLog.setAmount(payPrice); |
|
|
|
|
|
amountLog.setType("1"); |
|
|
|
|
|
amountLog.setUserId(hanHaiMember.getId()); |
|
|
|
|
|
employAmountLogService.save(amountLog); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public void subtractMemberAmount(HanHaiMember hanHaiMember, BigDecimal payPrice, String title){ |
|
|
|
|
|
hanHaiMember.setPrice(hanHaiMember.getPrice().subtract(payPrice)); |
|
|
|
|
|
hanHaiMemberService.updateById(hanHaiMember); |
|
|
|
|
|
//增加金额明细 |
|
|
|
|
|
EmployAmountLog amountLog = new EmployAmountLog(); |
|
|
|
|
|
amountLog.setTitle(title); |
|
|
|
|
|
amountLog.setAmount(payPrice); |
|
|
|
|
|
amountLog.setType("0"); |
|
|
|
|
|
amountLog.setUserId(hanHaiMember.getId()); |
|
|
|
|
|
employAmountLogService.save(amountLog); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
//求职者支付保险回调 |
|
|
|
|
|
@Override |
|
|
|
|
|
public Object payNotify(String requestBody) { |
|
|
|
|
|
WxPayOrderNotifyResult notify = mpWxPayService.notify(requestBody); |
|
|
|
|
|
String outTradeNo = notify.getOutTradeNo(); |
|
|
|
|
|
log.info("支付回调订单号码:"+outTradeNo); |
|
|
|
|
|
|
|
|
|
|
|
EmployOrder order = employOrderService.lambdaQuery() |
|
|
|
|
|
.eq(EmployOrder::getOrderNoSeek, outTradeNo) |
|
|
|
|
|
.one(); |
|
|
|
|
|
|
|
|
|
|
|
order.setOrderStatusSeek("Y"); |
|
|
|
|
|
employOrderService.updateById(order); |
|
|
|
|
|
|
|
|
|
|
|
return "<xml>" + |
|
|
|
|
|
" <return_code><![CDATA[SUCCESS]]></return_code>" + |
|
|
|
|
|
" <return_msg><![CDATA[OK]]></return_msg>" + |
|
|
|
|
|
" </xml>"; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
//企业支付试工日新回调 |
|
|
|
|
|
@Override |
|
|
|
|
|
public Object payNotifyCompany(String requestBody) { |
|
|
|
|
|
WxPayOrderNotifyResult notify = mpWxPayService.notify(requestBody); |
|
|
|
|
|
String outTradeNo = notify.getOutTradeNo(); |
|
|
|
|
|
log.info("支付回调订单号码:"+outTradeNo); |
|
|
|
|
|
|
|
|
|
|
|
EmployOrder order = employOrderService.lambdaQuery() |
|
|
|
|
|
.eq(EmployOrder::getOrderNo, outTradeNo) |
|
|
|
|
|
.one(); |
|
|
|
|
|
|
|
|
|
|
|
if ("Y".equals(order.getOrderStatus())){ |
|
|
|
|
|
log.warn("订单已经被支付了,订单信息:{}", order); |
|
|
|
|
|
return "<xml>" + |
|
|
|
|
|
" <return_code><![CDATA[SUCCESS]]></return_code>" + |
|
|
|
|
|
" <return_msg><![CDATA[OK]]></return_msg>" + |
|
|
|
|
|
" </xml>"; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//给求职者钱包加钱 |
|
|
|
|
|
try { |
|
|
|
|
|
EmployResume resume = employResumeService.getById(order.getResumeId()); |
|
|
|
|
|
|
|
|
|
|
|
HanHaiMember member = hanHaiMemberService.getById(resume.getUserId()); |
|
|
|
|
|
|
|
|
|
|
|
addMemberAmount(member, order.getPayMoney(), "企业支付到账:" + order.getTitle()); |
|
|
|
|
|
}catch (Exception e){ |
|
|
|
|
|
log.error("求职者数据丢失,金额:{}无法到账,订单号:{}", order.getPayMoney(), order.getId()); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//修改订单状态 |
|
|
|
|
|
order.setStatus(4); |
|
|
|
|
|
|
|
|
|
|
|
order.setOrderStatus("Y"); |
|
|
|
|
|
employOrderService.updateById(order); |
|
|
|
|
|
|
|
|
|
|
|
return "<xml>" + |
|
|
|
|
|
" <return_code><![CDATA[SUCCESS]]></return_code>" + |
|
|
|
|
|
" <return_msg><![CDATA[OK]]></return_msg>" + |
|
|
|
|
|
" </xml>"; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
} |
|
|
} |