Przeglądaj źródła

Revert "feat: 自由职家下调整为两个通道海南飞亿和金园数科"

This reverts commit 25bf932e
lixuesong 3 lat temu
rodzic
commit
0ad98e9b05

+ 1 - 6
db/v2.0/220617.sql

@@ -1,8 +1,3 @@
 -- 记录阿拉丁认证失败原因
 alter table sys_user_sub
-    add fail_reason varchar(255) null comment '认证失败原因' after cert_remark;
-
--- deptSub修改联合索引
-drop index dept_sub_type on sys_dept_sub;
-create unique index dept_sub_type
-    on sys_dept_sub (dept_id, subject_type, subject_channel);
+    add fail_reason varchar(255) null comment '认证失败原因' after cert_remark;

+ 1 - 2
hnqz-upms/hnqz-upms-api/src/main/java/com/qunzhixinxi/hnqz/admin/api/vo/UserVO.java

@@ -31,7 +31,6 @@ import java.io.Serializable;
 import java.time.LocalDateTime;
 import java.util.List;
 import java.util.Map;
-import java.util.Set;
 
 /**
  * @author hnqz
@@ -254,7 +253,7 @@ public class UserVO implements Serializable {
 	 * 结算主体和通道
 	 */
 	@ApiModelProperty(value="结算主体类型")
-	private Map<String, List<Integer>> subjectTypeAndChannel;
+	private Map<String, Integer> subjectTypeAndChannel;
 
 	/**
 	 * 不同渠道的认证状态

+ 2 - 3
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/ApiController.java

@@ -749,10 +749,9 @@ public class ApiController {
 
 				// 结算通道
 
-				Map<String, List<Integer>> collect = sysDeptSubService.list(Wrappers.<SysDeptSub>lambdaQuery().eq(SysDeptSub::getDeptId, sysU.getDeptId()))
+				Map<String, Integer> collect = sysDeptSubService.list(Wrappers.<SysDeptSub>lambdaQuery().eq(SysDeptSub::getDeptId, sysU.getDeptId()))
 						.stream()
-						.collect(Collectors.groupingBy(SysDeptSub::getSubjectType,
-								Collectors.mapping(SysDeptSub::getSubjectChannel, Collectors.toList())));
+						.collect(Collectors.toMap(SysDeptSub::getSubjectType, SysDeptSub::getSubjectChannel));
 				mapOne.put("subjectTypeAndChannel", collect);
 
 				// 认证服务信息回显

+ 2 - 3
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/SysUserController.java

@@ -1443,10 +1443,9 @@ public class SysUserController {
 		Set<Integer> deptIds = userVosPage.getRecords().stream().map(UserVO::getDeptId).collect(Collectors.toSet());
 
 		if (CollUtil.isNotEmpty(deptIds)) {
-			Map<Integer, Map<String, List<Integer>>> coll = sysDeptSubService.list(Wrappers.<SysDeptSub>lambdaQuery().in(SysDeptSub::getDeptId, deptIds))
+			Map<Integer, Map<String, Integer>> coll = sysDeptSubService.list(Wrappers.<SysDeptSub>lambdaQuery().in(SysDeptSub::getDeptId, deptIds))
 					.stream()
-					.collect(Collectors.groupingBy(SysDeptSub::getDeptId,
-							Collectors.groupingBy(SysDeptSub::getSubjectType, Collectors.mapping(SysDeptSub::getSubjectChannel, Collectors.toList()))));
+					.collect(Collectors.groupingBy(SysDeptSub::getDeptId, Collectors.toMap(SysDeptSub::getSubjectType, SysDeptSub::getSubjectChannel)));
 
 			userVosPage.getRecords().forEach(item -> {
 				if ("0".equals(userDTO.getSubType())) {

+ 1 - 2
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/entity/WmDaAgent.java

@@ -27,7 +27,6 @@ import lombok.Data;
 import lombok.EqualsAndHashCode;
 
 import java.time.LocalDateTime;
-import java.util.List;
 import java.util.Map;
 
 /**
@@ -182,7 +181,7 @@ public class WmDaAgent extends Model<WmDaAgent> {
 
 	@ApiModelProperty(value="结算主体类型和通道")
 	@TableField(exist = false)
-	private Map<String, List<Integer>> subjectTypeAndChannel;
+	private Map<String, Integer> subjectTypeAndChannel;
 
 	/**
 	 * 部门专用权限限制(0.导出)

+ 1 - 2
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/entity/WmDaDrugEnt.java

@@ -27,7 +27,6 @@ import lombok.Data;
 import lombok.EqualsAndHashCode;
 
 import java.time.LocalDateTime;
-import java.util.List;
 import java.util.Map;
 
 /**
@@ -140,7 +139,7 @@ public class WmDaDrugEnt extends Model<WmDaDrugEnt> {
 	 */
 	@ApiModelProperty(value="结算主体类型")
 	@TableField(exist = false)
