Commit 3f9308f6 authored by fangxinjiang's avatar fangxinjiang

Merge remote-tracking branch 'origin/MVP1.7.15' into MVP1.7.15

parents dddd49f1 a064bd98
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.ekp.entity;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* 招行卡
*
* @author hgw
* @date 2025-09-09 16:22:40
*/
@Data
@TableName("ekp_zhao_hang_detail")
@Schema(description = "招行卡")
public class EkpZhaoHangDetail {
/**
* 主键
*/
@TableId(type = IdType.ASSIGN_ID)
@ExcelProperty("主键")
@Schema(description = "主键")
private String fdId;
@Schema(description = "流水号")
private String fdNo;
@Schema(description = "交易时间")
private String fdDate;
@Schema(description = "交易金额")
private BigDecimal fdMoney;
@Schema(description = "交易商户名称")
private String fdAcpName;
@Schema(description = "交易卡号")
private String fdBankNo;
// 作为EKP登录用户查询的ID(用登录ID,查找ekp_zhao_hang_bank_no里的fdAccountId,再关联本表查询数据)
@Schema(description = "账户ID")
private String fdAccountId;
@Schema(description = "中文名")
private String fdEmpName;
@Schema(description = "EKP的登录用户的FdId")
private String fdUserId;
@Schema(description = "创建时间")
private LocalDateTime createTime;
}
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.ekp.entity;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.time.LocalDateTime;
/**
* 招行卡
*
* @author hgw
* @date 2025-09-09 16:22:40
*/
@Data
@TableName("ekp_zhao_hang_detail_log")
@Schema(description = "招行卡")
public class EkpZhaoHangDetailLog {
/**
* 主键
*/
@TableId(type = IdType.ASSIGN_ID)
@ExcelProperty("主键")
@Schema(description = "主键")
private String fdId;
@Schema(description = "推送参数")
private String fdParam;
@Schema(description = "返回数据")
private String fdData;
@Schema(description = "推送时间")
private LocalDateTime fdDatePush;
@Schema(description = "收到时间")
private LocalDateTime fdDateBack;
}
package com.yifu.cloud.plus.v1.ekp.config;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.cloud.context.config.annotation.RefreshScope;
/**
* @auther hgw
* @date 2025-9-9 11:31:54
* 招行卡配置信息
*/
@RefreshScope
@ConfigurationProperties(prefix = "zhaohang")
@Data
public class ZhaoHangConfigProperties {
// 客户号 10025498
private String clientId;
// 密码 cno7G+kNfJbf9nyskHdr0g==
private String clientSecret;
// 成本中心号 9910025498
private String corNum;
}
package com.yifu.cloud.plus.v1.ekp.controller;
import com.icbc.api.response.JftApiPayrollQueryDetailResponseV1;
import com.yifu.cloud.plus.v1.ekp.service.IcbcTransactionFlowIssueService;
import com.yifu.cloud.plus.v1.ekp.service.ZhaoHangService;
import com.yifu.cloud.plus.v1.ekp.vo.EkpBankAttaReturnVo;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants;
import com.yifu.cloud.plus.v1.yifu.common.core.util.Common;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import com.yifu.cloud.plus.v1.yifu.common.log.annotation.SysLog;
import com.yifu.cloud.plus.v1.yifu.common.security.annotation.Inner;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
/**
* 招行卡相关控制器
* @author hgw
* @date 2025-9-9 11:24:36
*/
@RestController
@RequiredArgsConstructor
@RequestMapping("/zhaoHang")
@Tag(name = "招行卡相关控制器")
public class ZhaoHangController {
private final ZhaoHangService zhaoHangService;
@Operation(summary = "每天获取招行卡流水", description = "每天获取招行卡流水")
@Inner
@PostMapping("/inner/doGetZhaoHangInfo")
public R<String> doGetZhaoHangInfo() {
return zhaoHangService.doGetZhaoHangInfo();
}
// 特殊情况使用,或者是测试,或者是历史数据,postDate 格式:"2025-07-02"
@Operation(summary = "测试接口,获取招行卡流水接口数据", description = "获取招行卡流水接口数据")
@PostMapping("/doGetZhaoHangCore")
public R<String> doGetZhaoHangCore(@RequestParam String postDate) {
return zhaoHangService.doGetZhaoHangCore(postDate);
}
}
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.ekp.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yifu.cloud.plus.v1.ekp.entity.EkpZhaoHangDetailLog;
import org.apache.ibatis.annotations.Mapper;
/**
* 招行卡
*
* @author hgw
* @date 2025-09-09 16:22:40
*/
@Mapper
public interface EkpZhaoHangDetailLogMapper extends BaseMapper<EkpZhaoHangDetailLog> {
}
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.ekp.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yifu.cloud.plus.v1.ekp.entity.EkpZhaoHangDetail;
import com.yifu.cloud.plus.v1.yifu.admin.api.vo.KeyValueVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 招行卡
*
* @author hgw
* @date 2025-09-09 16:22:40
*/
@Mapper
public interface EkpZhaoHangDetailMapper extends BaseMapper<EkpZhaoHangDetail> {
List<String> getByNo(@Param("noList") List<String> noList);
List<KeyValueVo> getAccountIdAndUserId();
}
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.ekp.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yifu.cloud.plus.v1.ekp.entity.EkpZhaoHangDetail;
import java.util.List;
import java.util.Map;
/**
* 招行卡
*
* @author hgw
* @date 2025-09-09 16:22:40
*/
public interface EkpZhaoHangDetailService extends IService<EkpZhaoHangDetail> {
// 返回已存在的流水号
List<String> getByNo(List<String> noList);
// 返回招行账号ID与EKP用户ID的Map
Map<String, String> getAccountIdAndUserId();
}
package com.yifu.cloud.plus.v1.ekp.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.icbc.api.response.JftApiPayrollQueryDetailResponseV1;
import com.yifu.cloud.plus.v1.ekp.entity.EkpSocialInfo;
import com.yifu.cloud.plus.v1.ekp.vo.EkpBankAttaReturnVo;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
/**
* 聚富通代发工资相关
*
* @author huyc
* @date 2024-05-24 10:55:24
*/
public interface ZhaoHangService extends IService<EkpSocialInfo> {
/**
* @Description: 代发任务确认提交
* @Author: huyc
* @Date: 2024-11-12
* @return: R
**/
R<String> doGetZhaoHangInfo();
// 特殊情况使用,或者是测试,或者是历史数据,postDate 格式:"2025-07-02"
R<String> doGetZhaoHangCore(String postDate);
}
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.ekp.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yifu.cloud.plus.v1.ekp.entity.EkpZhaoHangDetail;
import com.yifu.cloud.plus.v1.ekp.mapper.EkpZhaoHangDetailMapper;
import com.yifu.cloud.plus.v1.ekp.service.EkpZhaoHangDetailService;
import com.yifu.cloud.plus.v1.yifu.admin.api.vo.KeyValueVo;
import lombok.extern.log4j.Log4j2;
import org.springframework.stereotype.Service;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 招行卡
*
* @author hgw
* @date 2025-09-09 16:22:40
*/
@Log4j2
@Service
public class EkpZhaoHangDetailServiceImpl extends ServiceImpl<EkpZhaoHangDetailMapper, EkpZhaoHangDetail> implements EkpZhaoHangDetailService {
@Override
public List<String> getByNo(List<String> noList) {
return baseMapper.getByNo(noList);
}
/**
* @Description: 返回招行账号ID与EKP用户ID的Map
* @Author: hgw
* @Date: 2025/9/9 18:02
* @return: java.util.Map<java.lang.String, java.lang.String>
**/
@Override
public Map<String, String> getAccountIdAndUserId() {
List<KeyValueVo> list = baseMapper.getAccountIdAndUserId();
Map<String, String> returnMap = new HashMap<>();
if (list != null && !list.isEmpty()) {
for (KeyValueVo keyValueVo : list) {
returnMap.put(keyValueVo.getKeyStr(), keyValueVo.getValueStr());
}
}
return returnMap;
}
}
...@@ -87,4 +87,10 @@ icbcissue: ...@@ -87,4 +87,10 @@ icbcissue:
companyNo: '020101190' companyNo: '020101190'
aesKey: 8jTKCqZ9035g+HRzpZQqZA== aesKey: 8jTKCqZ9035g+HRzpZQqZA==
caSm: MIICSTCCAeygAwIBAgIGAJuAEtYAMAwGCCqBHM9VAYN1BQAwQTELMAkGA1UEBhMCY24xGzAZBgNVBAoMEnNtMmNvci5pY2JjLmNvbS5jbjEVMBMGA1UEAwwMc20ycm9vdGNhY29yMB4XDTIzMTIyMTA5NTAxNloXDTI4MTIyMTE1NTk1OVowVDELMAkGA1UEBhMCY24xGzAZBgNVBAoMEnNtMmNvci5pY2JjLmNvbS5jbjENMAsGA1UECwwEMTMwMjEZMBcGA1UEAwwQYWh3eC55LjEzMDIuMDIwMTBZMBMGByqGSM49AgEGCCqBHM9VAYItA0IABGEC1fF2rHTWfipQhOr+8SfvXDBiazIrImcsPH5aGaYMFK2RIXv0AF2xe2ZgAzcWRbgop0cAjaBHXpzSfIlnfl6jgbowgbcwHwYDVR0jBBgwFoAUDD6RRlIIkxjZ0/0x6S8mKdW3D2YwCQYDVR0TBAIwADBdBgNVHR8EVjBUMFKgUKBOpEwwSjEQMA4GA1UEAwwHY3JsNDE3MDEMMAoGA1UECwwDY3JsMRswGQYDVQQKDBJzbTJjb3IuaWNiYy5jb20uY24xCzAJBgNVBAYTAmNuMAsGA1UdDwQEAwIHgDAdBgNVHQ4EFgQUd0LHEI6l7Faq6/9GObNld3SH7xswDAYIKoEcz1UBg3UFAANJADBGAiEA68uRM5zYzMhaheAG+fw3AtkRFE5146+Qw6GVP93WojwCIQDzsIL3duLRtTot8ciVuKUQkI+GrXAg7nWnd2M2o9oRBw== caSm: MIICSTCCAeygAwIBAgIGAJuAEtYAMAwGCCqBHM9VAYN1BQAwQTELMAkGA1UEBhMCY24xGzAZBgNVBAoMEnNtMmNvci5pY2JjLmNvbS5jbjEVMBMGA1UEAwwMc20ycm9vdGNhY29yMB4XDTIzMTIyMTA5NTAxNloXDTI4MTIyMTE1NTk1OVowVDELMAkGA1UEBhMCY24xGzAZBgNVBAoMEnNtMmNvci5pY2JjLmNvbS5jbjENMAsGA1UECwwEMTMwMjEZMBcGA1UEAwwQYWh3eC55LjEzMDIuMDIwMTBZMBMGByqGSM49AgEGCCqBHM9VAYItA0IABGEC1fF2rHTWfipQhOr+8SfvXDBiazIrImcsPH5aGaYMFK2RIXv0AF2xe2ZgAzcWRbgop0cAjaBHXpzSfIlnfl6jgbowgbcwHwYDVR0jBBgwFoAUDD6RRlIIkxjZ0/0x6S8mKdW3D2YwCQYDVR0TBAIwADBdBgNVHR8EVjBUMFKgUKBOpEwwSjEQMA4GA1UEAwwHY3JsNDE3MDEMMAoGA1UECwwDY3JsMRswGQYDVQQKDBJzbTJjb3IuaWNiYy5jb20uY24xCzAJBgNVBAYTAmNuMAsGA1UdDwQEAwIHgDAdBgNVHQ4EFgQUd0LHEI6l7Faq6/9GObNld3SH7xswDAYIKoEcz1UBg3UFAANJADBGAiEA68uRM5zYzMhaheAG+fw3AtkRFE5146+Qw6GVP93WojwCIQDzsIL3duLRtTot8ciVuKUQkI+GrXAg7nWnd2M2o9oRBw==
caSmIcbc: MIIDdDCCAxegAwIBAgIFRjBiNDYwDAYIKoEcz1UBg3UFADBcMQswCQYDVQQGEwJDTjEwMC4GA1UECgwnQ2hpbmEgRmluYW5jaWFsIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MRswGQYDVQQDDBJDRkNBIEFDUyBTTTIgT0NBMzEwHhcNMjMwMjE1MDkyMTA5WhcNMjgwMjE1MDkyMTA5WjCBpTELMAkGA1UEBhMCQ04xGzAZBgNVBAoMEkNGQ0EgQUNTIFNNMiBPQ0EzMTETMBEGA1UECwwKQ0ZDQSBPQ0EzMTEZMBcGA1UECwwQT3JnYW5pemF0aW9uYWwtMTFJMEcGA1UEAwxAQ0ZDQUDkuK3lm73lt6XllYbpk7booYzogqHku73mnInpmZDlhazlj7hATjkxMTAwMDAwMTAwMDAzOTYyVEAxNjBZMBMGByqGSM49AgEGCCqBHM9VAYItA0IABC7pDFU19+SE4Bog4M7om/nsDbTtXHBlfp5G2e1Iya4LmFW5ZqOxmmQBysFwl9nDq3svOHMZ53Mpe14Z1m/OYFajggF4MIIBdDBsBggrBgEFBQcBAQRgMF4wKAYIKwYBBQUHMAGGHGh0dHA6Ly9vY3NwLmNmY2EuY29tLmNuL29jc3AwMgYIKwYBBQUHMAKGJmh0dHA6Ly9jcmwuY2ZjYS5jb20uY24vb2NhMzEvb2NhMzEuY2VyMB8GA1UdIwQYMBaAFAjY0SbESH2c7KyY6fF/YrmAzqlFMAwGA1UdEwEB/wQCMAAwSAYDVR0gBEEwPzA9BghggRyG7yoBBDAxMC8GCCsGAQUFBwIBFiNodHRwOi8vd3d3LmNmY2EuY29tLmNuL3VzL3VzLTE0Lmh0bTA9BgNVHR8ENjA0MDKgMKAuhixodHRwOi8vY3JsLmNmY2EuY29tLmNuL29jYTMxL1NNMi9jcmwyNzMwLmNybDAOBgNVHQ8BAf8EBAMCBsAwHQYDVR0OBBYEFOpEqrs73yvBXqvDQoT33v05FnDIMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDBDAMBggqgRzPVQGDdQUAA0kAMEYCIQCdKpfhUijpAKEQekHxlk4LvnqzzaYmODo3T3qmZUJsUwIhAOaMMH0IpwefVTSwJlhrVbmEB5DmoxLo1Xb/1tvfW1l2 caSmIcbc: MIIDdDCCAxegAwIBAgIFRjBiNDYwDAYIKoEcz1UBg3UFADBcMQswCQYDVQQGEwJDTjEwMC4GA1UECgwnQ2hpbmEgRmluYW5jaWFsIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MRswGQYDVQQDDBJDRkNBIEFDUyBTTTIgT0NBMzEwHhcNMjMwMjE1MDkyMTA5WhcNMjgwMjE1MDkyMTA5WjCBpTELMAkGA1UEBhMCQ04xGzAZBgNVBAoMEkNGQ0EgQUNTIFNNMiBPQ0EzMTETMBEGA1UECwwKQ0ZDQSBPQ0EzMTEZMBcGA1UECwwQT3JnYW5pemF0aW9uYWwtMTFJMEcGA1UEAwxAQ0ZDQUDkuK3lm73lt6XllYbpk7booYzogqHku73mnInpmZDlhazlj7hATjkxMTAwMDAwMTAwMDAzOTYyVEAxNjBZMBMGByqGSM49AgEGCCqBHM9VAYItA0IABC7pDFU19+SE4Bog4M7om/nsDbTtXHBlfp5G2e1Iya4LmFW5ZqOxmmQBysFwl9nDq3svOHMZ53Mpe14Z1m/OYFajggF4MIIBdDBsBggrBgEFBQcBAQRgMF4wKAYIKwYBBQUHMAGGHGh0dHA6Ly9vY3NwLmNmY2EuY29tLmNuL29jc3AwMgYIKwYBBQUHMAKGJmh0dHA6Ly9jcmwuY2ZjYS5jb20uY24vb2NhMzEvb2NhMzEuY2VyMB8GA1UdIwQYMBaAFAjY0SbESH2c7KyY6fF/YrmAzqlFMAwGA1UdEwEB/wQCMAAwSAYDVR0gBEEwPzA9BghggRyG7yoBBDAxMC8GCCsGAQUFBwIBFiNodHRwOi8vd3d3LmNmY2EuY29tLmNuL3VzL3VzLTE0Lmh0bTA9BgNVHR8ENjA0MDKgMKAuhixodHRwOi8vY3JsLmNmY2EuY29tLmNuL29jYTMxL1NNMi9jcmwyNzMwLmNybDAOBgNVHQ8BAf8EBAMCBsAwHQYDVR0OBBYEFOpEqrs73yvBXqvDQoT33v05FnDIMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDBDAMBggqgRzPVQGDdQUAA0kAMEYCIQCdKpfhUijpAKEQekHxlk4LvnqzzaYmODo3T3qmZUJsUwIhAOaMMH0IpwefVTSwJlhrVbmEB5DmoxLo1Xb/1tvfW1l2
\ No newline at end of file
# 招行配置
zhaohang:
clientId: 10025498
clientSecret: cno7G+kNfJbf9nyskHdr0g==
corNum: 9910025498
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!--
~
~ Copyright (c) 2018-2025, lengleng All rights reserved.
~
~ Redistribution and use in source and binary forms, with or without
~ modification, are permitted provided that the following conditions are met:
~
~ Redistributions of source code must retain the above copyright notice,
~ this list of conditions and the following disclaimer.
~ Redistributions in binary form must reproduce the above copyright
~ notice, this list of conditions and the following disclaimer in the
~ documentation and/or other materials provided with the distribution.
~ Neither the name of the yifu4cloud.com developer nor the names of its
~ contributors may be used to endorse or promote products derived from
~ this software without specific prior written permission.
~ Author: lengleng (wangiegie@gmail.com)
~
-->
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yifu.cloud.plus.v1.ekp.mapper.EkpZhaoHangDetailLogMapper">
</mapper>
<?xml version="1.0" encoding="UTF-8"?>
<!--
~
~ Copyright (c) 2018-2025, lengleng All rights reserved.
~
~ Redistribution and use in source and binary forms, with or without
~ modification, are permitted provided that the following conditions are met:
~
~ Redistributions of source code must retain the above copyright notice,
~ this list of conditions and the following disclaimer.
~ Redistributions in binary form must reproduce the above copyright
~ notice, this list of conditions and the following disclaimer in the
~ documentation and/or other materials provided with the distribution.
~ Neither the name of the yifu4cloud.com developer nor the names of its
~ contributors may be used to endorse or promote products derived from
~ this software without specific prior written permission.
~ Author: lengleng (wangiegie@gmail.com)
~
-->
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yifu.cloud.plus.v1.ekp.mapper.EkpZhaoHangDetailMapper">
<select id="getByNo" resultType="java.lang.String">
SELECT
a.FD_NO
FROM ekp_zhao_hang_detail a
where a.FD_NO in
<foreach item="item" index="index" collection="noList" separator="," open="(" close=")">
#{item}
</foreach>
</select>
<select id="getAccountIdAndUserId" resultType="com.yifu.cloud.plus.v1.yifu.admin.api.vo.KeyValueVo">
select a.FD_ACCOUNT_ID keyStr,a.FD_USER_ID valueStr from ekp_zhao_hang_bank_no a GROUP BY a.FD_ACCOUNT_ID
</select>
</mapper>
...@@ -93,4 +93,16 @@ public class EkpTask { ...@@ -93,4 +93,16 @@ public class EkpTask {
HttpDaprUtil.invokeMethodPost(daprEkpProperties.getAppUrl(),daprEkpProperties.getAppId(),"/ekpalerttable/inner/pushBudgetAlertInfoTomanagerMonth","", Object.class, SecurityConstants.FROM_IN); HttpDaprUtil.invokeMethodPost(daprEkpProperties.getAppUrl(),daprEkpProperties.getAppId(),"/ekpalerttable/inner/pushBudgetAlertInfoTomanagerMonth","", Object.class, SecurityConstants.FROM_IN);
log.info("------------定时生成每月预算预警信息-定时任务结束------------"); log.info("------------定时生成每月预算预警信息-定时任务结束------------");
} }
/**
* @Author hgw
* @Description 每天获取招行卡流水
* @Date 2025-9-9 17:22:21
**/
public void doGetZhaoHangInfo() {
log.info("------------每天获取招行卡流水-定时任务开始------------");
HttpDaprUtil.invokeMethodPost(daprEkpProperties.getAppUrl(),daprEkpProperties.getAppId()
,"/zhaoHang/inner/doGetZhaoHangInfo","", Object.class, SecurityConstants.FROM_IN);
log.info("------------每天获取招行卡流水-定时任务结束------------");
}
} }
\ No newline at end of file
...@@ -28,6 +28,8 @@ import io.swagger.v3.oas.annotations.media.Schema; ...@@ -28,6 +28,8 @@ import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import java.util.List;
/** /**
* 社保户公积金户数据 * 社保户公积金户数据
* *
...@@ -407,4 +409,11 @@ public class SysHouseHoldInfo extends BaseEntity { ...@@ -407,4 +409,11 @@ public class SysHouseHoldInfo extends BaseEntity {
@HeadFontStyle(fontHeightInPoints = 11) @HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("医保减员花名册模板") @ExcelProperty("医保减员花名册模板")
private String reduceRosterTempYsd; private String reduceRosterTempYsd;
/**
* 户与失败原因关联list
*/
@TableField(exist = false)
private List<SysHouseHoldInfoFailRes> resList;
} }
...@@ -16,6 +16,7 @@ ...@@ -16,6 +16,7 @@
*/ */
package com.yifu.cloud.plus.v1.yifu.social.entity; package com.yifu.cloud.plus.v1.yifu.social.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
...@@ -37,4 +38,8 @@ public class SysHouseHoldInfoFailRes { ...@@ -37,4 +38,8 @@ public class SysHouseHoldInfoFailRes {
// 重新办理动作 1 继续办理 2 中止办理 3 人工办理 // 重新办理动作 1 继续办理 2 中止办理 3 人工办理
private String replay; private String replay;
// 查询 关键字
@TableField(exist = false)
private String reasonKey;
} }
...@@ -668,6 +668,7 @@ public class SocialFriendConfig { ...@@ -668,6 +668,7 @@ public class SocialFriendConfig {
JSONObject blxmjglb; JSONObject blxmjglb;
String zt; String zt;
String cwxx; String cwxx;
String mxzt;
for (int i = 0; i < ryywbljglbArr.size(); i++) { for (int i = 0; i < ryywbljglbArr.size(); i++) {
ryywbljglb = (JSONObject) ryywbljglbArr.get(i); ryywbljglb = (JSONObject) ryywbljglbArr.get(i);
result = new FriendResult(); result = new FriendResult();
...@@ -689,6 +690,16 @@ public class SocialFriendConfig { ...@@ -689,6 +690,16 @@ public class SocialFriendConfig {
if (Common.isNotNull(cwxx) && cwxx.length() > 100) { if (Common.isNotNull(cwxx) && cwxx.length() > 100) {
cwxx = cwxx.substring(0, 100); cwxx = cwxx.substring(0, 100);
} }
mxzt = blxmjglb.getString("mxzt");
if (Common.isNotNull(mxzt)) {
if (cwxx.length() > 70) {
cwxx = cwxx.substring(0, 70);
}
if (mxzt.length() > 27) {
mxzt = mxzt.substring(0, 27);
}
cwxx += ";【"+mxzt+"】";
}
result.setCwxx(cwxx); result.setCwxx(cwxx);
} }
resultList.add(result); resultList.add(result);
......
...@@ -16,6 +16,7 @@ import io.swagger.v3.oas.annotations.tags.Tag; ...@@ -16,6 +16,7 @@ import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Optional; import java.util.Optional;
/** /**
...@@ -44,6 +45,19 @@ public class FailReasonConfigController { ...@@ -44,6 +45,19 @@ public class FailReasonConfigController {
return new R<>(failReasonConfigService.getFailReasonConfigPage(page,failReasonConfig)); return new R<>(failReasonConfigService.getFailReasonConfigPage(page,failReasonConfig));
} }
/**
* @param reasonKey 关键字
* @Description: 查可用的列表,可模糊搜索
* @Author: hgw
* @Date: 2025/9/10 11:00
* @return: com.yifu.cloud.plus.v1.yifu.common.core.util.R<java.util.List < com.yifu.cloud.plus.v1.yifu.social.entity.FailReasonConfig>>
**/
@Operation(description = "简单分页查询")
@GetMapping("/getFailListByReasonKey")
public R<List<FailReasonConfig>> getFailListByReasonKey(@RequestParam(required = false) String reasonKey) {
return new R<>(failReasonConfigService.getFailListByReasonKey(reasonKey));
}
/** /**
* 通过id查询失败原因配置 * 通过id查询失败原因配置
* @param id id * @param id id
......
...@@ -108,7 +108,7 @@ public class SysHouseHoldInfoController { ...@@ -108,7 +108,7 @@ public class SysHouseHoldInfoController {
@Operation(summary = "新增社保户公积金户数据", description = "新增社保户公积金户数据:hasPermission('demo_syshouseholdinfo_add')") @Operation(summary = "新增社保户公积金户数据", description = "新增社保户公积金户数据:hasPermission('demo_syshouseholdinfo_add')")
@SysLog("新增社保户公积金户数据" ) @SysLog("新增社保户公积金户数据" )
@PostMapping @PostMapping
@PreAuthorize("@pms.hasPermission('demo_syshouseholdinfo_add')" ) //@PreAuthorize("@pms.hasPermission('demo_syshouseholdinfo_add')" )
public R<Boolean> save(@RequestBody SysHouseHoldInfo sysHouseHoldInfo) { public R<Boolean> save(@RequestBody SysHouseHoldInfo sysHouseHoldInfo) {
return sysHouseHoldInfoService.saveInfo(sysHouseHoldInfo); return sysHouseHoldInfoService.saveInfo(sysHouseHoldInfo);
} }
...@@ -121,7 +121,7 @@ public class SysHouseHoldInfoController { ...@@ -121,7 +121,7 @@ public class SysHouseHoldInfoController {
@Operation(summary = "修改社保户公积金户数据", description = "修改社保户公积金户数据:hasPermission('demo_syshouseholdinfo_edit')") @Operation(summary = "修改社保户公积金户数据", description = "修改社保户公积金户数据:hasPermission('demo_syshouseholdinfo_edit')")
@SysLog("修改社保户公积金户数据" ) @SysLog("修改社保户公积金户数据" )
@PutMapping @PutMapping
@PreAuthorize("@pms.hasPermission('demo_syshouseholdinfo_edit')" ) //@PreAuthorize("@pms.hasPermission('demo_syshouseholdinfo_edit')" )
public R<Boolean> updateById(@RequestBody SysHouseHoldInfo sysHouseHoldInfo) { public R<Boolean> updateById(@RequestBody SysHouseHoldInfo sysHouseHoldInfo) {
return sysHouseHoldInfoService.updateByIdAsso(sysHouseHoldInfo); return sysHouseHoldInfoService.updateByIdAsso(sysHouseHoldInfo);
} }
......
package com.yifu.cloud.plus.v1.yifu.social.controller;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import com.yifu.cloud.plus.v1.yifu.social.entity.SysHouseHoldInfoFailRes;
import com.yifu.cloud.plus.v1.yifu.social.service.SysHouseHoldInfoFailResService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* 户与失败原因配置关联的控制器
*
* @author hgw
* @date 2025-9-10 10:15:00
*/
@RestController
@RequiredArgsConstructor
@RequestMapping("/hufailres")
@Tag(name = "户与失败原因配置关联的控制器")
public class SysHouseHoldInfoFailResController {
private final SysHouseHoldInfoFailResService sysHouseHoldInfoFailResService;
/**
* 列表
* @return
*/
@Operation(description = "列表")
@GetMapping("/getListByHuId")
public R<List<SysHouseHoldInfoFailRes>> getListByHuId(@RequestParam String huId) {
return new R<>(sysHouseHoldInfoFailResService.getListByHuId(huId));
}
}
\ No newline at end of file
...@@ -24,6 +24,9 @@ public interface FailReasonConfigMapper extends BaseMapper<FailReasonConfig> { ...@@ -24,6 +24,9 @@ public interface FailReasonConfigMapper extends BaseMapper<FailReasonConfig> {
*/ */
IPage<FailReasonConfig> getFailReasonConfigPage(Page<FailReasonConfig> page, @Param("failReasonConfig") FailReasonConfig failReasonConfig); IPage<FailReasonConfig> getFailReasonConfigPage(Page<FailReasonConfig> page, @Param("failReasonConfig") FailReasonConfig failReasonConfig);
// 查可用的列表
List<FailReasonConfig> getFailListByReasonKey(@Param("reasonKey") String reasonKey);
// 获取list组装map来使用 hgw // 获取list组装map来使用 hgw
List<FailReasonConfig> getFailReasonConfigList(); List<FailReasonConfig> getFailReasonConfigList();
} }
...@@ -20,6 +20,9 @@ package com.yifu.cloud.plus.v1.yifu.social.mapper; ...@@ -20,6 +20,9 @@ package com.yifu.cloud.plus.v1.yifu.social.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yifu.cloud.plus.v1.yifu.social.entity.SysHouseHoldInfoFailRes; import com.yifu.cloud.plus.v1.yifu.social.entity.SysHouseHoldInfoFailRes;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/** /**
* @author hgw * @author hgw
...@@ -27,5 +30,6 @@ import org.apache.ibatis.annotations.Mapper; ...@@ -27,5 +30,6 @@ import org.apache.ibatis.annotations.Mapper;
*/ */
@Mapper @Mapper
public interface SysHouseHoldInfoFailResMapper extends BaseMapper<SysHouseHoldInfoFailRes> { public interface SysHouseHoldInfoFailResMapper extends BaseMapper<SysHouseHoldInfoFailRes> {
// 根据户,查找失败原因多对多的关联
List<SysHouseHoldInfoFailRes> getListByHuId(@Param("huId") String huId);
} }
...@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; ...@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.yifu.cloud.plus.v1.yifu.social.entity.FailReasonConfig; import com.yifu.cloud.plus.v1.yifu.social.entity.FailReasonConfig;
import java.util.List;
import java.util.Map; import java.util.Map;
/** /**
...@@ -21,6 +22,9 @@ public interface FailReasonConfigService extends IService<FailReasonConfig> { ...@@ -21,6 +22,9 @@ public interface FailReasonConfigService extends IService<FailReasonConfig> {
*/ */
IPage<FailReasonConfig> getFailReasonConfigPage(Page<FailReasonConfig> page, FailReasonConfig failReasonConfig); IPage<FailReasonConfig> getFailReasonConfigPage(Page<FailReasonConfig> page, FailReasonConfig failReasonConfig);
// 查可用的列表,可模糊搜索
List<FailReasonConfig> getFailListByReasonKey(String reasonKey);
/** /**
* @Description: 获取list组装map来使用 hgw * @Description: 获取list组装map来使用 hgw
* @Author: hgw * @Author: hgw
......
package com.yifu.cloud.plus.v1.yifu.social.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yifu.cloud.plus.v1.yifu.social.entity.SysHouseHoldInfoFailRes;
import java.util.List;
/**
* 失败原因配置
*
* @author huyc
* @date 2024-05-08 10:41:32
*/
public interface SysHouseHoldInfoFailResService extends IService<SysHouseHoldInfoFailRes> {
/**
* @param huId 社保户ID
* @Description: 根据户,查找失败原因多对多的关联
* @Author: hgw
* @Date: 2025/9/10 10:08
* @return: java.util.List<com.yifu.cloud.plus.v1.yifu.social.entity.SysHouseHoldInfoFailRes>
**/
List<SysHouseHoldInfoFailRes> getListByHuId(String huId);
}
\ No newline at end of file
...@@ -32,6 +32,11 @@ public class FailReasonConfigServiceImpl extends ServiceImpl<FailReasonConfigMap ...@@ -32,6 +32,11 @@ public class FailReasonConfigServiceImpl extends ServiceImpl<FailReasonConfigMap
return baseMapper.getFailReasonConfigPage(page,failReasonConfig); return baseMapper.getFailReasonConfigPage(page,failReasonConfig);
} }
@Override
public List<FailReasonConfig> getFailListByReasonKey(String reasonKey) {
return baseMapper.getFailListByReasonKey(reasonKey);
}
/** /**
* @Description: 获取list组装map来使用 hgw * @Description: 获取list组装map来使用 hgw
* @Author: hgw * @Author: hgw
......
package com.yifu.cloud.plus.v1.yifu.social.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yifu.cloud.plus.v1.yifu.social.entity.SysHouseHoldInfoFailRes;
import com.yifu.cloud.plus.v1.yifu.social.mapper.SysHouseHoldInfoFailResMapper;
import com.yifu.cloud.plus.v1.yifu.social.service.SysHouseHoldInfoFailResService;
import lombok.extern.log4j.Log4j2;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* 失败原因配置
*
* @author huyc
* @date 2024-05-08 10:41:32
*/
@Log4j2
@Service
public class SysHouseHoldInfoFailResServiceImpl extends ServiceImpl<SysHouseHoldInfoFailResMapper, SysHouseHoldInfoFailRes> implements SysHouseHoldInfoFailResService {
@Override
public List<SysHouseHoldInfoFailRes> getListByHuId(String huId) {
return baseMapper.getListByHuId(huId);
}
}
\ No newline at end of file
...@@ -43,15 +43,10 @@ import com.yifu.cloud.plus.v1.yifu.common.dapr.util.HttpDaprUtil; ...@@ -43,15 +43,10 @@ import com.yifu.cloud.plus.v1.yifu.common.dapr.util.HttpDaprUtil;
import com.yifu.cloud.plus.v1.yifu.common.dapr.util.UpmsDaprUtils; import com.yifu.cloud.plus.v1.yifu.common.dapr.util.UpmsDaprUtils;
import com.yifu.cloud.plus.v1.yifu.insurances.util.BeanCopyUtils; import com.yifu.cloud.plus.v1.yifu.insurances.util.BeanCopyUtils;
import com.yifu.cloud.plus.v1.yifu.social.constants.HouseConfigConstants; import com.yifu.cloud.plus.v1.yifu.social.constants.HouseConfigConstants;
import com.yifu.cloud.plus.v1.yifu.social.entity.SysBaseSetInfo; import com.yifu.cloud.plus.v1.yifu.social.entity.*;
import com.yifu.cloud.plus.v1.yifu.social.entity.SysHouseHoldInfo;
import com.yifu.cloud.plus.v1.yifu.social.entity.TAttaInfo;
import com.yifu.cloud.plus.v1.yifu.social.entity.TSocialfundHouseRes;
import com.yifu.cloud.plus.v1.yifu.social.mapper.SysBaseSetInfoMapper; import com.yifu.cloud.plus.v1.yifu.social.mapper.SysBaseSetInfoMapper;
import com.yifu.cloud.plus.v1.yifu.social.mapper.SysHouseHoldInfoMapper; import com.yifu.cloud.plus.v1.yifu.social.mapper.SysHouseHoldInfoMapper;
import com.yifu.cloud.plus.v1.yifu.social.service.SysHouseHoldInfoService; import com.yifu.cloud.plus.v1.yifu.social.service.*;
import com.yifu.cloud.plus.v1.yifu.social.service.TAttaInfoService;
import com.yifu.cloud.plus.v1.yifu.social.service.TSocialfundHouseResService;
import com.yifu.cloud.plus.v1.yifu.social.vo.TSocialHouseholdExportVo; import com.yifu.cloud.plus.v1.yifu.social.vo.TSocialHouseholdExportVo;
import com.yifu.cloud.plus.v1.yifu.social.vo.TSocialHouseholdInsertVo; import com.yifu.cloud.plus.v1.yifu.social.vo.TSocialHouseholdInsertVo;
import com.yifu.cloud.plus.v1.yifu.social.vo.TSocialHouseholdUpdateVo; import com.yifu.cloud.plus.v1.yifu.social.vo.TSocialHouseholdUpdateVo;
...@@ -92,6 +87,10 @@ public class SysHouseHoldInfoServiceImpl extends ServiceImpl<SysHouseHoldInfoMap ...@@ -92,6 +87,10 @@ public class SysHouseHoldInfoServiceImpl extends ServiceImpl<SysHouseHoldInfoMap
@Autowired @Autowired
private DaprCheckProperties daprCheckProperties; private DaprCheckProperties daprCheckProperties;
@Autowired
private SysHouseHoldInfoFailResService sysHouseHoldInfoFailResService;
@Autowired
private FailReasonConfigService failReasonConfigService;
@Autowired @Autowired
private UpmsDaprUtils upmsDaprUtils; private UpmsDaprUtils upmsDaprUtils;
...@@ -155,7 +154,20 @@ public class SysHouseHoldInfoServiceImpl extends ServiceImpl<SysHouseHoldInfoMap ...@@ -155,7 +154,20 @@ public class SysHouseHoldInfoServiceImpl extends ServiceImpl<SysHouseHoldInfoMap
} }
} }
} }
List<SysHouseHoldInfoFailRes> resList = sysHouseHoldInfo.getResList();
// 先判断
if (Common.isNotNull(resList) && !resList.isEmpty()) {
R<Boolean> failed = judgeHuAndResStatus(sysHouseHoldInfo, resList);
if (failed != null) { return failed;}
}
baseMapper.insert(sysHouseHoldInfo); baseMapper.insert(sysHouseHoldInfo);
// 后保存
if (Common.isNotNull(resList) && !resList.isEmpty()) {
for (SysHouseHoldInfoFailRes res : resList) {
res.setId(sysHouseHoldInfo.getId());
}
sysHouseHoldInfoFailResService.saveBatch(resList);
}
//维护附件信息 //维护附件信息
TAttaInfo attaInfo = null; TAttaInfo attaInfo = null;
if (Common.isNotNull(sysHouseHoldInfo.getAttaId())) { if (Common.isNotNull(sysHouseHoldInfo.getAttaId())) {
...@@ -441,12 +453,14 @@ public class SysHouseHoldInfoServiceImpl extends ServiceImpl<SysHouseHoldInfoMap ...@@ -441,12 +453,14 @@ public class SysHouseHoldInfoServiceImpl extends ServiceImpl<SysHouseHoldInfoMap
if (isEdit && (Common.isEmpty(hold.getAuditUser()) || Common.isEmpty(hold.getHandleUser()))) { if (isEdit && (Common.isEmpty(hold.getAuditUser()) || Common.isEmpty(hold.getHandleUser()))) {
return R.failed("审核人或办理人必填!"); return R.failed("审核人或办理人必填!");
} }
// 判断审核人与办理人的权限: if (isEdit) {
String judgeAuth = this.judgeAuditAndHandleAuth(hold.getType() // 判断审核人与办理人的权限:
, hold.getAuditUser(), hold.getAuditUserName() String judgeAuth = this.judgeAuditAndHandleAuth(hold.getType()
, hold.getHandleUser(), hold.getHandleUserName()); , hold.getAuditUser(), hold.getAuditUserName()
if (Common.isNotNull(judgeAuth)) { , hold.getHandleUser(), hold.getHandleUserName());
return R.failed(judgeAuth); if (Common.isNotNull(judgeAuth)) {
return R.failed(judgeAuth);
}
} }
if (CommonConstants.ONE_STRING.equals(hold.getDelFlag()) if (CommonConstants.ONE_STRING.equals(hold.getDelFlag())
&& baseSetInfoMapper.selectCount(Wrappers.<SysBaseSetInfo>query().lambda() && baseSetInfoMapper.selectCount(Wrappers.<SysBaseSetInfo>query().lambda()
...@@ -469,6 +483,15 @@ public class SysHouseHoldInfoServiceImpl extends ServiceImpl<SysHouseHoldInfoMap ...@@ -469,6 +483,15 @@ public class SysHouseHoldInfoServiceImpl extends ServiceImpl<SysHouseHoldInfoMap
} }
} }
} }
if (isEdit) {
List<SysHouseHoldInfoFailRes> resList = hold.getResList();
if (Common.isNotNull(resList) && !resList.isEmpty()) {
R<Boolean> failed = judgeHuAndResStatus(hold, resList);
if (failed != null) { return failed;}
sysHouseHoldInfoFailResService.removeById(hold.getId());
sysHouseHoldInfoFailResService.saveBatch(resList);
}
}
int res = baseMapper.updateById(hold); int res = baseMapper.updateById(hold);
if (res >= 0){ if (res >= 0){
if (isEdit) { if (isEdit) {
...@@ -489,6 +512,30 @@ public class SysHouseHoldInfoServiceImpl extends ServiceImpl<SysHouseHoldInfoMap ...@@ -489,6 +512,30 @@ public class SysHouseHoldInfoServiceImpl extends ServiceImpl<SysHouseHoldInfoMap
} }
} }
private R<Boolean> judgeHuAndResStatus(SysHouseHoldInfo hold, List<SysHouseHoldInfoFailRes> resList) {
FailReasonConfig s;
String failKey = "";
for (SysHouseHoldInfoFailRes res : resList) {
if (Common.isEmpty(res.getFailId())) {
return R.failed("【失败原因ID】必填!");
}
if (Common.isEmpty(res.getReplay())) {
return R.failed("【处理方式】必填!");
}
res.setId(hold.getId());
s = failReasonConfigService.getById(res.getFailId());
if (s == null || Common.isEmpty(s.getId())) {
return R.failed("【根据失败原因ID,未找到失败原因】!");
} else if (CommonConstants.ONE_STRING.equals(s.getStatus())) {
failKey += s.getReasonKey() + ";";
}
}
if (Common.isNotNull(failKey)) {
return R.failed(failKey + " 已被禁用,请更换!");
}
return null;
}
@Override @Override
public R<List<ErrorMessage>> importListAdd(InputStream inputStream) { public R<List<ErrorMessage>> importListAdd(InputStream inputStream) {
List<ErrorMessage> errorMessageList = new ArrayList<>(); List<ErrorMessage> errorMessageList = new ArrayList<>();
......
...@@ -270,22 +270,24 @@ public class DoSocialTask { ...@@ -270,22 +270,24 @@ public class DoSocialTask {
**/ **/
@Async @Async
public void pushSoldier(String dispatchId, boolean isFriend, String isSingleAudit) { public void pushSoldier(String dispatchId, boolean isFriend, String isSingleAudit) {
List<String> dispatchIdList = new ArrayList<>(); if (!isFriend || CommonConstants.ONE_STRING.equals(isSingleAudit)) {
dispatchIdList.add(dispatchId); List<String> dispatchIdList = new ArrayList<>();
try { dispatchIdList.add(dispatchId);
Thread.sleep(60000); try {
} catch (InterruptedException e) { Thread.sleep(60000);
e.printStackTrace(); } catch (InterruptedException e) {
} e.printStackTrace();
// 当前默认 安徽省 ,且开关是税友的,才可以税友推送办理 }
if (isFriend) { // 当前默认 安徽省 ,且开关是税友的,才可以税友推送办理
// 断开派单单条推送税友 if (isFriend) {
// 单个审核接口并且户类型为单个,即时推送税友 // 断开派单单条推送税友
if (CommonConstants.ONE_STRING.equals(isSingleAudit)) { // 单个审核接口并且户类型为单个,即时推送税友
tSocialFriendPushService.pushFriend(dispatchIdList); // if (CommonConstants.ONE_STRING.equals(isSingleAudit)) {
tSocialFriendPushService.pushFriend(dispatchIdList);
// }
} else {
tSocialSoldierPushService.pushSoldier(dispatchIdList);
} }
} else {
tSocialSoldierPushService.pushSoldier(dispatchIdList);
} }
} }
} }
...@@ -69,6 +69,20 @@ ...@@ -69,6 +69,20 @@
order by a.CREATE_TIME desc order by a.CREATE_TIME desc
</select> </select>
<!--查列表-->
<select id="getFailListByReasonKey" resultMap="failReasonConfigMap">
SELECT
a.ID,
a.REASON_KEY,
a.REPLAY
FROM fail_reason_config a
where a.STATUS = '0'
<if test="reasonKey != null and reasonKey.trim() != ''">
AND a.REASON_KEY = #{reasonKey}
</if>
order by a.CREATE_TIME desc
</select>
<!--获取list组装map来使用 hgw--> <!--获取list组装map来使用 hgw-->
<select id="getFailReasonConfigList" resultMap="failReasonConfigMap"> <select id="getFailReasonConfigList" resultMap="failReasonConfigMap">
SELECT SELECT
......
...@@ -22,4 +22,11 @@ ...@@ -22,4 +22,11 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yifu.cloud.plus.v1.yifu.social.mapper.SysHouseHoldInfoFailResMapper"> <mapper namespace="com.yifu.cloud.plus.v1.yifu.social.mapper.SysHouseHoldInfoFailResMapper">
<select id="getListByHuId" resultType="com.yifu.cloud.plus.v1.yifu.social.entity.SysHouseHoldInfoFailRes">
select
r.FAIL_ID failId,f.REASON_KEY reasonKey,r.REPLAY replay
from sys_house_hold_info_fail_res r
LEFT JOIN fail_reason_config f on r.FAIL_ID=f.id
where r.ID=#{huId}
</select>
</mapper> </mapper>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment