Compare commits
62 Commits
| Author | SHA1 | Date |
|---|---|---|
|
|
307c44154f | |
|
|
4e888f7a6d | |
|
|
1cb890c81b | |
|
|
f873b8e878 | |
|
|
f1bc56ddf9 | |
|
|
90c2e14fd1 | |
|
|
e8808e805c | |
|
|
8dc69d4870 | |
|
|
16526e11e9 | |
|
|
f80d75969d | |
|
|
cfce3f4242 | |
|
|
a2ff304ae0 | |
|
|
1c43e1dd61 | |
|
|
ae013c0ca2 | |
|
|
ce525ad955 | |
|
|
b2638f3552 | |
|
|
522db6ae2f | |
|
|
4e816a7209 | |
|
|
b8d6718ec7 | |
|
|
0c99c66172 | |
|
|
fc79b80e69 | |
|
|
4d5ebd13e8 | |
|
|
d3e6975578 | |
|
|
bf9a905e1f | |
|
|
1a95c9284e | |
|
|
b1b058a32a | |
|
|
2ea64c2b3a | |
|
|
83679f2da6 | |
|
|
999c1c533b | |
|
|
da4a7059f7 | |
|
|
39229c50aa | |
|
|
86966e75d9 | |
|
|
9dbe015e0c | |
|
|
b25ea618ee | |
|
|
c96663187e | |
|
|
852f52a2b3 | |
|
|
1924cc6cb3 | |
|
|
d5fa78dce2 | |
|
|
971e4c42fb | |
|
|
09076fe6a5 | |
|
|
fa116ad31f | |
|
|
783e6aca1d | |
|
|
c952344f46 | |
|
|
11c92dcdd9 | |
|
|
949acc3020 | |
|
|
cfd83a287f | |
|
|
cbb79d172c | |
|
|
e1bfff6996 | |
|
|
355e3e56dd | |
|
|
826af27d3b | |
|
|
7b0f857f36 | |
|
|
2e4db533b6 | |
|
|
19382a309a | |
|
|
33aadb2cea | |
|
|
e11cfe65b3 | |
|
|
29dc79cda8 | |
|
|
264bf69a4a | |
|
|
3003e1b3f3 | |
|
|
ab77a916a8 | |
|
|
193261e47f | |
|
|
be905735c4 | |
|
|
d51175ebda |
|
|
@ -11,11 +11,11 @@ spring:
|
|||
pool:
|
||||
max-active: 300
|
||||
datasource:
|
||||
url: jdbc:${DATASOURCE_DBTYPE:mysql}://${DATASOURCE_HOST:47.99.60.88}:${DATASOURCE_PORT:3306}/wk_crm_single?characterEncoding=utf8&useSSL=false&zeroDateTimeBehavior=convertToNull&tinyInt1isBit=false&serverTimezone=Asia/Shanghai&useAffectedRows=true
|
||||
url: jdbc:${DATASOURCE_DBTYPE:mysql}://${DATASOURCE_HOST:127.0.0.1}:${DATASOURCE_PORT:3307}/wk_crm_single?characterEncoding=utf8&useSSL=false&zeroDateTimeBehavior=convertToNull&tinyInt1isBit=false&serverTimezone=Asia/Shanghai&useAffectedRows=true
|
||||
username: ${DATASOURCE_USERNAME:devuser}
|
||||
password: ${DATASOURCE_PASSWORD:ckly@9069&Uk}
|
||||
elasticsearch:
|
||||
rest:
|
||||
uris: 47.99.60.88:9200
|
||||
uris: 127.0.0.1:9200
|
||||
username:
|
||||
password:
|
||||
|
|
@ -8,7 +8,7 @@ spring:
|
|||
pool:
|
||||
max-active: 300
|
||||
datasource:
|
||||
url: jdbc:${DATASOURCE_DBTYPE:mysql}://${DATASOURCE_HOST:127.0.0.1}:${DATASOURCE_PORT:3306}/wk_crm_single?characterEncoding=utf8&useSSL=false&zeroDateTimeBehavior=convertToNull&tinyInt1isBit=false&serverTimezone=Asia/Shanghai&useAffectedRows=true
|
||||
url: jdbc:${DATASOURCE_DBTYPE:mysql}://${DATASOURCE_HOST:127.0.0.1}:${DATASOURCE_PORT:3307}/wk_crm_single?characterEncoding=utf8&useSSL=false&zeroDateTimeBehavior=convertToNull&tinyInt1isBit=false&serverTimezone=Asia/Shanghai&useAffectedRows=true
|
||||
username: ${DATASOURCE_USERNAME:root}
|
||||
password: ${DATASOURCE_PASSWORD:password}
|
||||
elasticsearch:
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ spring:
|
|||
pool:
|
||||
max-active: 300
|
||||
datasource:
|
||||
url: jdbc:${DATASOURCE_DBTYPE:mysql}://${DATASOURCE_HOST:127.0.0.1}:${DATASOURCE_PORT:3306}/wk_crm_single?characterEncoding=utf8&useSSL=false&zeroDateTimeBehavior=convertToNull&tinyInt1isBit=false&serverTimezone=Asia/Shanghai&useAffectedRows=true
|
||||
url: jdbc:${DATASOURCE_DBTYPE:mysql}://${DATASOURCE_HOST:127.0.0.1}:${DATASOURCE_PORT:3307}/wk_crm_single?characterEncoding=utf8&useSSL=false&zeroDateTimeBehavior=convertToNull&tinyInt1isBit=false&serverTimezone=Asia/Shanghai&useAffectedRows=true
|
||||
username: ${DATASOURCE_USERNAME:root}
|
||||
password: ${DATASOURCE_PASSWORD:password}
|
||||
elasticsearch:
|
||||
|
|
|
|||
|
|
@ -11,11 +11,11 @@ spring:
|
|||
pool:
|
||||
max-active: 300
|
||||
datasource:
|
||||
url: jdbc:${DATASOURCE_DBTYPE:mysql}://${DATASOURCE_HOST:47.99.60.88}:${DATASOURCE_PORT:3306}/wk_crm_single?characterEncoding=utf8&useSSL=false&zeroDateTimeBehavior=convertToNull&tinyInt1isBit=false&serverTimezone=Asia/Shanghai&useAffectedRows=true
|
||||
url: jdbc:${DATASOURCE_DBTYPE:mysql}://${DATASOURCE_HOST:127.0.0.1}:${DATASOURCE_PORT:3307}/wk_crm_single?characterEncoding=utf8&useSSL=false&zeroDateTimeBehavior=convertToNull&tinyInt1isBit=false&serverTimezone=Asia/Shanghai&useAffectedRows=true
|
||||
username: ${DATASOURCE_USERNAME:devuser}
|
||||
password: ${DATASOURCE_PASSWORD:ckly@9069&Uk}
|
||||
elasticsearch:
|
||||
rest:
|
||||
uris: 47.99.60.88:9200
|
||||
uris: 127.0.0.1:9200
|
||||
username:
|
||||
password:
|
||||
|
|
@ -8,6 +8,6 @@ spring:
|
|||
pool:
|
||||
max-active: 300
|
||||
datasource:
|
||||
url: jdbc:${DATASOURCE_DBTYPE:mysql}://${DATASOURCE_HOST:127.0.0.1}:${DATASOURCE_PORT:3306}/nacos?characterEncoding=utf8&useSSL=false&zeroDateTimeBehavior=convertToNull&tinyInt1isBit=false&serverTimezone=Asia/Shanghai&useAffectedRows=true
|
||||
url: jdbc:${DATASOURCE_DBTYPE:mysql}://${DATASOURCE_HOST:127.0.0.1}:${DATASOURCE_PORT:3307}/nacos?characterEncoding=utf8&useSSL=false&zeroDateTimeBehavior=convertToNull&tinyInt1isBit=false&serverTimezone=Asia/Shanghai&useAffectedRows=true
|
||||
username: ${DATASOURCE_USERNAME:root}
|
||||
password: ${DATASOURCE_PASSWORD:password}
|
||||
|
|
@ -8,6 +8,6 @@ spring:
|
|||
pool:
|
||||
max-active: 300
|
||||
datasource:
|
||||
url: jdbc:${DATASOURCE_DBTYPE:mysql}://${DATASOURCE_HOST:127.0.0.1}:${DATASOURCE_PORT:3306}/nacos?characterEncoding=utf8&useSSL=false&zeroDateTimeBehavior=convertToNull&tinyInt1isBit=false&serverTimezone=Asia/Shanghai&useAffectedRows=true
|
||||
url: jdbc:${DATASOURCE_DBTYPE:mysql}://${DATASOURCE_HOST:127.0.0.1}:${DATASOURCE_PORT:3307}/nacos?characterEncoding=utf8&useSSL=false&zeroDateTimeBehavior=convertToNull&tinyInt1isBit=false&serverTimezone=Asia/Shanghai&useAffectedRows=true
|
||||
username: ${DATASOURCE_USERNAME:root}
|
||||
password: ${DATASOURCE_PASSWORD:password}
|
||||
|
|
@ -11,11 +11,11 @@ spring:
|
|||
pool:
|
||||
max-active: 300
|
||||
datasource:
|
||||
url: jdbc:${DATASOURCE_DBTYPE:mysql}://${DATASOURCE_HOST:47.99.60.88}:${DATASOURCE_PORT:3306}/wk_crm_single?characterEncoding=utf8&useSSL=false&zeroDateTimeBehavior=convertToNull&tinyInt1isBit=false&serverTimezone=Asia/Shanghai&useAffectedRows=true
|
||||
url: jdbc:${DATASOURCE_DBTYPE:mysql}://${DATASOURCE_HOST:127.0.0.1}:${DATASOURCE_PORT:3307}/wk_crm_single?characterEncoding=utf8&useSSL=false&zeroDateTimeBehavior=convertToNull&tinyInt1isBit=false&serverTimezone=Asia/Shanghai&useAffectedRows=true
|
||||
username: ${DATASOURCE_USERNAME:devuser}
|
||||
password: ${DATASOURCE_PASSWORD:ckly@9069&Uk}
|
||||
elasticsearch:
|
||||
rest:
|
||||
uris: 47.99.60.88:9200
|
||||
uris: 127.0.0.1:9200
|
||||
username:
|
||||
password:
|
||||
|
|
@ -8,7 +8,7 @@ spring:
|
|||
pool:
|
||||
max-active: 300
|
||||
datasource:
|
||||
url: jdbc:${DATASOURCE_DBTYPE:mysql}://${DATASOURCE_HOST:127.0.0.1}:${DATASOURCE_PORT:3306}/wk_crm_single?characterEncoding=utf8&useSSL=false&zeroDateTimeBehavior=convertToNull&tinyInt1isBit=false&serverTimezone=Asia/Shanghai&useAffectedRows=true
|
||||
url: jdbc:${DATASOURCE_DBTYPE:mysql}://${DATASOURCE_HOST:127.0.0.1}:${DATASOURCE_PORT:3307}/wk_crm_single?characterEncoding=utf8&useSSL=false&zeroDateTimeBehavior=convertToNull&tinyInt1isBit=false&serverTimezone=Asia/Shanghai&useAffectedRows=true
|
||||
username: ${DATASOURCE_USERNAME:root}
|
||||
password: ${DATASOURCE_PASSWORD:password}
|
||||
elasticsearch:
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ spring:
|
|||
pool:
|
||||
max-active: 300
|
||||
datasource:
|
||||
url: jdbc:${DATASOURCE_DBTYPE:mysql}://${DATASOURCE_HOST:127.0.0.1}:${DATASOURCE_PORT:3306}/wk_crm_single?characterEncoding=utf8&useSSL=false&zeroDateTimeBehavior=convertToNull&tinyInt1isBit=false&serverTimezone=Asia/Shanghai&useAffectedRows=true
|
||||
url: jdbc:${DATASOURCE_DBTYPE:mysql}://${DATASOURCE_HOST:127.0.0.1}:${DATASOURCE_PORT:3307}/wk_crm_single?characterEncoding=utf8&useSSL=false&zeroDateTimeBehavior=convertToNull&tinyInt1isBit=false&serverTimezone=Asia/Shanghai&useAffectedRows=true
|
||||
username: ${DATASOURCE_USERNAME:root}
|
||||
password: ${DATASOURCE_PASSWORD:password}
|
||||
elasticsearch:
|
||||
|
|
|
|||
|
|
@ -75,4 +75,10 @@ public class Const implements Serializable {
|
|||
public static final String ADMIN_USER_DEPT_CACHE_NAME = "ADMIN:USER:DEPT:CACHE:";
|
||||
|
||||
|
||||
/**
|
||||
* 加密前缀
|
||||
*/
|
||||
public static final String ENCRYPTED_PREFIX = "ENCRYPTED:";
|
||||
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -26,6 +26,7 @@ public enum SubModelType {
|
|||
CRM_RETURN_VISIT(28,"回访"),
|
||||
CRM_PRODUCT(29,"产品"),
|
||||
CRM_MARKETING(30,"市场活动"),
|
||||
CRM_CORP_PORT(31,"企业画像"),
|
||||
//oa
|
||||
OA_CALENDAR(41,"日历"),
|
||||
OA_LOG(42,"日志"),
|
||||
|
|
|
|||
|
|
@ -5,8 +5,10 @@ import com.baomidou.mybatisplus.core.incrementer.IdentifierGenerator;
|
|||
import com.baomidou.mybatisplus.extension.MybatisMapWrapperFactory;
|
||||
import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.optimize.JsqlParserCountOptimize;
|
||||
import com.kakarote.core.security.converter.SensitiveDataConverter;
|
||||
import com.kakarote.core.utils.BaseUtil;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.ibatis.type.TypeHandlerRegistry;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
|
||||
|
|
@ -22,11 +24,22 @@ public class MybatisPlusConfig {
|
|||
return paginationInterceptor;
|
||||
}
|
||||
|
||||
// @Bean
|
||||
// public ConfigurationCustomizer configurationCustomizer() {
|
||||
// return i -> i.setObjectWrapperFactory(new MybatisMapWrapperFactory());
|
||||
// }
|
||||
|
||||
@Bean
|
||||
public ConfigurationCustomizer configurationCustomizer() {
|
||||
return i -> i.setObjectWrapperFactory(new MybatisMapWrapperFactory());
|
||||
return i -> {
|
||||
i.setObjectWrapperFactory(new MybatisMapWrapperFactory());
|
||||
// 注册敏感数据类型处理器
|
||||
TypeHandlerRegistry registry = i.getTypeHandlerRegistry();
|
||||
registry.register(SensitiveDataConverter.class);
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@Bean
|
||||
public IdentifierGenerator idGenerator() {
|
||||
return new CustomIdGenerator();
|
||||
|
|
|
|||
|
|
@ -0,0 +1,13 @@
|
|||
package com.kakarote.core.feign.crm.service;
|
||||
|
||||
import com.kakarote.core.common.Result;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
|
||||
@FeignClient(name = "crm" , contextId = "UserAnalyse")
|
||||
public interface CrmUserAnalyseService {
|
||||
|
||||
@PostMapping("/crmGetV3Data/getTaxPreCheckUsage")
|
||||
Result getTaxPreCheckUsage();
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,163 @@
|
|||
package com.kakarote.core.security;
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.bouncycastle.jce.provider.BouncyCastleProvider;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import javax.crypto.AEADBadTagException;
|
||||
import javax.crypto.Cipher;
|
||||
import javax.crypto.KeyGenerator;
|
||||
import javax.crypto.SecretKey;
|
||||
import javax.crypto.spec.GCMParameterSpec;
|
||||
import javax.crypto.spec.SecretKeySpec;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.security.Security;
|
||||
import java.security.SecureRandom;
|
||||
import java.util.Arrays;
|
||||
import java.util.Base64;
|
||||
|
||||
@Slf4j
|
||||
@Component
|
||||
public class EncryptionService {
|
||||
// AES-GCM参数配置
|
||||
private static final int GCM_IV_LENGTH = 12;
|
||||
private static final int GCM_TAG_LENGTH = 16;
|
||||
private static final String AES_ALGORITHM = "AES/GCM/NoPadding";
|
||||
private static final String AES_KEY_ALGORITHM = "AES";
|
||||
|
||||
// 系统主密钥(生产环境应从KMS获取)
|
||||
@Value("${encryption.system-key}")
|
||||
private String systemKey;
|
||||
|
||||
static {
|
||||
// 注册BouncyCastle加密提供者
|
||||
Security.addProvider(new BouncyCastleProvider());
|
||||
}
|
||||
|
||||
/**
|
||||
* AES加密
|
||||
* @param plaintext 明文
|
||||
* @return Base64编码的密文
|
||||
*/
|
||||
public String encryptAes(String plaintext) {
|
||||
try {
|
||||
// 生成随机IV
|
||||
byte[] iv = new byte[GCM_IV_LENGTH];
|
||||
SecureRandom random = new SecureRandom();
|
||||
random.nextBytes(iv);
|
||||
|
||||
// 初始化密钥
|
||||
SecretKey secretKey = new SecretKeySpec(Base64.getDecoder().decode(systemKey), AES_KEY_ALGORITHM);
|
||||
|
||||
// 初始化加密器
|
||||
Cipher cipher = Cipher.getInstance(AES_ALGORITHM);
|
||||
GCMParameterSpec parameterSpec = new GCMParameterSpec(GCM_TAG_LENGTH * 8, iv);
|
||||
cipher.init(Cipher.ENCRYPT_MODE, secretKey, parameterSpec);
|
||||
|
||||
// 执行加密
|
||||
byte[] ciphertext = cipher.doFinal(plaintext.getBytes(StandardCharsets.UTF_8));
|
||||
|
||||
// 组合IV和密文
|
||||
byte[] result = new byte[iv.length + ciphertext.length];
|
||||
System.arraycopy(iv, 0, result, 0, iv.length);
|
||||
System.arraycopy(ciphertext, 0, result, iv.length, ciphertext.length);
|
||||
|
||||
return Base64.getEncoder().encodeToString(result);
|
||||
} catch (Exception e) {
|
||||
log.error("AES加密失败", e);
|
||||
throw new SecurityException("数据加密失败", e);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* AES解密
|
||||
* @param ciphertext Base64编码的密文
|
||||
* @return 明文
|
||||
*/
|
||||
public String decryptAes(String ciphertext) {
|
||||
try {
|
||||
// 解码Base64密文
|
||||
byte[] decoded = Base64.getDecoder().decode(ciphertext);
|
||||
|
||||
// 提取IV(固定取前12字节)
|
||||
byte[] iv = new byte[GCM_IV_LENGTH];
|
||||
System.arraycopy(decoded, 0, iv, 0, iv.length);
|
||||
|
||||
// 提取实际密文
|
||||
byte[] encryptedData = new byte[decoded.length - iv.length];
|
||||
System.arraycopy(decoded, iv.length, encryptedData, 0, encryptedData.length);
|
||||
|
||||
// 初始化密钥
|
||||
SecretKey secretKey = new SecretKeySpec(Base64.getDecoder().decode(systemKey), AES_KEY_ALGORITHM);
|
||||
|
||||
// 初始化解密器
|
||||
Cipher cipher = Cipher.getInstance(AES_ALGORITHM);
|
||||
GCMParameterSpec parameterSpec = new GCMParameterSpec(GCM_TAG_LENGTH * 8, iv);
|
||||
cipher.init(Cipher.DECRYPT_MODE, secretKey, parameterSpec);
|
||||
|
||||
// 执行解密
|
||||
byte[] plaintext = cipher.doFinal(encryptedData);
|
||||
return new String(plaintext, StandardCharsets.UTF_8);
|
||||
} catch (Exception e) {
|
||||
log.error("AES解密失败", e);
|
||||
throw new SecurityException("数据解密失败", e);
|
||||
}
|
||||
}
|
||||
public String deterministicDecryptAes(String ciphertext) {
|
||||
try {
|
||||
// 使用与加密相同的固定IV
|
||||
byte[] fixedIv = new byte[GCM_IV_LENGTH];
|
||||
Arrays.fill(fixedIv, (byte) 0x01);
|
||||
|
||||
// 初始化密钥
|
||||
SecretKey secretKey = new SecretKeySpec(Base64.getDecoder().decode(systemKey), AES_KEY_ALGORITHM);
|
||||
|
||||
// 初始化解密器
|
||||
Cipher cipher = Cipher.getInstance(AES_ALGORITHM);
|
||||
GCMParameterSpec parameterSpec = new GCMParameterSpec(GCM_TAG_LENGTH * 8, fixedIv);
|
||||
cipher.init(Cipher.DECRYPT_MODE, secretKey, parameterSpec);
|
||||
|
||||
// 解码Base64密文(注意:这里不包含IV)
|
||||
byte[] decoded = Base64.getDecoder().decode(ciphertext);
|
||||
|
||||
// 执行解密
|
||||
byte[] plaintext = cipher.doFinal(decoded);
|
||||
return new String(plaintext, StandardCharsets.UTF_8);
|
||||
} catch (AEADBadTagException e) {
|
||||
return decryptAes(ciphertext);
|
||||
}catch (Exception e) {
|
||||
log.error("确定性AES解密失败", e);
|
||||
throw new SecurityException("数据解密失败", e);
|
||||
}
|
||||
}
|
||||
/**
|
||||
* 确定性AES加密(用于查询场景)
|
||||
* 使用固定IV,确保相同明文总是生成相同密文
|
||||
*/
|
||||
public String deterministicEncryptAes(String plaintext) {
|
||||
try {
|
||||
// 使用固定IV(注意:在生产环境中,应考虑使用派生IV而不是固定IV)
|
||||
byte[] fixedIv = new byte[GCM_IV_LENGTH];
|
||||
// 可以使用字段名或其他确定性数据来派生IV
|
||||
Arrays.fill(fixedIv, (byte) 0x01);
|
||||
|
||||
// 初始化密钥
|
||||
SecretKey secretKey = new SecretKeySpec(Base64.getDecoder().decode(systemKey), AES_KEY_ALGORITHM);
|
||||
|
||||
// 初始化加密器
|
||||
Cipher cipher = Cipher.getInstance(AES_ALGORITHM);
|
||||
GCMParameterSpec parameterSpec = new GCMParameterSpec(GCM_TAG_LENGTH * 8, fixedIv);
|
||||
cipher.init(Cipher.ENCRYPT_MODE, secretKey, parameterSpec);
|
||||
|
||||
// 执行加密
|
||||
byte[] ciphertext = cipher.doFinal(plaintext.getBytes(StandardCharsets.UTF_8));
|
||||
|
||||
// 注意:这里不包含IV,因为IV是固定的
|
||||
return Base64.getEncoder().encodeToString(ciphertext);
|
||||
} catch (Exception e) {
|
||||
log.error("确定性AES加密失败", e);
|
||||
throw new SecurityException("数据加密失败", e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,57 @@
|
|||
package com.kakarote.core.security;
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import javax.crypto.KeyGenerator;
|
||||
import javax.crypto.SecretKey;
|
||||
import java.security.SecureRandom;
|
||||
import java.util.Base64;
|
||||
|
||||
@Slf4j
|
||||
@Component
|
||||
public class KeyManager {
|
||||
// 密钥版本
|
||||
@Value("${encryption.key-version:V1}")
|
||||
private String keyVersion;
|
||||
|
||||
// 主密钥(生产环境应从KMS获取)
|
||||
@Value("${encryption.system-key}")
|
||||
private String systemKey;
|
||||
|
||||
/**
|
||||
* 生成新的AES密钥
|
||||
* @return Base64编码的密钥
|
||||
*/
|
||||
public String generateNewAesKey() {
|
||||
try {
|
||||
KeyGenerator keyGenerator = KeyGenerator.getInstance("AES");
|
||||
keyGenerator.init(256, new SecureRandom());
|
||||
SecretKey secretKey = keyGenerator.generateKey();
|
||||
return Base64.getEncoder().encodeToString(secretKey.getEncoded());
|
||||
} catch (Exception e) {
|
||||
log.error("生成AES密钥失败", e);
|
||||
throw new SecurityException("密钥生成失败", e);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 密钥轮换管理
|
||||
*/
|
||||
public void rotateKey() {
|
||||
// 1. 生成新密钥
|
||||
String newKey = generateNewAesKey();
|
||||
|
||||
// 2. 记录密钥版本
|
||||
String newVersion = "V" + (Integer.parseInt(keyVersion.substring(1)) + 1);
|
||||
|
||||
// 3. 将新密钥存储到安全位置
|
||||
// ... 密钥存储逻辑 ...
|
||||
|
||||
// 4. 异步更新数据库中所有旧版本加密数据
|
||||
// ... 数据迁移逻辑 ...
|
||||
|
||||
log.info("密钥轮换完成,新版本: {}", newVersion);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,99 @@
|
|||
package com.kakarote.core.security.converter;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.handlers.AbstractJsonTypeHandler;
|
||||
import com.kakarote.core.common.Const;
|
||||
import com.kakarote.core.security.EncryptionService;
|
||||
import org.apache.ibatis.type.JdbcType;
|
||||
import org.apache.ibatis.type.MappedJdbcTypes;
|
||||
import org.apache.ibatis.type.MappedTypes;
|
||||
import org.springframework.beans.BeansException;
|
||||
import org.springframework.context.ApplicationContext;
|
||||
import org.springframework.context.ApplicationContextAware;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.sql.CallableStatement;
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.SQLException;
|
||||
|
||||
@MappedTypes({String.class})
|
||||
@MappedJdbcTypes({JdbcType.VARCHAR})
|
||||
@Component
|
||||
public class SensitiveDataConverter extends AbstractJsonTypeHandler<String> implements ApplicationContextAware {
|
||||
|
||||
private static ApplicationContext applicationContext;
|
||||
private EncryptionService encryptionService;
|
||||
|
||||
// 无参构造函数,供MyBatis使用
|
||||
public SensitiveDataConverter() {
|
||||
}
|
||||
|
||||
// 带参构造函数,供Spring使用
|
||||
public SensitiveDataConverter(EncryptionService encryptionService) {
|
||||
this.encryptionService = encryptionService;
|
||||
}
|
||||
|
||||
public String getNullableResult(ResultSet resultSet, String s) throws SQLException {
|
||||
String value = resultSet.getString(s);
|
||||
if (value != null && value.startsWith(Const.ENCRYPTED_PREFIX)) {
|
||||
// 修复:使用deterministicDecryptAes方法解密由deterministicEncryptAes加密的数据
|
||||
String encryptedValue = value.substring(Const.ENCRYPTED_PREFIX.length());
|
||||
value = getEncryptionService().deterministicDecryptAes(encryptedValue);
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
|
||||
SensitiveDataConverter.applicationContext = applicationContext;
|
||||
}
|
||||
|
||||
private EncryptionService getEncryptionService() {
|
||||
if (encryptionService == null) {
|
||||
encryptionService = applicationContext.getBean(EncryptionService.class);
|
||||
}
|
||||
return encryptionService;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setNonNullParameter(PreparedStatement preparedStatement, int i, String s, JdbcType jdbcType) throws SQLException {
|
||||
if (s != null && !s.isEmpty() && !s.startsWith(Const.ENCRYPTED_PREFIX)) {
|
||||
// 加密后添加前缀标识
|
||||
s = Const.ENCRYPTED_PREFIX + getEncryptionService().deterministicEncryptAes(s);
|
||||
}
|
||||
preparedStatement.setString(i, s);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public String getNullableResult(ResultSet resultSet, int i) throws SQLException {
|
||||
String value = resultSet.getString(i);
|
||||
if (value != null && value.startsWith(Const.ENCRYPTED_PREFIX)) {
|
||||
// 修复:使用deterministicDecryptAes方法解密由deterministicEncryptAes加密的数据
|
||||
String encryptedValue = value.substring(Const.ENCRYPTED_PREFIX.length());
|
||||
value = getEncryptionService().deterministicDecryptAes(encryptedValue);
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getNullableResult(CallableStatement callableStatement, int i) throws SQLException {
|
||||
String value = callableStatement.getString(i);
|
||||
if (value != null && value.startsWith(Const.ENCRYPTED_PREFIX)) {
|
||||
// 修复:使用deterministicDecryptAes方法解密由deterministicEncryptAes加密的数据
|
||||
String encryptedValue = value.substring(Const.ENCRYPTED_PREFIX.length());
|
||||
value = getEncryptionService().deterministicDecryptAes(encryptedValue);
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String parse(String json) {
|
||||
return "";
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String toJson(String obj) {
|
||||
return "";
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,213 @@
|
|||
package com.kakarote.core.security.util;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import com.kakarote.core.common.Const;
|
||||
import com.kakarote.core.common.FieldEnum;
|
||||
import com.kakarote.core.security.EncryptionService;
|
||||
import com.kakarote.core.servlet.ApplicationContextHolder;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* Elasticsearch数据加密解密工具类
|
||||
*/
|
||||
@Slf4j
|
||||
public class EsDataEncryptUtil {
|
||||
|
||||
private static EncryptionService encryptionService;
|
||||
|
||||
// 日期类型字段的前缀列表,可根据实际情况扩展
|
||||
private static final Set<String> DATE_FIELD_PREFIXES = new HashSet<>(Arrays.asList(
|
||||
"createTime", "updateTime", "lastTime", "startTime", "endTime", "birthDate", "nextContactTime"
|
||||
));
|
||||
private static EncryptionService getEncryptionService() {
|
||||
if (encryptionService == null) {
|
||||
encryptionService = ApplicationContextHolder.getBean(EncryptionService.class);
|
||||
}
|
||||
return encryptionService;
|
||||
}
|
||||
|
||||
/**
|
||||
* 加密Map中的所有String类型字段,但跳过日期类型字段
|
||||
*/
|
||||
public static Map<String, Object> encryptMap(Map<String, Object> map) {
|
||||
if (map == null || map.isEmpty()) {
|
||||
return map;
|
||||
}
|
||||
|
||||
Map<String, Object> encryptedMap = new HashMap<>(map.size());
|
||||
for (Map.Entry<String, Object> entry : map.entrySet()) {
|
||||
String key = entry.getKey();
|
||||
Object value = entry.getValue();
|
||||
// 检查是否为日期类型字段,如果是则不加密
|
||||
if (isDateField(key) && value instanceof String) {
|
||||
encryptedMap.put(key, value);
|
||||
} else {
|
||||
encryptedMap.put(key, encryptValue(value));
|
||||
}
|
||||
}
|
||||
return encryptedMap;
|
||||
}
|
||||
|
||||
/**
|
||||
* 解密Map中的所有字段
|
||||
*/
|
||||
public static Map<String, Object> decryptMap(Map<String, Object> map) {
|
||||
if (map == null || map.isEmpty()) {
|
||||
return map;
|
||||
}
|
||||
|
||||
Map<String, Object> decryptedMap = new HashMap<>(map.size());
|
||||
for (Map.Entry<String, Object> entry : map.entrySet()) {
|
||||
String key = entry.getKey();
|
||||
Object value = entry.getValue();
|
||||
decryptedMap.put(key, decryptValue(key,value));
|
||||
}
|
||||
return decryptedMap;
|
||||
}
|
||||
|
||||
/**
|
||||
* 加密List中每个Map的所有字段
|
||||
*/
|
||||
public static List<Map<String, Object>> encryptMapList(List<Map<String, Object>> list) {
|
||||
if (CollectionUtils.isEmpty(list)) {
|
||||
return list;
|
||||
}
|
||||
|
||||
List<Map<String, Object>> encryptedList = new ArrayList<>(list.size());
|
||||
for (Map<String, Object> map : list) {
|
||||
encryptedList.add(encryptMap(map));
|
||||
}
|
||||
return encryptedList;
|
||||
}
|
||||
|
||||
/**
|
||||
* 解密List中每个Map的所有字段
|
||||
*/
|
||||
public static List<Map<String, Object>> decryptMapList(List<Map<String, Object>> list) {
|
||||
if (CollectionUtils.isEmpty(list)) {
|
||||
return list;
|
||||
}
|
||||
|
||||
List<Map<String, Object>> decryptedList = new ArrayList<>(list.size());
|
||||
for (Map<String, Object> map : list) {
|
||||
decryptedList.add(decryptMap(map));
|
||||
}
|
||||
return decryptedList;
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据值类型进行加密
|
||||
*/
|
||||
@SuppressWarnings("unchecked")
|
||||
private static Object encryptValue(Object value) {
|
||||
if (value == null) {
|
||||
return null;
|
||||
}
|
||||
|
||||
if (value instanceof String) {
|
||||
String strValue = (String) value;
|
||||
// 已经加密的不再重复加密
|
||||
if (!strValue.isEmpty() && !strValue.startsWith(Const.ENCRYPTED_PREFIX)) {
|
||||
return Const.ENCRYPTED_PREFIX + getEncryptionService().deterministicEncryptAes(strValue);
|
||||
}
|
||||
return strValue;
|
||||
} else if (value instanceof Map) {
|
||||
// 递归处理嵌套Map
|
||||
return encryptMap((Map<String, Object>) value);
|
||||
} else if (value instanceof List) {
|
||||
// 递归处理List中的每个元素
|
||||
List<Object> encryptedList = new ArrayList<>();
|
||||
for (Object item : (List<Object>) value) {
|
||||
encryptedList.add(encryptValue(item));
|
||||
}
|
||||
return encryptedList;
|
||||
}
|
||||
// 其他类型保持不变
|
||||
return value;
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据值类型进行解密
|
||||
*/
|
||||
@SuppressWarnings("unchecked")
|
||||
private static Object decryptValue(String key, Object value) {
|
||||
if (value == null) {
|
||||
return null;
|
||||
}
|
||||
|
||||
if (value instanceof String) {
|
||||
String strValue = (String) value;
|
||||
// 对已加密的数据进行解密
|
||||
if (strValue.startsWith(Const.ENCRYPTED_PREFIX)) {
|
||||
String encryptedValue = strValue.substring(Const.ENCRYPTED_PREFIX.length());
|
||||
// 尝试使用确定性解密(用于查询和存储中使用了deterministicEncryptAes的情况)
|
||||
try {
|
||||
String newValue = getEncryptionService().deterministicDecryptAes(encryptedValue);
|
||||
return desensitization(key, newValue);
|
||||
} catch (Exception e) {
|
||||
// 如果确定性解密失败,尝试使用普通解密
|
||||
log.debug("确定性解密失败,尝试普通解密", e);
|
||||
String newValue = getEncryptionService().decryptAes(encryptedValue);
|
||||
return desensitization(key, newValue);
|
||||
}
|
||||
}
|
||||
return strValue;
|
||||
} else if (value instanceof Map) {
|
||||
// 递归处理嵌套Map
|
||||
return decryptMap((Map<String, Object>) value);
|
||||
} else if (value instanceof List) {
|
||||
// 递归处理List中的每个元素
|
||||
List<Object> decryptedList = new ArrayList<>();
|
||||
for (Object item : (List<Object>) value) {
|
||||
decryptedList.add(decryptValue(key, item));
|
||||
}
|
||||
return decryptedList;
|
||||
}
|
||||
// 其他类型保持不变
|
||||
return value;
|
||||
}
|
||||
|
||||
// 数据脱敏
|
||||
private static String desensitization(String key,String value){
|
||||
if ("mobile".equals(key)) {
|
||||
return SensitiveDataMaskUtil.maskPhone(value);
|
||||
}else if ("email".equals(key)) {
|
||||
return SensitiveDataMaskUtil.maskEmail(value);
|
||||
}else if ("ownerDeptName".equals(key)) {
|
||||
return SensitiveDataMaskUtil.maskName(value);
|
||||
}else if ("address".equals(key)) {
|
||||
return SensitiveDataMaskUtil.maskAddress(value);
|
||||
}else if ("telephone".equals(key)) { //详情页联系人姓名
|
||||
return SensitiveDataMaskUtil.maskName(value);
|
||||
}else if ("fliedKjhmgc".equals(key)) {
|
||||
return SensitiveDataMaskUtil.maskAddress(value);
|
||||
} else if ("name".equals(key)) { //联系人模块中的联系人姓名
|
||||
return SensitiveDataMaskUtil.maskName(value);
|
||||
}
|
||||
return value;
|
||||
}
|
||||
/**
|
||||
* 判断字段是否为日期类型字段
|
||||
* @param fieldName 字段名
|
||||
* @return 是否为日期类型字段
|
||||
*/
|
||||
private static boolean isDateField(String fieldName) {
|
||||
// 检查字段名是否以日期字段前缀开头
|
||||
for (String prefix : DATE_FIELD_PREFIXES) {
|
||||
if (fieldName.equals(prefix) || fieldName.endsWith("Time") || fieldName.endsWith("Date")) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
if ("fieldDomqff".equals(fieldName)) {
|
||||
return true;
|
||||
}
|
||||
if ("fieldAcqnin".equals(fieldName)) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,150 @@
|
|||
package com.kakarote.core.security.util;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
|
||||
/**
|
||||
* 敏感数据脱敏工具类
|
||||
* 提供姓名、手机号、地址等敏感信息的脱敏处理
|
||||
*/
|
||||
public class SensitiveDataMaskUtil {
|
||||
|
||||
/**
|
||||
* 对姓名进行脱敏处理
|
||||
* 规则:
|
||||
* 1. 单字名:显示姓氏,其余用*代替
|
||||
* 2. 双字名:显示姓氏,名用*代替
|
||||
* 3. 多字名:显示姓氏和最后一个字,中间用*代替
|
||||
* 4. 长度不足的情况:直接返回原字符串
|
||||
*
|
||||
* @param name 姓名
|
||||
* @return 脱敏后的姓名
|
||||
*/
|
||||
public static String maskName(String name) {
|
||||
if (StringUtils.isBlank(name)) {
|
||||
return StringUtils.EMPTY;
|
||||
}
|
||||
|
||||
int length = name.length();
|
||||
if (length == 1) {
|
||||
// 单字名,直接返回
|
||||
return name;
|
||||
} else if (length == 2) {
|
||||
// 双字名,显示姓氏
|
||||
return name.charAt(0) + "*";
|
||||
} else if (length == 3) {
|
||||
// 三字名,显示姓氏和最后一个字
|
||||
return name.charAt(0) + "*" + name.charAt(2);
|
||||
} else {
|
||||
// 多字名,显示姓氏和最后一个字,中间用*代替
|
||||
return name.charAt(0) + StringUtils.repeat("*", length - 2) + name.charAt(length - 1);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 对手机号码进行脱敏处理
|
||||
* 规则:保留前3位和后4位,中间用*代替
|
||||
*
|
||||
* @param phone 手机号码
|
||||
* @return 脱敏后的手机号码
|
||||
*/
|
||||
public static String maskPhone(String phone) {
|
||||
if (StringUtils.isBlank(phone) || phone.length() < 11) {
|
||||
return phone;
|
||||
}
|
||||
return phone.substring(0, 3) + "****" + phone.substring(7);
|
||||
}
|
||||
|
||||
/**
|
||||
* 对地址进行脱敏处理
|
||||
* 规则:
|
||||
* 1. 保留省、市、区,后面的详细地址用*代替
|
||||
* 2. 如果地址较短,保留前8个字符,后面用*代替
|
||||
*
|
||||
* @param address 地址
|
||||
* @return 脱敏后的地址
|
||||
*/
|
||||
public static String maskAddress(String address) {
|
||||
if (StringUtils.isBlank(address)) {
|
||||
return StringUtils.EMPTY;
|
||||
}
|
||||
|
||||
int length = address.length();
|
||||
if (length <= 8) {
|
||||
// 地址较短,保留前半部分
|
||||
int keepLength = Math.max(1, length / 2);
|
||||
return address.substring(0, keepLength) + StringUtils.repeat("*", length - keepLength);
|
||||
} else {
|
||||
// 地址较长,保留前8个字符
|
||||
return address.substring(0, 8) + "****";
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 对邮箱进行脱敏处理
|
||||
* 规则:保留前2位和域名,中间用*代替
|
||||
*
|
||||
* @param email 邮箱地址
|
||||
* @return 脱敏后的邮箱
|
||||
*/
|
||||
public static String maskEmail(String email) {
|
||||
if (StringUtils.isBlank(email) || !email.contains("@")) {
|
||||
return email;
|
||||
}
|
||||
|
||||
String[] parts = email.split("@");
|
||||
if (parts.length != 2) {
|
||||
return email;
|
||||
}
|
||||
|
||||
String username = parts[0];
|
||||
String domain = parts[1];
|
||||
|
||||
if (username.length() <= 2) {
|
||||
// 用户名较短,全部用*代替
|
||||
return StringUtils.repeat("*", username.length()) + "@" + domain;
|
||||
} else {
|
||||
// 保留前2位,其余用*代替
|
||||
return username.substring(0, 2) + StringUtils.repeat("*", username.length() - 2) + "@" + domain;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 对身份证号进行脱敏处理
|
||||
* 规则:保留前6位和后4位,中间用*代替
|
||||
*
|
||||
* @param idCard 身份证号
|
||||
* @return 脱敏后的身份证号
|
||||
*/
|
||||
public static String maskIdCard(String idCard) {
|
||||
if (StringUtils.isBlank(idCard) || idCard.length() < 18) {
|
||||
return idCard;
|
||||
}
|
||||
return idCard.substring(0, 6) + StringUtils.repeat("*", 8) + idCard.substring(14);
|
||||
}
|
||||
|
||||
/**
|
||||
* 通用脱敏方法
|
||||
*
|
||||
* @param str 原始字符串
|
||||
* @param start 保留的开始位置(包含)
|
||||
* @param end 保留的结束位置(包含)
|
||||
* @return 脱敏后的字符串
|
||||
*/
|
||||
public static String maskGeneral(String str, int start, int end) {
|
||||
if (StringUtils.isBlank(str)) {
|
||||
return StringUtils.EMPTY;
|
||||
}
|
||||
|
||||
int length = str.length();
|
||||
if (start < 0 || end < 0 || start >= length || end >= length || start >= end) {
|
||||
return str;
|
||||
}
|
||||
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.append(str.substring(0, start));
|
||||
sb.append(StringUtils.repeat("*", end - start + 1));
|
||||
sb.append(str.substring(end + 1));
|
||||
|
||||
return sb.toString();
|
||||
}
|
||||
}
|
||||
|
|
@ -50,7 +50,7 @@ jetcache:
|
|||
maxTotal: 50
|
||||
host: ${spring.redis.host}
|
||||
port: ${spring.redis.port}
|
||||
password: ${spring.redis.password}
|
||||
password:
|
||||
expireAfterWriteInMillis: 1800000
|
||||
|
||||
crm:
|
||||
|
|
@ -86,4 +86,9 @@ crm:
|
|||
bucketName:
|
||||
0:
|
||||
1:
|
||||
encryption:
|
||||
system-key: AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8=
|
||||
key-version: V1
|
||||
mybatis:
|
||||
type-handlers-package: com.kakarote.core.security.converter
|
||||
|
||||
|
|
|
|||
Binary file not shown.
Binary file not shown.
Binary file not shown.
75
crm/pom.xml
75
crm/pom.xml
|
|
@ -46,6 +46,70 @@
|
|||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-data-elasticsearch</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.mybatis.generator</groupId>
|
||||
<artifactId>mybatis-generator-core</artifactId>
|
||||
<version>1.4.0</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>net.sf.json-lib</groupId>
|
||||
<artifactId>json-lib</artifactId>
|
||||
<classifier>jdk15</classifier>
|
||||
<version>2.4</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>com.haiti</groupId>
|
||||
<artifactId>haiti</artifactId>
|
||||
<scope>system</scope>
|
||||
<version>3.0</version>
|
||||
<systemPath>${basedir}/lib/haiti-3.0.jar</systemPath>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>com.foresee.platform</groupId>
|
||||
<artifactId>platform-api-sdk</artifactId>
|
||||
<scope>system</scope>
|
||||
<version>1.0</version>
|
||||
<systemPath>${basedir}/lib/platform-api-sdk-1.0.jar</systemPath>
|
||||
</dependency>
|
||||
<!-- https://mvnrepository.com/artifact/org.apache.cxf/cxf-rt-frontend-jaxws -->
|
||||
<dependency>
|
||||
<groupId>org.apache.cxf</groupId>
|
||||
<artifactId>cxf-rt-frontend-jaxws</artifactId>
|
||||
<version>3.4.5</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.apache.cxf</groupId>
|
||||
<artifactId>cxf-rt-transports-http</artifactId>
|
||||
<version>3.4.5</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.cxf</groupId>
|
||||
<artifactId>cxf-rt-transports-http-jetty</artifactId>
|
||||
<version>3.4.5</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>xom</groupId>
|
||||
<artifactId>xom</artifactId>
|
||||
<version>1.2.5</version>
|
||||
</dependency>
|
||||
|
||||
|
||||
<dependency>
|
||||
<groupId>log4j</groupId>
|
||||
<artifactId>log4j</artifactId>
|
||||
<version>1.2.17</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.dtflys.forest</groupId>
|
||||
<artifactId>forest-spring-boot-starter</artifactId>
|
||||
<version>1.5.31</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
|
|
@ -101,6 +165,17 @@
|
|||
</configuration>
|
||||
</plugin>
|
||||
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-surefire-plugin</artifactId>
|
||||
<version>3.0.0-M5</version>
|
||||
<configuration>
|
||||
<argLine>
|
||||
-Djavax.xml.accessExternalDTD=all
|
||||
</argLine>
|
||||
</configuration>
|
||||
</plugin>
|
||||
|
||||
<!--拷贝依赖 copy-dependencies-->
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
|
|||
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
|
||||
import org.springframework.cloud.openfeign.EnableFeignClients;
|
||||
import org.springframework.context.annotation.ComponentScan;
|
||||
import com.dtflys.forest.springboot.annotation.ForestScan;
|
||||
|
||||
/**
|
||||
* @author zhangzhiwei
|
||||
|
|
@ -22,6 +23,7 @@ import org.springframework.context.annotation.ComponentScan;
|
|||
@MapperScan(basePackages = "com.kakarote.crm.mapper")
|
||||
@EnableMethodCache(basePackages = "com.kakarote.crm",order = -9999)
|
||||
@EnableCreateCacheAnnotation
|
||||
@ForestScan(basePackages = "com.kakarote.crm.cilent") // 添加这一行
|
||||
public class CrmApplication {
|
||||
public static void main(String[] args) {
|
||||
System.setProperty("javax.xml.accessExternalSchema","all");
|
||||
|
|
|
|||
|
|
@ -0,0 +1,26 @@
|
|||
package com.kakarote.crm.cilent;
|
||||
|
||||
import com.dtflys.forest.annotation.BaseRequest;
|
||||
import com.dtflys.forest.annotation.Body;
|
||||
import com.dtflys.forest.annotation.Post;
|
||||
import com.dtflys.forest.interceptor.Interceptor;
|
||||
import com.kakarote.crm.entity.DTO.CrmHttpResponseDTO;
|
||||
import com.kakarote.crm.entity.PO.CrmUsageReport;
|
||||
import com.kakarote.crm.entity.VO.CrmQueryUsageReportVO;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
@Component
|
||||
@BaseRequest(baseURL = "https://v3-demo.lqyuns.com/api")
|
||||
public interface V3SystemCilent {
|
||||
@Post(
|
||||
url = "/risk/fxFxzbJcjgZbmx/findUsageReportByNsrsbhOrNsrmc",
|
||||
contentType = "application/json"
|
||||
)
|
||||
CrmHttpResponseDTO<CrmUsageReport> findUsageReportByNsrsbhOrNsrmc(@Body CrmQueryUsageReportVO crmQueryUsageReportVO);
|
||||
|
||||
@Post(
|
||||
url = "/risk/fxFxzbJcjgZbmx/queryReportScreenings",
|
||||
contentType = "application/json"
|
||||
)
|
||||
CrmHttpResponseDTO<String> queryReportScreenings(@Body CrmQueryUsageReportVO crmQueryUsageReportVO);
|
||||
}
|
||||
|
|
@ -8,11 +8,14 @@ import cn.hutool.core.util.StrUtil;
|
|||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.google.common.collect.Lists;
|
||||
import com.kakarote.core.common.Const;
|
||||
import com.kakarote.core.common.FieldEnum;
|
||||
import com.kakarote.core.common.JxcEnum;
|
||||
import com.kakarote.core.common.SystemCodeEnum;
|
||||
import com.kakarote.core.exception.CrmException;
|
||||
import com.kakarote.core.feign.crm.entity.BiParams;
|
||||
import com.kakarote.core.security.EncryptionService;
|
||||
import com.kakarote.core.security.util.EsDataEncryptUtil;
|
||||
import com.kakarote.core.servlet.ApplicationContextHolder;
|
||||
import com.kakarote.core.utils.BiTimeUtil;
|
||||
import com.kakarote.crm.constant.CrmEnum;
|
||||
|
|
@ -249,7 +252,16 @@ public class ElasticUtil {
|
|||
BulkRequest bulkRequest = new BulkRequest();
|
||||
ids.forEach(id -> {
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
map.put(fieldName, value);
|
||||
if (value instanceof String) {
|
||||
String strValue = (String) value;
|
||||
if (!strValue.isEmpty() && !strValue.startsWith(Const.ENCRYPTED_PREFIX)) {
|
||||
map.put(fieldName, Const.ENCRYPTED_PREFIX + ApplicationContextHolder.getBean(EncryptionService.class).deterministicEncryptAes(strValue));
|
||||
} else {
|
||||
map.put(fieldName, value);
|
||||
}
|
||||
} else {
|
||||
map.put(fieldName, value);
|
||||
}
|
||||
UpdateRequest request = new UpdateRequest(index, "_doc", id.toString());
|
||||
request.doc(map);
|
||||
bulkRequest.add(request);
|
||||
|
|
@ -269,8 +281,10 @@ public class ElasticUtil {
|
|||
*/
|
||||
public static void updateField(ElasticsearchRestTemplate template, Map<String, Object> map, Integer id, String index) {
|
||||
try {
|
||||
// 加密字段值
|
||||
Map<String, Object> encryptedMap = EsDataEncryptUtil.encryptMap(map);
|
||||
UpdateRequest request = new UpdateRequest(index, "_doc", id.toString());
|
||||
request.doc(map);
|
||||
request.doc(encryptedMap);
|
||||
template.getClient().update(request, RequestOptions.DEFAULT);
|
||||
template.refresh(index);
|
||||
} catch (IOException e) {
|
||||
|
|
@ -289,10 +303,23 @@ public class ElasticUtil {
|
|||
if (search.getValues().size() == 0 && !Arrays.asList(5, 6).contains(search.getSearchEnum().getType())) {
|
||||
return;
|
||||
}
|
||||
|
||||
// 对需要加密的字段值进行加密处理
|
||||
List<String> encryptedValues = new ArrayList<>();
|
||||
for (String value : search.getValues()) {
|
||||
if (!value.isEmpty() && !value.startsWith(Const.ENCRYPTED_PREFIX)) {
|
||||
// 添加加密前缀并进行AES加密
|
||||
encryptedValues.add(Const.ENCRYPTED_PREFIX + ApplicationContextHolder.getBean(EncryptionService.class).deterministicEncryptAes(value));
|
||||
} else {
|
||||
encryptedValues.add(value);
|
||||
}
|
||||
}
|
||||
search.setValues(encryptedValues);
|
||||
switch (search.getSearchEnum()) {
|
||||
case IS:
|
||||
queryBuilder.filter(QueryBuilders.termsQuery(search.getName(), search.getValues()));
|
||||
break;
|
||||
// 其他搜索条件处理保持不变
|
||||
case IS_NOT:
|
||||
queryBuilder.mustNot(QueryBuilders.termsQuery(search.getName(), search.getValues()));
|
||||
break;
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@ import com.kakarote.core.common.SystemCodeEnum;
|
|||
import com.kakarote.core.exception.CrmException;
|
||||
import com.kakarote.core.feign.admin.entity.SimpleUser;
|
||||
import com.kakarote.core.field.FieldService;
|
||||
import com.kakarote.core.security.util.EsDataEncryptUtil;
|
||||
import com.kakarote.core.servlet.ApplicationContextHolder;
|
||||
import com.kakarote.core.utils.UserCacheUtil;
|
||||
import com.kakarote.crm.constant.CrmEnum;
|
||||
|
|
@ -458,10 +459,12 @@ public class InitEsIndexRunner implements ApplicationRunner {
|
|||
}
|
||||
}
|
||||
});
|
||||
// 在创建IndexRequest之前加密数据
|
||||
Map<String, Object> encryptedMap = EsDataEncryptUtil.encryptMap(map);
|
||||
|
||||
IndexRequest request = new IndexRequest(crmEnum.getIndex(), "_doc");
|
||||
request.id(map.get(crmEnum.getPrimaryKey()).toString());
|
||||
request.source(map);
|
||||
request.id(encryptedMap.get(crmEnum.getPrimaryKey()).toString());
|
||||
request.source(encryptedMap);
|
||||
bulkRequest.add(request);
|
||||
if (bulkRequest.requests().size() >= 1000) {
|
||||
bulk(bulkRequest);
|
||||
|
|
@ -510,7 +513,10 @@ public class InitEsIndexRunner implements ApplicationRunner {
|
|||
}
|
||||
}
|
||||
}
|
||||
request.doc(map);
|
||||
// 在创建UpdateRequest之前加密数据
|
||||
Map<String, Object> encryptedMap = EsDataEncryptUtil.encryptMap(map);
|
||||
|
||||
request.doc(encryptedMap);
|
||||
bulkRequest.add(request);
|
||||
if (bulkRequest.requests().size() >= 1000) {
|
||||
bulk(bulkRequest);
|
||||
|
|
|
|||
|
|
@ -99,6 +99,7 @@ public enum CrmCodeEnum implements ResultCode {
|
|||
THE_FIELD_DETAIL_TABLE_FORMAT_ERROR(2089,"清设置表格内的具体字段!"),
|
||||
CRM_RECEIVABLES_PLAN_ADD_ERROR(2090,"只有审核通过或审核中的合同才可以添加回款计划!"),
|
||||
CRM_CUSTOMER_POOL_NOT_IS_ADMIN(2091, "没有该公海权限,不能进行操作"),
|
||||
CUSTOMER_XX_Y(2092, "客户信息已存在,无法重复添加"),
|
||||
;
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -17,4 +17,10 @@ public class CrmConst extends Const {
|
|||
*/
|
||||
public static final String FIELD_SORT_CACHE_NAME = "CRM:FIELD:SORT:";
|
||||
|
||||
|
||||
public static final String V3_QYFXXX = "/api/risk/fxFxzbJcjgZbmx/openApi/getFxBynsrsbh";
|
||||
|
||||
//通过纳税人名称获取纳税人识别号
|
||||
public static final String V3_GET_NSRSBH = "";
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,24 @@
|
|||
package com.kakarote.crm.constant;
|
||||
|
||||
public enum CrmPoolEnum {
|
||||
FXQYMDPOOL("风险企业名单公海",34555),
|
||||
ZDFDDWMDPOOL("重点辅导单位名单公海",34554),
|
||||
PXQDMDPOOL("培训签到企业名单公海",34553),
|
||||
XDMRPOOL("系统默认公海",34552),
|
||||
GSMGWZKH("公司门户网站客户",34556),
|
||||
GSXKYDJXX("工商新开业登记信息",34557),
|
||||
;
|
||||
private final String name;
|
||||
private final int id;
|
||||
private CrmPoolEnum(String name, int id) {
|
||||
this.name = name;
|
||||
this.id = id;
|
||||
}
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public Integer getId() {
|
||||
return id;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
package com.kakarote.crm.constant;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* 税务接口服务ID
|
||||
*/
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum CrmTaxServiceIdEnum {
|
||||
|
||||
TAX_AUTHORITY_QUERY("JXSW.DZSWJ.CSXT.CXSWJG","税务机关查询服务"),
|
||||
ENTERPRISE_CREDIT_RATING("JXSW.DZSWJ.CSXT.QYXYDJCX", "企业信用等级查询"),
|
||||
ENTERPRISE_RISK_DETAIL("JXSW.DZSWJ.CSXT.QYTSFXMXCX", "查询企业推送风险明细"),
|
||||
TAXPAYER_QUALIFICATION_CODE("JXSW.DZSWJ.CSXT.NSRZGRDXXCX", "查询纳税人资格代码列表"),
|
||||
ENTERPRISE_INSURED_COUNT("JXSW.DZSWJ.CSXT.QYCBRSCX", "查询企业参保人数"),
|
||||
ENTERPRISE_INCOME_TAX_ANNUAL("JXSW.DZSWJ.CSXT.QYSDSNDSBXXCX", "查询企业所得税年度申报信息"),
|
||||
THREE_YEAR_INVOICE_SUMMARY("JXSW.DZSWJ.CSXT.CXFPHZXX", "查询近三年发票汇总"),
|
||||
INDUSTRIAL_COMMERCIAL_REGISTRATION("JXSW.DZSWJ.CSXT.GSDJKYXXCX","查询工商登记信息"),
|
||||
;
|
||||
|
||||
private final String id;
|
||||
|
||||
private final String description;
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
package com.kakarote.crm.constant;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum EnterpriseSizeEnum {
|
||||
WXQY(50,"微型企业"),
|
||||
ZXQY(500,"中小企业"),
|
||||
JTQY(1000,"集团企业");
|
||||
|
||||
private int key;
|
||||
private String value;
|
||||
}
|
||||
|
|
@ -5,7 +5,6 @@ import cn.hutool.core.util.StrUtil;
|
|||
import com.kakarote.core.common.*;
|
||||
import com.kakarote.core.common.log.BehaviorEnum;
|
||||
import com.kakarote.core.common.log.SysLog;
|
||||
import com.kakarote.core.common.log.SysLogHandler;
|
||||
import com.kakarote.core.entity.BasePage;
|
||||
import com.kakarote.core.exception.CrmException;
|
||||
import com.kakarote.core.feign.crm.entity.SimpleCrmEntity;
|
||||
|
|
@ -20,6 +19,7 @@ import com.kakarote.crm.constant.CrmCodeEnum;
|
|||
import com.kakarote.crm.constant.CrmEnum;
|
||||
import com.kakarote.crm.entity.BO.*;
|
||||
import com.kakarote.crm.entity.PO.CrmContacts;
|
||||
import com.kakarote.crm.entity.VO.CrmGetPlaintextVO;
|
||||
import com.kakarote.crm.entity.VO.CrmInfoNumVO;
|
||||
import com.kakarote.crm.entity.VO.CrmMembersSelectVO;
|
||||
import com.kakarote.crm.entity.VO.CrmModelFiledVO;
|
||||
|
|
@ -30,6 +30,7 @@ import io.swagger.annotations.Api;
|
|||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiParam;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
|
|
@ -39,6 +40,8 @@ import java.util.List;
|
|||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static com.kakarote.core.common.SystemCodeEnum.SYSTEM_NO_VALID;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 联系人表 前端控制器
|
||||
|
|
@ -59,6 +62,9 @@ public class CrmContactsController {
|
|||
@Autowired
|
||||
private ICrmTeamMembersService teamMembersService;
|
||||
|
||||
@Value("${app.verify_password}")
|
||||
private String VERIFY_PASSWORD;
|
||||
|
||||
@PostMapping("/queryById/{contactsId}")
|
||||
@ApiOperation("根据ID查询")
|
||||
public Result<CrmModel> queryById(@PathVariable("contactsId") @ApiParam(name = "id", value = "id") Integer contactsId) {
|
||||
|
|
@ -72,7 +78,6 @@ public class CrmContactsController {
|
|||
|
||||
@PostMapping("/deleteByIds")
|
||||
@ApiOperation("根据ID删除数据")
|
||||
@SysLogHandler(behavior = BehaviorEnum.DELETE)
|
||||
public Result deleteByIds(@ApiParam(name = "ids", value = "id列表") @RequestBody List<Integer> ids) {
|
||||
crmContactsService.deleteByIds(ids);
|
||||
return R.ok();
|
||||
|
|
@ -132,7 +137,6 @@ public class CrmContactsController {
|
|||
|
||||
@PostMapping("/changeOwnerUser")
|
||||
@ApiOperation("修改负责人")
|
||||
@SysLogHandler(behavior = BehaviorEnum.CHANGE_OWNER)
|
||||
public Result changeOwnerUser(@RequestBody CrmChangeOwnerUserBO crmChangeOwnerUserBO){
|
||||
crmContactsService.changeOwnerUser(crmChangeOwnerUserBO);
|
||||
return R.ok();
|
||||
|
|
@ -140,7 +144,6 @@ public class CrmContactsController {
|
|||
|
||||
@PostMapping("/batchExportExcel")
|
||||
@ApiOperation("选中导出")
|
||||
@SysLogHandler(behavior = BehaviorEnum.EXCEL_EXPORT,object = "选中导出",detail = "导出联系人")
|
||||
public void batchExportExcel(@RequestBody @ApiParam(name = "ids", value = "id列表") List<Integer> ids, HttpServletResponse response) {
|
||||
CrmSearchBO search = new CrmSearchBO();
|
||||
search.setPageType(0);
|
||||
|
|
@ -156,7 +159,6 @@ public class CrmContactsController {
|
|||
|
||||
@PostMapping("/allExportExcel")
|
||||
@ApiOperation("全部导出")
|
||||
@SysLogHandler(behavior = BehaviorEnum.EXCEL_EXPORT,object = "全部导出",detail = "导出联系人")
|
||||
public void allExportExcel(@RequestBody CrmSearchBO search, HttpServletResponse response) {
|
||||
search.setPageType(0);
|
||||
crmContactsService.exportExcel(response, search);
|
||||
|
|
@ -164,7 +166,6 @@ public class CrmContactsController {
|
|||
|
||||
@PostMapping("/add")
|
||||
@ApiOperation("保存数据")
|
||||
@SysLogHandler(behavior = BehaviorEnum.SAVE, object = "#crmModel.entity[name]", detail = "'新增了联系人:' + #crmModel.entity[name]")
|
||||
public Result add(@RequestBody CrmContactsSaveBO crmModel) {
|
||||
crmContactsService.addOrUpdate(crmModel,false);
|
||||
return R.ok();
|
||||
|
|
@ -179,7 +180,6 @@ public class CrmContactsController {
|
|||
|
||||
@PostMapping("/update")
|
||||
@ApiOperation("修改数据")
|
||||
@SysLogHandler(behavior = BehaviorEnum.UPDATE)
|
||||
public Result update(@RequestBody CrmContactsSaveBO crmModel) {
|
||||
crmContactsService.addOrUpdate(crmModel,false);
|
||||
return R.ok();
|
||||
|
|
@ -220,7 +220,6 @@ public class CrmContactsController {
|
|||
|
||||
@PostMapping("/uploadExcel")
|
||||
@ApiOperation("导入联系人")
|
||||
@SysLogHandler(behavior = BehaviorEnum.EXCEL_IMPORT,object = "导入联系人",detail = "导入联系人")
|
||||
public Result<Long> uploadExcel(@RequestParam("file") MultipartFile file, @RequestParam("repeatHandling") Integer repeatHandling) {
|
||||
UploadExcelBO uploadExcelBO = new UploadExcelBO();
|
||||
uploadExcelBO.setUserInfo(UserUtil.getUser());
|
||||
|
|
@ -233,7 +232,6 @@ public class CrmContactsController {
|
|||
|
||||
@PostMapping("/updateInformation")
|
||||
@ApiOperation("基本信息保存修改")
|
||||
@SysLogHandler(behavior = BehaviorEnum.UPDATE)
|
||||
public Result updateInformation(@RequestBody CrmUpdateInformationBO updateInformationBO) {
|
||||
crmContactsService.updateInformation(updateInformationBO);
|
||||
return R.ok();
|
||||
|
|
@ -253,7 +251,6 @@ public class CrmContactsController {
|
|||
|
||||
@PostMapping("/addMembers")
|
||||
@ApiOperation("新增团队成员")
|
||||
@SysLogHandler(behavior = BehaviorEnum.ADD_MEMBER)
|
||||
public Result addMembers(@RequestBody CrmMemberSaveBO crmMemberSaveBO) {
|
||||
teamMembersService.addMember(CrmEnum.CONTACTS,crmMemberSaveBO);
|
||||
return R.ok();
|
||||
|
|
@ -261,7 +258,6 @@ public class CrmContactsController {
|
|||
|
||||
@PostMapping("/updateMembers")
|
||||
@ApiOperation("新增团队成员")
|
||||
@SysLogHandler(behavior = BehaviorEnum.ADD_MEMBER)
|
||||
public Result updateMembers(@RequestBody CrmMemberSaveBO crmMemberSaveBO) {
|
||||
teamMembersService.addMember(CrmEnum.CONTACTS,crmMemberSaveBO);
|
||||
return R.ok();
|
||||
|
|
@ -269,7 +265,6 @@ public class CrmContactsController {
|
|||
|
||||
@PostMapping("/deleteMembers")
|
||||
@ApiOperation("删除团队成员")
|
||||
@SysLogHandler
|
||||
public Result deleteMembers(@RequestBody CrmMemberSaveBO crmMemberSaveBO) {
|
||||
teamMembersService.deleteMember(CrmEnum.CONTACTS,crmMemberSaveBO);
|
||||
return R.ok();
|
||||
|
|
@ -277,10 +272,20 @@ public class CrmContactsController {
|
|||
|
||||
@PostMapping("/exitTeam/{contactsId}")
|
||||
@ApiOperation("退出团队")
|
||||
@SysLogHandler
|
||||
public Result exitTeam(@PathVariable("contactsId") @ApiParam("联系人ID") Integer contactsId) {
|
||||
teamMembersService.exitTeam(CrmEnum.CONTACTS,contactsId);
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
@PostMapping("/getPlaintext")
|
||||
public Result getPlaintext(@RequestBody CrmGetPlaintextVO plaintextVO) {
|
||||
System.out.println(plaintextVO);
|
||||
// 验证密码
|
||||
if (!plaintextVO.getPassword().equals(VERIFY_PASSWORD) || plaintextVO.getPassword().equals("")) {
|
||||
return Result.error(SYSTEM_NO_VALID,"密码错误或者密码不能为空!");
|
||||
}
|
||||
String plaintext = crmContactsService.getPlaintext(plaintextVO);
|
||||
return Result.ok(plaintext);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -6,7 +6,6 @@ import com.alibaba.fastjson.JSONObject;
|
|||
import com.kakarote.core.common.*;
|
||||
import com.kakarote.core.common.log.BehaviorEnum;
|
||||
import com.kakarote.core.common.log.SysLog;
|
||||
import com.kakarote.core.common.log.SysLogHandler;
|
||||
import com.kakarote.core.entity.BasePage;
|
||||
import com.kakarote.core.exception.CrmException;
|
||||
import com.kakarote.core.feign.admin.entity.AdminConfig;
|
||||
|
|
@ -92,7 +91,6 @@ public class CrmContractController {
|
|||
|
||||
@PostMapping("/deleteByIds")
|
||||
@ApiOperation("根据ID删除数据")
|
||||
@SysLogHandler(behavior = BehaviorEnum.DELETE)
|
||||
public Result deleteByIds(@ApiParam(name = "ids", value = "id列表") @RequestBody List<Integer> ids) {
|
||||
crmContractService.deleteByIds(ids);
|
||||
return R.ok();
|
||||
|
|
@ -119,7 +117,6 @@ public class CrmContractController {
|
|||
|
||||
@PostMapping("/changeOwnerUser")
|
||||
@ApiOperation("修改合同负责人")
|
||||
@SysLogHandler(behavior = BehaviorEnum.CHANGE_OWNER)
|
||||
public Result changeOwnerUser(@RequestBody CrmChangeOwnerUserBO crmChangeOwnerUserBO) {
|
||||
crmContractService.changeOwnerUser(crmChangeOwnerUserBO);
|
||||
return R.ok();
|
||||
|
|
@ -127,7 +124,6 @@ public class CrmContractController {
|
|||
|
||||
@PostMapping("/add")
|
||||
@ApiOperation("保存数据")
|
||||
@SysLogHandler(behavior = BehaviorEnum.SAVE, object = "#crmModel.entity[name]", detail = "'新增了合同:' + #crmModel.entity[name]")
|
||||
public Result add(@RequestBody CrmContractSaveBO crmModel) {
|
||||
crmContractService.addOrUpdate(crmModel);
|
||||
return R.ok();
|
||||
|
|
@ -135,7 +131,6 @@ public class CrmContractController {
|
|||
|
||||
@PostMapping("/update")
|
||||
@ApiOperation("修改数据")
|
||||
@SysLogHandler(behavior = BehaviorEnum.UPDATE)
|
||||
public Result update(@RequestBody CrmContractSaveBO crmModel) {
|
||||
crmContractService.addOrUpdate(crmModel);
|
||||
return R.ok();
|
||||
|
|
@ -156,7 +151,6 @@ public class CrmContractController {
|
|||
|
||||
@PostMapping("/addMembers")
|
||||
@ApiOperation("新增团队成员")
|
||||
@SysLogHandler(behavior = BehaviorEnum.ADD_MEMBER)
|
||||
public Result addMembers(@RequestBody CrmMemberSaveBO crmMemberSaveBO) {
|
||||
teamMembersService.addMember(CrmEnum.CONTRACT,crmMemberSaveBO);
|
||||
return R.ok();
|
||||
|
|
@ -164,7 +158,6 @@ public class CrmContractController {
|
|||
|
||||
@PostMapping("/updateMembers")
|
||||
@ApiOperation("新增团队成员")
|
||||
@SysLogHandler(behavior = BehaviorEnum.ADD_MEMBER)
|
||||
public Result updateMembers(@RequestBody CrmMemberSaveBO crmMemberSaveBO) {
|
||||
teamMembersService.addMember(CrmEnum.CONTRACT,crmMemberSaveBO);
|
||||
return R.ok();
|
||||
|
|
@ -172,7 +165,6 @@ public class CrmContractController {
|
|||
|
||||
@PostMapping("/deleteMembers")
|
||||
@ApiOperation("删除团队成员")
|
||||
@SysLogHandler
|
||||
public Result deleteMembers(@RequestBody CrmMemberSaveBO crmMemberSaveBO) {
|
||||
teamMembersService.deleteMember(CrmEnum.CONTRACT,crmMemberSaveBO);
|
||||
return R.ok();
|
||||
|
|
@ -180,7 +172,6 @@ public class CrmContractController {
|
|||
|
||||
@PostMapping("/exitTeam/{contractId}")
|
||||
@ApiOperation("退出团队")
|
||||
@SysLogHandler
|
||||
public Result exitTeam(@PathVariable("contractId") @ApiParam("合同ID") Integer contractId) {
|
||||
teamMembersService.exitTeam(CrmEnum.CONTRACT,contractId);
|
||||
return R.ok();
|
||||
|
|
@ -273,7 +264,6 @@ public class CrmContractController {
|
|||
|
||||
@ApiOperation(value = "设置合同到期提醒设置")
|
||||
@PostMapping("/setContractConfig")
|
||||
@SysLogHandler(applicationName = "admin", subModel = SubModelType.ADMIN_CUSTOMER_MANAGEMENT, behavior = BehaviorEnum.UPDATE, object = "设置合同到期提醒设置", detail = "设置合同到期提醒设置")
|
||||
public Result setContractConfig(@RequestParam("status") Integer status, @RequestParam(value = "contractDay", required = false, defaultValue = "0") Integer contractDay) {
|
||||
if (status == 1 && contractDay == null) {
|
||||
return R.error(CrmCodeEnum.CRM_CONTRACT_CONFIG_ERROR);
|
||||
|
|
@ -293,7 +283,6 @@ public class CrmContractController {
|
|||
|
||||
@PostMapping("/contractDiscard")
|
||||
@ApiOperation("合同作废")
|
||||
@SysLogHandler
|
||||
public Result contractDiscard(@RequestParam("contractId") Integer contractId) {
|
||||
boolean auth = AuthUtil.isRwAuth(contractId, CrmEnum.CONTRACT,CrmAuthEnum.EDIT);
|
||||
if (auth) {
|
||||
|
|
@ -320,7 +309,6 @@ public class CrmContractController {
|
|||
|
||||
@PostMapping("/batchExportExcel")
|
||||
@ApiOperation("选中导出")
|
||||
@SysLogHandler(behavior = BehaviorEnum.EXCEL_EXPORT, object = "合同导出", detail = "选中导出")
|
||||
public void batchExportExcel(@RequestBody @ApiParam(name = "ids", value = "id列表") List<Integer> ids, HttpServletResponse response) {
|
||||
CrmSearchBO search = new CrmSearchBO();
|
||||
search.setPageType(0);
|
||||
|
|
@ -336,7 +324,6 @@ public class CrmContractController {
|
|||
|
||||
@PostMapping("/allExportExcel")
|
||||
@ApiOperation("全部导出")
|
||||
@SysLogHandler(behavior = BehaviorEnum.EXCEL_EXPORT, object = "合同导出", detail = "全部导出")
|
||||
public void allExportExcel(@RequestBody CrmSearchBO search, HttpServletResponse response) {
|
||||
search.setPageType(0);
|
||||
crmContractService.exportExcel(response, search);
|
||||
|
|
@ -358,7 +345,6 @@ public class CrmContractController {
|
|||
|
||||
@PostMapping("/updateInformation")
|
||||
@ApiOperation("基本信息保存修改")
|
||||
@SysLogHandler(behavior = BehaviorEnum.UPDATE)
|
||||
public Result updateInformation(@RequestBody CrmUpdateInformationBO updateInformationBO) {
|
||||
crmContractService.updateInformation(updateInformationBO);
|
||||
return R.ok();
|
||||
|
|
|
|||
|
|
@ -0,0 +1,44 @@
|
|||
package com.kakarote.crm.controller;
|
||||
|
||||
|
||||
import com.kakarote.core.common.ParamAspect;
|
||||
import com.kakarote.core.common.R;
|
||||
import com.kakarote.core.common.Result;
|
||||
import com.kakarote.crm.entity.PO.CrmCorporatePortrait;
|
||||
import com.kakarote.crm.entity.VO.CrmQueryUsageReportVO;
|
||||
import com.kakarote.crm.service.ICrmCorporatePortraitService;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/crmCorporatePortrait")
|
||||
public class CrmCorporatePortraitController {
|
||||
|
||||
@Autowired
|
||||
private ICrmCorporatePortraitService crmCorporatePortraitService;
|
||||
|
||||
@PostMapping("/queryByNsrmc")
|
||||
@ApiOperation("根据Nsrmc查询")
|
||||
public Result<CrmCorporatePortrait> queryByNsrmc(@RequestBody CrmQueryUsageReportVO crmQueryUsageReportVO) {
|
||||
return R.ok(crmCorporatePortraitService.queryByNsrmc(crmQueryUsageReportVO.getNsrmc()));
|
||||
}
|
||||
|
||||
@PostMapping("/insertCorporatePortrait")
|
||||
@ApiOperation("新增")
|
||||
public Result<Integer> insertCorporatePortrait(@RequestBody CrmCorporatePortrait crmCorporatePortrait){
|
||||
return R.ok(crmCorporatePortraitService.insertCorporatePortrait(crmCorporatePortrait));
|
||||
}
|
||||
|
||||
@PostMapping("/updateCorporatePortrait")
|
||||
@ApiOperation("更新")
|
||||
public Result<Integer> updateCorporatePortrait(@RequestBody CrmCorporatePortrait crmCorporatePortrait){
|
||||
return R.ok(crmCorporatePortraitService.updateCorporatePortrait(crmCorporatePortrait));
|
||||
}
|
||||
|
||||
@GetMapping("deleteCorporatePortrait/{nsrmc}")
|
||||
public Result<Integer> deleteCorporatePortrait(@PathVariable("nsrmc") String nsrmc){
|
||||
return R.ok(crmCorporatePortraitService.deleteCorporatePortrait(nsrmc));
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -25,17 +25,13 @@ import com.kakarote.crm.entity.BO.*;
|
|||
import com.kakarote.crm.entity.PO.CrmContacts;
|
||||
import com.kakarote.crm.entity.PO.CrmCustomer;
|
||||
import com.kakarote.crm.entity.PO.CrmCustomerSetting;
|
||||
import com.kakarote.crm.entity.VO.CrmDataCheckVO;
|
||||
import com.kakarote.crm.entity.VO.CrmInfoNumVO;
|
||||
import com.kakarote.crm.entity.VO.CrmMembersSelectVO;
|
||||
import com.kakarote.crm.entity.VO.CrmModelFiledVO;
|
||||
import com.kakarote.crm.service.CrmUploadExcelService;
|
||||
import com.kakarote.crm.service.ICrmCustomerService;
|
||||
import com.kakarote.crm.service.ICrmTeamMembersService;
|
||||
import com.kakarote.crm.entity.VO.*;
|
||||
import com.kakarote.crm.service.*;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiParam;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
|
|
@ -45,6 +41,8 @@ import java.util.List;
|
|||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static com.kakarote.core.common.SystemCodeEnum.SYSTEM_NO_VALID;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 客户表 前端控制器
|
||||
|
|
@ -71,6 +69,15 @@ public class CrmCustomerController {
|
|||
@Autowired
|
||||
private ICrmTeamMembersService teamMembersService;
|
||||
|
||||
@Autowired
|
||||
private ICrmOpenApiService crmOpenApiService;
|
||||
|
||||
@Autowired
|
||||
private IBatchEncryptionService batchEncryptionService;
|
||||
|
||||
@Value("${app.verify_password}")
|
||||
private String VERIFY_PASSWORD;
|
||||
|
||||
@PostMapping("/queryPageList")
|
||||
@ApiOperation("查询列表页数据")
|
||||
public Result<BasePage<Map<String, Object>>> queryPageList(@RequestBody CrmSearchBO search) {
|
||||
|
|
@ -81,15 +88,14 @@ public class CrmCustomerController {
|
|||
|
||||
@PostMapping("/add")
|
||||
@ApiOperation("保存数据")
|
||||
@SysLogHandler(behavior = BehaviorEnum.SAVE, object = "#crmModel.entity[customerName]", detail = "'新增了客户:' + #crmModel.entity[customerName]")
|
||||
public Result<Map<String, Object>> add(@RequestBody CrmBusinessSaveBO crmModel) {
|
||||
Map<String, Object> map = crmCustomerService.addOrUpdate(crmModel, false, null);
|
||||
// crmOpenApiService.crmAddCustomer(crmModel,"签到");
|
||||
return R.ok(map);
|
||||
}
|
||||
|
||||
@PostMapping("/update")
|
||||
@ApiOperation("修改数据")
|
||||
@SysLogHandler(behavior = BehaviorEnum.UPDATE)
|
||||
public Result<Map<String, Object>> update(@RequestBody CrmBusinessSaveBO crmModel) {
|
||||
Map<String, Object> map = crmCustomerService.addOrUpdate(crmModel, false, null);
|
||||
return R.ok(map);
|
||||
|
|
@ -144,7 +150,6 @@ public class CrmCustomerController {
|
|||
|
||||
@PostMapping("/deleteByIds")
|
||||
@ApiOperation("根据ID删除数据")
|
||||
@SysLogHandler(behavior = BehaviorEnum.DELETE)
|
||||
public Result deleteByIds(@ApiParam(name = "ids", value = "id列表") @RequestBody List<Integer> ids) {
|
||||
crmCustomerService.deleteByIds(ids);
|
||||
return R.ok();
|
||||
|
|
@ -247,7 +252,6 @@ public class CrmCustomerController {
|
|||
|
||||
@PostMapping("/lock")
|
||||
@ApiOperation("锁定或解锁客户")
|
||||
@SysLogHandler
|
||||
public Result lock(@RequestParam("status") Integer status, @RequestParam("ids") String id) {
|
||||
crmCustomerService.lock(status, StrUtil.splitTrim(id, Const.SEPARATOR));
|
||||
return R.ok();
|
||||
|
|
@ -255,7 +259,6 @@ public class CrmCustomerController {
|
|||
|
||||
@PostMapping("/setDealStatus")
|
||||
@ApiOperation("修改客户成交状态")
|
||||
@SysLogHandler(behavior = BehaviorEnum.CHANGE_DEAL_STATUS)
|
||||
public Result setDealStatus(@RequestParam("dealStatus") Integer dealStatus, @RequestParam("ids") String id) {
|
||||
crmCustomerService.setDealStatus(dealStatus, StrUtil.splitTrim(id, Const.SEPARATOR).stream().map(Integer::valueOf).collect(Collectors.toList()));
|
||||
return R.ok();
|
||||
|
|
@ -263,7 +266,6 @@ public class CrmCustomerController {
|
|||
|
||||
@PostMapping("/changeOwnerUser")
|
||||
@ApiOperation("修改客户负责人")
|
||||
@SysLogHandler(behavior = BehaviorEnum.CHANGE_OWNER)
|
||||
public Result changeOwnerUser(@RequestBody CrmChangeOwnerUserBO crmChangeOwnerUserBO) {
|
||||
crmCustomerService.changeOwnerUser(crmChangeOwnerUserBO);
|
||||
return R.ok();
|
||||
|
|
@ -283,7 +285,6 @@ public class CrmCustomerController {
|
|||
|
||||
@PostMapping("/addMembers")
|
||||
@ApiOperation("新增团队成员")
|
||||
@SysLogHandler(behavior = BehaviorEnum.ADD_MEMBER)
|
||||
public Result addMembers(@RequestBody CrmMemberSaveBO crmMemberSaveBO) {
|
||||
teamMembersService.addMember(CrmEnum.CUSTOMER,crmMemberSaveBO);
|
||||
return R.ok();
|
||||
|
|
@ -291,7 +292,6 @@ public class CrmCustomerController {
|
|||
|
||||
@PostMapping("/updateMembers")
|
||||
@ApiOperation("新增团队成员")
|
||||
@SysLogHandler(behavior = BehaviorEnum.ADD_MEMBER)
|
||||
public Result updateMembers(@RequestBody CrmMemberSaveBO crmMemberSaveBO) {
|
||||
teamMembersService.addMember(CrmEnum.CUSTOMER,crmMemberSaveBO);
|
||||
return R.ok();
|
||||
|
|
@ -299,7 +299,6 @@ public class CrmCustomerController {
|
|||
|
||||
@PostMapping("/deleteMembers")
|
||||
@ApiOperation("删除团队成员")
|
||||
@SysLogHandler
|
||||
public Result deleteMembers(@RequestBody CrmMemberSaveBO crmMemberSaveBO) {
|
||||
teamMembersService.deleteMember(CrmEnum.CUSTOMER,crmMemberSaveBO);
|
||||
return R.ok();
|
||||
|
|
@ -307,7 +306,6 @@ public class CrmCustomerController {
|
|||
|
||||
@PostMapping("/exitTeam/{customerId}")
|
||||
@ApiOperation("删除团队成员")
|
||||
@SysLogHandler
|
||||
public Result exitTeam(@PathVariable("customerId") @ApiParam("客户ID") Integer customerId) {
|
||||
teamMembersService.exitTeam(CrmEnum.CUSTOMER,customerId);
|
||||
return R.ok();
|
||||
|
|
@ -368,7 +366,6 @@ public class CrmCustomerController {
|
|||
|
||||
@PostMapping("/batchExportExcel")
|
||||
@ApiOperation("选中导出")
|
||||
@SysLogHandler(behavior = BehaviorEnum.EXCEL_EXPORT,object = "选中导出",detail = "导出客户")
|
||||
public void batchExportExcel(@RequestBody @ApiParam(name = "ids", value = "id列表") List<Integer> ids, HttpServletResponse response) {
|
||||
CrmSearchBO search = new CrmSearchBO();
|
||||
search.setPageType(0);
|
||||
|
|
@ -384,7 +381,6 @@ public class CrmCustomerController {
|
|||
|
||||
@PostMapping("/allExportExcel")
|
||||
@ApiOperation("全部导出")
|
||||
@SysLogHandler(behavior = BehaviorEnum.EXCEL_EXPORT,object = "全部导出",detail = "导出客户")
|
||||
public void allExportExcel(@RequestBody CrmSearchBO search, HttpServletResponse response) {
|
||||
search.setPageType(0);
|
||||
crmCustomerService.exportExcel(response, search);
|
||||
|
|
@ -392,7 +388,6 @@ public class CrmCustomerController {
|
|||
|
||||
@PostMapping("/updateCustomerByIds")
|
||||
@ApiOperation("客户放入公海")
|
||||
@SysLogHandler(behavior = BehaviorEnum.PUT_IN_POOL)
|
||||
public Result updateCustomerByIds(@RequestBody CrmCustomerPoolBO poolBO) {
|
||||
crmCustomerService.updateCustomerByIds(poolBO);
|
||||
return R.ok();
|
||||
|
|
@ -400,7 +395,6 @@ public class CrmCustomerController {
|
|||
|
||||
@PostMapping("/distributeByIds")
|
||||
@ApiOperation("公海分配客户")
|
||||
@SysLogHandler(behavior = BehaviorEnum.DISTRIBUTE)
|
||||
public Result distributeByIds(@RequestBody CrmCustomerPoolBO poolBO) {
|
||||
crmCustomerService.getCustomersByIds(poolBO, 1);
|
||||
return R.ok();
|
||||
|
|
@ -408,7 +402,6 @@ public class CrmCustomerController {
|
|||
|
||||
@PostMapping("/receiveByIds")
|
||||
@ApiOperation("公海领取客户")
|
||||
@SysLogHandler(behavior = BehaviorEnum.RECEIVE)
|
||||
public Result receiveByIds(@RequestBody CrmCustomerPoolBO poolBO) {
|
||||
crmCustomerService.getCustomersByIds(poolBO, 2);
|
||||
return R.ok();
|
||||
|
|
@ -422,7 +415,6 @@ public class CrmCustomerController {
|
|||
|
||||
@PostMapping("/uploadExcel")
|
||||
@ApiOperation("导入客户")
|
||||
@SysLogHandler(behavior = BehaviorEnum.EXCEL_IMPORT,object = "导入客户",detail = "导入客户")
|
||||
public Result<Long> uploadExcel(@RequestParam("file") MultipartFile file, @RequestParam("repeatHandling") Integer repeatHandling) {
|
||||
UploadExcelBO uploadExcelBO = new UploadExcelBO();
|
||||
uploadExcelBO.setUserInfo(UserUtil.getUser());
|
||||
|
|
@ -435,7 +427,6 @@ public class CrmCustomerController {
|
|||
|
||||
@PostMapping("/customerSetting")
|
||||
@ApiOperation("客户规则设置")
|
||||
@SysLogHandler(applicationName = "admin",subModel = SubModelType.ADMIN_CUSTOMER_MANAGEMENT,behavior = BehaviorEnum.UPDATE,object = "修改拥有/锁定客户规则设置",detail = "修改拥有/锁定客户规则设置")
|
||||
public Result customerSetting(@RequestBody CrmCustomerSetting customerSetting) {
|
||||
crmCustomerService.customerSetting(customerSetting);
|
||||
return R.ok();
|
||||
|
|
@ -535,7 +526,6 @@ public class CrmCustomerController {
|
|||
|
||||
@PostMapping("/updateInformation")
|
||||
@ApiOperation("基本信息保存修改")
|
||||
@SysLogHandler(behavior = BehaviorEnum.UPDATE)
|
||||
public Result updateInformation(@RequestBody CrmUpdateInformationBO updateInformationBO) {
|
||||
crmCustomerService.updateInformation(updateInformationBO);
|
||||
return R.ok();
|
||||
|
|
@ -548,5 +538,33 @@ public class CrmCustomerController {
|
|||
String customerName = crmCustomerService.getCustomerName(customerId);
|
||||
return R.ok(customerName);
|
||||
}
|
||||
|
||||
@PostMapping("/queryEncryptCustomerData")
|
||||
@ApiOperation("批量加密客户数据")
|
||||
@ParamAspect
|
||||
public Result encryptCustomerData(@RequestParam(defaultValue = "1000") int pageSize) {
|
||||
batchEncryptionService.batchEncryptCustomerData(pageSize);
|
||||
return Result.ok();
|
||||
}
|
||||
|
||||
@PostMapping("/getPlaintext")
|
||||
public Result getPlaintext(@RequestBody CrmGetPlaintextVO plaintextVO) {
|
||||
// 验证密码
|
||||
if (!plaintextVO.getPassword().equals(VERIFY_PASSWORD) || plaintextVO.getPassword().equals("")) {
|
||||
return Result.error(SYSTEM_NO_VALID,"密码错误或者密码不能为空!");
|
||||
}
|
||||
String plaintext = crmCustomerService.getPlaintext(plaintextVO);
|
||||
return Result.ok(plaintext);
|
||||
}
|
||||
|
||||
//企业画像验证
|
||||
@PostMapping("/verifyPassword")
|
||||
public Result verifyPassword(@RequestBody CrmGetPlaintextVO plaintextVO) {
|
||||
// 验证密码
|
||||
if (!plaintextVO.getPassword().equals(VERIFY_PASSWORD) || plaintextVO.getPassword().equals("")) {
|
||||
return Result.error(SYSTEM_NO_VALID,"密码错误或者密码不能为空!");
|
||||
}
|
||||
return Result.ok();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -6,7 +6,6 @@ import com.alibaba.fastjson.JSONObject;
|
|||
import com.kakarote.core.common.*;
|
||||
import com.kakarote.core.common.log.BehaviorEnum;
|
||||
import com.kakarote.core.common.log.SysLog;
|
||||
import com.kakarote.core.common.log.SysLogHandler;
|
||||
import com.kakarote.core.entity.BasePage;
|
||||
import com.kakarote.core.entity.PageEntity;
|
||||
import com.kakarote.core.exception.CrmException;
|
||||
|
|
@ -18,6 +17,7 @@ import com.kakarote.crm.constant.CrmEnum;
|
|||
import com.kakarote.crm.entity.BO.CrmCustomerPoolBO;
|
||||
import com.kakarote.crm.entity.BO.CrmSearchBO;
|
||||
import com.kakarote.crm.entity.BO.UploadExcelBO;
|
||||
import com.kakarote.crm.entity.DTO.CrmQueryGsdjxxDTO;
|
||||
import com.kakarote.crm.entity.PO.CrmCustomerPool;
|
||||
import com.kakarote.crm.entity.PO.CrmCustomerPoolFieldSort;
|
||||
import com.kakarote.crm.entity.VO.CrmCustomerPoolVO;
|
||||
|
|
@ -25,6 +25,7 @@ import com.kakarote.crm.entity.VO.CrmModelFiledVO;
|
|||
import com.kakarote.crm.service.CrmUploadExcelService;
|
||||
import com.kakarote.crm.service.ICrmCustomerPoolService;
|
||||
import com.kakarote.crm.service.ICrmCustomerService;
|
||||
import com.kakarote.crm.service.ICrmGsdjxxService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
|
@ -34,6 +35,8 @@ import org.springframework.web.multipart.MultipartFile;
|
|||
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.IOException;
|
||||
import java.time.LocalDate;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
|
|
@ -50,7 +53,6 @@ import java.util.Objects;
|
|||
@RequestMapping("/crmCustomerPool")
|
||||
@Api(tags = "公海控制器")
|
||||
@Slf4j
|
||||
@SysLog(logClass = CrmCustomerPoolLog.class)
|
||||
public class CrmCustomerPoolController {
|
||||
|
||||
@Autowired
|
||||
|
|
@ -62,9 +64,23 @@ public class CrmCustomerPoolController {
|
|||
@Autowired
|
||||
private CrmUploadExcelService uploadExcelService;
|
||||
|
||||
@Autowired
|
||||
private ICrmGsdjxxService crmGsdjxxService;
|
||||
|
||||
@ApiOperation("查看公海列表页")
|
||||
@PostMapping("/queryPageList")
|
||||
public Result<BasePage<Map<String, Object>>> queryPageList(@RequestBody CrmSearchBO crmSearchBO) {
|
||||
// if (crmSearchBO.getPoolId() == 34557) {
|
||||
// // 获取当前日期
|
||||
// LocalDate currentDate = LocalDate.now();
|
||||
// // 定义日期格式
|
||||
// DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
||||
// // 格式化日期
|
||||
// String rq = currentDate.format(formatter);
|
||||
// CrmQueryGsdjxxDTO dto = new CrmQueryGsdjxxDTO().setRq(rq);
|
||||
// BasePage<Map<String, Object>> mapBasePage = crmGsdjxxService.queryGsdjxxByDate(dto);
|
||||
// return Result.ok(mapBasePage);
|
||||
// }
|
||||
BasePage<Map<String, Object>> basePage = crmCustomerPoolService.queryPageList(crmSearchBO,false);
|
||||
return Result.ok(basePage);
|
||||
}
|
||||
|
|
@ -85,7 +101,6 @@ public class CrmCustomerPoolController {
|
|||
|
||||
@ApiOperation("修改公海状态")
|
||||
@PostMapping("/changeStatus")
|
||||
@SysLogHandler(applicationName = "admin",subModel = SubModelType.ADMIN_CUSTOMER_MANAGEMENT,behavior = BehaviorEnum.UPDATE)
|
||||
public Result changeStatus(@RequestParam("poolId") Integer poolId, @RequestParam("status") Integer status) {
|
||||
crmCustomerPoolService.changeStatus(poolId, status);
|
||||
return Result.ok();
|
||||
|
|
@ -187,7 +202,6 @@ public class CrmCustomerPoolController {
|
|||
|
||||
@ApiOperation("设置公海规则")
|
||||
@PostMapping("/setCustomerPool")
|
||||
@SysLogHandler(applicationName = "admin",subModel = SubModelType.ADMIN_CUSTOMER_MANAGEMENT,behavior = BehaviorEnum.SAVE,object = "#jsonObject[poolName]",detail = "'添加或修改了公海规则:'+#jsonObject[poolName]")
|
||||
public Result setCustomerPool(@RequestBody JSONObject jsonObject) {
|
||||
crmCustomerPoolService.setCustomerPool(jsonObject);
|
||||
return Result.ok();
|
||||
|
|
@ -209,7 +223,6 @@ public class CrmCustomerPoolController {
|
|||
|
||||
@ApiOperation("删除公海规则")
|
||||
@PostMapping("/deleteCustomerPool")
|
||||
@SysLogHandler(applicationName = "admin",subModel = SubModelType.ADMIN_CUSTOMER_MANAGEMENT,behavior = BehaviorEnum.DELETE)
|
||||
public Result deleteCustomerPool(@RequestParam("poolId") Integer poolId) {
|
||||
crmCustomerPoolService.deleteCustomerPool(poolId);
|
||||
return Result.ok();
|
||||
|
|
@ -238,7 +251,6 @@ public class CrmCustomerPoolController {
|
|||
|
||||
@PostMapping("/transfer")
|
||||
@ApiOperation("公海客户的转移")
|
||||
@SysLogHandler(applicationName = "admin",subModel = SubModelType.ADMIN_CUSTOMER_MANAGEMENT,behavior = BehaviorEnum.UPDATE)
|
||||
public Result transfer(@RequestParam("prePoolId") Integer prePoolId, @RequestParam("postPoolId") Integer postPoolId) {
|
||||
crmCustomerPoolService.transfer(prePoolId, postPoolId);
|
||||
return R.ok();
|
||||
|
|
|
|||
|
|
@ -0,0 +1,39 @@
|
|||
package com.kakarote.crm.controller;
|
||||
|
||||
import com.kakarote.core.common.R;
|
||||
import com.kakarote.core.common.Result;
|
||||
import com.kakarote.crm.entity.PO.CrmDjzclx;
|
||||
import com.kakarote.crm.service.ICrmDjzclxService;
|
||||
import io.swagger.annotations.Api;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/CrmDjzclx")
|
||||
@Api(tags = "登记注册类型")
|
||||
public class CrmDjzclxController {
|
||||
|
||||
@Autowired
|
||||
private ICrmDjzclxService crmDjzclxService;
|
||||
|
||||
@PostMapping("/queryByDjzclxDm/{djzclxDm}")
|
||||
public Result<CrmDjzclx> queryByDjzclxDm(@PathVariable("djzclxDm") String djzclxDm) {
|
||||
CrmDjzclx crmDjzclx = crmDjzclxService.queryByDjzclxDm(djzclxDm);
|
||||
return R.ok(crmDjzclx);
|
||||
}
|
||||
|
||||
@PostMapping("/insert")
|
||||
public Result<Integer> insert(@RequestBody CrmDjzclx crmDjzclx) {
|
||||
return R.ok(crmDjzclxService.insert(crmDjzclx));
|
||||
}
|
||||
|
||||
@PostMapping("/delete")
|
||||
public Result<Integer> delete(@RequestBody CrmDjzclx crmDjzclx) {
|
||||
return R.ok(crmDjzclxService.delete(crmDjzclx));
|
||||
}
|
||||
|
||||
@PostMapping("/update")
|
||||
public Result<Integer> update(@RequestBody CrmDjzclx crmDjzclx) {
|
||||
return R.ok(crmDjzclxService.update(crmDjzclx));
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
package com.kakarote.crm.controller;
|
||||
|
||||
public class CrmEnterpriseProfileController {
|
||||
}
|
||||
|
|
@ -0,0 +1,48 @@
|
|||
package com.kakarote.crm.controller;
|
||||
import com.kakarote.core.common.Result;
|
||||
import com.kakarote.crm.entity.PO.CrmUserAnalyse;
|
||||
import com.kakarote.crm.entity.VO.CrmV3SysRiskDataExposedVo;
|
||||
import com.kakarote.crm.service.ICrmQyfxjcjgService;
|
||||
import com.kakarote.crm.service.ICrmUserAnalyseService;
|
||||
import com.kakarote.crm.service.ICrmQyfxjcjgZbmxService;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/crmGetV3Data")
|
||||
public class CrmGetV3SysRiskDataController {
|
||||
|
||||
@Autowired
|
||||
private ICrmQyfxjcjgService iCrmQyfxjcjgService;
|
||||
|
||||
@Autowired
|
||||
private ICrmQyfxjcjgZbmxService crmQyfxjcjgZbmxService;
|
||||
|
||||
@Autowired
|
||||
private ICrmUserAnalyseService iCrmUserAnalyseService;
|
||||
|
||||
@PostMapping(value = "/resp")
|
||||
public Result getV3SysRiskData(@RequestBody CrmV3SysRiskDataExposedVo crmV3SysRiskDataExposedVo) throws IOException {
|
||||
return Result.ok(iCrmQyfxjcjgService.getLocalRiskData(crmV3SysRiskDataExposedVo));
|
||||
}
|
||||
|
||||
@PostMapping("/riskJcmx/{jcId}")
|
||||
public Result getRiskJcmc(@PathVariable String jcId){
|
||||
return Result.ok(crmQyfxjcjgZbmxService.getQyfxjcjgZbmxListByJcId(jcId));
|
||||
}
|
||||
|
||||
@PostMapping(value = "/getTaxPreCheckUsage")
|
||||
public Result getTaxPreCheckUsage() throws IOException {
|
||||
return Result.ok(iCrmUserAnalyseService.addUserAnalyse());
|
||||
}
|
||||
|
||||
@PostMapping("/syncTaxPreCheckUsageByMonth/{month}")
|
||||
@ApiOperation("根据月份同步税务预检使用情况信息")
|
||||
public Result<List<CrmUserAnalyse>> syncTaxPreCheckUsageByMonth(@PathVariable String month){
|
||||
return Result.ok(iCrmUserAnalyseService.syncTaxPreCheckUsageByMonth(month));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,46 @@
|
|||
package com.kakarote.crm.controller;
|
||||
|
||||
|
||||
import com.kakarote.core.common.R;
|
||||
import com.kakarote.core.common.Result;
|
||||
import com.kakarote.core.entity.BasePage;
|
||||
import com.kakarote.crm.entity.DTO.CrmQueryGsdjxxDTO;
|
||||
import com.kakarote.crm.entity.PO.CrmGsdjxx;
|
||||
import com.kakarote.crm.entity.VO.CrmQueryGsdjxxVO;
|
||||
import com.kakarote.crm.service.ICrmGsdjxxService;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/crmGsdjxx")
|
||||
public class CrmGsdjxxController {
|
||||
|
||||
@Autowired
|
||||
private ICrmGsdjxxService iCrmGsdjxxService;
|
||||
|
||||
@PostMapping("/queryByMonthAndXzqhDm")
|
||||
@ApiOperation("根据月份和行政区划代码查询工商登记信息")
|
||||
public Result<List<CrmQueryGsdjxxVO>> queryByMonthAndXzqhDm(@RequestBody CrmQueryGsdjxxDTO crmQueryGsdjxxDTO) throws Exception {
|
||||
List<CrmQueryGsdjxxVO> crmQueryGsdjxxVOList = iCrmGsdjxxService.queryByMonthAndXzqhDm(crmQueryGsdjxxDTO);
|
||||
return R.ok(crmQueryGsdjxxVOList);
|
||||
}
|
||||
|
||||
@PostMapping("/queryByNsrmc/{nsrmc}")
|
||||
@ApiOperation("根据纳税人名称查询")
|
||||
public Result<List<CrmGsdjxx>> queryByNsrmc(@PathVariable String nsrmc) {
|
||||
List<CrmGsdjxx> crmGsdjxxList = iCrmGsdjxxService.queryByNsrmc(nsrmc);
|
||||
return R.ok(crmGsdjxxList);
|
||||
}
|
||||
|
||||
@PostMapping("/queryGsdjxxByDate")
|
||||
@ApiOperation("根据日期查询(默认是当天)")
|
||||
public Result<BasePage<Map<String, Object>>> queryGsdjxxByDate(@RequestBody CrmQueryGsdjxxDTO crmQueryGsdjxxDTO) {
|
||||
BasePage<Map<String, Object>> basePage = iCrmGsdjxxService.queryGsdjxxByDate(crmQueryGsdjxxDTO);
|
||||
return R.ok(basePage);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
package com.kakarote.crm.controller;
|
||||
|
||||
import com.kakarote.core.common.R;
|
||||
import com.kakarote.core.common.Result;
|
||||
import com.kakarote.crm.entity.PO.CrmHyDm;
|
||||
import com.kakarote.crm.service.ICrmHyDmService;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/crmHydm")
|
||||
public class CrmHyDmController {
|
||||
|
||||
@Autowired
|
||||
private ICrmHyDmService crmHyDmService;
|
||||
|
||||
@GetMapping("/queryByHyDm/{hyDm}")
|
||||
@ApiOperation("根据行业代码查询")
|
||||
public Result<CrmHyDm> queryByHyDm(@PathVariable("hyDm") String hyDm) {
|
||||
return R.ok(crmHyDmService.queryByHyDm(hyDm));
|
||||
}
|
||||
}
|
||||
|
|
@ -15,8 +15,10 @@ import com.kakarote.crm.constant.CrmEnum;
|
|||
import com.kakarote.crm.entity.BO.CrmSearchParamsBO;
|
||||
import com.kakarote.crm.entity.PO.CrmActivity;
|
||||
import com.kakarote.crm.entity.VO.CrmModelFiledVO;
|
||||
import com.kakarote.crm.mapper.CrmInstrumentMapper;
|
||||
import com.kakarote.crm.service.CrmInstrumentService;
|
||||
import com.kakarote.crm.service.ICrmInstrumentSortService;
|
||||
import com.kakarote.crm.service.ICrmUserAnalyseService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
|
@ -27,11 +29,13 @@ import org.apache.poi.ss.usermodel.DataFormat;
|
|||
import org.apache.poi.ss.usermodel.HorizontalAlignment;
|
||||
import org.apache.poi.ss.util.CellRangeAddress;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.IOException;
|
||||
import java.time.LocalDate;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
|
@ -57,6 +61,8 @@ public class CrmInstrumentController {
|
|||
@Autowired
|
||||
private CrmInstrumentService instrumentService;
|
||||
|
||||
@Autowired
|
||||
private ICrmUserAnalyseService iCrmUserAnalyseService;
|
||||
|
||||
|
||||
@PostMapping("/queryModelSort")
|
||||
|
|
@ -302,4 +308,12 @@ public class CrmInstrumentController {
|
|||
|
||||
}
|
||||
|
||||
@PostMapping("/getTaxPreCheckUsage")
|
||||
@ApiOperation("获得税务预检使用情况")
|
||||
public Result<JSONObject> getTaxPreCheckUsage(@RequestBody BiParams biParams){
|
||||
System.out.println(biParams.getType());
|
||||
JSONObject jsonObject = instrumentService.getTaxPreCheckUsage(biParams);
|
||||
return R.ok(jsonObject);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,73 @@
|
|||
package com.kakarote.crm.controller;
|
||||
|
||||
|
||||
import com.kakarote.core.common.ParamAspect;
|
||||
import com.kakarote.core.common.R;
|
||||
import com.kakarote.core.common.Result;
|
||||
import com.kakarote.crm.entity.DTO.CrmSyncNsrzgDTO;
|
||||
import com.kakarote.crm.entity.PO.CrmNsrzg;
|
||||
import com.kakarote.crm.service.ICrmNsrzgService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiParam;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/crmNsrzg")
|
||||
@Api(tags = "纳税人资格信息")
|
||||
public class CrmNsrzgController {
|
||||
|
||||
@Autowired
|
||||
private ICrmNsrzgService crmNsrzgService;
|
||||
|
||||
@PostMapping("/queryById/{nsrdjzgId}")
|
||||
@ApiOperation("根据ID查询")
|
||||
@ParamAspect
|
||||
public Result<CrmNsrzg> queryById(@PathVariable("nsrdjzgId") @ApiParam(name = "id", value = "纳税人资格ID") Integer nsrdjzgId) {
|
||||
CrmNsrzg nsrzg = crmNsrzgService.getNsrzg(nsrdjzgId);
|
||||
return R.ok(nsrzg);
|
||||
}
|
||||
|
||||
@PostMapping("/queryByNsrsbh/{nsrsbh}")
|
||||
@ApiOperation("根据Nsrsbh查询")
|
||||
public Result<CrmNsrzg> queryByNsrsbh(@PathVariable("nsrsbh") String nsrsbh){
|
||||
CrmNsrzg nsrzg = crmNsrzgService.getNsrzgByNsrsbh(nsrsbh);
|
||||
return R.ok(nsrzg);
|
||||
}
|
||||
|
||||
@PostMapping("/queryByDjxh")
|
||||
@ApiOperation("根据Djxh查询")
|
||||
public Result<List<CrmNsrzg>> queryByDjxh(@RequestBody CrmSyncNsrzgDTO crmSyncNsrzgDTO) throws Exception {
|
||||
List<CrmNsrzg> nsrzgs = crmNsrzgService.queryByDjxh(crmSyncNsrzgDTO);
|
||||
return R.ok(nsrzgs);
|
||||
}
|
||||
|
||||
@PostMapping("/syncDataByDjxh")
|
||||
@ApiOperation("根据登记序号同步WebService数据至数据库")
|
||||
public Result<List<CrmNsrzg>> syncDataByDjxh(@RequestBody CrmSyncNsrzgDTO crmSyncNsrzgDTO) throws Exception {
|
||||
List<CrmNsrzg> crmNsrzgs = crmNsrzgService.syncDataByDjxh(crmSyncNsrzgDTO);
|
||||
return R.ok(crmNsrzgs);
|
||||
}
|
||||
|
||||
|
||||
@PostMapping("/add")
|
||||
@ApiOperation("保存数据")
|
||||
public Result add(@RequestBody CrmNsrzg crmNsrzg) {
|
||||
return R.ok(crmNsrzgService.insertNsrzg(crmNsrzg));
|
||||
}
|
||||
|
||||
@PostMapping("/deleteById/{nsrdjzgId}")
|
||||
@ApiOperation("根据ID删除数据")
|
||||
public Result deleteById(@PathVariable("nsrdjzgId") String nsrdjzgId){
|
||||
return R.ok(crmNsrzgService.deleteNsrzg(nsrdjzgId));
|
||||
}
|
||||
|
||||
@PostMapping("/update")
|
||||
@ApiOperation("更新数据")
|
||||
public Result update(@RequestBody CrmNsrzg crmNsrzg){
|
||||
return R.ok(crmNsrzgService.updateNsrzg(crmNsrzg));
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,33 @@
|
|||
package com.kakarote.crm.controller;
|
||||
|
||||
import com.kakarote.core.common.ParamAspect;
|
||||
import com.kakarote.core.common.R;
|
||||
import com.kakarote.core.common.Result;
|
||||
import com.kakarote.crm.entity.BO.CrmAddCustomerBo;
|
||||
import com.kakarote.crm.entity.BO.CrmBusinessSaveBO;
|
||||
import com.kakarote.crm.entity.BO.CrmQdInfoBo;
|
||||
import com.kakarote.crm.service.ICrmOpenApiService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/crmOpenApi")
|
||||
@Api(tags = "crm对外接口")
|
||||
public class CrmOpenApiController {
|
||||
|
||||
@Autowired
|
||||
private ICrmOpenApiService crmOpenApiService;
|
||||
|
||||
@PostMapping("/crm/addCorporateSeas")
|
||||
@ApiOperation("接口新增公海数据")
|
||||
@ParamAspect
|
||||
public Result addCorporateSeas(@RequestBody CrmQdInfoBo crmModel){
|
||||
CrmBusinessSaveBO crmBusinessSaveBO = crmOpenApiService.assemblyRequestData(crmModel);
|
||||
return R.ok(crmBusinessSaveBO);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,73 @@
|
|||
package com.kakarote.crm.controller;
|
||||
|
||||
|
||||
import com.kakarote.core.common.ParamAspect;
|
||||
import com.kakarote.core.common.R;
|
||||
import com.kakarote.core.common.Result;
|
||||
import com.kakarote.crm.entity.DTO.CrmSyncQycbrsDTO;
|
||||
import com.kakarote.crm.entity.PO.CrmQycbrs;
|
||||
import com.kakarote.crm.entity.DTO.CrmParamAndTimeDTO;
|
||||
import com.kakarote.crm.service.ICrmQycbrsService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiParam;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/crmQycbrs")
|
||||
@Api(tags = "企业参保人数信息")
|
||||
public class CrmQycbrsController {
|
||||
|
||||
@Autowired
|
||||
private ICrmQycbrsService crmQycbrsService;
|
||||
|
||||
@PostMapping("/syncDataByDjxhAndYf")
|
||||
@ApiOperation("根据登记序号和月份同步WebService数据至数据库")
|
||||
@ParamAspect
|
||||
public Result<List<CrmQycbrs>> syncDataByDjxhAndYf(@RequestBody CrmSyncQycbrsDTO crmSyncQycbrsDTO) throws Exception {
|
||||
List<CrmQycbrs> crmQycbrs = crmQycbrsService.syncDataByDjxhAndYf(crmSyncQycbrsDTO);
|
||||
return R.ok(crmQycbrs);
|
||||
}
|
||||
|
||||
@PostMapping("/queryById/{qycbrsId}")
|
||||
@ApiOperation("根据ID查询")
|
||||
@ParamAspect
|
||||
public Result<CrmQycbrs> queryById(@PathVariable("qycbrsId") @ApiParam(name = "id", value = "企业参保人数ID") Integer qycbrsId) {
|
||||
CrmQycbrs qyjxfp = crmQycbrsService.getQycbrs(qycbrsId);
|
||||
return R.ok(qyjxfp);
|
||||
}
|
||||
|
||||
@PostMapping("/queryByNsrsbhAndTime")
|
||||
public Result<List<CrmQycbrs>> queryByNsrsbhAndTime(@RequestBody CrmParamAndTimeDTO vo) {
|
||||
List<CrmQycbrs> qycbrsList = crmQycbrsService.getQycbrsListByNsrsbhAndTime(vo);
|
||||
return R.ok(qycbrsList);
|
||||
}
|
||||
|
||||
@PostMapping("/queryByDjxhAndTime")
|
||||
@ApiOperation("根据登记序号和月份(选填)查询")
|
||||
public Result<List<CrmQycbrs>> queryByDjxhAndTime(@RequestBody CrmParamAndTimeDTO dto) throws Exception {
|
||||
List<CrmQycbrs> qycbrsList = crmQycbrsService.queryByDjxhAndTime(dto);
|
||||
return R.ok(qycbrsList);
|
||||
}
|
||||
|
||||
@PostMapping("/add")
|
||||
@ApiOperation("保存数据")
|
||||
public Result add(@RequestBody CrmQycbrs crmQycbrs) {
|
||||
return R.ok(crmQycbrsService.insertQycbrs(crmQycbrs));
|
||||
}
|
||||
|
||||
@PostMapping("/deleteById/{qycbrsId}")
|
||||
@ApiOperation("根据ID删除数据")
|
||||
public Result deleteById(@PathVariable("qycbrsId") String qycbrsId){
|
||||
return R.ok(crmQycbrsService.deleteQycbrs(qycbrsId));
|
||||
}
|
||||
|
||||
@PostMapping("/update")
|
||||
@ApiOperation("更新数据")
|
||||
public Result update(@RequestBody CrmQycbrs crmQycbrs){
|
||||
return R.ok(crmQycbrsService.updateQycbrs(crmQycbrs));
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,72 @@
|
|||
package com.kakarote.crm.controller;
|
||||
|
||||
import com.kakarote.core.common.ParamAspect;
|
||||
import com.kakarote.core.common.R;
|
||||
import com.kakarote.core.common.Result;
|
||||
import com.kakarote.crm.entity.DTO.CrmSyncQyfxmxDTO;
|
||||
import com.kakarote.crm.entity.PO.CrmQyfxmx;
|
||||
import com.kakarote.crm.entity.DTO.CrmParamAndTimeDTO;
|
||||
import com.kakarote.crm.service.ICrmQyfxmxService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiParam;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/crmQyfxmx")
|
||||
@Api(tags = "企业风险明细信息")
|
||||
public class CrmQyfxmxController {
|
||||
|
||||
@Autowired
|
||||
private ICrmQyfxmxService crmQyfxmxService;
|
||||
|
||||
@PostMapping("/syncDataByDjxhAndPjnd")
|
||||
@ApiOperation("根据登记序号和评价年度同步WebService数据至数据库")
|
||||
public Result<List<CrmQyfxmx>> syncDataByDjxhAndPjnd(@RequestBody CrmSyncQyfxmxDTO crmSyncQyfxmxDTO) throws Exception {
|
||||
List<CrmQyfxmx> crmQyfxmxList = crmQyfxmxService.syncDataByDjxhAndPjnd(crmSyncQyfxmxDTO);
|
||||
return R.ok(crmQyfxmxList);
|
||||
}
|
||||
|
||||
@PostMapping("/queryById/{qyzbmxId}")
|
||||
@ApiOperation("根据ID查询")
|
||||
@ParamAspect
|
||||
public Result<CrmQyfxmx> queryById(@PathVariable("qyzbmxId") @ApiParam(name = "id", value = "企业指标明细ID") Integer qyzbmxId) {
|
||||
CrmQyfxmx qyfxmx = crmQyfxmxService.getQyfxmx(qyzbmxId);
|
||||
return R.ok(qyfxmx);
|
||||
}
|
||||
|
||||
@PostMapping("/queryByNsrsbhAndTime")
|
||||
@ApiOperation("根据纳税人识别号和月份(选填)查询")
|
||||
public Result<List<CrmQyfxmx>> queryByNsrsbhAndTime(@RequestBody CrmParamAndTimeDTO vo){
|
||||
List<CrmQyfxmx> qyfxmxList = crmQyfxmxService.getQyfxmxListByNsrsbhAndTime(vo);
|
||||
return R.ok(qyfxmxList);
|
||||
}
|
||||
|
||||
@PostMapping("/queryByDjxhAndTime")
|
||||
@ApiOperation("根据登记序号和评价年度(选填)查询")
|
||||
public Result<List<CrmQyfxmx>> queryByDjxhAndTime(@RequestBody CrmParamAndTimeDTO dto) throws Exception {
|
||||
List<CrmQyfxmx> qyfxmxList = crmQyfxmxService.queryByDjxhAndTime(dto);
|
||||
return R.ok(qyfxmxList);
|
||||
}
|
||||
|
||||
@PostMapping("/add")
|
||||
@ApiOperation("保存数据")
|
||||
public Result add(@RequestBody CrmQyfxmx crmQyfxmx) {
|
||||
return R.ok(crmQyfxmxService.insertQyfxmx(crmQyfxmx));
|
||||
}
|
||||
|
||||
@PostMapping("/deleteById/{qyzbmxId}")
|
||||
@ApiOperation("根据ID删除数据")
|
||||
public Result deleteById(@PathVariable("qyzbmxId") String qyzbmxId){
|
||||
return R.ok(crmQyfxmxService.deleteQyfxmx(qyzbmxId));
|
||||
}
|
||||
|
||||
@PostMapping("/update")
|
||||
@ApiOperation("更新数据")
|
||||
public Result update(@RequestBody CrmQyfxmx crmQyfxmx){
|
||||
return R.ok(crmQyfxmxService.updateQyfxmx(crmQyfxmx));
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,67 @@
|
|||
package com.kakarote.crm.controller;
|
||||
|
||||
import com.kakarote.core.common.ParamAspect;
|
||||
import com.kakarote.core.common.R;
|
||||
import com.kakarote.core.common.Result;
|
||||
import com.kakarote.crm.entity.BO.QyjbxxBo;
|
||||
import com.kakarote.crm.entity.DTO.CrmSyncQyjbxxDTO;
|
||||
import com.kakarote.crm.entity.PO.CrmQyjbxx;
|
||||
import com.kakarote.crm.service.ICrmQyjbxxService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiParam;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/crmQyjbxx")
|
||||
@Api(tags = "企业基本信息")
|
||||
public class CrmQyjbxxController {
|
||||
|
||||
@Autowired
|
||||
private ICrmQyjbxxService crmQyjbxxService;
|
||||
|
||||
@PostMapping("/sync")
|
||||
@ParamAspect
|
||||
public void syncQyjbxx(){
|
||||
crmQyjbxxService.syncQyjbxx();
|
||||
}
|
||||
|
||||
@PostMapping("/syncDataBySwjgdmAndTime")
|
||||
@ApiOperation("根据事务机关代码和起止时间同步WebService数据至数据库")
|
||||
public Result<List<CrmQyjbxx>> syncDataBySwjgdmAndTime(@RequestBody CrmSyncQyjbxxDTO crmSyncQyjbxxDTO) throws Exception {
|
||||
List<CrmQyjbxx> crmQyjbxxList = crmQyjbxxService.syncDataBySwjgdmAndTime(crmSyncQyjbxxDTO);
|
||||
return R.ok(crmQyjbxxList);
|
||||
}
|
||||
|
||||
@PostMapping("/queryById/{qyId}")
|
||||
@ApiOperation("根据ID查询")
|
||||
@ParamAspect
|
||||
public Result<CrmQyjbxx> queryById(@PathVariable("qyId") @ApiParam(name = "id", value = "id") Integer qyId) {
|
||||
CrmQyjbxx qyjbxx = crmQyjbxxService.getQyjbxx(qyId);
|
||||
return R.ok(qyjbxx);
|
||||
}
|
||||
|
||||
@PostMapping("/add")
|
||||
@ApiOperation("保存数据")
|
||||
public Result add(@RequestBody CrmQyjbxx crmQyjbxx) {
|
||||
return R.ok(crmQyjbxxService.insertQyjbxx(crmQyjbxx));
|
||||
}
|
||||
|
||||
@PostMapping("/queryByCustomerId")
|
||||
@ApiOperation("根据纳税人识别号查询企业基本信息")
|
||||
public Result<CrmQyjbxx> queryByCustomerId(@RequestBody QyjbxxBo qyjbxxBo) {
|
||||
CrmQyjbxx qyjbxxByCustomerId = crmQyjbxxService.getQyJbxxByCustomer(qyjbxxBo);
|
||||
return R.ok(qyjbxxByCustomerId);
|
||||
}
|
||||
|
||||
@PostMapping("/queryByNsrmc/{nsrmc}")
|
||||
@ApiOperation("根据纳税人名称查询企业基本信息")
|
||||
public Result<CrmQyjbxx> queryByNsrmc(@PathVariable("nsrmc") @ApiParam(name = "nsrmc", value = "nsrmc") String nsrmc){
|
||||
CrmQyjbxx qyjbxxByNsrsbh = crmQyjbxxService.getQyjbxxByNsrmc(nsrmc);
|
||||
return R.ok(qyjbxxByNsrsbh);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,75 @@
|
|||
package com.kakarote.crm.controller;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.kakarote.core.common.ParamAspect;
|
||||
import com.kakarote.core.common.R;
|
||||
import com.kakarote.core.common.Result;
|
||||
import com.kakarote.crm.entity.DTO.CrmSyncQyjxfpAndQyxxfpDTO;
|
||||
import com.kakarote.crm.entity.PO.CrmQyjxfp;
|
||||
import com.kakarote.crm.entity.VO.CrmMergeListVO;
|
||||
import com.kakarote.crm.entity.DTO.CrmParamAndTimeDTO;
|
||||
import com.kakarote.crm.service.ICrmQyjxfpService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiParam;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/crmQyjxfp")
|
||||
@Api(tags = "企业进项发票信息")
|
||||
public class CrmQyjxfpController {
|
||||
|
||||
@Autowired
|
||||
private ICrmQyjxfpService crmQyjxfpService;
|
||||
|
||||
@PostMapping("/syncDataByShxydm")
|
||||
@ApiOperation("根据社会信用代码同步WebService数据至数据库")
|
||||
public Result<CrmMergeListVO> syncDataByShxydm(@RequestBody CrmSyncQyjxfpAndQyxxfpDTO dto) throws Exception {
|
||||
String year = String.valueOf(DateUtil.thisYear());
|
||||
CrmMergeListVO crmMergeListVO = crmQyjxfpService.syncDataByShxydm(dto,year);
|
||||
return R.ok(crmMergeListVO);
|
||||
}
|
||||
|
||||
|
||||
@PostMapping("/queryById/{qyjxfpId}")
|
||||
@ApiOperation("根据ID查询")
|
||||
@ParamAspect
|
||||
public Result<CrmQyjxfp> queryById(@PathVariable("qyjxfpId") @ApiParam(name = "id", value = "企业进项发票ID") Integer qyjxfpId) {
|
||||
CrmQyjxfp qyjxfp = crmQyjxfpService.getQyjxfp(qyjxfpId);
|
||||
return R.ok(qyjxfp);
|
||||
}
|
||||
|
||||
@PostMapping("/queryMergeListByNsrsbhAndTime")
|
||||
@ApiOperation("通过纳税人识别号和年度(选填),查询企业进项发票和企业销项发票信息列表")
|
||||
public Result queryMergeListByNsrsbhAndTime(@RequestBody CrmParamAndTimeDTO vo){
|
||||
CrmMergeListVO mergeList = crmQyjxfpService.getMergeListByNsrsbhAndTime(vo);
|
||||
return R.ok(mergeList);
|
||||
}
|
||||
|
||||
@PostMapping("/queryMergeListByShxydmAndTime")
|
||||
@ApiOperation("通过社会信用代码和年度(选填),查询企业进项发票和企业销项发票信息列表")
|
||||
public Result queryMergeListByShxydmAndTime(@RequestBody CrmParamAndTimeDTO dto) throws Exception {
|
||||
CrmMergeListVO mergeList = crmQyjxfpService.queryMergeListByShxydmAndTime(dto);
|
||||
return R.ok(mergeList);
|
||||
}
|
||||
|
||||
@PostMapping("/add")
|
||||
@ApiOperation("保存数据")
|
||||
public Result add(@RequestBody CrmQyjxfp crmQyjxfp) {
|
||||
return R.ok(crmQyjxfpService.insertQyjxfp(crmQyjxfp));
|
||||
}
|
||||
|
||||
@PostMapping("/deleteById/{qyjxfpId}")
|
||||
@ApiOperation("根据ID删除数据")
|
||||
public Result deleteById(@PathVariable("qyjxfpId") String qyjxfpId){
|
||||
return R.ok(crmQyjxfpService.deleteQyjxfp(qyjxfpId));
|
||||
}
|
||||
|
||||
@PostMapping("/update")
|
||||
@ApiOperation("更新数据")
|
||||
public Result update(@RequestBody CrmQyjxfp crmQyjxfp){
|
||||
return R.ok(crmQyjxfpService.updateQyjxfp(crmQyjxfp));
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,75 @@
|
|||
package com.kakarote.crm.controller;
|
||||
|
||||
|
||||
import com.kakarote.core.common.ParamAspect;
|
||||
import com.kakarote.core.common.R;
|
||||
import com.kakarote.core.common.Result;
|
||||
import com.kakarote.crm.entity.DTO.CrmSyncDataQynsrdjDTO;
|
||||
import com.kakarote.crm.entity.PO.CrmQynsrdj;
|
||||
import com.kakarote.crm.entity.DTO.CrmParamAndTimeDTO;
|
||||
import com.kakarote.crm.service.ICrmQynsrdjService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiParam;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/crmQynsrdj")
|
||||
@Api(tags = "企业纳税信用登记信息")
|
||||
public class CrmQynsrdjController {
|
||||
|
||||
@Autowired
|
||||
private ICrmQynsrdjService crmQynsrdjService;
|
||||
|
||||
|
||||
@PostMapping("/syncDataByDjxhAndPjnd")
|
||||
@ApiOperation("根据登记序号和评价年度同步WebService数据至数据库")
|
||||
public Result<CrmQynsrdj> syncDataByDjxhAndPjnd(@RequestBody CrmSyncDataQynsrdjDTO crmSyncDataQynsrdjDTO) throws Exception {
|
||||
CrmQynsrdj qynsrdj = crmQynsrdjService.syncDataByDjxhAndPjnd(crmSyncDataQynsrdjDTO);
|
||||
return R.ok(qynsrdj);
|
||||
}
|
||||
|
||||
|
||||
@PostMapping("/queryById/{qynsrdjId}")
|
||||
@ApiOperation("根据ID查询")
|
||||
@ParamAspect
|
||||
public Result<CrmQynsrdj> queryById(@PathVariable("qynsrdjId") @ApiParam(name = "id", value = "企业纳税信用登记ID") Integer qynsrdjId) {
|
||||
CrmQynsrdj qynsrdj = crmQynsrdjService.getQynsrdj(qynsrdjId);
|
||||
return R.ok(qynsrdj);
|
||||
}
|
||||
|
||||
@PostMapping("/queryByNsrsbhAndTime")
|
||||
@ApiOperation("根据纳税人识别号和评价年度(选填)查询")
|
||||
public Result<List<CrmQynsrdj>> queryByNsrsbhAndTime(@RequestBody CrmParamAndTimeDTO vo) {
|
||||
List<CrmQynsrdj> qynsrdjList = crmQynsrdjService.getQynsrdjListByNsrsbhAndTime(vo);
|
||||
return R.ok(qynsrdjList);
|
||||
}
|
||||
|
||||
@PostMapping("/queryByDjxhAndTime")
|
||||
@ApiOperation("根据登记序号和评价年度(选填)查询")
|
||||
public Result<List<CrmQynsrdj>> queryByDjxhAndTime(@RequestBody CrmParamAndTimeDTO dto) throws Exception {
|
||||
List<CrmQynsrdj> qynsrdjList = crmQynsrdjService.queryByDjxhAndTime(dto);
|
||||
return R.ok(qynsrdjList);
|
||||
}
|
||||
|
||||
@PostMapping("/add")
|
||||
@ApiOperation("保存数据")
|
||||
public Result add(@RequestBody CrmQynsrdj crmQynsrdj) {
|
||||
return R.ok(crmQynsrdjService.insertQynsrdj(crmQynsrdj));
|
||||
}
|
||||
|
||||
@PostMapping("/deleteById/{qynsrdjId}")
|
||||
@ApiOperation("根据ID删除数据")
|
||||
public Result deleteById(@PathVariable("qynsrdjId") String qynsrdjId){
|
||||
return R.ok(crmQynsrdjService.deleteQynsrdj(qynsrdjId));
|
||||
}
|
||||
|
||||
@PostMapping("/update")
|
||||
@ApiOperation("更新数据")
|
||||
public Result update(@RequestBody CrmQynsrdj crmQynsrdj){
|
||||
return R.ok(crmQynsrdjService.updateQynsrdj(crmQynsrdj));
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,74 @@
|
|||
package com.kakarote.crm.controller;
|
||||
|
||||
import com.kakarote.core.common.ParamAspect;
|
||||
import com.kakarote.core.common.R;
|
||||
import com.kakarote.core.common.Result;
|
||||
import com.kakarote.crm.entity.DTO.CrmSyncQysdsndsbDTO;
|
||||
import com.kakarote.crm.entity.PO.CrmQysdsndsb;
|
||||
import com.kakarote.crm.entity.DTO.CrmParamAndTimeDTO;
|
||||
import com.kakarote.crm.service.ICrmQysdsndsbService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiParam;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/crmQysdsndsb")
|
||||
@Api(tags = "企业所得税年度申报信息")
|
||||
public class CrmQysdsndsbController {
|
||||
|
||||
@Autowired
|
||||
private ICrmQysdsndsbService crmQysdsndsbService;
|
||||
|
||||
@PostMapping("/syncDataByDjxhAndNd")
|
||||
@ApiOperation("根据登记序号以及年度同步WebService数据至数据库")
|
||||
@ParamAspect
|
||||
public Result<List<CrmQysdsndsb>> syncDataByDjxhAndNd(@RequestBody CrmSyncQysdsndsbDTO crmSyncQysdsndsbDTO) throws Exception {
|
||||
List<CrmQysdsndsb> qysdsndsbList = crmQysdsndsbService.syncDataByDjxhAndNd(crmSyncQysdsndsbDTO);
|
||||
return R.ok(qysdsndsbList);
|
||||
}
|
||||
|
||||
|
||||
@PostMapping("/queryById/{qysdsndsbId}")
|
||||
@ApiOperation("根据ID查询")
|
||||
@ParamAspect
|
||||
public Result<CrmQysdsndsb> queryById(@PathVariable("qysdsndsbId") @ApiParam(name = "id", value = "企业所得税年度申报ID") Integer qysdsndsbId) {
|
||||
CrmQysdsndsb qysdsndsb = crmQysdsndsbService.getQysdsndsb(qysdsndsbId);
|
||||
return R.ok(qysdsndsb);
|
||||
}
|
||||
|
||||
@PostMapping("/queryByNsrsbhAndTime")
|
||||
@ApiOperation("根据纳税人识别号和年度(选填)查询")
|
||||
public Result<List<CrmQysdsndsb>> queryByNsrsbhAndTime(@RequestBody CrmParamAndTimeDTO vo) {
|
||||
List<CrmQysdsndsb> qysdsndsbList = crmQysdsndsbService.getQysdsndsbListByNsrsbhAndTime(vo);
|
||||
return R.ok(qysdsndsbList);
|
||||
}
|
||||
|
||||
@PostMapping("/queryByDjxhAndTime")
|
||||
@ApiOperation("根据登记序号和年度(选填)查询")
|
||||
public Result<List<CrmQysdsndsb>> queryByDjxhAndTime(@RequestBody CrmParamAndTimeDTO dto) throws Exception {
|
||||
List<CrmQysdsndsb> qysdsndsbList = crmQysdsndsbService.queryByDjxhAndTime(dto);
|
||||
return R.ok(qysdsndsbList);
|
||||
}
|
||||
|
||||
@PostMapping("/add")
|
||||
@ApiOperation("保存数据")
|
||||
public Result add(@RequestBody CrmQysdsndsb crmQysdsndsb) {
|
||||
return R.ok(crmQysdsndsbService.insertQysdsndsb(crmQysdsndsb));
|
||||
}
|
||||
|
||||
@PostMapping("/deleteById/{qysdsndsbId}")
|
||||
@ApiOperation("根据ID删除数据")
|
||||
public Result deleteById(@PathVariable("qysdsndsbId") String qysdsndsbId){
|
||||
return R.ok(crmQysdsndsbService.deleteQysdsndsb(qysdsndsbId));
|
||||
}
|
||||
|
||||
@PostMapping("/update")
|
||||
@ApiOperation("更新数据")
|
||||
public Result update(@RequestBody CrmQysdsndsb crmQysdsndsb){
|
||||
return R.ok(crmQysdsndsbService.updateQysdsndsb(crmQysdsndsb));
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,65 @@
|
|||
package com.kakarote.crm.controller;
|
||||
|
||||
|
||||
import com.kakarote.core.common.ParamAspect;
|
||||
import com.kakarote.core.common.R;
|
||||
import com.kakarote.core.common.Result;
|
||||
import com.kakarote.crm.entity.PO.CrmQysfl;
|
||||
import com.kakarote.crm.entity.DTO.CrmParamAndTimeDTO;
|
||||
import com.kakarote.crm.service.ICrmQysflService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiParam;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/crmQysfl")
|
||||
@Api(tags = "企业税负率信息")
|
||||
public class CrmQysflController {
|
||||
|
||||
@Autowired
|
||||
private ICrmQysflService crmQysflService;
|
||||
|
||||
@PostMapping("/queryById/{qysflId}")
|
||||
@ApiOperation("根据ID查询")
|
||||
@ParamAspect
|
||||
public Result<CrmQysfl> queryById(@PathVariable("qysflId") @ApiParam(name = "id", value = "企业税负率ID") Integer qysflId) {
|
||||
CrmQysfl qysfl = crmQysflService.getQysfl(qysflId);
|
||||
return R.ok(qysfl);
|
||||
}
|
||||
|
||||
@PostMapping("/queryByDjxhAndTime")
|
||||
@ApiOperation("根据登记序号和评价年度(选填)查询")
|
||||
public Result<List<CrmQysfl>> queryByDjxhAndTime(@RequestBody CrmParamAndTimeDTO vo){
|
||||
List<CrmQysfl> qysflList = crmQysflService.getQysflByDjxhAndTimeList(vo);
|
||||
return R.ok(qysflList);
|
||||
}
|
||||
|
||||
@PostMapping("/queryByNsrsbhAndTime")
|
||||
@ApiOperation("根据纳税人识别号和评价年度(选填)查询")
|
||||
public Result<List<CrmQysfl>> queryByNsrsbhAndTime(@RequestBody CrmParamAndTimeDTO vo){
|
||||
List<CrmQysfl> qysflList = crmQysflService.getQysflByNsrsbhAndTimeList(vo);
|
||||
return R.ok(qysflList);
|
||||
}
|
||||
|
||||
@PostMapping("/add")
|
||||
@ApiOperation("保存数据")
|
||||
public Result add(@RequestBody CrmQysfl crmQysfl) {
|
||||
return R.ok(crmQysflService.insertQysfl(crmQysfl));
|
||||
}
|
||||
|
||||
@PostMapping("/deleteById/{qysflId}")
|
||||
@ApiOperation("根据ID删除数据")
|
||||
public Result deleteById(@PathVariable("qysflId") String qysflId){
|
||||
return R.ok(crmQysflService.deleteQysfl(qysflId));
|
||||
}
|
||||
|
||||
@PostMapping("/update")
|
||||
@ApiOperation("更新数据")
|
||||
public Result update(@RequestBody CrmQysfl crmQysfl){
|
||||
return R.ok(crmQysflService.updateQysfl(crmQysfl));
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,47 @@
|
|||
package com.kakarote.crm.controller;
|
||||
|
||||
import com.kakarote.core.common.ParamAspect;
|
||||
import com.kakarote.core.common.R;
|
||||
import com.kakarote.core.common.Result;
|
||||
import com.kakarote.crm.entity.PO.CrmQyxxfp;
|
||||
import com.kakarote.crm.service.ICrmQyxxfpService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiParam;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/qyxxfp")
|
||||
@Api(tags = "企业销项发票信息")
|
||||
public class CrmQyxxfpController {
|
||||
|
||||
@Autowired
|
||||
private ICrmQyxxfpService crmQyxxfpService;
|
||||
|
||||
@PostMapping("/queryById/{qyxxfpId}")
|
||||
@ApiOperation("根据ID查询")
|
||||
@ParamAspect
|
||||
public Result<CrmQyxxfp> queryById(@PathVariable("qyxxfpId") @ApiParam(name = "id", value = "企业进项发票ID") Integer qyxxfpId) {
|
||||
CrmQyxxfp qyxxfp = crmQyxxfpService.getQyxxfp(qyxxfpId);
|
||||
return R.ok(qyxxfp);
|
||||
}
|
||||
|
||||
@PostMapping("/add")
|
||||
@ApiOperation("保存数据")
|
||||
public Result add(@RequestBody CrmQyxxfp crmQyxxfp) {
|
||||
return R.ok(crmQyxxfpService.insertQyxxfp(crmQyxxfp));
|
||||
}
|
||||
|
||||
@PostMapping("/deleteById/{qyxxfpId}")
|
||||
@ApiOperation("根据ID删除数据")
|
||||
public Result deleteById(@PathVariable("qyxxfpId") String qyxxfpId){
|
||||
return R.ok(crmQyxxfpService.deleteQyxxfp(qyxxfpId));
|
||||
}
|
||||
|
||||
@PostMapping("/update")
|
||||
@ApiOperation("更新数据")
|
||||
public Result update(@RequestBody CrmQyxxfp crmQyxxfp){
|
||||
return R.ok(crmQyxxfpService.updateQyxxfp(crmQyxxfp));
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,65 @@
|
|||
package com.kakarote.crm.controller;
|
||||
|
||||
import com.kakarote.core.common.ParamAspect;
|
||||
import com.kakarote.core.common.R;
|
||||
import com.kakarote.core.common.Result;
|
||||
import com.kakarote.crm.entity.DTO.CrmSyncSwjgDTO;
|
||||
import com.kakarote.crm.entity.PO.CrmSwjg;
|
||||
import com.kakarote.crm.service.ICrmSwjgService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiParam;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/crmSwjg")
|
||||
@Api(tags = "税务机关信息")
|
||||
public class CrmSwjgController {
|
||||
|
||||
@Autowired
|
||||
private ICrmSwjgService crmSwjgService;
|
||||
|
||||
@PostMapping("/syncDataBySwjgDmAndSjswjgDm")
|
||||
@ApiOperation("根据税务机构代码同步WebService数据至数据库")
|
||||
public Result<List<CrmSwjg>> syncDataBySwjgDmAndSjswjgDm(@RequestBody CrmSyncSwjgDTO crmSyncSwjgDTO) throws Exception {
|
||||
List<CrmSwjg> crmSwjgs = crmSwjgService.syncDataBySwjgDmAndSjswjgDm(crmSyncSwjgDTO);
|
||||
return R.ok(crmSwjgs);
|
||||
}
|
||||
|
||||
|
||||
@PostMapping("/queryById/{swjgId}")
|
||||
@ApiOperation("根据ID查询")
|
||||
@ParamAspect
|
||||
public Result<CrmSwjg> queryById(@PathVariable("swjgId") @ApiParam(name = "id", value = "税务机关ID") Integer swjgId) {
|
||||
CrmSwjg swjg = crmSwjgService.getSwjg(swjgId);
|
||||
return R.ok(swjg);
|
||||
}
|
||||
|
||||
@PostMapping("/queryBySwjgDmAndSjSwjgDm")
|
||||
@ApiOperation("根据swjgDm和sjswjgdm查询")
|
||||
public Result<List<CrmSwjg>> queryBySwjgDmAndSjSwjgDm(@RequestBody CrmSyncSwjgDTO crmSyncSwjgDTO) throws Exception {
|
||||
List<CrmSwjg> swjgs = crmSwjgService.queryBySwjgDmAndSjSwjgDm(crmSyncSwjgDTO);
|
||||
return R.ok(swjgs);
|
||||
}
|
||||
|
||||
@PostMapping("/add")
|
||||
@ApiOperation("保存数据")
|
||||
public Result add(@RequestBody CrmSwjg crmSwjg) {
|
||||
return R.ok(crmSwjgService.insertSwjg(crmSwjg));
|
||||
}
|
||||
|
||||
@PostMapping("/deleteById/{swjgId}")
|
||||
@ApiOperation("根据ID删除数据")
|
||||
public Result deleteById(@PathVariable("swjgId") String swjgId){
|
||||
return R.ok(crmSwjgService.deleteSwjg(swjgId));
|
||||
}
|
||||
|
||||
@PostMapping("/update")
|
||||
@ApiOperation("更新数据")
|
||||
public Result update(@RequestBody CrmSwjg crmSwjg){
|
||||
return R.ok(crmSwjgService.updateSwjg(crmSwjg));
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
package com.kakarote.crm.controller;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.kakarote.core.common.R;
|
||||
import com.kakarote.core.common.Result;
|
||||
import com.kakarote.crm.entity.PO.CrmSwjgDm;
|
||||
import com.kakarote.crm.service.ICrmSwjgDmService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/crmSwjgDm")
|
||||
@Api(tags = "税务机关代码")
|
||||
public class CrmSwjgDmController {
|
||||
|
||||
@Autowired
|
||||
private ICrmSwjgDmService crmSwjgDmService;
|
||||
|
||||
@GetMapping("/page")
|
||||
@ApiOperation("分页查询")
|
||||
public Result<IPage<CrmSwjgDm>> getSwjgDmPage(@RequestParam(defaultValue = "1") int pageNum,
|
||||
@RequestParam(defaultValue = "10") int pageSize) {
|
||||
IPage<CrmSwjgDm> swjgDmPage = crmSwjgDmService.getSwjgDmPage(pageNum, pageSize);
|
||||
return R.ok(swjgDmPage);
|
||||
}
|
||||
|
||||
@PostMapping("/insert")
|
||||
@ApiOperation("插入税务机关代码")
|
||||
public Result<Integer> insert(@RequestBody CrmSwjgDm crmSwjgDm) {
|
||||
return R.ok(crmSwjgDmService.insertSwjgDm(crmSwjgDm));
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,43 @@
|
|||
package com.kakarote.crm.controller;
|
||||
|
||||
import com.kakarote.core.common.Result;
|
||||
import com.kakarote.crm.entity.PO.CrmSyQyjbxxErr;
|
||||
import com.kakarote.crm.service.ICrmSyQyjbxxErrService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/crmSyQyjbxxErr")
|
||||
@Api(tags = "同步失败企业参数表")
|
||||
public class CrmSyQyjbxxErrController {
|
||||
|
||||
@Autowired
|
||||
private ICrmSyQyjbxxErrService crmSyQyjbxxErrService;
|
||||
|
||||
@PostMapping("/queryById/{id}")
|
||||
@ApiOperation("根据id进行查询")
|
||||
public Result<CrmSyQyjbxxErr> queryById(@PathVariable("id") int id) {
|
||||
return Result.ok(crmSyQyjbxxErrService.queryById(id));
|
||||
}
|
||||
|
||||
@PostMapping("/insert")
|
||||
@ApiOperation("新增数据")
|
||||
public Result<Integer> insert(@RequestBody CrmSyQyjbxxErr crmSyQyjbxxErr) {
|
||||
return Result.ok(crmSyQyjbxxErrService.insert(crmSyQyjbxxErr));
|
||||
}
|
||||
|
||||
@PostMapping("/update")
|
||||
@ApiOperation("更新数据")
|
||||
public Result<Integer> update(@RequestBody CrmSyQyjbxxErr crmSyQyjbxxErr) {
|
||||
return Result.ok(crmSyQyjbxxErrService.update(crmSyQyjbxxErr));
|
||||
}
|
||||
|
||||
@PostMapping("/delete")
|
||||
@ApiOperation("删除数据")
|
||||
public Result<Integer> delete(@RequestBody CrmSyQyjbxxErr crmSyQyjbxxErr) {
|
||||
return Result.ok(crmSyQyjbxxErrService.delete(crmSyQyjbxxErr));
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
package com.kakarote.crm.controller;
|
||||
|
||||
import com.kakarote.core.common.R;
|
||||
import com.kakarote.core.common.Result;
|
||||
import com.kakarote.crm.entity.PO.CrmUsageReport;
|
||||
import com.kakarote.crm.entity.VO.CrmQueryUsageReportVO;
|
||||
import com.kakarote.crm.service.ICrmUsageReportService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/crmUsageReport")
|
||||
@Api(tags = "使用报告")
|
||||
public class CrmUsageReportController {
|
||||
|
||||
@Autowired
|
||||
private ICrmUsageReportService crmUsageReportService;
|
||||
|
||||
// @PostMapping("/queryReportScreenings")
|
||||
// @ApiOperation("查询报告筛查次数")
|
||||
// public Result<Integer> queryReportScreenings(@RequestBody CrmQueryUsageReportVO vo) throws IOException {
|
||||
// return R.ok(crmUsageReportService.queryReportScreenings(vo));
|
||||
// }
|
||||
|
||||
@PostMapping("/findUsageReportByNsrsbhOrNsrmc")
|
||||
@ApiOperation("根据纳税人识别号或者纳税人名称查询")
|
||||
public Result<CrmUsageReport> findUsageReportByNsrsbhOrNsrmc(@RequestBody CrmQueryUsageReportVO vo) throws IOException {
|
||||
return R.ok(crmUsageReportService.findUsageReportByNsrsbhOrNsrmc(vo));
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,42 @@
|
|||
package com.kakarote.crm.controller;
|
||||
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.kakarote.core.common.R;
|
||||
import com.kakarote.core.common.Result;
|
||||
import com.kakarote.crm.entity.PO.CrmXzqhDm;
|
||||
import com.kakarote.crm.service.ICrmXzqhDmService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/crmXzqhDm")
|
||||
@Api(tags = "行政区划代码")
|
||||
public class CrmXzqhDmController {
|
||||
|
||||
@Autowired
|
||||
private ICrmXzqhDmService crmXzqhDmService;
|
||||
|
||||
@GetMapping("/page")
|
||||
@ApiOperation("分页查询")
|
||||
public Result<IPage<CrmXzqhDm>> getXzqhDmPage(@RequestParam(defaultValue = "1") int pageNum,
|
||||
@RequestParam(defaultValue = "10") int pageSize) {
|
||||
IPage<CrmXzqhDm> xzqhDmPage = crmXzqhDmService.getXzqhDmPage(pageNum, pageSize);
|
||||
return R.ok(xzqhDmPage);
|
||||
}
|
||||
@GetMapping("/list")
|
||||
@ApiOperation("行政区划列表")
|
||||
public Result<List<CrmXzqhDm>> getXzqhDmList() {
|
||||
return R.ok(crmXzqhDmService.getXzqhDmList());
|
||||
}
|
||||
|
||||
@PostMapping("/insert")
|
||||
@ApiOperation("插入税务机关代码")
|
||||
public Result<Integer> insert(@RequestBody CrmXzqhDm crmXzqhDm) {
|
||||
return R.ok(crmXzqhDmService.insertXzqhDm(crmXzqhDm));
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,99 @@
|
|||
package com.kakarote.crm.controller;
|
||||
|
||||
|
||||
import com.kakarote.core.common.ParamAspect;
|
||||
import com.kakarote.core.common.R;
|
||||
import com.kakarote.core.common.Result;
|
||||
import com.kakarote.crm.entity.PO.Xzqh;
|
||||
import com.kakarote.crm.entity.VO.XzqhOptionVO;
|
||||
import com.kakarote.crm.service.IXzqhService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 行政区划Controller
|
||||
*
|
||||
* @author natural
|
||||
* @date 2023-08-21
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/crmXzqh")
|
||||
public class XzqhController
|
||||
{
|
||||
@Autowired
|
||||
private IXzqhService xzqhService;
|
||||
|
||||
/**
|
||||
* 查询行政区划列表
|
||||
*/
|
||||
@GetMapping("/list")
|
||||
public Result<List<Xzqh>> list(Xzqh xzqh)
|
||||
{
|
||||
List<Xzqh> list = xzqhService.selectXzqhList(xzqh);
|
||||
return R.ok(list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询行政区划列表
|
||||
*/
|
||||
@GetMapping("/all")
|
||||
@ParamAspect
|
||||
public Result<List<Xzqh>> all(Xzqh xzqh)
|
||||
{
|
||||
List<Xzqh> list = xzqhService.selectXzqhList(xzqh);
|
||||
return R.ok(list);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取嵌套结构的行政区划数据,用于前端多级选择组件
|
||||
* @return 嵌套结构的行政区划数据
|
||||
*/
|
||||
@GetMapping("/treeOptions")
|
||||
@ParamAspect
|
||||
public Result<List<XzqhOptionVO>> getTreeOptions() {
|
||||
List<XzqhOptionVO> options = xzqhService.buildXzqhTree();
|
||||
return R.ok(options);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出行政区划列表
|
||||
*/
|
||||
// @PostMapping("/export")
|
||||
// public void export(HttpServletResponse response, Xzqh xzqh)
|
||||
// {
|
||||
// List<Xzqh> list = xzqhService.selectXzqhList(xzqh);
|
||||
// ExcelUtil<Xzqh> util = new ExcelUtil<Xzqh>(Xzqh.class);
|
||||
// util.exportExcel(response, list, "行政区划数据");
|
||||
// }
|
||||
|
||||
/**
|
||||
* 获取行政区划详细信息
|
||||
*/
|
||||
@GetMapping(value = "/{id}")
|
||||
public Result<Xzqh> getInfo(@PathVariable("id") String id)
|
||||
{
|
||||
return R.ok(xzqhService.selectXzqhById(id));
|
||||
}
|
||||
|
||||
/**
|
||||
// * 获取省行政区域
|
||||
// * @return
|
||||
// */
|
||||
// @GetMapping("/getProvinceArea")
|
||||
// public AjaxResult getProvinceArea(){
|
||||
// AjaxResult ajax = AjaxResult.success();
|
||||
// List<Xzqh> provinceArea = xzqhService.getProvinceArea();
|
||||
// ajax.put("qyDm",provinceArea);
|
||||
// return ajax;
|
||||
// }
|
||||
// @GetMapping("/syncXzqh")
|
||||
// public AjaxResult syncXzqh(){
|
||||
// AjaxResult ajax = AjaxResult.success();
|
||||
// xzqhService.syncXzqhFromRpa();
|
||||
// return ajax;
|
||||
// }
|
||||
}
|
||||
|
|
@ -0,0 +1,175 @@
|
|||
package com.kakarote.crm.controller;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.kakarote.core.common.R;
|
||||
import com.kakarote.core.common.Result;
|
||||
import com.kakarote.crm.entity.DTO.ZjzbSwjgDTO;
|
||||
import com.kakarote.crm.entity.VO.*;
|
||||
import com.kakarote.crm.service.*;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
* @description: 自检指标代码表
|
||||
* @Author: dengLL
|
||||
* @CreateTime: 2025/12/10
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/zjzbdmVo")
|
||||
@Api(tags = "自检指标代码")
|
||||
@Slf4j
|
||||
public class ZjzbdmVoController {
|
||||
|
||||
@Autowired
|
||||
private IZjzbdmVoService zjzbdmVoService;
|
||||
|
||||
@Autowired
|
||||
private IZjzbdlVoService zjzbdlVoService;
|
||||
|
||||
@Autowired
|
||||
private IZjzbxlVoService zjzbxlVoService;
|
||||
|
||||
@Autowired
|
||||
private IZjzbglfVoService zjzbglfVoService;
|
||||
|
||||
@Autowired
|
||||
private IZjzbHyVoService zjzbHyVoService;
|
||||
|
||||
@Autowired
|
||||
private IZjzbZsxmVoService zjzbZsxmVoService;
|
||||
|
||||
@Autowired
|
||||
private IZjzbSwjgVoService zjzbSwjgVoService;
|
||||
|
||||
@Autowired
|
||||
private IZjzbDzbzdszlVoService zjzbDzbzdszlVoService;
|
||||
|
||||
@GetMapping("/page")
|
||||
@ApiOperation("分页查询")
|
||||
public Result<IPage<ZjzbdmVo>> getZjzbdmVoPage(@RequestParam(defaultValue = "1") int pageNum,
|
||||
@RequestParam(defaultValue = "10") int pageSize) {
|
||||
IPage<ZjzbdmVo> zjzbdmVoIPage = zjzbdmVoService.getZjzbdmVoPage(pageNum, pageSize);
|
||||
return R.ok(zjzbdmVoIPage);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@PostMapping("/insert")
|
||||
@ApiOperation("插入自检指标代码")
|
||||
public Result insert(@RequestBody ZjzbdmVo entity) {
|
||||
return zjzbdmVoService.insert(entity);
|
||||
}
|
||||
|
||||
@PostMapping("/update")
|
||||
@ApiOperation("修改自检指标代码")
|
||||
public Result update(@RequestBody ZjzbdmVo entity) {
|
||||
return zjzbdmVoService.update(entity);
|
||||
}
|
||||
|
||||
@GetMapping("/delete")
|
||||
@ApiOperation("删除自检指标代码")
|
||||
public Result delete(@RequestParam("zbId") Integer zbId) {
|
||||
if (Objects.isNull(zbId)){
|
||||
return R.error(500,"指标代码ID为空");
|
||||
}
|
||||
boolean result = zjzbdmVoService.removeById(zbId);
|
||||
if (result){
|
||||
return R.ok("操作成功");
|
||||
}
|
||||
return R.error(500,"操作成功");
|
||||
}
|
||||
|
||||
@GetMapping("/getVoById")
|
||||
@ApiOperation("查询自检指标代码")
|
||||
public Result getVoById(@RequestParam("zbId") Integer zbId) {
|
||||
if (Objects.isNull(zbId)){
|
||||
return R.error(500,"指标代码ID为空");
|
||||
}
|
||||
return R.ok(zjzbdmVoService.getById(zbId));
|
||||
}
|
||||
|
||||
@GetMapping("/getZjzbdlVoList")
|
||||
@ApiOperation("查询自检指标大类代码")
|
||||
public Result<List<ZjzbdlVo>> getZjzbdlVoList() {
|
||||
List<ZjzbdlVo> zjzbdlVos = zjzbdlVoService.lambdaQuery().orderByAsc(ZjzbdlVo::getZbdlDm).list();
|
||||
return R.ok(zjzbdlVos);
|
||||
}
|
||||
|
||||
@GetMapping("/getZjzbxlVoList")
|
||||
@ApiOperation("查询自检指标小类代码")
|
||||
public Result<List<ZjzbxlVo>> getZjzbxlVoList() {
|
||||
List<ZjzbxlVo> zjzbxlVos = zjzbxlVoService.lambdaQuery().orderByAsc(ZjzbxlVo::getZbxlDm).list();
|
||||
return R.ok(zjzbxlVos);
|
||||
}
|
||||
|
||||
@GetMapping("/getZjzbglfVoList")
|
||||
@ApiOperation("查询自检指标关联方代码")
|
||||
public Result<List<ZjzbglfVo>> getZjzbglfVoList() {
|
||||
List<ZjzbglfVo> zjzbglfVos = zjzbglfVoService.lambdaQuery().orderByAsc(ZjzbglfVo::getGlfDm).list();
|
||||
return R.ok(zjzbglfVos);
|
||||
}
|
||||
|
||||
@GetMapping("/getZjzbHyVoList")
|
||||
@ApiOperation("查询自检指标行业合规代码")
|
||||
public Result<List<ZjzbHyVo>> getZjzbHyVoList() {
|
||||
List<ZjzbHyVo> zjzbHyVos = zjzbHyVoService.lambdaQuery().orderByAsc(ZjzbHyVo::getHyDm).list();
|
||||
return R.ok(zjzbHyVos);
|
||||
}
|
||||
|
||||
@GetMapping("/getZjzbZsxmVoList")
|
||||
@ApiOperation("查询自检指标征收项目代码")
|
||||
public Result<List<ZjzbZsxmVo>> getZjzbZsxmVoList() {
|
||||
List<ZjzbZsxmVo> zjzbZsxmVos = zjzbZsxmVoService.lambdaQuery().eq(ZjzbZsxmVo::getYxbz,"Y").orderByAsc(ZjzbZsxmVo::getZsxmDm).list();
|
||||
return R.ok(zjzbZsxmVos);
|
||||
}
|
||||
|
||||
@GetMapping("/getZjzbSwjgVoList")
|
||||
@ApiOperation("查询自检指标税务机关代码")
|
||||
public Result<List<ZjzbSwjgDTO>> getZjzbSwjgVoList() {
|
||||
List<ZjzbSwjgDTO> zjzbSwjgDTOS = new ArrayList<>();
|
||||
|
||||
//获取主管税务机关代码
|
||||
List<ZjzbSwjgVo> zgswjgList = zjzbSwjgVoService.lambdaQuery()
|
||||
.eq(ZjzbSwjgVo::getYxbz,"Y")
|
||||
.eq(ZjzbSwjgVo::getJgjcDm,"41")
|
||||
.eq(ZjzbSwjgVo::getSwjgbz,"0")
|
||||
.orderByAsc(ZjzbSwjgVo::getSwjgDm)
|
||||
.list();
|
||||
|
||||
//获取主管税务机关科分局代码
|
||||
for (ZjzbSwjgVo vo:zgswjgList){
|
||||
ZjzbSwjgDTO dto = new ZjzbSwjgDTO();
|
||||
List<ZjzbSwjgVo> zgswjgkfjList = zjzbSwjgVoService.lambdaQuery()
|
||||
.eq(ZjzbSwjgVo::getYxbz,"Y")
|
||||
.eq(ZjzbSwjgVo::getBsfwtbz,"N")
|
||||
.eq(ZjzbSwjgVo::getGhbz,"Y")
|
||||
.eq(ZjzbSwjgVo::getSjswjgDm,vo.getSwjgDm())
|
||||
.orderByAsc(ZjzbSwjgVo::getSwjgDm)
|
||||
.list();
|
||||
|
||||
dto.setZjzbSwjgVo(vo);
|
||||
dto.setZjzbSwjgVos(zgswjgkfjList);
|
||||
zjzbSwjgDTOS.add(dto);
|
||||
}
|
||||
|
||||
return R.ok(zjzbSwjgDTOS);
|
||||
}
|
||||
|
||||
@GetMapping("/getZjzbDzbzdszlVoList")
|
||||
@ApiOperation("查询自检指标应征凭证种类代码")
|
||||
public Result<List<ZjzbDzbzdszlVo>> getZjzbDzbzdszlVoList() {
|
||||
List<ZjzbDzbzdszlVo> zjzbDzbzdszlVos = zjzbDzbzdszlVoService.lambdaQuery()
|
||||
.eq(ZjzbDzbzdszlVo::getYxbz,"Y")
|
||||
.eq(ZjzbDzbzdszlVo::getXybz,"Y")
|
||||
.orderByAsc(ZjzbDzbzdszlVo::getDzbzdszlDm)
|
||||
.list();
|
||||
return R.ok(zjzbDzbzdszlVos);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
package com.kakarote.crm.entity.BO;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
|
||||
@ApiModel("签到crm添加企业OpenAPi")
|
||||
@Data
|
||||
public class CrmAddCustomerBo {
|
||||
@NotEmpty(message = "appId不能为空!")
|
||||
private String appId;
|
||||
@NotEmpty(message = "appSecret不能为空!")
|
||||
private String appSecret;
|
||||
@ApiModelProperty("客户信息对象")
|
||||
@NotEmpty(message = "客户信息不能为空!")
|
||||
private CrmQdInfoBo crmModel;
|
||||
}
|
||||
|
|
@ -0,0 +1,21 @@
|
|||
package com.kakarote.crm.entity.BO;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.kakarote.crm.entity.PO.CrmQyjxfp;
|
||||
import com.kakarote.crm.entity.PO.CrmQyxxfp;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class CrmAddMergeListBO implements Serializable {
|
||||
|
||||
// 企业销项发票
|
||||
@JsonProperty("xxhzList")
|
||||
private List<CrmQyxxfp> xxhzList;
|
||||
|
||||
// 企业进项发票
|
||||
@JsonProperty("jxhzList")
|
||||
private List<CrmQyjxfp> jxhzList;
|
||||
}
|
||||
|
|
@ -0,0 +1,48 @@
|
|||
package com.kakarote.crm.entity.BO;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class CrmQdInfoBo {
|
||||
|
||||
/** 微信unionid */
|
||||
private String unionId;
|
||||
|
||||
/** 企业名称 */
|
||||
private String qyName;
|
||||
|
||||
/** 用户姓名 */
|
||||
private String userName;
|
||||
/** 手机 */
|
||||
private String mobile;
|
||||
|
||||
/** 活码id */
|
||||
private String hmId;
|
||||
|
||||
/** 纳税人识别号 */
|
||||
private String nsrsbh;
|
||||
|
||||
/** 所属税务局 */
|
||||
private String sssj;
|
||||
|
||||
/** 注册时间 */
|
||||
private String zcTime;
|
||||
|
||||
/** 行业类型 */
|
||||
private String hyType;
|
||||
|
||||
/** 企业地址 */
|
||||
private String address;
|
||||
|
||||
|
||||
private String qwId;
|
||||
|
||||
//客户来源
|
||||
private String source;
|
||||
|
||||
private String appId;
|
||||
|
||||
private String appSecret;
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,31 @@
|
|||
package com.kakarote.crm.entity.BO;
|
||||
|
||||
import cn.hutool.core.date.DateTime;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@AllArgsConstructor
|
||||
public class CrmQueryQyfxmxBO {
|
||||
|
||||
// 登记序号
|
||||
private String djxh;
|
||||
|
||||
// 开始时间
|
||||
private String fxscsjq;
|
||||
|
||||
// 结束时间
|
||||
private String fxscsjz;
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "{" +
|
||||
"djxh:'" + djxh + '\'' +
|
||||
", fxscsjq:'" + fxscsjq + '\'' +
|
||||
", fxscsjz:'" + fxscsjz + '\'' +
|
||||
'}';
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
package com.kakarote.crm.entity.BO;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
@ApiModel("企业信息")
|
||||
public class QyjbxxBo {
|
||||
/**
|
||||
* 纳税人识别号
|
||||
*/
|
||||
private String nsrsbh;
|
||||
|
||||
/**
|
||||
* 客户Id
|
||||
*/
|
||||
private Integer customerId;
|
||||
/**
|
||||
* 公海Id
|
||||
*/
|
||||
private Integer poolId;
|
||||
/**
|
||||
* 纳税人名称
|
||||
*/
|
||||
private String nsrmc;
|
||||
}
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
package com.kakarote.crm.entity.DTO;
|
||||
|
||||
import lombok.Data;
|
||||
import org.apache.poi.ss.formula.functions.T;
|
||||
|
||||
@Data
|
||||
public class CrmHttpResponseDTO<T> {
|
||||
|
||||
private int code;
|
||||
private String msg;
|
||||
private T data;
|
||||
}
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
package com.kakarote.crm.entity.DTO;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class CrmParamAndTimeDTO {
|
||||
|
||||
/**
|
||||
* 根据接口不同,param可能是djxh,也可能是shxydm
|
||||
*/
|
||||
private String param;
|
||||
|
||||
/**
|
||||
* 根据接口不同,time可能是nd,也可能是yf
|
||||
*/
|
||||
private String time;
|
||||
}
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
package com.kakarote.crm.entity.DTO;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Accessors(chain = true)
|
||||
public class CrmQueryGsdjxxDTO implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
// 月份
|
||||
private String yf;
|
||||
|
||||
private String rq;
|
||||
|
||||
// 行政区划代码
|
||||
private String xzqhDm;
|
||||
|
||||
// 地址
|
||||
private String xzqhMc;
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "{" +
|
||||
"yf:'" + yf + '\'' +
|
||||
", rq:'" + rq + '\'' +
|
||||
", xzqhDm:'" + xzqhDm + '\'' +
|
||||
'}';
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
package com.kakarote.crm.entity.DTO;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Accessors(chain = true)
|
||||
public class CrmSyncDataQynsrdjDTO implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
// 登记序号
|
||||
private String djxh;
|
||||
|
||||
// 评价年度
|
||||
private String pjnd;
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "{" +
|
||||
"djxh:'" + djxh + '\'' +
|
||||
", pjnd:'" + pjnd + '\'' +
|
||||
'}';
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
package com.kakarote.crm.entity.DTO;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
public class CrmSyncNsrzgDTO implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
// 登记序号
|
||||
private String djxh;
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "{" +
|
||||
"djxh:'" + djxh + '\'' +
|
||||
'}';
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
package com.kakarote.crm.entity.DTO;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Accessors(chain = true)
|
||||
public class CrmSyncQycbrsDTO implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
// 月份
|
||||
private String yf;
|
||||
|
||||
// 登记序号
|
||||
private String djxh;
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "{" +
|
||||
"yf:'" + yf + '\'' +
|
||||
", djxh:'" + djxh + '\'' +
|
||||
'}';
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
package com.kakarote.crm.entity.DTO;
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
public class CrmSyncQyfxmxDTO implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
// 登记序号
|
||||
private String djxh;
|
||||
|
||||
// 评价年度
|
||||
private String pjnd;
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,31 @@
|
|||
package com.kakarote.crm.entity.DTO;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
public class CrmSyncQyjbxxDTO implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
// 区县税务机关代码
|
||||
private String swjgdm;
|
||||
|
||||
// 查询起始时间
|
||||
private String cxrqq;
|
||||
|
||||
// 查询终止时间
|
||||
private String cxrqz;
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "{" +
|
||||
"swjgdm:'" + swjgdm + '\'' +
|
||||
", cxrqq:'" + cxrqq + '\'' +
|
||||
", cxrqz:'" + cxrqz + '\'' +
|
||||
'}';
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
package com.kakarote.crm.entity.DTO;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Accessors(chain = true)
|
||||
public class CrmSyncQyjxfpAndQyxxfpDTO implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
// 社会信用代码
|
||||
private String shxydm;
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "{" +
|
||||
"shxydm:'" + shxydm + '\'' +
|
||||
'}';
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,28 @@
|
|||
package com.kakarote.crm.entity.DTO;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.io.Serializable;
|
||||
@Getter
|
||||
@Setter
|
||||
@Accessors(chain = true)
|
||||
public class CrmSyncQysdsndsbDTO implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
// 登记序号
|
||||
private String djxh;
|
||||
|
||||
// 年度
|
||||
private String nd;
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "{" +
|
||||
"djxh:'" + djxh + '\'' +
|
||||
", nd:'" + nd + '\'' +
|
||||
'}';
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
package com.kakarote.crm.entity.DTO;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Accessors(chain = true)
|
||||
public class CrmSyncSwjgDTO implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
// 税务机关代码(必填)
|
||||
private String swjgdm;
|
||||
|
||||
// 上级税务机关代码(选填)
|
||||
private String sjswjgdm;
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "{" +
|
||||
"swjgdm:'" + swjgdm + '\'' +
|
||||
'}';
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,32 @@
|
|||
package com.kakarote.crm.entity.DTO;
|
||||
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
@Data
|
||||
public class CrmTaxPreCheckUsageDTO implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 活跃用户数
|
||||
*/
|
||||
private Integer activeUserCount;
|
||||
|
||||
/**
|
||||
* 使用用户数
|
||||
*/
|
||||
private Integer usedUserCount;
|
||||
|
||||
/**
|
||||
* 新增企业数
|
||||
*/
|
||||
private Integer newEnterprises;
|
||||
|
||||
/**
|
||||
* 注册人数
|
||||
*/
|
||||
private Integer registeredUsers;
|
||||
}
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
package com.kakarote.crm.entity.DTO;
|
||||
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class CrmWebServiceResponseDTO<T> {
|
||||
|
||||
private int code;
|
||||
private String msg;
|
||||
private T data;
|
||||
}
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
package com.kakarote.crm.entity.DTO;
|
||||
|
||||
import com.kakarote.crm.entity.VO.ZjzbSwjgVo;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @description: 自检指标税务机关DTO
|
||||
* @Author: dengLL
|
||||
* @CreateTime: 2025/12/10
|
||||
*/
|
||||
@Setter
|
||||
@Getter
|
||||
public class ZjzbSwjgDTO implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private ZjzbSwjgVo zjzbSwjgVo;
|
||||
|
||||
private List<ZjzbSwjgVo> zjzbSwjgVos;
|
||||
|
||||
}
|
||||
|
|
@ -1,11 +1,13 @@
|
|||
package com.kakarote.crm.entity.PO;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import com.kakarote.core.security.converter.SensitiveDataConverter;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
import org.apache.ibatis.type.JdbcType;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
|
@ -37,12 +39,17 @@ public class CrmContacts implements Serializable {
|
|||
private Date nextTime;
|
||||
|
||||
@ApiModelProperty(value = "手机")
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String mobile;
|
||||
|
||||
@ApiModelProperty(value = "电话")
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
|
||||
private String telephone;
|
||||
|
||||
@ApiModelProperty(value = "电子邮箱")
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
|
||||
private String email;
|
||||
|
||||
@ApiModelProperty(value = "职务")
|
||||
|
|
|
|||
|
|
@ -0,0 +1,80 @@
|
|||
package com.kakarote.crm.entity.PO;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.kakarote.core.security.converter.SensitiveDataConverter;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
import org.apache.ibatis.type.JdbcType;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@Accessors(chain = true)
|
||||
@TableName("wk_crm_corporate_portrait")
|
||||
@ApiModel(value="CrmCorporatePortrait对象", description="企业形象")
|
||||
public class CrmCorporatePortrait implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@TableId(value = "id", type = IdType.AUTO)
|
||||
private Integer id;
|
||||
|
||||
/**
|
||||
* 企业规模
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String enterpriseSize;
|
||||
|
||||
/**
|
||||
* 行业类型
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String industryType;
|
||||
|
||||
/**
|
||||
* 信用等级
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String creditRating;
|
||||
|
||||
/**
|
||||
* 社保人数
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String socialSecurity;
|
||||
|
||||
/**
|
||||
* 产品是否使用 (0/1)
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String productsIs;
|
||||
|
||||
/**
|
||||
* 产品注册时间
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String productsDate;
|
||||
|
||||
/**
|
||||
* 报告查询次数
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String reportNum;
|
||||
|
||||
/**
|
||||
* 是否点击深度报告(0/1)
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String inDepthReporting;
|
||||
|
||||
/**
|
||||
* 纳税人名称
|
||||
*/
|
||||
private String nsrmc;
|
||||
}
|
||||
|
|
@ -1,11 +1,16 @@
|
|||
package com.kakarote.crm.entity.PO;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import com.fasterxml.jackson.annotation.JsonFilter;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
|
||||
import com.kakarote.core.security.converter.SensitiveDataConverter;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
import org.apache.ibatis.type.JdbcType;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
|
@ -51,18 +56,36 @@ public class CrmCustomer implements Serializable {
|
|||
@ApiModelProperty(value = "首要联系人ID")
|
||||
private Integer contactsId;
|
||||
|
||||
//税号
|
||||
private String website;
|
||||
@ApiModelProperty(value = "手机")
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String mobile;
|
||||
|
||||
@ApiModelProperty(value = "电话")
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String telephone;
|
||||
|
||||
@ApiModelProperty(value = "网址")
|
||||
private String website;
|
||||
|
||||
@ApiModelProperty(value = "邮箱")
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String email;
|
||||
|
||||
@ApiModelProperty(value = "省市区")
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String address;
|
||||
|
||||
@ApiModelProperty(value = "详细地址")
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String detailAddress;
|
||||
|
||||
@ApiModelProperty(value = "地理位置经度")
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String lng;
|
||||
|
||||
@ApiModelProperty(value = "地理位置维度")
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String lat;
|
||||
|
||||
@ApiModelProperty(value = "备注")
|
||||
private String remark;
|
||||
|
||||
|
|
@ -73,21 +96,11 @@ public class CrmCustomer implements Serializable {
|
|||
@ApiModelProperty(value = "负责人ID")
|
||||
private Long ownerUserId;
|
||||
|
||||
@ApiModelProperty(value = "省市区")
|
||||
private String address;
|
||||
|
||||
@ApiModelProperty(value = "定位信息")
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String location;
|
||||
|
||||
@ApiModelProperty(value = "详细地址")
|
||||
private String detailAddress;
|
||||
|
||||
@ApiModelProperty(value = "地理位置经度")
|
||||
private String lng;
|
||||
|
||||
@ApiModelProperty(value = "地理位置维度")
|
||||
private String lat;
|
||||
|
||||
@ApiModelProperty(value = "创建时间")
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
private Date createTime;
|
||||
|
|
|
|||
|
|
@ -0,0 +1,45 @@
|
|||
package com.kakarote.crm.entity.PO;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@Accessors(chain = true)
|
||||
@TableName("wk_crm_djzclx")
|
||||
@ApiModel(value = "CrmDjzclx对象", description = "登记注册类型表")
|
||||
public class CrmDjzclx implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
// 登记注册类型代码
|
||||
private String djzclxDm;
|
||||
|
||||
//登记注册类型名称
|
||||
private String djzclxmc;
|
||||
|
||||
//顶类标志
|
||||
private String dlbz;
|
||||
|
||||
//中类标志
|
||||
private String zlbz;
|
||||
|
||||
//小类标志
|
||||
private String xlbz;
|
||||
|
||||
//上级登记注册类型代码
|
||||
private String sjdjzclxDm;
|
||||
|
||||
//选用标志
|
||||
private String xybz;
|
||||
|
||||
//有效标志
|
||||
private String yxbz;
|
||||
}
|
||||
|
|
@ -0,0 +1,173 @@
|
|||
package com.kakarote.crm.entity.PO;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.kakarote.core.security.converter.SensitiveDataConverter;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
import org.apache.ibatis.type.JdbcType;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@Accessors(chain = true)
|
||||
@TableName("wk_crm_gsdjxx")
|
||||
@ApiModel(value="CrmGsdjxx对象", description="工商登记开业信息")
|
||||
public class CrmGsdjxx implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 工商登记信息ID(主键)
|
||||
*/
|
||||
@TableId(value = "gxdjxx_id", type = IdType.AUTO)
|
||||
private Integer gxdjxxId; // 对应SQL: gxdjxx_id
|
||||
|
||||
/**
|
||||
* 行政区划代码
|
||||
*/
|
||||
private String xzqhDm; // 对应SQL: xzqh_dm
|
||||
|
||||
/**
|
||||
* 月份(格式:yyyy-MM)
|
||||
*/
|
||||
private String yf; // 对应SQL: yf
|
||||
|
||||
/**
|
||||
* 统一社会信用代码
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String tyshxydm; // 对应SQL: tyshxydm
|
||||
|
||||
/**
|
||||
* 企业名称
|
||||
*/
|
||||
private String nsrmc; // 对应SQL: nsrmc
|
||||
|
||||
/**
|
||||
* 登记注册类型代码
|
||||
*/
|
||||
private String djzclxDm; // 对应SQL: djzclx_dm
|
||||
|
||||
/**
|
||||
* 开业日期(格式:yyyy-MM-dd)
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String kyrq; // 对应SQL: kyrq
|
||||
|
||||
/**
|
||||
* 证照号码
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String zzhm; // 对应SQL: zzhm
|
||||
|
||||
/**
|
||||
* 法人姓名
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String fddbrxm; // 对应SQL: fddbrxm
|
||||
|
||||
/**
|
||||
* 法人证件类型代码
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String fddbrsfzjlxDm; // 对应SQL: fddbrsfzjlx_dm
|
||||
|
||||
/**
|
||||
* 法人证件号码
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String fddbrsfzjhm; // 对应SQL: fddbrsfzjhm
|
||||
|
||||
/**
|
||||
* 法人固定电话
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String fddbrgddh; // 对应SQL: fddbrgddh
|
||||
|
||||
/**
|
||||
* 法人移动电话
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String fddbryddh; // 对应SQL: fddbryddh
|
||||
|
||||
/**
|
||||
* 财务负责人姓名
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String cwfzrxm; // 对应SQL: cwfzrxm
|
||||
|
||||
/**
|
||||
* 财务负责人证件号码
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String cwfzrsfzjhm; // 对应SQL: cwfzrsfzjhm
|
||||
|
||||
/**
|
||||
* 财务固定电话
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String cwfzrgddh; // 对应SQL: cwfzrgddh
|
||||
|
||||
/**
|
||||
* 财务移动电话
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String cwfzryddh; // 对应SQL: cwfzryddh
|
||||
|
||||
/**
|
||||
* 生产经营地址
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String scjydz; // 对应SQL: scjydz
|
||||
|
||||
/**
|
||||
* 生产经营地区划代码
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String scjydzxzqhszDm; // 对应SQL: scjydzxzqhsz_dm
|
||||
|
||||
/**
|
||||
* 生产经营地联系电话
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String scjydlxdh; // 对应SQL: scjydlxdh
|
||||
|
||||
/**
|
||||
* 生产经营地邮政编码
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String scjydyzbm; // 对应SQL: scjydyzbm
|
||||
|
||||
/**
|
||||
* 国标行业代码(GB/T 4754)
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String hyDm; // 对应SQL: hy_dm
|
||||
|
||||
/**
|
||||
* 从业人数
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String cyrs; // 对应SQL: cyrs
|
||||
|
||||
/**
|
||||
* 批准设立机构名称
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String pzsljgmc; // 对应SQL: pzsljgmc
|
||||
|
||||
/**
|
||||
* 经营范围
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String jyfw; // 对应SQL: jyfw
|
||||
|
||||
@TableField(exist = false)
|
||||
private String dz;
|
||||
}
|
||||
|
|
@ -0,0 +1,66 @@
|
|||
package com.kakarote.crm.entity.PO;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@Accessors(chain = true)
|
||||
@TableName("hy_dm")
|
||||
@ApiModel(value="CrmHyDm对象", description="行业代码表")
|
||||
public class CrmHyDm implements Serializable {
|
||||
|
||||
/**
|
||||
* 行业代码
|
||||
*/
|
||||
@TableId(value = "hy_dm", type = IdType.AUTO)
|
||||
private String hyDm;
|
||||
|
||||
/**
|
||||
* 行业名称
|
||||
*/
|
||||
private String hymc;
|
||||
|
||||
/**
|
||||
* 门类标志
|
||||
*/
|
||||
private String mlbz;
|
||||
|
||||
/**
|
||||
* 大类标志
|
||||
*/
|
||||
private String dlbz;
|
||||
|
||||
/**
|
||||
* 种类标志
|
||||
*/
|
||||
private String zlbz;
|
||||
|
||||
/**
|
||||
* 小类标志
|
||||
*/
|
||||
private String xlbz;
|
||||
|
||||
/**
|
||||
* 上级行业代码
|
||||
*/
|
||||
private String sjhyDm;
|
||||
|
||||
/**
|
||||
* 选用标志
|
||||
*/
|
||||
private String xybz;
|
||||
|
||||
/**
|
||||
* 有效标志
|
||||
*/
|
||||
private String yxbz;
|
||||
|
||||
}
|
||||
|
|
@ -43,7 +43,7 @@ public class CrmInstrumentSort implements Serializable {
|
|||
@ApiModelProperty(value = "用户id")
|
||||
private Long userId;
|
||||
|
||||
@ApiModelProperty(value = "模块id 1、合同金额目标及完成情况 2、数据汇总 3、回款金额目标及完成情况 4、业绩指标完成率 5、销售漏斗 6、遗忘提醒 7、排行榜")
|
||||
@ApiModelProperty(value = "模块id 1、税务预检使用情况 2、合同金额目标及完成情况 3、数据汇总 4、回款金额目标及完成情况 5、业绩指标完成率 6、销售漏斗 7、遗忘提醒 8、排行榜")
|
||||
private Integer modelId;
|
||||
|
||||
@ApiModelProperty(value = "列 1左侧 2右侧")
|
||||
|
|
|
|||
|
|
@ -1,11 +1,13 @@
|
|||
package com.kakarote.crm.entity.PO;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import com.kakarote.core.security.converter.SensitiveDataConverter;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
import org.apache.ibatis.type.JdbcType;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
|
@ -45,16 +47,20 @@ public class CrmLeads implements Serializable {
|
|||
@ApiModelProperty(value = "下次联系时间")
|
||||
private Date nextTime;
|
||||
|
||||
@ApiModelProperty(value = "电话")
|
||||
@ApiModelProperty(value = "联系人姓名")
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String telephone;
|
||||
|
||||
@ApiModelProperty(value = "手机号")
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String mobile;
|
||||
|
||||
@ApiModelProperty(value = "邮箱")
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String email;
|
||||
|
||||
@ApiModelProperty(value = "地址")
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String address;
|
||||
|
||||
@ApiModelProperty(value = "备注")
|
||||
|
|
|
|||
|
|
@ -0,0 +1,102 @@
|
|||
package com.kakarote.crm.entity.PO;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.kakarote.core.security.converter.SensitiveDataConverter;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
import org.apache.ibatis.type.JdbcType;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@TableName("wk_crm_nsrzg")
|
||||
@ApiModel(value="CrmNsrzg对象", description="纳税人资格")
|
||||
public class CrmNsrzg implements Serializable {
|
||||
|
||||
private static final long serialVersionUID=1L;
|
||||
|
||||
@TableId(value = "nsrdjzg_id", type = IdType.AUTO)
|
||||
/**
|
||||
* 纳税人资格Id primary key
|
||||
*/
|
||||
private Integer nsrdjzgId;
|
||||
|
||||
/**
|
||||
* 认定凭证UUID
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String rdpzuuid;
|
||||
|
||||
/**
|
||||
* 登记序号
|
||||
*/
|
||||
private String djxh;
|
||||
|
||||
/**
|
||||
* 流程实例ID
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String lcslid;
|
||||
|
||||
/**
|
||||
* 纳税人资格类型代码
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String nsrzglxDm;
|
||||
|
||||
/**
|
||||
* 有效期起
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String yxqq;
|
||||
|
||||
/**
|
||||
* 有效期止
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String yxqz;
|
||||
|
||||
/**
|
||||
* 数据终止日期
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String sjzzrq;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private Date createTime;
|
||||
|
||||
/**
|
||||
* 创建人
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String createBy;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private Date updateTime;
|
||||
|
||||
/**
|
||||
* 更新人
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String updateBy;
|
||||
|
||||
@TableField(exist = false)
|
||||
private String zfbz1;
|
||||
|
||||
@TableField(exist = false)
|
||||
private String qxbz;
|
||||
}
|
||||
|
|
@ -0,0 +1,71 @@
|
|||
package com.kakarote.crm.entity.PO;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.kakarote.core.security.converter.SensitiveDataConverter;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
import org.apache.ibatis.type.JdbcType;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@TableName("wk_crm_qycbrs")
|
||||
@ApiModel(value="CrmQycbrs对象", description="企业参保人数")
|
||||
public class CrmQycbrs implements Serializable {
|
||||
|
||||
private static final long serialVersionUID=1L;
|
||||
|
||||
@TableId(value = "qycbrs_id", type = IdType.AUTO)
|
||||
/**
|
||||
* 纳税人资格Id primary key
|
||||
*/
|
||||
private Integer qycbrsId;
|
||||
|
||||
/**
|
||||
* 月份
|
||||
*/
|
||||
private String yf;
|
||||
|
||||
/**
|
||||
* 参保人数
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String cbrs;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private Date createTime;
|
||||
|
||||
/**
|
||||
* 创建人
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String createUp;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private Date updateTime;
|
||||
|
||||
/**
|
||||
* 更新人
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String updateBy;
|
||||
|
||||
/**
|
||||
* 登记序号
|
||||
*/
|
||||
private String djxh;
|
||||
}
|
||||
|
|
@ -0,0 +1,94 @@
|
|||
package com.kakarote.crm.entity.PO;
|
||||
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@TableName("wk_crm_qyfxjcjg")
|
||||
@ApiModel(value="CrmQyfxjcjg对象", description="风险模块风险指标检测批次结果表")
|
||||
public class CrmQyfxjcjg implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@TableId(value = "jcpc_uuid", type = IdType.ASSIGN_UUID)
|
||||
/**
|
||||
* 监测批次UUID primary key
|
||||
*/
|
||||
private String jcpcUuid;
|
||||
|
||||
/**
|
||||
* 企业id
|
||||
*/
|
||||
private String qyid;
|
||||
|
||||
/**
|
||||
* 企业识别号
|
||||
*/
|
||||
private String qysbh;
|
||||
|
||||
/**
|
||||
* 风险监测批次结果
|
||||
*/
|
||||
private String fxjcPcjg;
|
||||
|
||||
/**
|
||||
* 监测时间
|
||||
*/
|
||||
private Date jcsj;
|
||||
|
||||
/**
|
||||
* 监测所属期起
|
||||
*/
|
||||
private Date jcSsqq;
|
||||
|
||||
/**
|
||||
* 监测所属期止
|
||||
*/
|
||||
private Date jcSsqz;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private Date createTime;
|
||||
|
||||
/**
|
||||
* 创建人
|
||||
*/
|
||||
private String createBy;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
private Date updateTime;
|
||||
|
||||
/**
|
||||
* 更新人
|
||||
*/
|
||||
private String updateBy;
|
||||
|
||||
/**
|
||||
* 纳税人名称
|
||||
*/
|
||||
private String nsrmc;
|
||||
|
||||
/**
|
||||
* 批量监测id
|
||||
*/
|
||||
private String pljcId;
|
||||
|
||||
@TableField(exist = false)
|
||||
private List<CrmQyfxjcjgZbmx> crmQyfxjcjgZbmxList;
|
||||
}
|
||||
|
|
@ -0,0 +1,74 @@
|
|||
package com.kakarote.crm.entity.PO;
|
||||
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@TableName("wk_crm_qyfxjcjg_zbmx")
|
||||
@ApiModel(value="CrmQyfxjcjgZbmx对象", description="风险模块风险指标检测批次结果指标明细表")
|
||||
public class CrmQyfxjcjgZbmx implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@TableId(value = "zbmx_uuid", type = IdType.ASSIGN_UUID)
|
||||
/**
|
||||
* 指标明细UUID primary key
|
||||
*/
|
||||
private String zbmxUuid;
|
||||
|
||||
/**
|
||||
* 监测批次UUID
|
||||
*/
|
||||
private String jcpcUuid;
|
||||
|
||||
/**
|
||||
* 风险指标代码
|
||||
*/
|
||||
private String fxzbDm;
|
||||
|
||||
/**
|
||||
* 风险指标检测结果
|
||||
*/
|
||||
private String fxzbJcjg;
|
||||
|
||||
/**
|
||||
* 监测时间
|
||||
*/
|
||||
private Date jcsj;
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private Date createTime;
|
||||
|
||||
/**
|
||||
* 创建人
|
||||
*/
|
||||
private String createBy;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
private Date updateTime;
|
||||
|
||||
/**
|
||||
* 更新人
|
||||
*/
|
||||
private String updateBy;
|
||||
|
||||
/**
|
||||
* 指标检测状态
|
||||
*/
|
||||
private Integer code;
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,91 @@
|
|||
package com.kakarote.crm.entity.PO;
|
||||
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.kakarote.core.security.converter.SensitiveDataConverter;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
import org.apache.ibatis.type.JdbcType;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@Accessors(chain = true)
|
||||
@TableName("wk_crm_qyfxmx")
|
||||
@ApiModel(value="CrmQyfxmx", description="企业风险明细")
|
||||
public class CrmQyfxmx implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@TableId(value = "qyzbmx_id", type = IdType.AUTO)
|
||||
/**
|
||||
* 企业指标明细id
|
||||
*/
|
||||
private Integer qyzbmxId;
|
||||
|
||||
/**
|
||||
* 评价年度
|
||||
*/
|
||||
private String pjnd;
|
||||
|
||||
/**
|
||||
* 风险指标代码
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String fxzbDm;
|
||||
|
||||
/**
|
||||
* 风险描述
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String fxms;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private Date createTime;
|
||||
|
||||
/**
|
||||
* 创建人
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String createBy;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private Date updateTime;
|
||||
|
||||
/**
|
||||
* 更新人
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String updateBy;
|
||||
|
||||
/**
|
||||
* 登记序号
|
||||
*/
|
||||
private String djxh;
|
||||
|
||||
/**
|
||||
* 纳税人名称
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String nsrmc;
|
||||
|
||||
/**
|
||||
* 纳税人识别号
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String nsrsbh;
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,521 @@
|
|||
package com.kakarote.crm.entity.PO;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.kakarote.core.security.converter.SensitiveDataConverter;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
import org.apache.ibatis.type.JdbcType;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* @description wk_crm_qyjbxx
|
||||
* @author https://www.json.cn/
|
||||
* @date 2025-06-05
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@Accessors(chain = true)
|
||||
@TableName("wk_crm_qyjbxx")
|
||||
@ApiModel(value="CrmQyjbxx对象", description="企业基本信息")
|
||||
public class CrmQyjbxx implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@TableId(value = "qy_id", type = IdType.AUTO)
|
||||
/**
|
||||
* 企业Id primary key
|
||||
*/
|
||||
private Integer qyId;
|
||||
|
||||
/**
|
||||
* 企业登记序号
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String djxh;
|
||||
|
||||
/**
|
||||
* 纳税人识别号
|
||||
*/
|
||||
private String nsrsbh;
|
||||
|
||||
/**
|
||||
* 纳税人名称
|
||||
*/
|
||||
private String nsrmc;
|
||||
|
||||
/**
|
||||
* 课征主体登记类型代码
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String kzztdjlxDm;
|
||||
|
||||
/**
|
||||
* 登记注册类型代码
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String djzclxDm;
|
||||
|
||||
/**
|
||||
* 生产经营地址
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String scjydz;
|
||||
|
||||
/**
|
||||
* 生产经营地址行政区划数字代码
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String scjydzxzqhszDm;
|
||||
|
||||
/**
|
||||
* 纳税人状态代码
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String nsrztDm;
|
||||
|
||||
/**
|
||||
* 行业代码
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String hyDm;
|
||||
|
||||
/**
|
||||
* 注册地址
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String zcdz;
|
||||
|
||||
/**
|
||||
* 注册地址行政区划数字代码
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String zcdzxzqhszDm;
|
||||
|
||||
/**
|
||||
* 街道乡镇代码
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String jdxzDm;
|
||||
|
||||
/**
|
||||
* 单位隶属关系代码
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String dwlsgxDm;
|
||||
|
||||
/**
|
||||
* 登记日期
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String djrq;
|
||||
|
||||
/**
|
||||
* 跨区财产税主体登记标志
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String kqccsztdjbz;
|
||||
|
||||
/**
|
||||
* 主管税务局代码
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String zgswjDm;
|
||||
|
||||
/**
|
||||
* 主管税务所(科、分局)代码
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String zgswskfjDm;
|
||||
|
||||
/**
|
||||
* shxydm
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String shxydm;
|
||||
|
||||
/**
|
||||
* 税收管理员代码
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String ssglyDm;
|
||||
|
||||
/**
|
||||
* 非居民企业标志
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String fjmqybz;
|
||||
|
||||
/**
|
||||
* 有效标志
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String yxbz;
|
||||
|
||||
/**
|
||||
* 工商注销日期
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String gszxrq;
|
||||
|
||||
/**
|
||||
* 企业划型类别
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String qyhxlbDm;
|
||||
|
||||
/**
|
||||
* 企业划型来源
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String qyhxly;
|
||||
|
||||
/**
|
||||
* 经营范围
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String jyfw;
|
||||
|
||||
/**
|
||||
* 注册地联系电话
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String zcdlxdh;
|
||||
|
||||
/**
|
||||
* 注册地邮政编码
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String zcdyzbm;
|
||||
|
||||
/**
|
||||
* 生产经营地联系电话
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String scjydlxdh;
|
||||
|
||||
/**
|
||||
* 生产经营地邮政编码生产经营地邮政编码
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String scjydyzbm;
|
||||
|
||||
/**
|
||||
* 核算方式代码
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String hsfsDm;
|
||||
|
||||
/**
|
||||
* 从业人数
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String cyrs;
|
||||
|
||||
/**
|
||||
* 外籍从业人数
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String wjcyrs;
|
||||
|
||||
/**
|
||||
* 合伙人数
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String hhrs;
|
||||
|
||||
/**
|
||||
* 雇工人数
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String ggrs;
|
||||
|
||||
/**
|
||||
* 固定工人数
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String gdgrs;
|
||||
|
||||
/**
|
||||
* 组织机构类型代码
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String zzjglxDm;
|
||||
|
||||
/**
|
||||
* 会计制度(准则)代码
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String kjzdzzDm;
|
||||
|
||||
/**
|
||||
* 税务代理人联系电话
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String swdlrlxdh;
|
||||
|
||||
/**
|
||||
* 税务代理人电子信箱
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String swdlrdzxx;
|
||||
|
||||
/**
|
||||
* 注册资本
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String zczb;
|
||||
|
||||
/**
|
||||
* 投资总额
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String tzze;
|
||||
|
||||
/**
|
||||
* 自然人投资比例
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String zrrtzbl;
|
||||
|
||||
/**
|
||||
* 外资投资比例
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String wztzbl;
|
||||
|
||||
/**
|
||||
* 国有投资比例
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String gytzbl;
|
||||
|
||||
/**
|
||||
* 国有控股类型代码
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String gykglxDm;
|
||||
|
||||
/**
|
||||
* 总分机构类型代码
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String zfjglxDm;
|
||||
|
||||
/**
|
||||
* 法定代表人姓名
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String fddbrxm;
|
||||
|
||||
/**
|
||||
* 法定代表人身份证件类型代码
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String fddbrsfzjlxDm;
|
||||
|
||||
/**
|
||||
* 法定代表人身份证号码
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String fddbrsfzjhm;
|
||||
|
||||
/**
|
||||
* 法定代表人固定电话
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String fddbrgddh;
|
||||
|
||||
/**
|
||||
* 法定代表人移动电话
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String fddbryddh;
|
||||
|
||||
/**
|
||||
* 法定代表人电子信箱
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String fddbrdzxx;
|
||||
|
||||
/**
|
||||
* 财务负责人姓名
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String cwfzrxm;
|
||||
|
||||
/**
|
||||
* 财务负责人身份证件种类代码
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String cwfzrsfzjzlDm;
|
||||
|
||||
/**
|
||||
* 财务负责人身份证件号码
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String cwfzrsfzjhm;
|
||||
|
||||
/**
|
||||
* 财务负责人固定电话
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String cwfzrgddh;
|
||||
|
||||
/**
|
||||
* 财务负责人移动电话
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String cwfzryddh;
|
||||
|
||||
/**
|
||||
* 财务负责人电子信箱
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String cwfzrdzxx;
|
||||
|
||||
/**
|
||||
* 办税人姓名
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String bsrxm;
|
||||
|
||||
/**
|
||||
* 办税人身份证件种类代码
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String bsrsfzjzlDm;
|
||||
|
||||
/**
|
||||
* 办税人身份证件号码
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String bsrsfzjhm;
|
||||
|
||||
/**
|
||||
* 办税人固定电话
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String bsrgddh;
|
||||
|
||||
/**
|
||||
* 办税人移动电话
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String bsryddh;
|
||||
|
||||
/**
|
||||
* 办税人电子信箱
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String bsrdzxx;
|
||||
|
||||
/**
|
||||
* 临时税务登记有效期起
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String lsswdjyxqq;
|
||||
|
||||
/**
|
||||
* 临时税务登记有效期止
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String lsswdjyxqz;
|
||||
|
||||
/**
|
||||
* 税务代理人纳税人识别号
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String swdlrnsrsbh;
|
||||
|
||||
/**
|
||||
* 税务代理人名称
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String swdlrmc;
|
||||
|
||||
/**
|
||||
* 文化事业建设费缴费信息登记标志
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String whsyjsfjfxxdjbz;
|
||||
|
||||
/**
|
||||
* 增值税经营类别
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String zzsjylb;
|
||||
|
||||
/**
|
||||
* 印花税缴纳方式代码
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String yhsjnfsDm;
|
||||
|
||||
/**
|
||||
* 征收项目城乡标志代码
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String zsxmcxbzDm;
|
||||
|
||||
/**
|
||||
* 增值税企业类型代码
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String zzsqylxDm;
|
||||
|
||||
/**
|
||||
* 国家或地区数字代码
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String gjhdqszDm;
|
||||
|
||||
/**
|
||||
* 企业管理层级编号
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String qyglcjbh;
|
||||
|
||||
/**
|
||||
* 企业所属集团代码
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String qyssjtDm;
|
||||
|
||||
/**
|
||||
* 受托方社会信用代码
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String stfshxydm;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private Date createTime;
|
||||
|
||||
/**
|
||||
* 创建人
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String createBy;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private Date updateTime;
|
||||
|
||||
/**
|
||||
* 更新人
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String updateBy;
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,57 @@
|
|||
package com.kakarote.crm.entity.PO;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import lombok.*;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
@ToString(callSuper = true)
|
||||
public class CrmQyjbxxDjrqDetail extends CrmQyjbxx implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@JsonProperty("djrq")
|
||||
@TableField(exist = false)
|
||||
private DjrqDetail djrqDetail;
|
||||
|
||||
@Data
|
||||
public static class DjrqDetail implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
// 年
|
||||
private String year;
|
||||
|
||||
// 月
|
||||
private String month;
|
||||
|
||||
// 星期
|
||||
private String day;
|
||||
|
||||
// 日期
|
||||
private String date;
|
||||
|
||||
// 时
|
||||
private String hours;
|
||||
|
||||
// 分
|
||||
private String minutes;
|
||||
|
||||
// 秒
|
||||
private String seconds;
|
||||
|
||||
//
|
||||
private String nanos;
|
||||
|
||||
// 时间戳
|
||||
private String time;
|
||||
|
||||
// 时区
|
||||
private String timezoneOffset;
|
||||
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,90 @@
|
|||
package com.kakarote.crm.entity.PO;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.kakarote.core.security.converter.SensitiveDataConverter;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
import org.apache.ibatis.type.JdbcType;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@Accessors(chain = true)
|
||||
@TableName("wk_crm_qyjxfp")
|
||||
@ApiModel(value="CrmQyjxfp对象", description="企业进项发票信息")
|
||||
|
||||
public class CrmQyjxfp implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@TableId(value = "qyjxfp_id", type = IdType.AUTO)
|
||||
/**
|
||||
* 企业进项发票信息Id primary key
|
||||
*/
|
||||
private Integer qyjxfpId;
|
||||
|
||||
/**
|
||||
* 年度
|
||||
*/
|
||||
private String nd;
|
||||
|
||||
/**
|
||||
* 不含税金额
|
||||
*/
|
||||
@JsonProperty("jxbhsje")
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String jxBhsje;
|
||||
|
||||
/**
|
||||
* 进税金额
|
||||
*/
|
||||
@JsonProperty("jxse")
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String jxSe;
|
||||
|
||||
/**
|
||||
* 进项价税合计
|
||||
*/
|
||||
@JsonProperty("jxjshj")
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String jxJshj;
|
||||
|
||||
/**
|
||||
* 社会信用代码
|
||||
*/
|
||||
private String shxydm;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private Date createTime;
|
||||
|
||||
/**
|
||||
* 创建人
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String createBy;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private Date updateTime;
|
||||
|
||||
/**
|
||||
* 更新人
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String updateBy;
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,71 @@
|
|||
package com.kakarote.crm.entity.PO;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.kakarote.core.security.converter.SensitiveDataConverter;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
import org.apache.ibatis.type.JdbcType;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@Accessors(chain = true)
|
||||
@TableName("wk_crm_qynsrdj")
|
||||
@ApiModel(value="CrmQynsrdj", description="企业纳税信用登记")
|
||||
public class CrmQynsrdj implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@TableId(value = "qynsxydj_id", type = IdType.AUTO)
|
||||
/**
|
||||
* 企业纳税信用登记id
|
||||
*/
|
||||
private Integer qynsxydjId;
|
||||
|
||||
/**
|
||||
* 登记序号
|
||||
*/
|
||||
private String djxh;
|
||||
|
||||
/**
|
||||
* 评价年度
|
||||
*/
|
||||
private String pjnd;
|
||||
|
||||
/**
|
||||
* 评价等级
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String pjjg;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private Date createTime;
|
||||
|
||||
/**
|
||||
* 创建人
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String createBy;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private Date updateTime;
|
||||
|
||||
/**
|
||||
* 更新人
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String updateBy;
|
||||
}
|
||||
|
|
@ -0,0 +1,324 @@
|
|||
package com.kakarote.crm.entity.PO;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.kakarote.core.security.converter.SensitiveDataConverter;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
import org.apache.ibatis.type.JdbcType;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@Accessors(chain = true)
|
||||
@TableName("wk_crm_qysdsndsb")
|
||||
@ApiModel(value="CrmQysdsndsb对象", description="企业所得税年度申报信息")
|
||||
public class CrmQysdsndsb implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@TableId(value = "qysdsndsb_id", type = IdType.AUTO)
|
||||
/**
|
||||
* 企业所得税年度申报信息Id primary key
|
||||
*/
|
||||
private Integer qysdsndsbId;
|
||||
|
||||
/**
|
||||
* 登记序号
|
||||
*/
|
||||
private String djxh;
|
||||
|
||||
/**
|
||||
* 年度
|
||||
*/
|
||||
private String nd;
|
||||
|
||||
/**
|
||||
* UUID
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String uuid;
|
||||
|
||||
/**
|
||||
* 申报UUID
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String sbuuid;
|
||||
|
||||
/**
|
||||
* 税款所属期起
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String skssqq;
|
||||
|
||||
/**
|
||||
* 税款所属期止
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String skssqz;
|
||||
|
||||
/**
|
||||
* 凭证序号
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String pzxh;
|
||||
|
||||
/**
|
||||
* 营业收入
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String yysr;
|
||||
|
||||
/**
|
||||
* 营业成本
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String yycb;
|
||||
|
||||
/**
|
||||
* 营业税金及附加
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String yysjFj;
|
||||
|
||||
/**
|
||||
* 销售费用
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String xsfy;
|
||||
|
||||
/**
|
||||
* 管理费用
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String glfy;
|
||||
|
||||
/**
|
||||
* 财务费用
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String cwfy;
|
||||
|
||||
/**
|
||||
* 资产减值损失
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String zcjzss;
|
||||
|
||||
/**
|
||||
* 公允价值变动收益
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String gyjzbdsy;
|
||||
|
||||
/**
|
||||
* 投资收益
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String tzsy;
|
||||
|
||||
/**
|
||||
* 营业利润
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String yylr;
|
||||
|
||||
/**
|
||||
* 营业外收入
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String yywsr;
|
||||
|
||||
/**
|
||||
* 营业外支出
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String yywzc;
|
||||
|
||||
/**
|
||||
* 利润总额
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String lrze;
|
||||
|
||||
/**
|
||||
* 境外所得金额
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String jwsdje;
|
||||
|
||||
/**
|
||||
* 纳税调整增加额
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String nstzzje;
|
||||
|
||||
/**
|
||||
* 纳税调整减少额
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String nstzjse;
|
||||
|
||||
/**
|
||||
* 减:免税、减计收入以及加计扣除
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String msjjsrjjjkc;
|
||||
|
||||
/**
|
||||
* 加:境外应税所得抵减境内亏损
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String jwyssddjjnks;
|
||||
|
||||
/**
|
||||
* 纳税调整后所得
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String nstzhsd;
|
||||
|
||||
/**
|
||||
* 减:所得减免
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String sdjm;
|
||||
|
||||
/**
|
||||
* 抵扣应纳税所得额
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String dkynssde;
|
||||
|
||||
/**
|
||||
* 弥补以前年度亏损
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String mbyqndks;
|
||||
|
||||
/**
|
||||
* 应纳税所得额
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String ynssde;
|
||||
|
||||
/**
|
||||
* 税率
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String sl1;
|
||||
|
||||
/**
|
||||
* 应纳所得税额
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String ynsdse;
|
||||
|
||||
/**
|
||||
* 减、免所得税额
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String jmsdse;
|
||||
|
||||
/**
|
||||
* 抵免所得税额
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String dmsdse;
|
||||
|
||||
/**
|
||||
* 应纳税额
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String ynse;
|
||||
|
||||
/**
|
||||
* 境外所得应纳所得税额
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String jwsdynsdse;
|
||||
|
||||
/**
|
||||
* 减:境外所得抵免所得税额
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String jwsddmsdse;
|
||||
|
||||
/**
|
||||
* 实际应纳所得税额
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String sjynsdse;
|
||||
|
||||
/**
|
||||
* 本年累计实际已预缴的所得税额
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String bnljsjyyjSdse;
|
||||
|
||||
/**
|
||||
* 本年应补退的所得税额
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String bnybtSdse;
|
||||
|
||||
/**
|
||||
* 总机构分摊本年应补(退)所得税额
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String zjgftbnybtsdse;
|
||||
|
||||
/**
|
||||
* 财政集中分配本年应补(退)所得税额
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String czjzfpbnybtsdse;
|
||||
|
||||
/**
|
||||
* 总机构主体生产经营部门分摊本年应补(退)所得税额
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String zjgztscjybmftbnybtsdse;
|
||||
|
||||
/**
|
||||
* 以前年度多缴的所得税额在本年抵减额
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String yqnddjSdseBndje;
|
||||
|
||||
/**
|
||||
* 以前年度应缴未缴在本年入库所得税额
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String yqndYjwjzbnrksdse;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private Date createTime;
|
||||
|
||||
/**
|
||||
* 创建人
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String createBy;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private Date updateTime;
|
||||
|
||||
/**
|
||||
* 更新人
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String updateBy;
|
||||
}
|
||||
|
|
@ -0,0 +1,78 @@
|
|||
package com.kakarote.crm.entity.PO;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@Accessors(chain = true)
|
||||
@TableName("wk_crm_qysfl")
|
||||
@ApiModel(value="CrmQysfl", description="企业税负率")
|
||||
public class CrmQysfl implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@TableId(value = "qysfl_id", type = IdType.AUTO)
|
||||
/**
|
||||
* 企业税负率id
|
||||
*/
|
||||
private Integer qysflId;
|
||||
|
||||
/**
|
||||
* 登记序号
|
||||
*/
|
||||
private String djxh;
|
||||
|
||||
/**
|
||||
* 月份呢
|
||||
*/
|
||||
private String yf;
|
||||
|
||||
/**
|
||||
* 增值税税负率
|
||||
*/
|
||||
private String zzsSfl;
|
||||
|
||||
/**
|
||||
* 增值税行业税负率
|
||||
*/
|
||||
private String zzsHySfl;
|
||||
|
||||
/**
|
||||
* 企业所得税税负率
|
||||
*/
|
||||
private String qysdsSfl;
|
||||
|
||||
/**
|
||||
* 企业所得税行业税负率
|
||||
*/
|
||||
private String qysdsHySfl;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private Date createTime;
|
||||
|
||||
/**
|
||||
* 创建人
|
||||
*/
|
||||
private String createBy;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
private Date updateTime;
|
||||
|
||||
/**
|
||||
* 更新人
|
||||
*/
|
||||
private String updateBy;
|
||||
}
|
||||
|
|
@ -0,0 +1,101 @@
|
|||
package com.kakarote.crm.entity.PO;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.kakarote.core.security.converter.SensitiveDataConverter;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
import org.apache.ibatis.type.JdbcType;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@Accessors(chain = true)
|
||||
@TableName("wk_crm_qyxxfp")
|
||||
@ApiModel(value="CrmQyxxfp对象", description="企业销项发票")
|
||||
public class CrmQyxxfp implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@TableId(value = "qyxxfp_id", type = IdType.AUTO)
|
||||
/**
|
||||
* 销项发票Id primary key
|
||||
*/
|
||||
private Integer qyxxfpId;
|
||||
|
||||
/**
|
||||
* 年度
|
||||
*/
|
||||
private String nd;
|
||||
|
||||
/**
|
||||
* 销项不含税金额
|
||||
*/
|
||||
@JsonProperty("xxbhsje")
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String xxBhsje;
|
||||
|
||||
/**
|
||||
* 销项税额
|
||||
*/
|
||||
@JsonProperty("xxse")
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String xxSe;
|
||||
|
||||
/**
|
||||
* 销项价税合计
|
||||
*/
|
||||
@JsonProperty("xxjshj")
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String xxJshj;
|
||||
|
||||
/**
|
||||
* 销项年开票数量
|
||||
*/
|
||||
@JsonProperty("xxkpsl")
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String xxKpsl;
|
||||
|
||||
/**
|
||||
* 销项年最大开票额
|
||||
*/
|
||||
@JsonProperty("xxzdkpe")
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String xxZdkpe;
|
||||
|
||||
/**
|
||||
* 社会信用代码
|
||||
*/
|
||||
private String shxydm;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private Date createTime;
|
||||
|
||||
/**
|
||||
* 创建人
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String createBy;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private Date updateTime;
|
||||
|
||||
/**
|
||||
* 更新人
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String updateBy;
|
||||
}
|
||||
|
|
@ -0,0 +1,113 @@
|
|||
package com.kakarote.crm.entity.PO;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.kakarote.core.security.converter.SensitiveDataConverter;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
import org.apache.ibatis.type.JdbcType;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@TableName("wk_crm_swjg")
|
||||
@ApiModel(value="CrmSwjg对象", description="税务机关")
|
||||
public class CrmSwjg implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@TableId(value = "swjg_id", type = IdType.AUTO)
|
||||
/**
|
||||
* 税务机关Id primary key
|
||||
*/
|
||||
private Integer swjgId;
|
||||
|
||||
/**
|
||||
* 税务机关名称
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String swjgmc;
|
||||
|
||||
/**
|
||||
* 税务机关代码
|
||||
*/
|
||||
private String swjgDm;
|
||||
|
||||
/**
|
||||
* 税务机关简称
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String swjgjc;
|
||||
|
||||
/**
|
||||
* 上级税务机关代码
|
||||
*/
|
||||
private String sjswjgDm;
|
||||
|
||||
/**
|
||||
* 机构级次代码
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String jgjcDm;
|
||||
|
||||
/**
|
||||
* 行政区划数字代码
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String xzqhszDm;
|
||||
|
||||
/**
|
||||
* 选用标志
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String xybz;
|
||||
|
||||
/**
|
||||
* 有效标志
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String yxbz;
|
||||
|
||||
/**
|
||||
* 办税服务厅标志
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String bsfwtbz;
|
||||
|
||||
/**
|
||||
* 客户标志
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String ghbz;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private Date createTime;
|
||||
|
||||
/**
|
||||
* 创建人
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String createBy;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private Date updateTime;
|
||||
|
||||
/**
|
||||
* 更新人
|
||||
*/
|
||||
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
|
||||
private String updateBy;
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue