Преглед на файлове

Merge branch 'feat-taxhelperPA-20211228'

shc преди 3 години
родител
ревизия
e60fe45bd2
променени са 12 файла, в които са добавени 147 реда и са изтрити 69 реда
  1. 24 0
      hnqz-common/hnqz-common-ding/src/main/java/com/qunzhixinxi/hnqz/common/ding/enums/DingSubjectChannelEnum.java
  2. 3 0
      hnqz-common/hnqz-common-taxhelper/src/main/java/com/qunzhixinxi/hnqz/common/taxhelper/entity/model/TaxHelperAddMemberModel.java
  3. 25 0
      hnqz-common/hnqz-common-taxhelper/src/main/java/com/qunzhixinxi/hnqz/common/taxhelper/enums/TaxHelperSubjectChannelEnum.java
  4. 6 0
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/entity/SysDeptSub.java
  5. 5 0
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/entity/WmDaAgent.java
  6. 8 0
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/entity/WmDaDrugEnt.java
  7. 2 0
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/entity/input/UserCertificationInput.java
  8. 8 3
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/WmDaDrugEntService.java
  9. 11 10
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/SysUserServiceImpl.java
  10. 29 52
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmDaAgentServiceImpl.java
  11. 25 3
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmDaDrugEntServiceImpl.java
  12. 1 1
      hnqz-upms/hnqz-upms-biz/src/main/resources/mapper/SysUserMapper.xml

+ 24 - 0
hnqz-common/hnqz-common-ding/src/main/java/com/qunzhixinxi/hnqz/common/ding/enums/DingSubjectChannelEnum.java

@@ -0,0 +1,24 @@
+package com.qunzhixinxi.hnqz.common.ding.enums;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+/**
+ * {@code DingSubjectChannelEnum}
+ * <p>
+ * 人力家结算通道枚举
+ *
+ * @author Hengchen.Sun
+ * @version 1.0.0
+ * @date 2022/01/21 16:56
+ */
+@Getter
+@AllArgsConstructor
+public enum DingSubjectChannelEnum {
+
+	DEF(0, "默认");
+
+	private final int code;
+
+	private final String message;
+}

+ 3 - 0
hnqz-common/hnqz-common-taxhelper/src/main/java/com/qunzhixinxi/hnqz/common/taxhelper/entity/model/TaxHelperAddMemberModel.java

