Browse Source

fix 账号列表增加用户订单号查找对应账号

zoujiajian 1 year ago
parent
commit
79cfeae4ed

+ 19 - 1
netflix-web/src/main/java/com/cyksj/web/controller/manage/account/CmsAccountController.java

@@ -121,9 +121,11 @@ public class CmsAccountController {
 
 	private static final GlobalThreadPoolTaskExecutor TASK_EXECUTOR = GlobalThreadPoolTaskExecutor.getInstance();
 
+	private final OrderDonMapper orderDonMapper;
+
 	@GetMapping("/get")
 	@SaCheckPermission("account:view")
-	public Result<SearchResult<AccountView>> get(String title, Long userId, String showId, String nickName, String submitAccount, String expiryStartTime, String expiryEndTime, Boolean expiredAll, Boolean existsExpired, Boolean existsExpiredToday, Integer noChangeMonths, Boolean isMjMirror) {
+	public Result<SearchResult<AccountView>> get(String title, Long userId, String showId, String nickName, String submitAccount, String expiryStartTime, String expiryEndTime, Boolean expiredAll, Boolean existsExpired, Boolean existsExpiredToday, Integer noChangeMonths, Boolean isMjMirror, String orderNo) {
 		MapBuilder mapBuilder = MapUtils.flatBuilder(request.getParameterMap());
 		if (StrUtil.isNotEmpty(expiryStartTime) || StrUtil.isNotEmpty(expiryEndTime)) {
 			mapBuilder.field(AccountView::getExpiryTime, expiryStartTime, expiryEndTime)
@@ -140,6 +142,22 @@ public class CmsAccountController {
 		if (StrUtil.isNotEmpty(showId)) {
 			userId = userMapper.getUserIdByShowId(showId);
 		}
+		//用户订单号查找对应账号
+		if (StrUtil.isNotBlank(orderNo)) {
+			Long groupId = 0l;
+			OrderDon orderDon = orderDonMapper.selectOne(Wrappers.lambdaQuery(OrderDon.class)
+					.eq(OrderDon::getOrderNo, orderNo)
+					.last("limit 1"));
+			if (orderDon != null) {
+				GroupsRelation relation = groupsRelationMapper.selectOne(Wrappers.lambdaQuery(GroupsRelation.class).eq(GroupsRelation::getId, orderDon.getRelationId()).eq(GroupsRelation::getUserId, orderDon.getUserId())
+						.in(GroupsRelation::getStatus, List.of(GroupsRelation.Status.validity, GroupsRelation.Status.outside))
+						.last("limit 1"));
+				if (relation != null) {
+					groupId = relation.getGroupsId();
+				}
+			}
+			mapBuilder.field(AccountView::getGroupsId, groupId);
+		}
 
 		if (userId != null || StringUtils.isNotBlank(nickName) || StringUtils.isNotBlank(submitAccount)) {
 			List<Long> accountIds = homeGroupMapper.getAccountIdsByUserIdOrNickNameOrSubmitAccount(userId, nickName, submitAccount);