记得上下班打卡 | git大法好,push需谨慎

Commit 1c42ac78 authored by wangyifan's avatar wangyifan

拼团超时不退款bug修复

parent 8d4e2700
......@@ -8,6 +8,7 @@ import com.liquidnet.service.adam.dto.vo.AdamUserMemberVo;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.kylin.service.IKylinConsmerService;
import com.liquidnet.service.kylin.service.IKylinPerformancesService;
import com.liquidnet.service.kylin.service.impl.KylinOrderTicketsRefundServiceImpl;
import com.liquidnet.service.kylin.service.impl.KylinPerformancesServiceImpl;
import com.liquidnet.service.kylin.utils.DataUtils;
import io.swagger.annotations.Api;
......@@ -39,6 +40,9 @@ public class InnerController {
@Autowired
private KylinPerformancesServiceImpl kylinPerformancesService;
@Autowired
private KylinOrderTicketsRefundServiceImpl kylinOrderTicketsRefundService;
@GetMapping("cache/member/{uid}")
@ApiOperation("获取会员相关数据")
public void cacheMember(@NotBlank @PathVariable(value = "uid") String uid) {
......@@ -81,4 +85,17 @@ public class InnerController {
return ResponseDto.success(map);
}
/**
* 系统全额退款(拼团超时等平台任务调用)。走 /inner/**,无需登录态。
*/
@PostMapping("orderRefund/systemFullRefund")
@ApiOperation("系统全额退款")
public ResponseDto systemFullRefund(
@RequestParam("orderId") @NotBlank(message = "订单ID不能为空") String orderId,
@RequestParam("orderTicketEntitiesId") @NotBlank(message = "票单ID不能为空") String orderTicketEntitiesId,
@RequestParam(value = "reason", required = false) String reason
) {
return kylinOrderTicketsRefundService.systemFullRefund(orderId, orderTicketEntitiesId, reason);
}
}
......@@ -98,6 +98,7 @@ public class PlatformGroupBuyTaskServiceImpl {
fresh.setCurrentCount(0);
groupBuyPlatformHelper.saveGroup(fresh);
for (String orderTicketsId : joinedOrderTicketIds) {
log.info("[timeout] 拼团超时,订单退款: {}", orderTicketsId);
refundJoinedTicket(orderTicketsId, "拼团超时未成团,全额退款");
}
processed++;
......@@ -254,12 +255,15 @@ public class PlatformGroupBuyTaskServiceImpl {
params.add("orderId", orderId);
params.add("orderTicketEntitiesId", orderTicketEntitiesId);
params.add("reason", reason);
params.add("sendExpressType", "0");
params.add("skipCharges", "true");
params.add("autoApproved", "true");
MultiValueMap<String, String> headers = new LinkedMultiValueMap<>();
headers.add("Accept", "application/json;charset=UTF-8");
HttpUtil.post(kylinUrl + "/orderRefund/sendOrderRefunds", params, headers);
// 走 kylin /inner/**(鉴权白名单),避免 C 端 sendOrderRefunds 无登录态被拒
String resp = HttpUtil.post(kylinUrl + "/inner/orderRefund/systemFullRefund", params, headers);
log.info("拼团自动退款返回 orderId={}, entityId={}, resp={}", orderId, orderTicketEntitiesId, resp);
// ResponseDto 成功码为 "0"
if (resp == null || !(resp.contains("\"code\":\"0\"") || resp.contains("\"code\": \"0\""))) {
log.error("拼团自动退款业务失败 orderId={}, entityId={}, resp={}", orderId, orderTicketEntitiesId, resp);
}
} catch (Exception e) {
log.error("拼团自动退款失败 orderId={}, entityId={}", orderId, orderTicketEntitiesId, e);
}
......
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