@@ -47,6 +47,9 @@ public class TaxHelperAddMemberModel extends TaxHelperModel {
 	// 支付通道(固定值):1->银行卡
 	private final Integer payChannel;
 
+	// 支付卡号(平安银行使用)
+	private String payAccount;
+
 	public TaxHelperAddMemberModel(TaxHelperConfig taxHelperConfig) {
 		this.appId = taxHelperConfig.getAppId();
 		this.appSecrete = taxHelperConfig.getAppSecrete();

+ 25 - 0
hnqz-common/hnqz-common-taxhelper/src/main/java/com/qunzhixinxi/hnqz/common/taxhelper/enums/TaxHelperSubjectChannelEnum.java

@@ -0,0 +1,25 @@
+package com.qunzhixinxi.hnqz.common.taxhelper.enums;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+/**
+ * {@code TaxHelperSubjectChannelEnum}
+ * <p>
+ * 税邦云结算通道枚举
+ *
+ * @author Hengchen.Sun
+ * @version 1.0.0
+ * @date 2022/01/21 16:52
+ */
+@Getter
+@AllArgsConstructor
+public enum TaxHelperSubjectChannelEnum {
+
+	CICC(0, "中金"),
+	PING_AN_BANK(1, "平安银行");
+
+	private final int code;
+
+	private final String message;
+}

+ 6 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/entity/SysDeptSub.java

@@ -52,6 +52,9 @@ public class SysDeptSub extends Model<SysDeptSub> {
 	@ApiModelProperty(value = "认证方式0-人力家 1-税邦云")
 	private String subjectType;
 
+	@ApiModelProperty(value = "结算通道")
+	private Integer subjectChannel;
+
 	@ApiModelProperty(value = "限额")
 	private BigDecimal limitAmount;
 
@@ -63,4 +66,7 @@ public class SysDeptSub extends Model<SysDeptSub> {
 
 	@ApiModelProperty(value = "税邦云用户类型对应的发票类目")
 	private String subjectInvoiceCategory;
+
+	@ApiModelProperty(value = "更新时间")
+	private LocalDateTime updateTime;
 }

+ 5 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/entity/WmDaAgent.java

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

+ 8 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/entity/WmDaDrugEnt.java

@@ -27,6 +27,7 @@ import lombok.Data;
 import lombok.EqualsAndHashCode;
 
 import java.time.LocalDateTime;
+import java.util.Map;
 
 /**
  * 档案-药企
@@ -133,6 +134,13 @@ public class WmDaDrugEnt extends Model<WmDaDrugEnt> {
 	@ApiModelProperty(value="结算主体类型")
 	private String[] subjectType;
 
+	/**
+	 * 结算主体和通道
+	 */
+	@ApiModelProperty(value="结算主体类型")
+	@TableField(exist = false)
+	private Map<String, Integer> subjectTypeAndChannel;
+
 	/**
 	 * 部门专用权限限制(0.导出)
 	 */

+ 2 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/entity/input/UserCertificationInput.java

@@ -14,6 +14,8 @@ public class UserCertificationInput {
 
 	private String idCardNumber;
 
+	private String bankCardNumber;
+
 	private String username;
 
 	private String[] subList;

+ 8 - 3
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/WmDaDrugEntService.java

@@ -33,9 +33,14 @@ import java.util.List;
  */
 public interface WmDaDrugEntService extends IService<WmDaDrugEnt> {
 
-	public boolean saveDrugEnt(WmDaDrugEnt wmDaDrugEnt);
+	/**
+	 * 保存药企
+	 * @param wmDaDrugEnt 药企信息
+	 * @return 结果
+	 */
+	boolean saveDrugEnt(WmDaDrugEnt wmDaDrugEnt);
 
-	public List<WmDaDrugEnt> selectByScope(Wrapper<WmDaDrugEnt> queryWrapper);
+	List<WmDaDrugEnt> selectByScope(Wrapper<WmDaDrugEnt> queryWrapper);
 
 	List<WmDaDrugEnt> selectByDrugId(WmDaDrugEnt wmDaDrugEnt);
 
@@ -43,7 +48,7 @@ public interface WmDaDrugEntService extends IService<WmDaDrugEnt> {
 
 	List selectEntNameByDrugIds(Integer id);
 
-	public boolean saveDrugEnts(WmDaDrugEnt wmDaDrugEnt);
+	boolean saveDrugEnts(WmDaDrugEnt wmDaDrugEnt);
 
 	WmDaDrugEnt selectByDeptId(Integer deptId);
 

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

@@ -575,6 +575,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
 	public R batchChannelCert(UserCertificationInput input) {
 		SysUser sysUser = baseMapper.selectById(input.getUserId());
 		String inputIdCardNumber = input.getIdCardNumber();
+		String bankCardNumber = input.getBankCardNumber();
 
 		// 校验身份证上的年龄
 		if (StringUtils.isNotEmpty(inputIdCardNumber)) {
@@ -594,6 +595,10 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
 		}
 
 		sysUser.setIdCardNumber(inputIdCardNumber);
+		if (StrUtil.isNotEmpty(bankCardNumber)){
+			sysUser.setBankCardNumber(input.getBankCardNumber());
+		}
+
 		SysDept sysDept = sysDeptService.getById(sysUser.getDeptId());
 
 		StringBuilder msg = new StringBuilder();
@@ -647,14 +652,10 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
 		model.setType(Integer.parseInt(deptSub.getSubjectUserType()));
 		model.setName(sysUser.getRealname());
 		model.setNotifyUrl("http://localhost:8808");
-
-//		WmDaAgent agent = wmDaAgentMapper.selectByDeptId(sysDept.getDeptId());
-//		WmDaDrugEnt drugEnt = wmDaDrugEntMapper.selectByDeptId(sysDept.getDeptId());
-//		if (null != agent) {
-//			model.setEnterpriseCode(agent.getZjNumber());
-//		} else {
-//			model.setEnterpriseCode(drugEnt.getEntcode());
-//		}
+		boolean isPingAnBank = StrUtil.isNotEmpty(sysUser.getBankCardNumber());
+		if (isPingAnBank){
+			model.setPayAccount(sysUser.getBankCardNumber());
+		}
 		model.setEnterpriseCode(sysDept.getTaxCode());
 		if (StringUtils.isEmpty(model.getEnterpriseCode())) {
 
@@ -673,12 +674,12 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
 		record.setMessage(StringUtils.isNotEmpty(response.getMessage()) ? response.getMessage() : "无");
 		record.setStatus(null);
 		record.setSubjectType(1);
-		record.setMethod("增员");
+		record.setMethod(isPingAnBank ? "增员(平安银行)" : "增员");
 		record.setUserId(sysUser.getUserId());
 		sysCertResultRecordMapper.insert(record);
 
 		if (response.success()) {
-			sysUser.setCertStatus(TaxHelperCertStatus.ADD_MEMBER.getCode());
+			sysUser.setCertStatus(isPingAnBank? TaxHelperCertStatus.UNCHECKED_BIND.getCode() : TaxHelperCertStatus.ADD_MEMBER.getCode());
 			resultMap.put("msg", "增员成功");
 		} else {
 			log.info("税邦云增员失败:{},{},原因是:{}", sysUser.getRealname(), sysUser.getUsername(),

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

@@ -41,6 +41,7 @@ import org.springframework.stereotype.Service;
 import java.time.LocalDateTime;
 import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
@@ -235,10 +236,7 @@ public class WmDaAgentServiceImpl extends ServiceImpl<WmDaAgentMapper, WmDaAgent
 
 	@Override
 	public IPage selectWmManagementList(Page page, WmDaAgent wmDaAgent) {
-//		OrderItem orderItem = new OrderItem();
-//		orderItem.setColumn("create_time");
-//		orderItem.setAsc(false);
-//		page.addOrder(orderItem);
+
 		QueryWrapper queryWrapper = Wrappers.query();
 		if (null != wmDaAgent.getGsmc()) {
 			queryWrapper.like("gsmc", wmDaAgent.getGsmc());
@@ -246,52 +244,21 @@ public class WmDaAgentServiceImpl extends ServiceImpl<WmDaAgentMapper, WmDaAgent
 		if (null != wmDaAgent.getZjNumber()) {
 			queryWrapper.like("zjNamber", wmDaAgent.getZjNumber());
 		}
-//		List<WmDaAgent> wmDaAgentList = wmDaAgentMapper.selectWmManagementList(wmDaAgent);
-//		List<String> ids = wmDaAgentList.stream().map(p -> p.getDeptId()).collect(Collectors.toList());
-//		List<SysDept> sysDeptList = new ArrayList<>();
-//		for (String id : ids) {
-//			SysDept sysDept = sysDeptService.getById(id);
-//			if (sysDept != null) {
-//				sysDeptList.add(sysDept);
-//			}
-//		}
-//		List<Integer> deptList = sysDeptList.stream().filter(task -> 3 == task.getLevel()).map(p -> p.getDeptId()).collect(Collectors.toList());
-//		List<Integer> deptList1 = sysDeptList.stream().filter(task -> 5 == task.getLevel()).map(p -> p.getDeptId()).collect(Collectors.toList());
-//		List<SysDept> sysDeptList1 = new ArrayList<>();
-//		for (Integer id : deptList) {
-//			SysDept sysDept = sysDeptService.getById(id);
-//			sysDeptList1.add(sysDept);
-//		}
-//		for (Integer id : deptList1) {
-//			SysDept sysDept = sysDeptService.getById(id);
-//			sysDeptList1.add(sysDept);
-//		}
-//		List<Integer> ids1 = sysDeptList1.stream().map(p -> p.getDeptId()).collect(Collectors.toList());
-//		List<WmDaAgent> wmDaAgentList1 = new ArrayList<>();
-//		for (Integer id : ids1) {
-//			WmDaAgent wmDaAgent1 = new WmDaAgent();
-//			wmDaAgent1.setDeptId(String.valueOf(id));
-//			WmDaAgent wmDaAgent2 = wmDaAgentMapper.selectDeptId(wmDaAgent1);
-//			wmDaAgentList1.add(wmDaAgent2);
-//		}
-//		Page<WmDaAgent> page1 = new Page<>();
-//		int current = new Long(page.getCurrent()).intValue();
-//		int size = new Long(page.getSize()).intValue();
-//
-//		int count = wmDaAgentList1.size();
-//		List<WmDaAgent> pageList = new ArrayList<>();
-//		//计算当前页第一条数据的下标
-//		int currId = current > 1 ? (current - 1) * size : 0;
-//		for (int i = 0; i < size && i < count - currId; i++) {
-//			pageList.add(wmDaAgentList1.get(currId + i));
-//		}
-//		page1.setSize(size);
-//		page1.setCurrent(current);
-//		page1.setTotal(count);
-//		//计算分页总页数
-//		page1.setPages(count % 10 == 0 ? count / 10 : count / 10 + 1);
-//		page1.setRecords(pageList);
-		return wmDaAgentMapper.selectWmManagementPage(page, 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);
+
+		});
+
+
+
+		return wmDaAgentIPage;
 	}
 
 	@Override
@@ -352,13 +319,23 @@ public class WmDaAgentServiceImpl extends ServiceImpl<WmDaAgentMapper, WmDaAgent
 				sysDeptService.save(sysDept);
 			}
 
-			for (String subType : wmDaAgent.getSubjectType()) {
+			for (Map.Entry<String, Integer> entry : wmDaAgent.getSubjectTypeAndChannel().entrySet()){
 				SysDeptSub deptSub = new SysDeptSub();
 				deptSub.setDeptId(sysDept.getDeptId());
-				deptSub.setSubjectType(subType);
+				deptSub.setSubjectType(entry.getKey());
+				deptSub.setSubjectChannel(entry.getValue());
+				deptSub.setUpdateTime(LocalDateTime.now());
 				deptSub.setEnableFlag(SubjectTypeEnum.ENABLE_FLAG_TRUE.getCode());
 				sysDeptSubMapper.insert(deptSub);
 			}
+
+			// for (String subType : wmDaAgent.getSubjectType()) {
+			// 	SysDeptSub deptSub = new SysDeptSub();
+			// 	deptSub.setDeptId(sysDept.getDeptId());
+			// 	deptSub.setSubjectType(subType);
+			// 	deptSub.setEnableFlag(SubjectTypeEnum.ENABLE_FLAG_TRUE.getCode());
+			// 	sysDeptSubMapper.insert(deptSub);
+			// }
 			/**
 			 * @Modify: end
 			*/

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

@@ -18,6 +18,7 @@ package com.qunzhixinxi.hnqz.admin.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.Wrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.qunzhixinxi.hnqz.admin.api.entity.SysDept;
@@ -39,6 +40,8 @@ import org.springframework.transaction.annotation.Transactional;
 import java.time.LocalDateTime;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * 档案-药企
@@ -77,13 +80,20 @@ public class WmDaDrugEntServiceImpl extends ServiceImpl<WmDaDrugEntMapper, WmDaD
 			 * @Date: 2021/4/19
 			 */
 			if(sysDeptService.saveDept(sysDept) > 0){
-				for (String subType : entity.getSubjectType()) {
+
+				Map<String, Integer> subjectTypeAndChannel = entity.getSubjectTypeAndChannel();
+
+				for (Map.Entry<String, Integer> entry : subjectTypeAndChannel.entrySet()){
 					SysDeptSub deptSub = new SysDeptSub();
 					deptSub.setDeptId(sysDept.getDeptId());
-					deptSub.setSubjectType(subType);
+					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;
@@ -191,6 +201,18 @@ public class WmDaDrugEntServiceImpl extends ServiceImpl<WmDaDrugEntMapper, WmDaD
 	 */
 	@Override
 	public IPage<List<WmDaDrugEnt>> selectPage(Page page, WmDaDrugEnt wmDaDrugEnt) {
-		return wmDaDrugEntMapper.selectPage(page, wmDaDrugEnt);
+		IPage<List<WmDaDrugEnt>> listIPage = wmDaDrugEntMapper.selectPage(page, wmDaDrugEnt);
+
+		listIPage.getRecords().forEach(entList -> {
+
+			entList.forEach( ent -> {
+				Map<String, Integer> collect = sysDeptSubMapper.selectList(Wrappers.<SysDeptSub>lambdaQuery().eq(SysDeptSub::getDeptId, ent.getDeptId()))
+						.stream()
+						.collect(Collectors.toMap(SysDeptSub::getSubjectType, SysDeptSub::getSubjectChannel));
+				ent.setSubjectTypeAndChannel(collect);
+			});
+		});
+
+		return listIPage;
 	}
 }

+ 1 - 1
hnqz-upms/hnqz-upms-biz/src/main/resources/mapper/SysUserMapper.xml

@@ -432,7 +432,7 @@
 		u.del_flag,
 		u.lock_flag,
 		u.tenant_id,
-		 d.name  dept_name,
+		d.name  dept_name,
 		u.realname,
 		u.province,
 		u.city,