-	private Map<String, List<Integer>> subjectTypeAndChannel;
+	private Map<String, Integer> subjectTypeAndChannel;
 
 	/**
 	 * 部门专用权限限制(0.导出)

+ 1 - 1
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/enums/GigChannelEnum.java

@@ -18,7 +18,7 @@ public enum GigChannelEnum {
 	DEFAULT(0, "默认渠道"),
 	CICC(1, "中金"),
 	PINGAN(2, "平安银行"),
-	JIN_YUAN(21, "金园数科");
+	JIN_YUAN(31, "金园数科");
 
 	@EnumValue
 	private int code;

+ 62 - 61
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/gig/impl/SysUserSignCertServiceImpl.java

@@ -180,8 +180,8 @@ public class SysUserSignCertServiceImpl implements SysUserSignCertService {
 		}
 		// 更新用户签约认证主体信息
 		userSignCertDTO.getGigTypeList().forEach(gigType -> {
-			// 获取渠道下的 通道类型 放入gigChannelList
-			List<GigChannelEnum> gigChannelList = new ArrayList<>();
+			// 税邦云单独设置渠道类型
+			GigChannelEnum gigChannel;
 			if (GigTypeEnum.TAX_HELPOR.equals(gigType)) {
 				// 读取用户所认证的企业的结算渠道
 				SysDeptSub deptSub = sysDeptSubService.getOne(Wrappers.<SysDeptSub>lambdaQuery()
@@ -189,57 +189,49 @@ public class SysUserSignCertServiceImpl implements SysUserSignCertService {
 						.eq(SysDeptSub::getSubjectType, GigTypeEnum.TAX_HELPOR.getCode())
 						.eq(SysDeptSub::getEnableFlag, SubjectTypeEnum.ENABLE_FLAG_TRUE.getCode()));
 				if (deptSub != null) {
-					gigChannelList.add(GigChannelEnum.resolve(deptSub.getSubjectChannel()));
+					gigChannel = GigChannelEnum.resolve(Integer.parseInt(deptSub.getSubjectType()));
 				} else {
-					gigChannelList.add(GigChannelEnum.DEFAULT);
+					gigChannel = GigChannelEnum.DEFAULT;
 				}
-			} else if (GigTypeEnum.OLADING.equals(gigType)) {
-				// 读取用户所认证的企业的结算渠道(税源地)
-				List<SysDeptSub> deptSubList = sysDeptSubService.list(Wrappers.<SysDeptSub>lambdaQuery()
+			} else if (GigTypeEnum.YEE.equals(gigType)) {
+				// 读取用户所认证的企业的结算渠道
+				SysDeptSub deptSub = sysDeptSubService.getOne(Wrappers.<SysDeptSub>lambdaQuery()
 						.eq(SysDeptSub::getDeptId, queryUser.getDeptId())
-						.eq(SysDeptSub::getSubjectType, GigTypeEnum.OLADING.getCode())
+						.eq(SysDeptSub::getSubjectType, GigTypeEnum.TAX_HELPOR.getCode())
 						.eq(SysDeptSub::getEnableFlag, SubjectTypeEnum.ENABLE_FLAG_TRUE.getCode()));
-				if (CollUtil.isNotEmpty(deptSubList)) {
-					deptSubList.forEach(sysDeptSub -> gigChannelList.add(GigChannelEnum.resolve(sysDeptSub.getSubjectChannel())));
+				if (deptSub != null && "1".equals(deptSub.getSubjectType())) {
+					gigChannel = GigChannelEnum.JIN_YUAN;
 				} else {
-					gigChannelList.add(GigChannelEnum.DEFAULT);
+					gigChannel = GigChannelEnum.DEFAULT;
 				}
 			} else {
-				gigChannelList.add(GigChannelEnum.DEFAULT);
+				gigChannel = GigChannelEnum.DEFAULT;
+			}
+			SysUserSub queryUserSub = sysUserSubService.getOne(Wrappers.<SysUserSub>lambdaQuery()
+					.eq(SysUserSub::getUserId, userSignCertDTO.getUserId())
+					.eq(SysUserSub::getGigType, gigType));
+			if (queryUserSub != null) {
+				SysUserSub updateUserSub = new SysUserSub();
+				updateUserSub.setId(queryUserSub.getId());
+				updateUserSub.setCallbackStatus(GigCallBackStatus.NOT_SUBMIT);
+				updateUserSub.setGigChannel(gigChannel);
+				updateUserSub.setBankCardNumber(userSignCertDTO.getBankCardNumber());
+				updateUserSub.setUpdateTime(LocalDateTime.now());
+				updateUserSub.setUpdateUser(operateUserId);
+				sysUserSubService.updateById(updateUserSub);
+			} else {
+				SysUserSub userSub = new SysUserSub();
+				userSub.setUserId(userSignCertDTO.getUserId());
+				userSub.setDeptId(queryUser.getDeptId());
+				userSub.setGigType(gigType);
+				userSub.setGigChannel(gigChannel);
+				userSub.setCallbackStatus(GigCallBackStatus.NOT_SUBMIT);
+				userSub.setBankCardNumber(userSignCertDTO.getBankCardNumber());
+				userSub.setBankPhone(userSignCertDTO.getBankPhone());
+				userSub.setCreateUser(operateUserId);
+				userSub.setCreateTime(LocalDateTime.now());
+				sysUserSubService.save(userSub);
 			}
-
-			// 遍历当前渠道下的通道 保存useSub
-			gigChannelList.forEach(gigChannel -> {
-				// 查询userId+渠道+通道是否存在
-				SysUserSub queryUserSub = sysUserSubService.getOne(Wrappers.<SysUserSub>lambdaQuery()
-						.eq(SysUserSub::getUserId, userSignCertDTO.getUserId())
-						.eq(SysUserSub::getGigChannel, gigChannel)
-						.eq(SysUserSub::getGigType, gigType));
-				if (queryUserSub != null) {
-					// 更新
-					SysUserSub updateUserSub = new SysUserSub();
-					updateUserSub.setId(queryUserSub.getId());
-					updateUserSub.setCallbackStatus(GigCallBackStatus.NOT_SUBMIT);
-					updateUserSub.setGigChannel(gigChannel);
-					updateUserSub.setBankCardNumber(userSignCertDTO.getBankCardNumber());
-					updateUserSub.setUpdateTime(LocalDateTime.now());
-					updateUserSub.setUpdateUser(operateUserId);
-					sysUserSubService.updateById(updateUserSub);
-				} else {
-					// 保存
-					SysUserSub userSub = new SysUserSub();
-					userSub.setUserId(userSignCertDTO.getUserId());
-					userSub.setDeptId(queryUser.getDeptId());
-					userSub.setGigType(gigType);
-					userSub.setGigChannel(gigChannel);
-					userSub.setCallbackStatus(GigCallBackStatus.NOT_SUBMIT);
-					userSub.setBankCardNumber(userSignCertDTO.getBankCardNumber());
-					userSub.setBankPhone(userSignCertDTO.getBankPhone());
-					userSub.setCreateUser(operateUserId);
-					userSub.setCreateTime(LocalDateTime.now());
-					sysUserSubService.save(userSub);
-				}
-			});
 		});
 	}
 
@@ -292,8 +284,8 @@ public class SysUserSignCertServiceImpl implements SysUserSignCertService {
 	/**
 	 * 批量发起用户签约认证
 	 *
-	 * @param userSignCertDTO 参数
-	 * @return 结果
+	 * @param userSignCertDTO
+	 * @return
 	 */
 	@Override
 	@Transactional(rollbackFor = Exception.class)
