Parcourir la source

fix: 阿拉钉同时发起结果存redis

lixuesong il y a 3 ans
Parent
commit
47fe79cf9d

+ 6 - 1
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/SysUserSignCertController.java

@@ -29,8 +29,10 @@ import org.springframework.web.bind.annotation.RestController;
 
 import java.util.Collection;
 import java.util.Collections;
+import java.util.Comparator;
 import java.util.List;
 import java.util.concurrent.TimeUnit;
+import java.util.stream.Collectors;
 
 /**
  * 用户签约认证
@@ -213,9 +215,12 @@ public class SysUserSignCertController {
 				CollUtil.intersection(userSignCertDTO.getGigTypeList(),
 						CollUtil.toList(GigTypeEnum.OLADING, GigTypeEnum.JIN_YUAN, GigTypeEnum.XIN_TAI_ZI));
 		if (!oladingTypeList.isEmpty()) {
+			List<GigTypeEnum> sortedList = oladingTypeList.stream()
+					.sorted(Comparator.comparing(GigTypeEnum::getCode))
+					.collect(Collectors.toList());
 			// 选择的渠道的阿拉钉的部分记录到redis
 			String redisKey = CacheConstants.OLADING_CERT_SEND_CHANNEL + userSignCertDTO.getUserId();
-			redisTemplate.opsForValue().set(redisKey, JSONUtil.toJsonStr(oladingTypeList), 24, TimeUnit.HOURS);
+			redisTemplate.opsForValue().set(redisKey, JSONUtil.toJsonStr(sortedList), 24, TimeUnit.HOURS);
 		}
 
 		sysUserSignCertService.batchChannelCert(userSignCertDTO);