Prechádzať zdrojové kódy

feat: pc端渠道类型改为税源地类型、结算配置

lixuesong 3 rokov pred
rodič
commit
d84dd734a0

+ 6 - 0
hnqz-upms/hnqz-upms-api/src/main/java/com/qunzhixinxi/hnqz/admin/api/dto/UserDTO.java

@@ -24,6 +24,7 @@ import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
+import rx.Subscription;
 
 import java.util.List;
 
@@ -62,6 +63,11 @@ public class UserDTO extends SysUser {
 
 	private String subType;
 
+	/**
+	 * 税源地
+	 */
+	private String subjectLocation;
+
 	/**
 	 * 认证状态
 	 */

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

@@ -89,8 +89,8 @@ public class SysDeptSubController {
 	@PostMapping("/save-settle-config")
 	public R<?> saveSettleConfig(@Valid @RequestBody SettleConfigDTO settleConfigDTO) {
 		for (SettleConfigDTO.DeptSub deptSub : settleConfigDTO.getSubList()) {
-			if (StrUtil.isBlank(deptSub.getSubjectType()) || deptSub.getLimitAmount() == null
-					|| ArrayUtil.isEmpty(deptSub.getSubjectInvoiceCategory())) {
+			if (deptSub.getLimitAmount() == null || ArrayUtil.isEmpty(deptSub.getSubjectInvoiceCategory())
+					|| deptSub.getSubjectLocation() == null) {
 				return R.failed("必填参数为空");
 			}
 		}

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

@@ -1452,7 +1452,7 @@ public class SysUserController {
 		Set<Integer> deptIds = userVosPage.getRecords().stream().map(UserVO::getDeptId).collect(Collectors.toSet());
 
 		if (CollUtil.isNotEmpty(deptIds)) {
-			// TODO
+			// 税源地
 			Map<Integer, Map<String, Integer>> coll = sysDeptSubService.list(Wrappers.<SysDeptSub>lambdaQuery().in(SysDeptSub::getDeptId, deptIds))
 					.stream()
 					.collect(Collectors.groupingBy(SysDeptSub::getDeptId,

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

@@ -73,7 +73,7 @@ public class SysUserSignCertController {
 		if (userSignCertDTO.getUserId() == null) {
 			return R.failed("userId不能为空");
 		}
-		if (StrUtil.isBlank(userSignCertDTO.getBankPhone()) || !Validator.isMobile(userSignCertDTO.getBankPhone())) {
+		if (StrUtil.isNotBlank(userSignCertDTO.getBankPhone()) && !Validator.isMobile(userSignCertDTO.getBankPhone())) {
 			return R.failed("银行预留手机号不正确");
 		}
 		if (StrUtil.length(userSignCertDTO.getBankCardNumber()) < 16 || StrUtil.length(userSignCertDTO.getBankCardNumber()) > 19) {

+ 15 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/enums/SubjectLocation.java

@@ -53,4 +53,19 @@ public enum SubjectLocation {
 		}
 		return list;
 	}
+
+	/**
+	 * 根据type获取枚举
+	 *
+	 * @param type
+	 * @return
+	 */
+	public static SubjectLocation resolve(String type) {
+		for (SubjectLocation subjectLocation: SubjectLocation.values()){
+			if (subjectLocation.type.equals(type)){
+				return subjectLocation;
+			}
+		}
+		return null;
+	}
 }

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

@@ -97,7 +97,8 @@ public class SysDeptSubServiceImpl extends ServiceImpl<SysDeptSubMapper, SysDept
 	public void saveSettleConfig(DeptSubLimitAmountInput input) {
 		// 更新结算主体
 		String[] subTypeArr = input.getSubList().stream()
-				.map(SysDeptSub::getSubjectType)
+				.map(sysDeptSub -> sysDeptSub.getSubjectLocation().getGigType().name())
+				.distinct()
 				.toArray(String[]::new);
 		SysDept dept = sysDeptMapper.selectById(input.getDeptId());
 		if (dept.getLevel() == 2) {
@@ -119,7 +120,6 @@ public class SysDeptSubServiceImpl extends ServiceImpl<SysDeptSubMapper, SysDept
 		sysDeptMapper.update(null, Wrappers.<SysDept>lambdaUpdate()
 				.eq(SysDept::getDeptId, input.getDeptId())
 				.set(SysDept::getSubjectType, subTypeArr));
-		// 更新/保存deptSub
 		// 先设置所有deptSub为无效
 		SysDeptSub deptSubWhere = new SysDeptSub();
 		deptSubWhere.setDeptId(input.getDeptId());
@@ -127,10 +127,11 @@ public class SysDeptSubServiceImpl extends ServiceImpl<SysDeptSubMapper, SysDept
 				.eq(SysDeptSub::getDeptId, input.getDeptId())
 				.set(SysDeptSub::getEnableFlag, SubjectTypeEnum.ENABLE_FLAG_FALSE.getCode()));
 
+		// 更新/保存deptSub
 		input.getSubList().forEach(sysDeptSub -> {
 			SysDeptSub queryDeptSub = sysDeptSubMapper.selectOne(Wrappers.<SysDeptSub>lambdaQuery()
 					.eq(SysDeptSub::getDeptId, input.getDeptId())
-					.eq(SysDeptSub::getSubjectType, sysDeptSub.getSubjectType()));
+					.eq(SysDeptSub::getSubjectLocation, sysDeptSub.getSubjectLocation()));
 			if (queryDeptSub != null) {
 				// 更新
 				SysDeptSub updateDeptSub = new SysDeptSub();
@@ -146,7 +147,7 @@ public class SysDeptSubServiceImpl extends ServiceImpl<SysDeptSubMapper, SysDept
 				// 新增
 				SysDeptSub insertDeptSub = new SysDeptSub();
 				insertDeptSub.setDeptId(input.getDeptId());
-				insertDeptSub.setSubjectType(sysDeptSub.getSubjectType());
+				insertDeptSub.setSubjectType(String.valueOf(sysDeptSub.getSubjectLocation().getGigType().getCode()));
 				insertDeptSub.setSubjectChannel(sysDeptSub.getSubjectChannel() == null ? 0 : sysDeptSub.getSubjectChannel());
 				insertDeptSub.setSubjectLocation(sysDeptSub.getSubjectLocation());
 				insertDeptSub.setSubjectInvoiceCategory(sysDeptSub.getSubjectInvoiceCategory());

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

@@ -28,6 +28,7 @@ import cn.hutool.core.util.IdcardUtil;
 import cn.hutool.core.util.StrUtil;
 import cn.hutool.json.JSONUtil;
 import com.alibaba.nacos.common.utils.Md5Utils;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -50,6 +51,7 @@ import com.qunzhixinxi.hnqz.admin.enums.GigChannelEnum;
 import com.qunzhixinxi.hnqz.admin.enums.GigTypeEnum;
 import com.qunzhixinxi.hnqz.admin.enums.LockEnum;
 import com.qunzhixinxi.hnqz.admin.enums.RenlijiaCertStatus;
+import com.qunzhixinxi.hnqz.admin.enums.SubjectLocation;
 import com.qunzhixinxi.hnqz.admin.enums.SubjectTypeEnum;
 import com.qunzhixinxi.hnqz.admin.mapper.*;
 import com.qunzhixinxi.hnqz.admin.service.*;
@@ -993,15 +995,19 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
 	public IPage selectUserList(Page page, UserDTO userDTO) {
 
 		// 认证状态查询条件
-//		if (StrUtil.isNotBlank(userDTO.getSubType()) && userDTO.getCertStatus() != null) {
-		if (StrUtil.isNotBlank(userDTO.getSubType()) && userDTO.getCertType() != null) {
-			List<SysUserSub> userSubList = sysUserSubMapper.selectList(Wrappers.<SysUserSub>lambdaQuery()
-					.eq(SysUserSub::getGigType, GigTypeEnum.resolve(Integer.parseInt(userDTO.getSubType())))
-					.eq(SysUserSub::getCertStatus, userDTO.getCertType()));
+		if (StrUtil.isNotBlank(userDTO.getSubjectLocation()) && userDTO.getCertType() != null) {
+			LambdaQueryWrapper<SysUserSub> queryWrapper = Wrappers.<SysUserSub>lambdaQuery()
+					.eq(SysUserSub::getSubjectLocation, SubjectLocation.resolve(userDTO.getSubjectLocation()))
+					.eq(SysUserSub::getCertStatus, userDTO.getCertType());
+			if (userDTO.getDeptId() != null) {
+				queryWrapper.eq(SysUserSub::getDeptId, userDTO.getDeptId());
+			}
+			List<SysUserSub> userSubList = sysUserSubMapper.selectList(queryWrapper);
 			if (CollUtil.isNotEmpty(userSubList)) {
 				Set<Integer> certUserIdSet = userSubList.stream().map(SysUserSub::getUserId).collect(Collectors.toSet());
 				userDTO.setUserIdList(CollUtil.newArrayList(certUserIdSet));
 			} else {
+				// 设置为不允许查到
 				userDTO.setUserIdList(CollUtil.newArrayList(-1));
 			}
 			userDTO.setCertStatus(null);

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

@@ -248,25 +248,25 @@ public class WmDaAgentServiceImpl extends ServiceImpl<WmDaAgentMapper, WmDaAgent
 
 		IPage<WmDaAgent> wmDaAgentIPage = wmDaAgentMapper.selectWmManagementPage(page, wmDaAgent);
 
-		// wmDaAgentIPage.getRecords().forEach(agent ->{
-		//
-		// 	Map<String, Integer> collect = sysDeptSubMapper.selectList(Wrappers.<SysDeptSub>lambdaQuery().eq(SysDeptSub::getDeptId, agent.getDeptId()))
-		// 			.stream().collect(Collectors.toMap(SysDeptSub::getSubjectType, SysDeptSub::getSubjectChannel));
-		//
-		// 	agent.setSubjectTypeAndChannel(collect);
-		//
-		// });
-
-		wmDaAgentIPage.getRecords().forEach(agent -> {
-			SysDeptSub sysDeptSub = new SysDeptSub();
-			sysDeptSub.setDeptId(Integer.valueOf(agent.getDeptId()));
-			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).toArray(String[]::new);
-				agent.setSubjectType(subTypeArr);
-			}
-		});
+		 wmDaAgentIPage.getRecords().forEach(agent ->{
+
+		 	Map<String, Integer> collect = sysDeptSubMapper.selectList(Wrappers.<SysDeptSub>lambdaQuery().eq(SysDeptSub::getDeptId, agent.getDeptId()))
+		 			.stream().collect(Collectors.toMap(sysDeptSub -> sysDeptSub.getSubjectLocation().name(), SysDeptSub::getSubjectChannel));
+			agent.setSubjectType(collect.keySet().toArray(collect.keySet().toArray(new String[0])));
+		 	agent.setSubjectTypeAndChannel(collect);
+
+		 });
+
+//		wmDaAgentIPage.getRecords().forEach(agent -> {
+//			SysDeptSub sysDeptSub = new SysDeptSub();
+//			sysDeptSub.setDeptId(Integer.valueOf(agent.getDeptId()));
+//			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);
+//				agent.setSubjectType(subTypeArr);
+//			}
+//		});
 
 		return wmDaAgentIPage;
 	}
@@ -554,28 +554,28 @@ public class WmDaAgentServiceImpl extends ServiceImpl<WmDaAgentMapper, WmDaAgent
 					.eq(SysDeptSub::getDeptId,sysDept.getDeptId())
 					.set(SysDeptSub::getEnableFlag, SubjectTypeEnum.ENABLE_FLAG_FALSE.getCode()));
 
-			if (CollUtil.isNotEmpty(wmDaAgent.getSubjectTypeAndChannel())) {
-				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);
-					}
-				}
-			}
+//			if (CollUtil.isNotEmpty(wmDaAgent.getSubjectTypeAndChannel())) {
+//				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);
+//					}
+//				}
+//			}
 
 		}
 		/**

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

@@ -83,19 +83,19 @@ public class WmDaDrugEntServiceImpl extends ServiceImpl<WmDaDrugEntMapper, WmDaD
 			 */
 			if(sysDeptService.saveDept(sysDept) > 0){
 
-				Map<String, Integer> subjectTypeAndChannel = entity.getSubjectTypeAndChannel();
-				if (CollUtil.isNotEmpty(subjectTypeAndChannel)) {
-					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);
-
-					}
-				}
+//				Map<String, Integer> subjectTypeAndChannel = entity.getSubjectTypeAndChannel();
+//				if (CollUtil.isNotEmpty(subjectTypeAndChannel)) {
+//					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);
+//
+//					}
+//				}
 				return true;
 			}
 			return  false;
@@ -158,17 +158,17 @@ public class WmDaDrugEntServiceImpl extends ServiceImpl<WmDaDrugEntMapper, WmDaD
 			sysDeptRelationService.saveBatch(newList);
 
 			// 创建结算渠道和通道
-			if (CollUtil.isNotEmpty(entity.getSubjectTypeAndChannel())) {
-				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);
-				}
-			}
+//			if (CollUtil.isNotEmpty(entity.getSubjectTypeAndChannel())) {
+//				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);
+//				}
+//			}
 
 			return true;
 		}
@@ -211,7 +211,7 @@ public class WmDaDrugEntServiceImpl extends ServiceImpl<WmDaDrugEntMapper, WmDaD
 						.eq(SysDeptSub::getDeptId, ent.getDeptId())
 						.eq(SysDeptSub::getEnableFlag, SubjectTypeEnum.ENABLE_FLAG_TRUE.getCode()))
 						.stream()
-						.collect(Collectors.toMap(SysDeptSub::getSubjectType, SysDeptSub::getSubjectChannel));
+						.collect(Collectors.toMap(sysDeptSub -> sysDeptSub.getSubjectLocation().name(), SysDeptSub::getSubjectChannel));
 				ent.setSubjectType(collect.keySet().toArray(new String[0]));
 				ent.setSubjectTypeAndChannel(collect);
 		});