@@ -322,6 +314,10 @@ public class SysUserSignCertServiceImpl implements SysUserSignCertService {
 						&& TaxHelperCertStatus.CHECKED_UNBIND.getCode() != sysUserSub.getCertStatus()
 						&& TaxHelperCertStatus.CERT.getCode() != sysUserSub.getCertStatus()) {
 					return true;
+				} else if (GigTypeEnum.YEE.equals(sysUserSub.getGigType())
+						&& GigChannelEnum.JIN_YUAN.equals(sysUserSub.getGigChannel())) {
+					// 易联并且渠道是金园数科(自由职家)
+					return true;
 				} else if (GigTypeEnum.YEE.equals(sysUserSub.getGigType())
 						&& GigChannelEnum.DEFAULT.equals(sysUserSub.getGigChannel())
 						&& !YeeCertStatus.SIGNED.getCode().equals(String.valueOf(sysUserSub.getCertStatus()))) {
@@ -343,7 +339,7 @@ public class SysUserSignCertServiceImpl implements SysUserSignCertService {
 				}
 				// 请求流水号
 				String requestId = RandomStringUtils.randomAlphabetic(16);
-				// 是否需要传核身视频flag,阿拉丁要传
+				// 是否需要传核身视频,阿拉丁、易联默认都要传
 				boolean uploadFaceID = userSignCertDTO.getUploadFaceID() != null && userSignCertDTO.getUploadFaceID();
 				// 封装请求参数
 				GigInfoModel infoModel = this.buildChannelCertModel(sysUser, userSub, dept.getTaxCode(), requestId, uploadFaceID);
@@ -367,12 +363,12 @@ public class SysUserSignCertServiceImpl implements SysUserSignCertService {
 	/**
 	 * 签约认证前的前置判断
 	 *
-	 * @param sysUser 用户
-	 * @param userSub 用户sub
-	 * @param userSignCertDTO 入参
-	 * @return true 发起认证,false 不发起认证
+	 * @param sysUser
+	 * @param userSub
+	 * @param userSignCertDTO
 	 */
 	private boolean preSignCert(SysUser sysUser, SysUserSub userSub, UserSignCertDTO userSignCertDTO) {
+		boolean flag = true;
 		// 校验是否有进行中的
 		if (GigCallBackStatus.IN_PROGRESS.equals(userSub.getCallbackStatus())) {
 			return false;
@@ -380,13 +376,20 @@ public class SysUserSignCertServiceImpl implements SysUserSignCertService {
 
 		switch (userSub.getGigType()) {
 			case YEE:
-				return false;
-			case OLADING:
+				// 如果不是金园数科,则返回true
+				// 否则继续执行case为OLADING下的代码(判断是否该用户对应姓名身份证已认证,是则直接同步)
+				if (!GigChannelEnum.JIN_YUAN.equals(userSub.getGigChannel())) {
+					return true;
+				}
 				// 如果需要传核身视频,则返回true
 				if (userSignCertDTO.getUploadFaceID() != null && userSignCertDTO.getUploadFaceID()) {
 					return true;
 				}
-
+				// 如果已认证,则直接返回false
+				if (OladingCertStatus.CERT.getCode().equals(String.valueOf(userSub.getCertStatus()))) {
+					return false;
+				}
+			case OLADING:
 				// 如果存在相同手机号、身份证、姓名信息的用户,并且是认证过,则不发起,直接返回签约认证状态
 				List<SysUser> existUserList = sysUserService.list(Wrappers.<SysUser>lambdaQuery()
 						.eq(SysUser::getUsername, sysUser.getUsername())
@@ -408,6 +411,7 @@ public class SysUserSignCertServiceImpl implements SysUserSignCertService {
 										.eq(SysUserSub::getGigChannel, GigChannelEnum.JIN_YUAN));
 							}));
 					if (CollUtil.isNotEmpty(existUserSubList)) {
+						flag = false;
 						SysUserSub existUserSub = existUserSubList.get(0);
 						// 更新状态
 						SysUserSub updateUserSub = new SysUserSub();
@@ -424,8 +428,6 @@ public class SysUserSignCertServiceImpl implements SysUserSignCertService {
 						Map<String, Object> result = MapUtil.newHashMap(1);
 						result.put(userSub.getGigType().name(), subMap);
 						redisTemplate.opsForValue().set(key, JSONUtil.toJsonStr(result), 1, TimeUnit.MINUTES);
-
-						return false;
 					}
 				}
 				break;
@@ -459,13 +461,12 @@ public class SysUserSignCertServiceImpl implements SysUserSignCertService {
 				Map<String, Object> result = MapUtil.newHashMap(1);
 				result.put("REN_LI_JIA", subMap);
 				redisTemplate.opsForValue().set(key, JSONUtil.toJsonStr(result), 1, TimeUnit.MINUTES);
-
-				return false;
+				// 默认返回false,不触发发送mq
+				flag = false;
 			default:
 		}
 
-		// 默认返回false,不触发发送认证mq
-		return false;
+		return flag;
 	}
 
 	/**

+ 5 - 7
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/SysDeptSubServiceImpl.java

@@ -95,10 +95,9 @@ public class SysDeptSubServiceImpl extends ServiceImpl<SysDeptSubMapper, SysDept
 	@Override
 	@Transactional(rollbackFor = Exception.class)
 	public void saveSettleConfig(DeptSubLimitAmountInput input) {
-		// 更新涉及到结算主体的表的字段
+		// 更新结算主体
 		String[] subTypeArr = input.getSubList().stream()
 				.map(SysDeptSub::getSubjectType)
-				.distinct()
 				.toArray(String[]::new);
 		SysDept dept = sysDeptMapper.selectById(input.getDeptId());
 		if (dept.getLevel() == 2) {
@@ -120,19 +119,18 @@ public class SysDeptSubServiceImpl extends ServiceImpl<SysDeptSubMapper, SysDept
 		sysDeptMapper.update(null, Wrappers.<SysDept>lambdaUpdate()
 				.eq(SysDept::getDeptId, input.getDeptId())
 				.set(SysDept::getSubjectType, subTypeArr));
-
+		// 更新/保存deptSub
 		// 先设置所有deptSub为无效
-		sysDeptSubMapper.update(null, Wrappers.<SysDeptSub>lambdaUpdate()
+		SysDeptSub deptSubWhere = new SysDeptSub();
+		deptSubWhere.setDeptId(input.getDeptId());
+		sysDeptSubMapper.update(deptSubWhere, Wrappers.<SysDeptSub>lambdaUpdate()
 				.eq(SysDeptSub::getDeptId, input.getDeptId())
 				.set(SysDeptSub::getEnableFlag, SubjectTypeEnum.ENABLE_FLAG_FALSE.getCode()));
 
 		input.getSubList().forEach(sysDeptSub -> {
-			// 查询
 			SysDeptSub queryDeptSub = sysDeptSubMapper.selectOne(Wrappers.<SysDeptSub>lambdaQuery()
 					.eq(SysDeptSub::getDeptId, input.getDeptId())
-					.eq(SysDeptSub::getSubjectChannel, sysDeptSub.getSubjectChannel())
 					.eq(SysDeptSub::getSubjectType, sysDeptSub.getSubjectType()));
-			// 更新/保存deptSub
 			if (queryDeptSub != null) {
 				// 更新
 				SysDeptSub updateDeptSub = new SysDeptSub();

+ 20 - 22
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmDaAgentServiceImpl.java

@@ -263,7 +263,7 @@ public class WmDaAgentServiceImpl extends ServiceImpl<WmDaAgentMapper, WmDaAgent
 			sysDeptSub.setEnableFlag(SubjectTypeEnum.ENABLE_FLAG_TRUE.getCode());
 			List<SysDeptSub> subList = sysDeptSubMapper.selectList(Wrappers.query(sysDeptSub));
 			if (CollUtil.isNotEmpty(subList)) {
-				String[] subTypeArr = subList.stream().map(SysDeptSub::getSubjectType).distinct().toArray(String[]::new);
+				String[] subTypeArr = subList.stream().map(SysDeptSub::getSubjectType).toArray(String[]::new);
 				agent.setSubjectType(subTypeArr);
 			}
 		});
@@ -555,27 +555,25 @@ public class WmDaAgentServiceImpl extends ServiceImpl<WmDaAgentMapper, WmDaAgent
 					.set(SysDeptSub::getEnableFlag, SubjectTypeEnum.ENABLE_FLAG_FALSE.getCode()));
 
 			if (CollUtil.isNotEmpty(wmDaAgent.getSubjectTypeAndChannel())) {
-				for (Map.Entry<String, List<Integer>> entry : wmDaAgent.getSubjectTypeAndChannel().entrySet()) {
-					entry.getValue().forEach(channel -> {
-						SysDeptSub condition = new SysDeptSub();
-						condition.setDeptId(sysDept.getDeptId());
-						condition.setSubjectType(entry.getKey());
-						condition.setSubjectChannel(channel);
-						SysDeptSub existSub = sysDeptSubMapper.selectOne(Wrappers.query(condition));
-						if (null != existSub) {
-							existSub.setEnableFlag(SubjectTypeEnum.ENABLE_FLAG_TRUE.getCode());
-							existSub.setUpdateTime(LocalDateTime.now());
-							sysDeptSubMapper.updateById(existSub);
-						} else {
-							existSub = new SysDeptSub();
-							existSub.setEnableFlag(SubjectTypeEnum.ENABLE_FLAG_TRUE.getCode());
-							existSub.setDeptId(sysDept.getDeptId());
-							existSub.setSubjectType(entry.getKey());
-							existSub.setSubjectChannel(channel);
-							existSub.setUpdateTime(LocalDateTime.now());
-							sysDeptSubMapper.insert(existSub);
-						}
-					});
+				for (Map.Entry<String, Integer> entry : wmDaAgent.getSubjectTypeAndChannel().entrySet()) {
+					SysDeptSub condition = new SysDeptSub();
+					condition.setDeptId(sysDept.getDeptId());
+					condition.setSubjectType(entry.getKey());
+					condition.setSubjectChannel(entry.getValue());
+					SysDeptSub existSub = sysDeptSubMapper.selectOne(Wrappers.query(condition));
+					if (null != existSub) {
+						existSub.setEnableFlag(SubjectTypeEnum.ENABLE_FLAG_TRUE.getCode());
+						existSub.setUpdateTime(LocalDateTime.now());
+						sysDeptSubMapper.updateById(existSub);
+					} else {
+						existSub = new SysDeptSub();
+						existSub.setEnableFlag(SubjectTypeEnum.ENABLE_FLAG_TRUE.getCode());
+						existSub.setDeptId(sysDept.getDeptId());
+						existSub.setSubjectType(entry.getKey());
+						existSub.setSubjectChannel(entry.getValue());
+						existSub.setUpdateTime(LocalDateTime.now());
+						sysDeptSubMapper.insert(existSub);
+					}
 				}
 			}
 

+ 19 - 24
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmDaDrugEntServiceImpl.java

@@ -83,18 +83,16 @@ public class WmDaDrugEntServiceImpl extends ServiceImpl<WmDaDrugEntMapper, WmDaD
 			 */
 			if(sysDeptService.saveDept(sysDept) > 0){
 
-				Map<String, List<Integer>> subjectTypeAndChannel = entity.getSubjectTypeAndChannel();
+				Map<String, Integer> subjectTypeAndChannel = entity.getSubjectTypeAndChannel();
 				if (CollUtil.isNotEmpty(subjectTypeAndChannel)) {
-					for (Map.Entry<String, List<Integer>> entry : subjectTypeAndChannel.entrySet()) {
-						entry.getValue().forEach(channel -> {
-							SysDeptSub deptSub = new SysDeptSub();
-							deptSub.setDeptId(sysDept.getDeptId());
-							deptSub.setSubjectChannel(channel);
-							deptSub.setSubjectType(entry.getKey());
-							deptSub.setEnableFlag(SubjectTypeEnum.ENABLE_FLAG_TRUE.getCode());
-							deptSub.setUpdateTime(sysDept.getCreateTime());
-							sysDeptSubMapper.insert(deptSub);
-						});
+					for (Map.Entry<String, Integer> entry : subjectTypeAndChannel.entrySet()) {
+						SysDeptSub deptSub = new SysDeptSub();
+						deptSub.setDeptId(sysDept.getDeptId());
+						deptSub.setSubjectChannel(entry.getValue());
+						deptSub.setSubjectType(entry.getKey());
+						deptSub.setEnableFlag(SubjectTypeEnum.ENABLE_FLAG_TRUE.getCode());
+						deptSub.setUpdateTime(sysDept.getCreateTime());
+						sysDeptSubMapper.insert(deptSub);
 
 					}
 				}
@@ -161,16 +159,14 @@ public class WmDaDrugEntServiceImpl extends ServiceImpl<WmDaDrugEntMapper, WmDaD
 
 			// 创建结算渠道和通道
 			if (CollUtil.isNotEmpty(entity.getSubjectTypeAndChannel())) {
-				for (Map.Entry<String, List<Integer>> entry : entity.getSubjectTypeAndChannel().entrySet()) {
-					entry.getValue().forEach(channel -> {
-						SysDeptSub deptSub = new SysDeptSub();
-						deptSub.setDeptId(sysDept.getDeptId());
-						deptSub.setSubjectType(entry.getKey());
-						deptSub.setSubjectChannel(channel);
-						deptSub.setUpdateTime(LocalDateTime.now());
-						deptSub.setEnableFlag(SubjectTypeEnum.ENABLE_FLAG_TRUE.getCode());
-						sysDeptSubMapper.insert(deptSub);
-					});
+				for (Map.Entry<String, Integer> entry : entity.getSubjectTypeAndChannel().entrySet()) {
+					SysDeptSub deptSub = new SysDeptSub();
+					deptSub.setDeptId(sysDept.getDeptId());
+					deptSub.setSubjectType(entry.getKey());
+					deptSub.setSubjectChannel(entry.getValue());
+					deptSub.setUpdateTime(LocalDateTime.now());
+					deptSub.setEnableFlag(SubjectTypeEnum.ENABLE_FLAG_TRUE.getCode());
+					sysDeptSubMapper.insert(deptSub);
 				}
 			}
 
@@ -211,12 +207,11 @@ public class WmDaDrugEntServiceImpl extends ServiceImpl<WmDaDrugEntMapper, WmDaD
 		IPage<WmDaDrugEnt> listIPage = wmDaDrugEntMapper.selectPage(page, wmDaDrugEnt);
 
 		listIPage.getRecords().forEach(ent -> {
-				Map<String, List<Integer>> collect = sysDeptSubMapper.selectList(Wrappers.<SysDeptSub>lambdaQuery()
+				Map<String, Integer> collect = sysDeptSubMapper.selectList(Wrappers.<SysDeptSub>lambdaQuery()
 						.eq(SysDeptSub::getDeptId, ent.getDeptId())
 						.eq(SysDeptSub::getEnableFlag, SubjectTypeEnum.ENABLE_FLAG_TRUE.getCode()))
 						.stream()
-						.collect(Collectors.groupingBy(SysDeptSub::getSubjectType,
-								Collectors.mapping(SysDeptSub::getSubjectChannel, Collectors.toList())));
+						.collect(Collectors.toMap(SysDeptSub::getSubjectType, SysDeptSub::getSubjectChannel));
 				ent.setSubjectType(collect.keySet().toArray(new String[0]));
 				ent.setSubjectTypeAndChannel(collect);
 		});