|
|
@@ -11,6 +11,7 @@ import com.fs.common.exception.CustomException;
|
|
|
import com.fs.common.utils.DateUtils;
|
|
|
import com.fs.common.utils.ServletUtils;
|
|
|
import com.fs.common.utils.ip.IpUtils;
|
|
|
+import com.fs.company.domain.CompanyRechargeOrder;
|
|
|
import com.fs.core.utils.OrderCodeUtils;
|
|
|
import com.fs.his.domain.FsPayConfig;
|
|
|
import com.fs.his.domain.FsStoreOrder;
|
|
|
@@ -308,6 +309,7 @@ public class RechargeTemplateServiceImpl extends ServiceImpl<RechargeTemplateMap
|
|
|
updateRecord.setTradeNo(result.getHf_seq_id());
|
|
|
updateRecord.setPayParams(JSONUtil.toJsonStr(result));
|
|
|
updateRecord.setUpdateTime(new Date());
|
|
|
+ updateRecord.setTemplateId(rechargeRecord.getTemplateId());
|
|
|
fsUserRechargeRecordService.updateRechargeRecord(updateRecord);
|
|
|
|
|
|
return R.ok().put("isPay", 0).put("data", result).put("type", "hf");
|
|
|
@@ -360,6 +362,46 @@ public class RechargeTemplateServiceImpl extends ServiceImpl<RechargeTemplateMap
|
|
|
.collect(Collectors.toList());
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public String payConfirm(String payCode, String tradeNo, String bankTransactionId, String bankSerialNo,String content) {
|
|
|
+ FsUserRechargeRecord rechargeRecord = fsUserRechargeRecordService.selectRechargeRecordByCode(payCode);
|
|
|
+
|
|
|
+ // 1. 查询充值模板
|
|
|
+ RechargeTemplate template = rechargeTemplateService.getById(rechargeRecord.getTemplateId());
|
|
|
+ if (template == null) {
|
|
|
+ log.error("充值模板不存在,templateId={}", rechargeRecord.getTemplateId());
|
|
|
+ throw new RuntimeException("充值模板不存在");
|
|
|
+ }
|
|
|
+ // 2. 增加用户余额
|
|
|
+ FsUser user = fsUserService.selectFsUserByUserIdForUpdate(rechargeRecord.getUserId());
|
|
|
+ BigDecimal totalAmount = rechargeRecord.getRechargeAmount().add(rechargeRecord.getBonusAmount());
|
|
|
+ BigDecimal money = user.getMoney();
|
|
|
+ if(ObjectUtils.isNull(money)) {
|
|
|
+ money = BigDecimal.ZERO;
|
|
|
+ }
|
|
|
+ user.setMoney(money.add(totalAmount));
|
|
|
+
|
|
|
+ // 3. 发放优惠券
|
|
|
+ if (StringUtil.isNotEmpty(template.getCouponIds())) {
|
|
|
+ String[] couponIds = template.getCouponIds().split(",");
|
|
|
+ for (String couponId : couponIds) {
|
|
|
+ try {
|
|
|
+ Long cId = Long.parseLong(couponId);
|
|
|
+
|
|
|
+ FsCouponReceiveParam param = new FsCouponReceiveParam();
|
|
|
+ param.setCouponId(cId);
|
|
|
+ param.setUserId(rechargeRecord.getUserId());
|
|
|
+ param.setCompanyId(user.getCompanyId());
|
|
|
+ param.setCompanyUserId(user.getCompanyUserId());
|
|
|
+ fsCouponService.receive(param);
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error("发放优惠券失败,couponId={}, userId={}", couponId, rechargeRecord.getUserId(), e);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return "SUCCESS";
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 将实体对象转换为VO对象
|
|
|
*/
|