|
@@ -5,6 +5,7 @@ import cn.hutool.core.date.DateUtil;
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
import cn.hutool.http.HttpUtil;
|
|
import cn.hutool.http.HttpUtil;
|
|
|
import cn.hutool.json.JSONUtil;
|
|
import cn.hutool.json.JSONUtil;
|
|
|
|
|
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.cyksj.common.exception.BusinessRuntimeException;
|
|
import com.cyksj.common.exception.BusinessRuntimeException;
|
|
|
import com.cyksj.common.snowflake.Sequence;
|
|
import com.cyksj.common.snowflake.Sequence;
|
|
@@ -18,17 +19,20 @@ import com.cyksj.dto.CorpOauth2UserInfo;
|
|
|
import com.cyksj.dto.Result;
|
|
import com.cyksj.dto.Result;
|
|
|
import com.cyksj.enums.GatewayResponse;
|
|
import com.cyksj.enums.GatewayResponse;
|
|
|
import com.cyksj.mapper.GroupsRelationExpiryRecordMapper;
|
|
import com.cyksj.mapper.GroupsRelationExpiryRecordMapper;
|
|
|
|
|
+import com.cyksj.mapper.corp.CorpFollowMapper;
|
|
|
import com.cyksj.mapper.corp.CorpUserAuthMapper;
|
|
import com.cyksj.mapper.corp.CorpUserAuthMapper;
|
|
|
import com.cyksj.mapper.corp.CorpUserTagMapper;
|
|
import com.cyksj.mapper.corp.CorpUserTagMapper;
|
|
|
import com.cyksj.model.dto.AuthRedirect;
|
|
import com.cyksj.model.dto.AuthRedirect;
|
|
|
import com.cyksj.model.entity.*;
|
|
import com.cyksj.model.entity.*;
|
|
|
import com.cyksj.model.manage.views.CorpQyMsgAuditChatView;
|
|
import com.cyksj.model.manage.views.CorpQyMsgAuditChatView;
|
|
|
import com.cyksj.model.manage.views.CorpWxOrderDonView;
|
|
import com.cyksj.model.manage.views.CorpWxOrderDonView;
|
|
|
|
|
+import com.cyksj.model.request.OrderRefundReq;
|
|
|
import com.cyksj.model.request.corp.CorpCommonReq;
|
|
import com.cyksj.model.request.corp.CorpCommonReq;
|
|
|
import com.cyksj.model.views.*;
|
|
import com.cyksj.model.views.*;
|
|
|
import com.cyksj.redis.RedisService;
|
|
import com.cyksj.redis.RedisService;
|
|
|
import com.cyksj.service.corp.CorpService;
|
|
import com.cyksj.service.corp.CorpService;
|
|
|
import com.cyksj.service.corp.CorpUserService;
|
|
import com.cyksj.service.corp.CorpUserService;
|
|
|
|
|
+import com.cyksj.service.mange.CmsOrderDonService;
|
|
|
import com.cyksj.service.user.UserBindRelationService;
|
|
import com.cyksj.service.user.UserBindRelationService;
|
|
|
import com.ejlchina.searcher.BeanSearcher;
|
|
import com.ejlchina.searcher.BeanSearcher;
|
|
|
import com.ejlchina.searcher.SearchResult;
|
|
import com.ejlchina.searcher.SearchResult;
|
|
@@ -82,6 +86,10 @@ public class WxCorpController {
|
|
|
|
|
|
|
|
private final UserBindRelationService userBindRelationService;
|
|
private final UserBindRelationService userBindRelationService;
|
|
|
|
|
|
|
|
|
|
+ private final CmsOrderDonService cmsOrderDonService;
|
|
|
|
|
+
|
|
|
|
|
+ private final CorpFollowMapper corpFollowMapper;
|
|
|
|
|
+
|
|
|
private final static String CORP_UUID = "corp-uuid";
|
|
private final static String CORP_UUID = "corp-uuid";
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -480,4 +488,26 @@ public class WxCorpController {
|
|
|
.build());
|
|
.build());
|
|
|
return GatewayResponse.SUCCESS.newBuilder().toResult(orderDonViews);
|
|
return GatewayResponse.SUCCESS.newBuilder().toResult(orderDonViews);
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 企业微信订单统一退款
|
|
|
|
|
+ */
|
|
|
|
|
+ @PostMapping("/unified/refund")
|
|
|
|
|
+ public Result<String> unifiedRefund(@RequestBody @Validated OrderRefundReq refundReq) throws Exception {
|
|
|
|
|
+ String followId = getCorpUuid();
|
|
|
|
|
+ if (StrUtil.isEmpty(followId)) {
|
|
|
|
|
+ throw BusinessRuntimeException.getInstance("请先授权登录");
|
|
|
|
|
+ }
|
|
|
|
|
+ CorpFollow corpFollow = corpFollowMapper.selectOne(Wrappers.lambdaQuery(CorpFollow.class)
|
|
|
|
|
+ .eq(CorpFollow::getUserid, followId)
|
|
|
|
|
+ .eq(CorpFollow::getWxCorpId, 2)
|
|
|
|
|
+ .last("limit 1"));
|
|
|
|
|
+ if (corpFollow == null) {
|
|
|
|
|
+ corpFollow = new CorpFollow();
|
|
|
|
|
+ corpFollow.setName("企业客服");
|
|
|
|
|
+ }
|
|
|
|
|
+ refundReq.setOperator(corpFollow.getName());
|
|
|
|
|
+ cmsOrderDonService.unifiedRefund(refundReq);
|
|
|
|
|
+ return GatewayResponse.SUCCESS.newBuilder().toResult("退款成功");
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|