|
|
@@ -53,40 +53,40 @@ import static com.txz.cif.core.AbstractApiController.X_CLIENT_TOKEN;
|
|
|
@RestController
|
|
|
@RequestMapping("/api/withdraw/record")
|
|
|
public class WithdrawRecordApiController {
|
|
|
-
|
|
|
+
|
|
|
private static Logger log = LoggerFactory.getLogger(WithdrawRecordApiController.class);
|
|
|
-
|
|
|
+
|
|
|
@Resource
|
|
|
private WithdrawRecordService withdrawRecordService;
|
|
|
-
|
|
|
+
|
|
|
@Resource
|
|
|
private SequenceService sequenceService;
|
|
|
-
|
|
|
+
|
|
|
@Resource
|
|
|
private AuthService authService;
|
|
|
-
|
|
|
+
|
|
|
@Resource
|
|
|
private AccountService accountService;
|
|
|
-
|
|
|
+
|
|
|
@Resource
|
|
|
private BizLogService bizLogService;
|
|
|
-
|
|
|
+
|
|
|
@Resource
|
|
|
private PaymentChannelService paymentChannelService;
|
|
|
-
|
|
|
+
|
|
|
@Resource
|
|
|
private UserService userService;
|
|
|
-
|
|
|
+
|
|
|
@Resource
|
|
|
private LockTemplate lockTemplate;
|
|
|
-
|
|
|
+
|
|
|
@Resource
|
|
|
private OperatingConfigDubboServiceClient operatingConfigDubboServiceClient;
|
|
|
-
|
|
|
-
|
|
|
+
|
|
|
+
|
|
|
@Resource
|
|
|
private NoticeDubboServiceClient noticeDubboServiceClient;
|
|
|
-
|
|
|
+
|
|
|
@PostMapping("/add")
|
|
|
@ApiOperation(value = "新增提现订单", httpMethod = "POST")
|
|
|
public Result add(@RequestBody WithdrawParam param, @RequestHeader(value = X_CLIENT_TOKEN, required = false) String token) {
|
|
|
@@ -95,7 +95,7 @@ public class WithdrawRecordApiController {
|
|
|
}
|
|
|
try {
|
|
|
Triple<Boolean, String, Claims> result = authService.verifyToken(token);
|
|
|
-
|
|
|
+
|
|
|
if (!result.getLeft()) {
|
|
|
// token无效
|
|
|
String errorMsg = result.getMiddle();
|
|
|
@@ -104,7 +104,7 @@ public class WithdrawRecordApiController {
|
|
|
}
|
|
|
Claims claims = result.getRight();
|
|
|
Long userId = Long.valueOf(claims.get("userId").toString());
|
|
|
-
|
|
|
+
|
|
|
User user = userService.findById(userId);
|
|
|
if (user == null) {
|
|
|
return ResultGenerator.genFailResult(ResultCode.USER_IS_NULL);
|
|
|
@@ -149,7 +149,7 @@ public class WithdrawRecordApiController {
|
|
|
com.txz.operating.result.Result<ConfigDTO> openRedEnvelopeRate = operatingConfigDubboServiceClient.getConfigByCode(key);
|
|
|
String rate = openRedEnvelopeRate.getData().getValueInfo();
|
|
|
BigDecimal fee = param.getAmount().multiply(new BigDecimal(rate)).divide(BigDecimal.valueOf(100), 2, RoundingMode.DOWN);
|
|
|
-
|
|
|
+
|
|
|
Account account = accountService.getAccount(userId, param.getAccountType());
|
|
|
if (account == null) {
|
|
|
return ResultGenerator.genFailResult(ResultCode.ACCOUNT_IS_NULL);
|
|
|
@@ -157,9 +157,9 @@ public class WithdrawRecordApiController {
|
|
|
if (account.getEffectiveBalance().compareTo(param.getAmount().add(fee)) < 0) {
|
|
|
return ResultGenerator.genFailResult(ResultCode.EFFECTIVE_BALANCE_IS_INSUFFICIENT);
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
String orderNo = sequenceService.genSerialNumber("withdraw_rule", null);
|
|
|
-
|
|
|
+
|
|
|
WithdrawRecord withdrawRecord = new WithdrawRecord();
|
|
|
withdrawRecord.setOrderNo(orderNo);
|
|
|
withdrawRecord.setStatus(1);
|
|
|
@@ -182,10 +182,10 @@ public class WithdrawRecordApiController {
|
|
|
log.error("新增对象操作异常e:{}", e);
|
|
|
return ResultGenerator.genFailResult(ResultCode.INTERNAL_SERVER_ERROR);
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
+
|
|
|
+
|
|
|
@PostMapping("/list")
|
|
|
@ApiOperation(value = "withdrawRecord获取列表", httpMethod = "POST")
|
|
|
public Result<List<WithdrawRecord>> list(@RequestBody RecordParam param, HttpServletRequest request) {
|
|
|
@@ -194,7 +194,7 @@ public class WithdrawRecordApiController {
|
|
|
ResultGenerator.genFailResult(ResultCode.OAUTH_INVALID_ACCESS_TOKEN);
|
|
|
}
|
|
|
PageHelper.startPage(param.getPage(), param.getSize());
|
|
|
-
|
|
|
+
|
|
|
Condition condition = new Condition(WithdrawRecord.class);
|
|
|
Criteria criteria = condition.createCriteria();
|
|
|
criteria.andEqualTo("userId", userId);
|
|
|
@@ -238,7 +238,7 @@ public class WithdrawRecordApiController {
|
|
|
}
|
|
|
return ResultGenerator.genSuccessResult(pageInfo);
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
/**
|
|
|
* tfpay提现通知
|
|
|
*/
|
|
|
@@ -265,7 +265,7 @@ public class WithdrawRecordApiController {
|
|
|
log.error("签名校验失败");
|
|
|
return "FAIL";
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
Condition condition = new Condition(WithdrawRecord.class);
|
|
|
Example.Criteria criteria = condition.createCriteria();
|
|
|
criteria.andEqualTo("thirdOrderNo", dto.getOrderid());
|
|
|
@@ -275,7 +275,7 @@ public class WithdrawRecordApiController {
|
|
|
log.error("提现订单不存在");
|
|
|
return "FAIL";
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
// //TODO 回调成功
|
|
|
// JSONObject json = JSONUtil.parseObj(data);
|
|
|
// String orderNo = json.getStr("orderNo");
|
|
|
@@ -318,7 +318,8 @@ public class WithdrawRecordApiController {
|
|
|
// 新增充值回调日志
|
|
|
bizLogService.save(BizLog.builder()
|
|
|
.bizType(2)
|
|
|
- .bizNo(dto.getOrderid())
|
|
|
+ .bizNo(record.getOrderNo())
|
|
|
+ .thirdOrderNo(dto.getOrderid())
|
|
|
.type(type)
|
|
|
.receiveMessage(dto.toString())
|
|
|
.createTime(DateUtil.date())
|
|
|
@@ -327,7 +328,7 @@ public class WithdrawRecordApiController {
|
|
|
} catch (Exception e) {
|
|
|
log.error("新增充值回调日志失败", e);
|
|
|
// }
|
|
|
-
|
|
|
+
|
|
|
}
|
|
|
try {
|
|
|
noticeDubboServiceClient.addMoneyNotice(ne, record.getUserId());
|
|
|
@@ -339,5 +340,5 @@ public class WithdrawRecordApiController {
|
|
|
lockTemplate.releaseLock(lockInfo);
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
}
|