Commit d8f782c6 authored by huangjie's avatar huangjie

Merge branch 'zuhuduan' of http://192.168.60.201/root/dsk-operate-sys into zuhuduan

parents c7c07cb1 0da9796c
......@@ -10,6 +10,9 @@ import com.dsk.common.constant.Constants;
import com.dsk.common.constant.GlobalConstants;
import com.dsk.common.core.domain.R;
import com.dsk.common.enums.CaptchaType;
import com.dsk.common.exception.user.CaptchaExpireException;
import com.dsk.common.helper.LoginHelper;
import com.dsk.common.utils.MessageUtils;
import com.dsk.common.utils.StringUtils;
import com.dsk.common.utils.email.MailUtils;
import com.dsk.common.utils.redis.RedisUtils;
......@@ -17,6 +20,8 @@ import com.dsk.common.utils.reflect.ReflectUtils;
import com.dsk.common.utils.spring.SpringUtils;
import com.dsk.framework.config.properties.CaptchaProperties;
import com.dsk.framework.config.properties.MailProperties;
import com.dsk.system.domain.SysUser;
import com.dsk.system.mapper.SysUserMapper;
import com.dsk.system.service.ISysConfigService;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
......@@ -29,6 +34,7 @@ import org.springframework.expression.ExpressionParser;
import org.springframework.expression.spel.standard.SpelExpressionParser;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.validation.constraints.NotBlank;
......@@ -52,16 +58,17 @@ public class CaptchaController {
private final CaptchaProperties captchaProperties;
private final ISysConfigService configService;
private final MailProperties mailProperties;
private final SysUserMapper userMapper;
/**
* 短信验证码
* 发送短信验证码
*
* @param phonenumber 用户手机号
*/
@GetMapping("/captchaSms")
public R<Void> smsCaptcha(@NotBlank(message = "{user.phonenumber.not.blank}") String phonenumber) {
String key = GlobalConstants.CAPTCHA_CODE_KEY + phonenumber;
String code = RandomUtil.randomNumbers(4);
String code = RandomUtil.randomNumbers(6);
RedisUtils.setCacheObject(key, code, Duration.ofMinutes(Constants.CAPTCHA_EXPIRATION));
// 验证码模板id 自行处理 (查数据库或写死均可)
String templateId = "";
......@@ -77,7 +84,39 @@ public class CaptchaController {
}
/**
* 邮箱验证码
* 开发需要,临时发送短信验证码
*/
@GetMapping("/getTempSmsCode")
public R<Void> getTempSmsCode() {
SysUser sysUser = userMapper.selectUserById(LoginHelper.getUserId());
String key = GlobalConstants.CAPTCHA_CODE_KEY + sysUser.getPhonenumber();
String code = RandomUtil.randomNumbers(6);
RedisUtils.setCacheObject(key, code, Duration.ofMinutes(Constants.CAPTCHA_EXPIRATION));
return R.ok("验证码:" + code);
}
/**
* 开发需要,临时校验短信验证码
*
* @param smsCode 验证码
*/
@PostMapping("/checkSmsCode")
public R<Boolean> checkSmsCode(String smsCode) {
SysUser sysUser = userMapper.selectUserById(LoginHelper.getUserId());
String key = GlobalConstants.CAPTCHA_CODE_KEY + sysUser.getPhonenumber();
String code = RedisUtils.getCacheObject(key);
if (StringUtils.isBlank(code)) {
throw new CaptchaExpireException();
}
if (code.equals(smsCode)) {
RedisUtils.deleteObject(key);
return R.ok("校验成功");
}
return R.fail("验证码错误");
}
/**
* 发送邮箱验证码
*
* @param email 邮箱
*/
......@@ -126,7 +165,7 @@ public class CaptchaController {
Expression exp = parser.parseExpression(StringUtils.remove(code, "="));
code = exp.getValue(String.class);
}
log.info("图形验证码:"+code);
log.info("图形验证码:" + code);
RedisUtils.setCacheObject(verifyKey, code, Duration.ofMinutes(Constants.CAPTCHA_EXPIRATION));
ajax.put("uuid", uuid);
ajax.put("img", captcha.getImageBase64());
......
......@@ -13,6 +13,7 @@ import com.dsk.common.core.validate.AddGroup;
import com.dsk.common.core.validate.EditGroup;
import com.dsk.common.enums.BusinessType;
import com.dsk.system.domain.bo.SysTenantPackageBo;
import com.dsk.system.domain.vo.SysTenantPackageSelectVo;
import com.dsk.system.domain.vo.SysTenantPackageVo;
import com.dsk.system.service.ISysTenantPackageService;
import lombok.RequiredArgsConstructor;
......@@ -56,7 +57,7 @@ public class SysTenantPackageController extends BaseController {
@SaCheckRole(TenantConstants.SUPER_ADMIN_ROLE_KEY)
@SaCheckPermission("system:tenantPackage:list")
@GetMapping("/selectList")
public R<List<SysTenantPackageVo>> selectList() {
public R<List<SysTenantPackageSelectVo>> selectList() {
return R.ok(tenantPackageService.selectList());
}
......
......@@ -49,9 +49,9 @@ spring:
driverClassName: com.mysql.cj.jdbc.Driver
# jdbc 所有参数配置参考 https://lionli.blog.csdn.net/article/details/122018562
# rewriteBatchedStatements=true 批处理优化 大幅提升批量插入更新删除性能(对数据库有性能损耗 使用批量操作应考虑性能问题)
url: jdbc:mysql://139.9.157.49:3306/dsk_operate?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
url: jdbc:mysql://47.104.91.229:3306/dsk_operate?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
username: dev
password: 8AXjjCHZ666!
password: zfTFIJjaN#6xB83r
# 从库数据源
# slave:
# lazy: true
......@@ -185,3 +185,14 @@ sms:
sdkAppId: appid
#地域信息默认为 ap-guangzhou 如无特殊改变可不用设置
territory: ap-guangzhou
dsk:
open:
endPoint: 120.27.13.145:8865
accessKeyId: aec7b3ff2y2q8x6t49a7e2c463ce21912
accessKeySecret: ee8a53c7ea04eb3ac311406c8f56f95b
protocol: http
# endPoint: openapi.jiansheku.com
# accessKeyId: aec7b3ff2y2q8x6t49a7e2c463ce21912
# accessKeySecret: ee8a53c7ea04eb3ac311406c8f56f95b
# protocol: https
......@@ -187,3 +187,14 @@ sms:
sdkAppId: appid
#地域信息默认为 ap-guangzhou 如无特殊改变可不用设置
territory: ap-guangzhou
dsk:
open:
# endPoint: 120.27.13.145:8865
# accessKeyId: aec7b3ff2y2q8x6t49a7e2c463ce21912
# accessKeySecret: ee8a53c7ea04eb3ac311406c8f56f95b
# protocol: http
endPoint: openapi.jiansheku.com
accessKeyId: aec7b3ff2y2q8x6t49a7e2c463ce21912
accessKeySecret: ee8a53c7ea04eb3ac311406c8f56f95b
protocol: https
......@@ -185,3 +185,14 @@ sms:
sdkAppId: appid
#地域信息默认为 ap-guangzhou 如无特殊改变可不用设置
territory: ap-guangzhou
dsk:
open:
endPoint: 120.27.13.145:8865
accessKeyId: aec7b3ff2y2q8x6t49a7e2c463ce21912
accessKeySecret: ee8a53c7ea04eb3ac311406c8f56f95b
protocol: http
# endPoint: openapi.jiansheku.com
# accessKeyId: aec7b3ff2y2q8x6t49a7e2c463ce21912
# accessKeySecret: ee8a53c7ea04eb3ac311406c8f56f95b
# protocol: https
#错误消息
#\u9519\u8BEF\u6D88\u606F
not.null=* Required fill in
user.jcaptcha.error=Captcha error
user.jcaptcha.expire=Captcha invalid
......@@ -6,9 +6,9 @@ user.not.exists=Sorry, your account: {0} does not exist
user.password.not.match=User does not exist/Password error
user.password.retry.limit.count=Password input error {0} times
user.password.retry.limit.exceed=Password input error {0} times, account locked for {1} minutes
user.password.delete=Sorry, your account{0} has been deleted
user.password.delete=Sorry, your account\uFF1A{0} has been deleted
user.blocked=Sorry, your account: {0} has been disabled. Please contact the administrator
role.blocked=Role disabledplease contact administrators
role.blocked=Role disabled\uFF0Cplease contact administrators
user.logout.success=Exit successful
length.not.valid=The length must be between {min} and {max} characters
user.username.not.blank=Username cannot be blank
......@@ -26,18 +26,18 @@ user.register.success=Register successful
user.register.save.error=Failed to save user {0}, The registered account already exists
user.register.error=Register failed, please contact system administrator
user.notfound=Please login again
user.forcelogout=The administrator is forced to exitplease login again
user.forcelogout=The administrator is forced to exit\uFF0Cplease login again
user.unknown.error=Unknown error, please login again
##文件上传消息
upload.exceed.maxSize=The uploaded file size exceeds the limit file size!<br/>the maximum allowed file size is:{0}MB!
##\u6587\u4EF6\u4E0A\u4F20\u6D88\u606F
upload.exceed.maxSize=The uploaded file size exceeds the limit file size\uFF01<br/>the maximum allowed file size is\uFF1A{0}MB\uFF01
upload.filename.exceed.length=The maximum length of uploaded file name is {0} characters
##权限
no.permission=You do not have permission to the dataplease contact your administrator to add permissions [{0}]
no.create.permission=You do not have permission to create dataplease contact your administrator to add permissions [{0}]
no.update.permission=You do not have permission to modify dataplease contact your administrator to add permissions [{0}]
no.delete.permission=You do not have permission to delete dataplease contact your administrator to add permissions [{0}]
no.export.permission=You do not have permission to export dataplease contact your administrator to add permissions [{0}]
no.view.permission=You do not have permission to view dataplease contact your administrator to add permissions [{0}]
##\u6743\u9650
no.permission=You do not have permission to the data\uFF0Cplease contact your administrator to add permissions [{0}]
no.create.permission=You do not have permission to create data\uFF0Cplease contact your administrator to add permissions [{0}]
no.update.permission=You do not have permission to modify data\uFF0Cplease contact your administrator to add permissions [{0}]
no.delete.permission=You do not have permission to delete data\uFF0Cplease contact your administrator to add permissions [{0}]
no.export.permission=You do not have permission to export data\uFF0Cplease contact your administrator to add permissions [{0}]
no.view.permission=You do not have permission to view data\uFF0Cplease contact your administrator to add permissions [{0}]
repeat.submit.message=Repeat submit is not allowed, please try again later
rate.limiter.message=Visit too frequently, please try again later
sms.code.not.blank=Sms code cannot be blank
......@@ -47,3 +47,8 @@ email.code.not.blank=Email code cannot be blank
email.code.retry.limit.count=Email code input error {0} times
email.code.retry.limit.exceed=Email code input error {0} times, account locked for {1} minutes
xcx.code.not.blank=Mini program code cannot be blank
##\u79DF\u6237
tenant.number.not.blank=company number cannot be blank
tenant.not.exists=Sorry, your company does not exist. Please contact the administrator
tenant.blocked=Sorry, your company is disabled. Please contact the administrator
tenant.expired=Sorry, your company has expired. Please contact the administrator.
\ No newline at end of file
#错误消息
not.null=* 必须填写
user.jcaptcha.error=验证码错误
user.jcaptcha.expire=验证码已失效
user.not.exists=对不起, 您的账号:{0} 不存在.
user.password.not.match=用户不存在/密码错误
user.password.retry.limit.count=密码输入错误{0}次
user.password.retry.limit.exceed=密码输入错误{0}次,帐户锁定{1}分钟
user.password.delete=对不起,您的账号:{0} 已被删除
user.blocked=对不起,您的账号:{0} 已禁用,请联系管理员
role.blocked=角色已封禁,请联系管理员
user.logout.success=退出成功
length.not.valid=长度必须在{min}到{max}个字符之间
user.username.not.blank=用户名不能为空
user.username.not.valid=* 2到20个汉字、字母、数字或下划线组成,且必须以非数字开头
user.username.length.valid=账户长度必须在{min}到{max}个字符之间
user.password.not.blank=用户密码不能为空
user.password.length.valid=用户密码长度必须在{min}到{max}个字符之间
user.password.not.valid=* 5-50个字符
user.email.not.valid=邮箱格式错误
user.email.not.blank=邮箱不能为空
user.phonenumber.not.blank=用户手机号不能为空
user.mobile.phone.number.not.valid=手机号格式错误
user.login.success=登录成功
user.register.success=注册成功
user.register.save.error=保存用户 {0} 失败,注册账号已存在
user.register.error=注册失败,请联系系统管理人员
user.notfound=请重新登录
user.forcelogout=管理员强制退出,请重新登录
user.unknown.error=未知错误,请重新登录
##文件上传消息
upload.exceed.maxSize=上传的文件大小超出限制的文件大小!<br/>允许的文件最大大小是:{0}MB!
upload.filename.exceed.length=上传的文件名最长{0}个字符
##权限
no.permission=您没有数据的权限,请联系管理员添加权限 [{0}]
no.create.permission=您没有创建数据的权限,请联系管理员添加权限 [{0}]
no.update.permission=您没有修改数据的权限,请联系管理员添加权限 [{0}]
no.delete.permission=您没有删除数据的权限,请联系管理员添加权限 [{0}]
no.export.permission=您没有导出数据的权限,请联系管理员添加权限 [{0}]
no.view.permission=您没有查看数据的权限,请联系管理员添加权限 [{0}]
repeat.submit.message=不允许重复提交,请稍候再试
rate.limiter.message=访问过于频繁,请稍候再试
sms.code.not.blank=短信验证码不能为空
sms.code.retry.limit.count=短信验证码输入错误{0}次
sms.code.retry.limit.exceed=短信验证码输入错误{0}次,帐户锁定{1}分钟
email.code.not.blank=邮箱验证码不能为空
email.code.retry.limit.count=邮箱验证码输入错误{0}次
email.code.retry.limit.exceed=邮箱验证码输入错误{0}次,帐户锁定{1}分钟
xcx.code.not.blank=小程序code不能为空
#\u9519\u8BEF\u6D88\u606F
not.null=* \u5FC5\u987B\u586B\u5199
user.jcaptcha.error=\u9A8C\u8BC1\u7801\u9519\u8BEF
user.jcaptcha.expire=\u9A8C\u8BC1\u7801\u5DF2\u5931\u6548
user.not.exists=\u5BF9\u4E0D\u8D77, \u60A8\u7684\u8D26\u53F7\uFF1A{0} \u4E0D\u5B58\u5728.
user.password.not.match=\u7528\u6237\u4E0D\u5B58\u5728/\u5BC6\u7801\u9519\u8BEF
user.password.retry.limit.count=\u5BC6\u7801\u8F93\u5165\u9519\u8BEF{0}\u6B21
user.password.retry.limit.exceed=\u5BC6\u7801\u8F93\u5165\u9519\u8BEF{0}\u6B21\uFF0C\u5E10\u6237\u9501\u5B9A{1}\u5206\u949F
user.password.delete=\u5BF9\u4E0D\u8D77\uFF0C\u60A8\u7684\u8D26\u53F7\uFF1A{0} \u5DF2\u88AB\u5220\u9664
user.blocked=\u5BF9\u4E0D\u8D77\uFF0C\u60A8\u7684\u8D26\u53F7\uFF1A{0} \u5DF2\u7981\u7528\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458
role.blocked=\u89D2\u8272\u5DF2\u5C01\u7981\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458
user.logout.success=\u9000\u51FA\u6210\u529F
length.not.valid=\u957F\u5EA6\u5FC5\u987B\u5728{min}\u5230{max}\u4E2A\u5B57\u7B26\u4E4B\u95F4
user.username.not.blank=\u7528\u6237\u540D\u4E0D\u80FD\u4E3A\u7A7A
user.username.not.valid=* 2\u523020\u4E2A\u6C49\u5B57\u3001\u5B57\u6BCD\u3001\u6570\u5B57\u6216\u4E0B\u5212\u7EBF\u7EC4\u6210\uFF0C\u4E14\u5FC5\u987B\u4EE5\u975E\u6570\u5B57\u5F00\u5934
user.username.length.valid=\u8D26\u6237\u957F\u5EA6\u5FC5\u987B\u5728{min}\u5230{max}\u4E2A\u5B57\u7B26\u4E4B\u95F4
user.password.not.blank=\u7528\u6237\u5BC6\u7801\u4E0D\u80FD\u4E3A\u7A7A
user.password.length.valid=\u7528\u6237\u5BC6\u7801\u957F\u5EA6\u5FC5\u987B\u5728{min}\u5230{max}\u4E2A\u5B57\u7B26\u4E4B\u95F4
user.password.not.valid=* 5-50\u4E2A\u5B57\u7B26
user.email.not.valid=\u90AE\u7BB1\u683C\u5F0F\u9519\u8BEF
user.email.not.blank=\u90AE\u7BB1\u4E0D\u80FD\u4E3A\u7A7A
user.phonenumber.not.blank=\u7528\u6237\u624B\u673A\u53F7\u4E0D\u80FD\u4E3A\u7A7A
user.mobile.phone.number.not.valid=\u624B\u673A\u53F7\u683C\u5F0F\u9519\u8BEF
user.login.success=\u767B\u5F55\u6210\u529F
user.register.success=\u6CE8\u518C\u6210\u529F
user.register.save.error=\u4FDD\u5B58\u7528\u6237 {0} \u5931\u8D25\uFF0C\u6CE8\u518C\u8D26\u53F7\u5DF2\u5B58\u5728
user.register.error=\u6CE8\u518C\u5931\u8D25\uFF0C\u8BF7\u8054\u7CFB\u7CFB\u7EDF\u7BA1\u7406\u4EBA\u5458
user.notfound=\u8BF7\u91CD\u65B0\u767B\u5F55
user.forcelogout=\u7BA1\u7406\u5458\u5F3A\u5236\u9000\u51FA\uFF0C\u8BF7\u91CD\u65B0\u767B\u5F55
user.unknown.error=\u672A\u77E5\u9519\u8BEF\uFF0C\u8BF7\u91CD\u65B0\u767B\u5F55
##\u6587\u4EF6\u4E0A\u4F20\u6D88\u606F
upload.exceed.maxSize=\u4E0A\u4F20\u7684\u6587\u4EF6\u5927\u5C0F\u8D85\u51FA\u9650\u5236\u7684\u6587\u4EF6\u5927\u5C0F\uFF01<br/>\u5141\u8BB8\u7684\u6587\u4EF6\u6700\u5927\u5927\u5C0F\u662F\uFF1A{0}MB\uFF01
upload.filename.exceed.length=\u4E0A\u4F20\u7684\u6587\u4EF6\u540D\u6700\u957F{0}\u4E2A\u5B57\u7B26
##\u6743\u9650
no.permission=\u60A8\u6CA1\u6709\u6570\u636E\u7684\u6743\u9650\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458\u6DFB\u52A0\u6743\u9650 [{0}]
no.create.permission=\u60A8\u6CA1\u6709\u521B\u5EFA\u6570\u636E\u7684\u6743\u9650\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458\u6DFB\u52A0\u6743\u9650 [{0}]
no.update.permission=\u60A8\u6CA1\u6709\u4FEE\u6539\u6570\u636E\u7684\u6743\u9650\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458\u6DFB\u52A0\u6743\u9650 [{0}]
no.delete.permission=\u60A8\u6CA1\u6709\u5220\u9664\u6570\u636E\u7684\u6743\u9650\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458\u6DFB\u52A0\u6743\u9650 [{0}]
no.export.permission=\u60A8\u6CA1\u6709\u5BFC\u51FA\u6570\u636E\u7684\u6743\u9650\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458\u6DFB\u52A0\u6743\u9650 [{0}]
no.view.permission=\u60A8\u6CA1\u6709\u67E5\u770B\u6570\u636E\u7684\u6743\u9650\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458\u6DFB\u52A0\u6743\u9650 [{0}]
repeat.submit.message=\u4E0D\u5141\u8BB8\u91CD\u590D\u63D0\u4EA4\uFF0C\u8BF7\u7A0D\u5019\u518D\u8BD5
rate.limiter.message=\u8BBF\u95EE\u8FC7\u4E8E\u9891\u7E41\uFF0C\u8BF7\u7A0D\u5019\u518D\u8BD5
sms.code.not.blank=\u77ED\u4FE1\u9A8C\u8BC1\u7801\u4E0D\u80FD\u4E3A\u7A7A
sms.code.retry.limit.count=\u77ED\u4FE1\u9A8C\u8BC1\u7801\u8F93\u5165\u9519\u8BEF{0}\u6B21
sms.code.retry.limit.exceed=\u77ED\u4FE1\u9A8C\u8BC1\u7801\u8F93\u5165\u9519\u8BEF{0}\u6B21\uFF0C\u5E10\u6237\u9501\u5B9A{1}\u5206\u949F
email.code.not.blank=\u90AE\u7BB1\u9A8C\u8BC1\u7801\u4E0D\u80FD\u4E3A\u7A7A
email.code.retry.limit.count=\u90AE\u7BB1\u9A8C\u8BC1\u7801\u8F93\u5165\u9519\u8BEF{0}\u6B21
email.code.retry.limit.exceed=\u90AE\u7BB1\u9A8C\u8BC1\u7801\u8F93\u5165\u9519\u8BEF{0}\u6B21\uFF0C\u5E10\u6237\u9501\u5B9A{1}\u5206\u949F
xcx.code.not.blank=\u5C0F\u7A0B\u5E8Fcode\u4E0D\u80FD\u4E3A\u7A7A
##\u79DF\u6237
tenant.number.not.blank=\u4F01\u4E1A\u7F16\u53F7\u4E0D\u80FD\u4E3A\u7A7A
tenant.not.exists=\u5BF9\u4E0D\u8D77, \u60A8\u7684\u4F01\u4E1A\u4E0D\u5B58\u5728\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458
tenant.blocked=\u5BF9\u4E0D\u8D77\uFF0C\u60A8\u7684\u4F01\u4E1A\u5DF2\u7981\u7528\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458
tenant.expired=\u5BF9\u4E0D\u8D77\uFF0C\u60A8\u7684\u4F01\u4E1A\u5DF2\u8FC7\u671F\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458
\ No newline at end of file
......@@ -180,6 +180,12 @@
<groupId>io.github.linpeilie</groupId>
<artifactId>mapstruct-plus</artifactId>
</dependency>
<dependency>
<groupId>com.gitee.dasikong</groupId>
<artifactId>dsk-acc-open-sdk-java</artifactId>
<version>2.1.0</version>
<scope>compile</scope>
</dependency>
</dependencies>
......
package com.dsk.common.config;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
/**
*@Description: 读取开放平台配置信息
*@Author: zhangyi
*@date: 2023/5/15 15:31
*/
@Component
@ConfigurationProperties(prefix = "dsk.open")
public class DskOpenApiConfig {
public String accessKeyId;
public String accessKeySecret;
public String endPoint;
public String protocol;
public String getAccessKeyId() {
return accessKeyId;
}
public void setAccessKeyId(String accessKeyId) {
this.accessKeyId = accessKeyId;
}
public String getAccessKeySecret() {
return accessKeySecret;
}
public void setAccessKeySecret(String accessKeySecret) {
this.accessKeySecret = accessKeySecret;
}
public String getEndPoint() {
return endPoint;
}
public void setEndPoint(String endPoint) {
this.endPoint = endPoint;
}
public String getProtocol() {
return protocol;
}
public void setProtocol(String protocol) {
this.protocol = protocol;
}
}
......@@ -22,4 +22,24 @@ public interface CacheConstants {
*/
String SYS_DICT_KEY = "sys_dict:";
/**
* 查甲方 菜单选线
*/
public static final String DATA_UIPGROUPDATA = "data:uipGroupData";
/**
* 查甲方 菜单选线
*/
public static final String PERSONAL_LOCATION = "personal:location";
/**
* 查甲方 财务数据
*/
public static final String DATA_FINANCIAL = "data:financial";
/**
* 全国经济大全-默认
*/
public static final String DATA_ECONOMIC = "data:economic";
}
......@@ -65,7 +65,7 @@ public interface Constants {
/**
* 验证码有效期(分钟)
*/
Integer CAPTCHA_EXPIRATION = 2;
Integer CAPTCHA_EXPIRATION = 5;
/**
* 令牌
......
......@@ -5,6 +5,7 @@ import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.HashMap;
/**
* 响应信息主体
......
......@@ -17,12 +17,12 @@ public enum UserType {
/**
* pc端
*/
SYS_USER("sys_user"),
SYS_USER("00"),
/**
* app端
*/
APP_USER("app_user");
APP_USER("01");
private final String userType;
......
......@@ -21,7 +21,7 @@ public class DingTalkUtil {
* 钉钉机器人发消息地址(配置机器人的webhook)
* 此处大家可以配置到配置文件等等方式
*/
private static final String MSG_URL = "https://oapi.dingtalk.com/robot/send?access_token=d348d1f6ee759e03e6ee214622164c9bda653565a62e92b8685577e8796bcdfb";
private static final String MSG_URL = "https://oapi.dingtalk.com/robot/send?access_token=ab6a16dacc0f7e8051bf5b34d425382ffa22621cf3876d81a5331ab30a1bbb14";
/**
* 通知具体人
......
package com.dsk.common.utils;
import cn.hutool.http.HttpUtil;
import cn.hutool.json.JSONUtil;
import com.dsk.acc.openapi.api.AccClient;
import com.dsk.acc.openapi.client.Config;
import com.dsk.acc.openapi.client.util.CommonUtils;
import com.dsk.common.config.DskOpenApiConfig;
import com.dsk.common.core.page.TableDataInfo;
import org.apache.commons.collections4.MapUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.List;
import java.util.Map;
@Component
public class DskOpenApiUtil {
@Autowired
private DskOpenApiConfig dskOpenApiConfig;
/**
* <b>application/json请求</b>
* @param path 请求路径
* @param bodyMap 参数体
* @return
*/
public Map<String, Object> requestBody(String path, Map<String, Object> bodyMap){
return request(path, bodyMap, "json");
}
public Map<String, Object> requestBodyLocal(String path, Map<String, Object> bodyMap){
String post = HttpUtil.post("http://127.0.0.1:8766" + path, JSONUtil.toJsonStr(bodyMap));
return CommonUtils.assertAsMap(CommonUtils.parseJSON(post));
}
public Map<String, Object> requestBodyWithHeader(String path, Map<String, Object> bodyMap, Map<String, String> headerMap){
return requestWithHeader(path, bodyMap, "json", headerMap);
}
/**
* <b>application/x-www-form-urlencoded请求</b>
* @param path 请求路径
* @param bodyMap 参数体
* @return
*/
public Map<String, Object> requestForm(String path, Map<String, Object> bodyMap){
return request(path, bodyMap, "form");
}
/**
* <b>开放平台统一请求</b>
* @param path 请求路径
* @param bodyMap 参数体
* @param reqBodyType 请求格式
* @return
*/
public Map<String, Object> request(String path, Map<String, Object> bodyMap, String reqBodyType){
try {
AccClient.init(new Config(dskOpenApiConfig.accessKeyId, dskOpenApiConfig.accessKeySecret)
.setEndpoint(dskOpenApiConfig.endPoint).setProtocol(dskOpenApiConfig.protocol));
Map<String, ?> res = AccClient.request(reqBodyType, path, bodyMap);
if(!res.containsKey("headers") || !res.containsKey("body")) {
throw new RuntimeException(String.format("请求无返回:path=%s",path));
}
Object resBody = res.get("body");
if(resBody == null) {
return null;
}
return CommonUtils.assertAsMap(resBody);
} catch (Exception e) {
throw new RuntimeException(String.format("请求异常:path=%s,err=%s",path,e.getMessage()));
}
}
/**
* <b>开放平台统一请求</b>
* @param path 请求路径
* @param bodyMap 参数体
* @param reqBodyType 请求格式
* @return
*/
public Map<String, Object> requestWithHeader(String path, Map<String, Object> bodyMap, String reqBodyType, Map<String, String> headerMap){
try {
AccClient.init(new Config(dskOpenApiConfig.accessKeyId, dskOpenApiConfig.accessKeySecret)
.setEndpoint(dskOpenApiConfig.endPoint));
Map<String, ?> res = AccClient.request(reqBodyType, path, bodyMap, headerMap);
if(!res.containsKey("headers") || !res.containsKey("body")) {
throw new RuntimeException(String.format("请求无返回:path=%s",path));
}
Object resBody = res.get("body");
if(resBody == null) {
return null;
}
return CommonUtils.assertAsMap(resBody);
} catch (Exception e) {
throw new RuntimeException(String.format("请求异常:path=%s,err=%s",path,e.getMessage()));
}
}
public TableDataInfo responsePage(Map<String, Object> resMap) throws Exception {
Integer code = MapUtils.getInteger(resMap, "code", 300);
Map data = MapUtils.getMap(resMap, "data", null);
if (200 != code) throw new RuntimeException();
Integer count = MapUtils.getInteger(data, "totalCount", 0);
Object list = MapUtils.getObject(data, "list", "");
return new TableDataInfo((List<?>) list, count);
}
}
package com.dsk.common.utils;
import java.util.HashMap;
public class EncodeIdUtil {
private static String table = "VyB2Kz79QWYjpiD5lRCIMwJEhqFSx0GN1cveZfU4gs6rk8dPbLtAomOnT3";
private static HashMap<String, Integer> mp = new HashMap<>();
private static HashMap<Integer, String> mp2 = new HashMap<>();
static int[] ss = {2, 7, 5, 1, 4, 8, 3, 0, 6};
static long xor = 177451812;
static long add = 8728348608L;
/**
* 解码
* @param s 编码的随机字符串
* @return 原自增ID
*/
public static String avDecode(String s) {
long r = 0;
for (int i = 0; i < table.length(); i++) {
String s1 = table.substring(i, i + 1);
mp.put(s1, i);
}
for (int i = 0; i < 9; i++) {
r = r + mp.get(s.substring(ss[i], ss[i] + 1)) * power(58, i);
}
return String.valueOf((r - add) ^ xor);
}
/**
* 编码
* @param st 原自增ID
* @return 编码后的随机字符串
*/
public static String bvEncode(String st) {
StringBuilder sb = new StringBuilder(" ");
long s = Long.parseLong(st);
s = (s ^ xor) + add;
for (int i = 0; i < table.length(); i++) {
String s1 = table.substring(i, i + 1);
mp2.put(i, s1);
}
// mp2.forEach((inx, str) -> System.out.print(str));
for (int i = 0; i < 9; i++) {
String r = mp2.get((int) (s / power(table.length(), i) % table.length()));
sb.replace(ss[i], ss[i] + 1, r);
}
return sb.toString();
}
private static long power(int a, int b) {
long power = 1;
for (int c = 0; c < b; c++)
power *= a;
return power;
}
/**
* 把unicode编码转换成正常字符
*
* @param hex
* @return
*/
public static String binaryToUnicode(String hex) {
int i;
int n;
int j;
n = hex.length() / 2;
j = 0;
char[] content = new char[n];
for (i = 0; i < n; i++) {
j = i * 2;
content[i] = (char) Integer.parseInt(hex.substring(j, j + 2), 16);
}
return new String(content);
}
/**
* 把字符转换成unicode编码
*
* @param content
* @return
*/
public static String unicodeToBinary(String content) {
String hexStr = "";
char[] contentBuffer = content.toCharArray();
String s;
int n;
for (int i = 0; i < content.length(); i++) {
n = (int) contentBuffer[i];
s = Integer.toHexString(n);
// if (s.length() > 4) {
// s = s.substring(0, 4);
// } else {
// s = "0000".substring(0, 4 - s.length()) + s;
// }
hexStr = hexStr + s;
}
return hexStr;
}
}
package com.dsk.biz.controller;
import com.dsk.biz.domain.ContactInfo;
import com.dsk.biz.domain.bo.ContactInfoSearchDto;
import com.dsk.biz.domain.vo.ContactInfoListVo;
import com.dsk.biz.service.IContactInfoService;
import com.dsk.common.annotation.RepeatSubmit;
import com.dsk.common.core.controller.BaseController;
import com.dsk.common.core.domain.R;
import com.dsk.common.core.domain.PageQuery;
import com.dsk.common.core.page.TableDataInfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
/**
* 联系人(ContactInfo)表控制层
*
* @author makejava
* @since 2023-07-25 17:18:00
*/
@RestController
@RequestMapping("/contact/info")
public class ContactInfoController extends BaseController {
/**
* 服务对象
*/
@Autowired
private IContactInfoService baseService;
/**
* 联系人列表
*/
// @PreAuthorize("@ss.hasPermi('contact:info:list')")
@GetMapping("/list")
public TableDataInfo<ContactInfoListVo> selectPageList(ContactInfoSearchDto dto, PageQuery pageQuery){
return baseService.selectList(dto,pageQuery);
}
/**
* 联系人详情
*/
// @PreAuthorize("@ss.hasPermi('contact:info')")
@GetMapping("/{id}")
public R<ContactInfo> info(@PathVariable Long id){
return R.ok(baseService.selectById(id));
}
/**
* 添加用户联系人
*/
// @PreAuthorize("@ss.hasPermi('contact:info:add')")
@PostMapping()
@RepeatSubmit()
public R<Void> add(@RequestBody ContactInfo baen){
return toAjax(baseService.insert(baen));
}
/**
* 编辑用户联系人
*/
// @PreAuthorize("@ss.hasPermi('contact:info:edit')")
@PutMapping()
@RepeatSubmit()
public R<Void> edit(@RequestBody ContactInfo baen){
return toAjax(baseService.update(baen));
}
/**
* 删除用户联系人
*/
// @PreAuthorize("@ss.hasPermi('contact:info:del')")
@DeleteMapping("/{id}")
@RepeatSubmit()
public R<Void> del(@PathVariable("id") Long id){
return toAjax(baseService.deleteById(id));
}
}
package com.dsk.biz.controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.hutool.core.bean.BeanException;
import com.dsk.biz.domain.Customer;
import com.dsk.biz.domain.bo.CustomerBusinessSearchDto;
import com.dsk.biz.domain.bo.CustomerSearchDto;
import com.dsk.biz.domain.vo.CustomerBusinessListVo;
import com.dsk.biz.domain.vo.CustomerListVo;
import com.dsk.biz.domain.vo.CustomerVo;
import com.dsk.biz.service.ICustomerService;
import com.dsk.common.annotation.Log;
import com.dsk.common.annotation.RepeatSubmit;
import com.dsk.common.core.controller.BaseController;
import com.dsk.common.core.domain.AjaxResult;
import com.dsk.common.core.domain.PageQuery;
import com.dsk.common.core.domain.R;
import com.dsk.common.core.page.TableDataInfo;
import com.dsk.common.enums.BusinessType;
import com.dsk.common.utils.poi.ExcelUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.ObjectUtils;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 客户相关
*
* @author lcl
* @create 2023/5/16
*/
@RestController
@RequestMapping("/customer")
public class CustomerController extends BaseController {
@Autowired
private ICustomerService baseService;
/**
* 查询客户列表
*/
@SaCheckPermission("'customer:list')")
@GetMapping("/list")
public TableDataInfo<CustomerListVo> selectPageList(CustomerSearchDto dto , PageQuery pageQuery) {
return baseService.selectList(dto,pageQuery);
}
/**
* 客户详情
*/
@SaCheckPermission("'customer:info')")
@GetMapping("/{customerId}")
public R<CustomerVo> info(@PathVariable("customerId") String customerId) {
return R.ok(baseService.info(customerId));
}
/**
* 添加客户
*/
@SaCheckPermission("'customer:add')")
@PostMapping()
@RepeatSubmit
public R<Void> add(@RequestBody Customer customer) {
return toAjax(baseService.add(customer));
}
/**
* 认领客户
*/
// @SaCheckPermission("'customer:claim'")
@PostMapping("/claim")
@RepeatSubmit
public R<Map<String, Object>> claim(@RequestBody Customer customer) {
if (ObjectUtils.isEmpty(customer.getUipId())) throw new BeanException("城投uipId不能为空");
boolean add = baseService.add(customer);
if (add) {
Map<String, Object> map = new HashMap<>();
map.put("customerId", customer.getCustomerId());
return R.ok(map);
}
return R.fail();
}
/**
* 编辑客户
*/
@SaCheckPermission("'customer:edit'")
@PutMapping()
@RepeatSubmit
public R<Void> edit(@RequestBody Customer customer) {
return toAjax(baseService.edit(customer));
}
/**
* 获取个人客户列表
*/
@GetMapping("/user/list")
public R<List<Customer>> userList() {
return R.ok(baseService.selectUserList());
}
/**
* 获取客户项目(合作情况)列表
*/
// @SaCheckPermission("'customer:business:list'")
@GetMapping("/business/list")
public TableDataInfo<CustomerBusinessListVo> businessList(CustomerBusinessSearchDto dto, PageQuery pageQuery) {
return baseService.selectBusinessList(dto,pageQuery);
}
@Log(title = "客户数据导入", businessType = BusinessType.IMPORT)
//@SaCheckPermission("'customer:importData'")
@PostMapping("/importData")
// public R<List<String>> importData(@RequestPart("file") MultipartFile file) throws Exception {
public AjaxResult importData(@RequestPart("file") MultipartFile file) throws Exception {
List<Customer> customerList = ExcelUtil.importExcel(file.getInputStream(), Customer.class);
List<String> resultList = new ArrayList<>();
int successCount = 0;
for (Customer customer : customerList) {
if (ObjectUtils.isEmpty(customer.getCompanyName())) {
continue;
}
try {
baseService.add(customer);
successCount++;
} catch (Exception e) {
resultList.add(customer.getCompanyName().concat(":").concat(e.getMessage()));
}
}
AjaxResult success = AjaxResult.success(resultList);
success.put("successCount", successCount);
return success;
}
/**
* 客户状态
*/
@GetMapping("/status/{companyName}")
public R<Integer> status(@PathVariable String companyName) {
return R.ok(baseService.status(companyName));
}
/**
* 取消认领
*/
@PutMapping("/cancelClaim/{companyName}")
@RepeatSubmit
public R<Void> cancelClaim(@PathVariable String companyName) {
return toAjax(baseService.cancelClaim(companyName));
}
/**
* 历史认领
*/
@PutMapping("/historyClaim/{companyName}")
@RepeatSubmit
public R<Void> historyClaim(@PathVariable String companyName) {
return toAjax(baseService.historyClaim(companyName));
}
}
package com.dsk.biz.controller;
import com.dsk.biz.domain.CustomerFollowRecord;
import com.dsk.biz.domain.bo.CustomerFollowRecordSearchDto;
import com.dsk.biz.domain.vo.CustomerFollowRecordListVo;
import com.dsk.biz.service.ICustomerFollowRecordService;
import com.dsk.common.annotation.RepeatSubmit;
import com.dsk.common.core.controller.BaseController;
import com.dsk.common.core.domain.PageQuery;
import com.dsk.common.core.domain.R;
import com.dsk.common.core.page.TableDataInfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
/**
* 客户跟进记录相关
*
* @author lcl
* @create 2023/5/18
*/
@RestController
@RequestMapping("/customer/follow/record")
public class CustomerFollowRecordController extends BaseController {
@Autowired
private ICustomerFollowRecordService baseService;
/**
* 查询客户跟进记录列表
*/
// @PreAuthorize("@ss.hasPermi('customer:follow:record:list')")
@GetMapping("/list")
public TableDataInfo<CustomerFollowRecordListVo> selectPageList(CustomerFollowRecordSearchDto dto, PageQuery pageQuery){
return baseService.selectList(dto, pageQuery);
}
/**
* 添加客户跟进记录
*/
// @PreAuthorize("@ss.hasPermi('customer:follow:record:add')")
@PostMapping()
@RepeatSubmit
public R<Void> add(@RequestBody CustomerFollowRecord followRecord){
return toAjax(baseService.add(followRecord));
}
/**
* 删除客户跟进记录
*/
// @PreAuthorize("@ss.hasPermi('customer:follow:record:del')")
@DeleteMapping("/{id}")
@RepeatSubmit
public R<Void> del(@PathVariable("id") Long id){
return toAjax(baseService.del(id));
}
}
package com.dsk.biz.controller;
import com.dsk.biz.domain.bo.CustomerSearchDto;
import com.dsk.biz.domain.vo.CustomerAnalyzeVo;
import com.dsk.biz.service.ICustomerOverviewService;
import com.dsk.common.core.controller.BaseController;
import com.dsk.common.core.domain.R;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
import java.util.Map;
/**
* 客户概览
* @author lcl
* @create 2023/8/15
*/
@RestController
@RequestMapping("/customer/overview")
public class CustomerOverviewController extends BaseController {
@Autowired
private ICustomerOverviewService baseService;
/**
* 客户统计
*/
@GetMapping("/statistics")
public R<Map<String, Object>> statistics(){
return R.ok(baseService.statistics(new CustomerSearchDto()));
}
/**
* 客户合作情况
*/
@GetMapping("/cooperation/top")
public R<List<CustomerAnalyzeVo>> cooperationTop(){
return R.ok(baseService.cooperationTop(new CustomerSearchDto()));
}
/**
* 客户信资评级
*/
@GetMapping("/credit/level")
public R<List<Map<String, Object>>> creditLevel(){
return R.ok(baseService.creditLevel(new CustomerSearchDto()));
}
}
package com.dsk.biz.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.Date;
/**
* 用户联系人(CustomerContact)实体类
*
* @author makejava
* @since 2023-07-25 17:18:00
*/
@Data
@NoArgsConstructor
@Accessors(chain = true)
@TableName("contact_info")
public class ContactInfo implements Serializable {
private static final long serialVersionUID = -22461377492423075L;
@TableId(value = "id",type = IdType.AUTO)
private Long id;
/**
* 客户id
*/
private String customerId;
/**
* 项目id
*/
private Integer businessId;
/**
* 姓名
*/
private String name;
/**
* 性别
*/
private String sex;
/**
* 角色
*/
private String role;
/**
* 职位
*/
private String position;
/**
* 联系方式
*/
private String contactInformation;
/**
* 企业id
*/
private Integer companyId;
/**
* 城投企业id
*/
private String uipId;
/**
* 企业名称
*/
private String companyName;
/**
* 备注
*/
private String remark;
private String createBy;
private Date createTime;
private String updateBy;
private Long updateId;
private Date updateTime;
}
package com.dsk.biz.domain;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.Date;
/**
* 客户信息表(Customer)实体类
*
* @author makejava
* @since 2023-05-16 09:27:55
*/
@Data
@NoArgsConstructor
@Accessors(chain = true)
@TableName("customer")
public class Customer implements Serializable {
private static final long serialVersionUID = 824383302173350532L;
@TableId(value = "customer_id",type = IdType.ASSIGN_UUID)
private String customerId;
/**
* jsk企业id
*/
private Integer companyId;
/**
* 城投企业id
*/
private String uipId;
/**
* 客户名称(企业名称)
*/
private String companyName;
/**
* 法定代表人
*/
private String legalPerson;
/**
* 注册资本
*/
private String registerCapital;
/**
* 省id
*/
private Integer provinceId;
/**
* 市id
*/
private Integer cityId;
/**
* 区县id
*/
private Integer districtId;
/**
* 注册地址
*/
private String registerAddress;
/**
* 社会统一信用代码
*/
private String creditCode;
/**
* 企业性质(company_nature_type)
*/
private String companyNature;
/**
* 企业级别(company_level_type)
*/
private String companyLevel;
/**
* 企业主体评级(credit_level_type)
*/
private String creditLevel;
/**
* 客户等级(customer_level_type)
*/
private String customerLevel;
/**
* 上级公司(控股单位)
*/
private String superCompany;
/**
* 是否上市 0:否 1:是
*/
private Integer isOn;
/**
* 是否主要客户 0:否 1:是
*/
private Integer isMajor;
/**
* 发包属性
*/
private String companyAttribute;
/**
* 主要业务
*/
private String mainBusiness;
/**
* 经营范围
*/
private String businessScope;
/**
* 商务条件特点
*/
private String businessCharacteristic;
/**
* 决策链条
*/
private String decisionChain;
/**
* 招投标流程特点
*/
private String bidCharacteristic;
/**
* 履约阶段特点
*/
private String performanceCharacteristic;
/**
* 其它管理体系特点
*/
private String otherMsCharacteistic;
private Long createId;
@TableField(fill = FieldFill.INSERT)
private Date createTime;
private Long updateId;
@TableField(fill = FieldFill.INSERT_UPDATE)
private Date updateTime;
}
package com.dsk.biz.domain;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.Date;
/**
* 客户跟进记录(CustomerFollowRecord)实体类
*
* @author makejava
* @since 2023-05-18 15:07:59
*/
@Data
@NoArgsConstructor
@Accessors(chain = true)
@TableName("customer_follow_record")
public class CustomerFollowRecord implements Serializable {
private static final long serialVersionUID = -17639570424991398L;
@TableId(value = "id",type = IdType.AUTO)
private Long id;
/**
* 客户id
*/
private String customerId;
/**
* 用户id
*/
private Long userId;
/**
* 拜访方式(visit_mode_type)
*/
private String visitMode;
/**
* 拜访时间
*/
private Date visitTime;
/**
* 下次拜访时间
*/
private Date nextVisitTime;
/**
* 拜访对象姓名
*/
private String name;
/**
* 拜访对象职务
*/
private String position;
/**
* 拜访内容
*/
private String content;
@TableField(fill = FieldFill.INSERT)
private Date createTime;
}
package com.dsk.biz.domain;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.Date;
/**
* 客户负责人表
*
* @author lcl
* @create 2023/5/17
*/
@Data
@NoArgsConstructor
@Accessors(chain = true)
@TableName("customer_user")
public class CustomerUser implements Serializable {
@TableId(value = "id",type = IdType.AUTO)
private Long id;
/**
* 客户id
*/
private String customerId;
/**
* 负责人id
*/
private Long userId;
/**
* 状态
*/
private Integer status;
/**
* 创建时间
*/
@TableField(fill = FieldFill.INSERT)
private Date createTime;
/**
* 修改时间
*/
@TableField(fill = FieldFill.INSERT_UPDATE)
private Date updateTime;
public CustomerUser(String customerId, Long userId) {
this.customerId = customerId;
this.userId = userId;
}
}
package com.dsk.biz.domain.bo;
import lombok.Data;
import java.io.Serializable;
/**
* @author lcl
* @create 2023/5/16
*/
@Data
public class ContactInfoSearchDto implements Serializable {
/**
* 项目id
*/
private Integer businessId;
/**
* 企业名称
*/
private String companyName;
/**
* 客户id
*/
private String customerId;
}
package com.dsk.biz.domain.bo;
import lombok.Data;
import java.io.Serializable;
/**
* 客户合作情况筛选对象
* @author lcl
* @create 2023/5/16
*/
@Data
public class CustomerBusinessSearchDto implements Serializable {
/**
* 企业id
*/
private String customerId;
/**
* 企业id
*/
private Long userId;
/**
* 项目名称
*/
private String projectName;
/**
* 项目阶段
*/
private String projectStage;
/**
* 项目状态
*/
private Integer status;
}
package com.dsk.biz.domain.bo;
import lombok.Data;
/**
* @author lcl
* @create 2023/5/16
*/
@Data
public class CustomerDecisionChainSearchDto {
/**
* 客户id
*/
private String customerId;
}
package com.dsk.biz.domain.bo;
import com.dsk.common.core.domain.BaseEntity;
import lombok.Data;
import java.io.Serializable;
/**
* 客户跟进记录筛选对象
*
* @author lcl
* @create 2023/5/18
*/
@Data
public class CustomerFollowRecordSearchDto extends BaseEntity implements Serializable {
/**
* 客户id
*/
private String customerId;
/**
* 用户id
*/
private Long userId;
/**
* 开始时间
*/
private String startTime;
/**
* 结束时间
*/
private String endTime;
}
package com.dsk.biz.domain.bo;
import com.dsk.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.List;
/**
* @author lcl
* @create 2023/5/16
*/
@Data
@NoArgsConstructor
public class CustomerSearchDto extends BaseEntity implements Serializable {
/**
* 企业id
*/
private Integer companyId;
/**
* 城投企业id
*/
private String uipId;
/**
* 企业名称
*/
private String companyName;
/**
* 企业性质
*/
private String companyNature;
/**
* 客户id
*/
private String customerId;
/**
* 用户id
*/
private Long userId;
/**
* 客户状态 0:正常 1:历史
*/
private Integer status;
/**
* 是否上市 0:否 1:是
*/
private Integer isOn;
/**
* 省id
*/
private List<Integer> provinceIds;
/**
* 市id
*/
private List<Integer> cityIds;
/**
* 区id
*/
private List<Integer> districtIds;
/**
* 企业性质
*/
private List<String> companyNatures;
/**
* 信资等级
*/
private List<String> creditLevels;
}
package com.dsk.biz.domain.vo;
import lombok.Data;
import java.io.Serializable;
/**
* 用户联系人(CustomerContact)实体类
*
* @author makejava
* @since 2023-07-25 17:18:00
*/
@Data
public class ContactInfoListVo implements Serializable {
private static final long serialVersionUID = -22461377492423075L;
private Long id;
/**
* 客户id
*/
private String customerId;
/**
* 项目id
*/
private Integer businessId;
/**
* 项目名称
*/
private String projectName;
/**
* 姓名
*/
private String name;
/**
* 性别
*/
private String sex;
/**
* 角色
*/
private String role;
/**
* 职位
*/
private String position;
/**
* 联系方式
*/
private String contactInformation;
/**
* 企业id
*/
private Integer companyId;
/**
* 城投企业id
*/
private String uipId;
/**
* 企业名称
*/
private String companyName;
/**
* 备注
*/
private String remark;
/**
* 更新人
*/
private String updateBy;
}
package com.dsk.biz.domain.vo;
import lombok.Data;
import java.io.Serializable;
/**
* 客户分析
*
* @author lcl
* @create 2023/8/15
*/
@Data
public class CustomerAnalyzeVo implements Serializable {
/**
* 客户id
*/
private String customerId;
/**
* 企业名称
*/
private String companyName;
/**
* 企业id
*/
private Integer companyId;
/**
* 城投id
*/
private String uipId;
/**
* 项目数量
*/
private Integer businessCount;
/**
* 总投资金额
*/
private Double totalAmount;
}
package com.dsk.biz.domain.vo;
import lombok.Data;
import java.io.Serializable;
/**
* 客户合作情况列表对象
*
* @author lcl
* @create 2023/5/22
*/
@Data
public class CustomerBusinessListVo implements Serializable {
/**
* 项目id
*/
private Integer id;
/**
* 项目名称
*/
private String projectName;
/**
* 项目阶段
*/
private String projectStage;
/**
* 投资金额
*/
private String investmentAmount;
/**
* 状态
*/
private Integer status;
}
package com.dsk.biz.domain.vo;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* 客户跟进记录列表
*
* @author makejava
* @since 2023-05-18 15:07:59
*/
@Data
public class CustomerFollowRecordListVo implements Serializable {
private static final long serialVersionUID = -17639570424991398L;
private Long id;
/**
* 客户id
*/
private String customerId;
/**
* 企业id
*/
private Integer companyId;
/**
* 城投id
*/
private String uipId;
/**
* 客户名称
*/
private String companyName;
/**
* 用户id
*/
private Long userId;
/**
* 用户昵称
*/
private String nickName;
/**
* 拜访方式(visit_mode_type)
*/
private String visitMode;
/**
* 拜访时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date visitTime;
/**
* 下次拜访时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date nextVisitTime;
/**
* 拜访对象姓名
*/
private String name;
/**
* 拜访对象职务
*/
private String position;
/**
* 拜访内容
*/
private String content;
@TableField(fill = FieldFill.INSERT)
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
}
package com.dsk.biz.domain.vo;
import lombok.Data;
/**
* @author lcl
* @create 2023/5/17
*/
@Data
public class CustomerListVo {
private String customerId;
/**
* jsk企业id
*/
private Integer companyId;
/**
* 城投企业id
*/
private String uipId;
/**
* 客户名称(企业名称)
*/
private String companyName;
/**
* 合作项目
*/
private Integer cooperationProject;
/**
* 跟进项目
*/
private Integer followProject;
/**
* 储备项目
*/
private Integer reserveProject;
/**
* 法定代表人
*/
private String legalPerson;
/**
* 注册资本(字符串)
*/
private String registerCapital;
/**
* 注册地址
*/
private String registerAddress;
/**
* 社会统一信用代码
*/
private String creditCode;
/**
* 企业性质
*/
private String companyNature;
/**
* 企业级别
*/
private String companyLevel;
/**
* 企业主体评级
*/
private String creditLevel;
/**
* 客户等级
*/
private String customerLevel;
/**
* 上级公司
*/
private String superCompany;
/**
* 是否上市 0:否 1:是
*/
private Integer isOn;
/**
* 是否主要客户 0:否 1:是
*/
private Integer isMajor;
/**
* 发包属性
*/
private String companyAttribute;
/**
* 主要业务
*/
private String mainBusiness;
/**
* 经营范围
*/
private String businessScope;
/**
* 商务条件特点
*/
private String businessCharacteristic;
/**
* 决策链条
*/
private String decisionChain;
/**
* 招投标流程特点
*/
private String bidCharacteristic;
/**
* 履约阶段特点
*/
private String performanceCharacteristic;
/**
* 其它管理体系特点
*/
private String otherMsCharacteistic;
/**
* 跟进人
*/
private String followUser;
}
package com.dsk.biz.domain.vo;
import lombok.Data;
import java.io.Serializable;
/**
* 客户状态列表
*
* @author lcl
* @create 2023/5/22
*/
@Data
public class CustomerStatusListVo implements Serializable {
/**
* 客户id
*/
private String customerId;
/**
* 城投id
*/
private String uipId;
/**
* 企业名称
*/
private String companyName;
/**
* 企业名称
*/
private Integer status;
}
package com.dsk.biz.domain.vo;
import com.dsk.biz.domain.Customer;
import lombok.Data;
import java.io.Serializable;
/**
* 客户详情
*
* @author makejava
* @since 2023-05-16 09:27:55
*/
@Data
public class CustomerVo extends Customer implements Serializable {
/**
* 负责人id
*/
private Long userId;
}
package com.dsk.biz.dskService;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.json.JSONObject;
import com.dsk.common.core.domain.AjaxResult;
import com.dsk.common.utils.DskOpenApiUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.HashMap;
import java.util.Map;
/**
* @Author liujie
* @ClassName MarketAnalysisServiceImpl
* @Date 2023/5/15 16:40
**/
@Service
public class BusinessOpportunityRadarService {
@Autowired
private DskOpenApiUtil dskOpenApiUtil;
public AjaxResult jskBidNewsPage(JSONObject object) {
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/jskBid/news/page", object);
return BeanUtil.toBean(map, AjaxResult.class);
}
public AjaxResult findByName(JSONObject object) {
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/jskBid/news/findByName", object);
return BeanUtil.toBean(map, AjaxResult.class);
}
public AjaxResult jskBidTenderPage(JSONObject object) {
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/jskBidTender/page", object);
return BeanUtil.toBean(map, AjaxResult.class);
}
public AjaxResult establishmentPage(JSONObject object) {
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/establishment/page", object);
return BeanUtil.toBean(map, AjaxResult.class);
}
public AjaxResult jskBidPage(JSONObject object) {
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/jskBid/page", object);
return BeanUtil.toBean(map, AjaxResult.class);
}
public AjaxResult landMarketPage(JSONObject object) {
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/landMarket/page", object);
return BeanUtil.toBean(map, AjaxResult.class);
}
public AjaxResult enterpriseIndex(JSONObject object) {
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/enterprice/index", object);
return BeanUtil.toBean(map, AjaxResult.class);
}
public AjaxResult enterprisePage(JSONObject object) {
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/enterprice/page", object);
return BeanUtil.toBean(map, AjaxResult.class);
}
public AjaxResult enterpriseByName(String keyword) {
Map<String, Object> params = new HashMap<>();
params.put("keyword", keyword);
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/enterprice/findByName", params);
return BeanUtil.toBean(map, AjaxResult.class);
}
public AjaxResult bondProjectPage(JSONObject object) {
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/bondProject/page", object);
return BeanUtil.toBean(map, AjaxResult.class);
}
public AjaxResult jskBidPlanPage(JSONObject object) {
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/jskBidPlan/page", object);
return BeanUtil.toBean(map, AjaxResult.class);
}
public AjaxResult getCapitalSourceSelect() {
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/jskBidPlan/getCapitalSourceSelect", null);
return BeanUtil.toBean(map, AjaxResult.class);
}
public AjaxResult keywordList() {
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/project/keywordList", null);
return BeanUtil.toBean(map, AjaxResult.class);
}
public AjaxResult bidSourceList(JSONObject object) {
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/jskBid/source", object);
return BeanUtil.toBean(map, AjaxResult.class);
}
}
package com.dsk.biz.dskService;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.map.MapUtil;
import cn.hutool.core.util.ObjectUtil;
import com.dsk.common.core.domain.R;
import com.dsk.common.utils.DskOpenApiUtil;
import org.apache.commons.collections4.CollectionUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 企业相关通用服务
*
* @author lcl
* @create 2023/8/30
*/
@Service
public class EnterpriseCommonService {
private static final Logger log = LoggerFactory.getLogger(EnterpriseCommonService.class);
@Autowired
private DskOpenApiUtil dskOpenApiUtil;
public R getUipId(String companyName) throws Exception {
Map<String, Object> params = new HashMap<>();
params.put("companyName", companyName);
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterprise/getUipId", params);
return BeanUtil.toBean(map, R.class);
}
public R getUipIdByCid(List<Integer> body) throws Exception {
if (CollectionUtils.isEmpty(body)) return R.ok();
HashMap<String, Object> paramMap = new HashMap<>();
paramMap.put("ids", body);
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterprise/getUipIdByCid", paramMap);
return BeanUtil.toBean(map, R.class);
}
//企业uipId
public String getUipIdByCompanyNameOrCompanyId(String companyName, Integer companyId) {
try {
String uipId = null;
if (!ObjectUtil.isEmpty(companyId)) {
R res = this.getUipIdByCid(Collections.singletonList(companyId));
if (!ObjectUtils.isEmpty(res.getData())) {
List<Map<String, Object>> data = (List<Map<String, Object>>) res.getData();
uipId = MapUtil.getStr(BeanUtil.beanToMap(data.get((0))), "uipId");
}
}
if (ObjectUtil.isEmpty(uipId)) {
R res = this.getUipId(companyName);
if (!ObjectUtils.isEmpty(res.getData())) {
uipId = MapUtil.getStr(BeanUtil.beanToMap(res.getData()), "uipId");
}
}
return uipId;
} catch (Exception e) {
log.debug("获取企业uipId错误!error:{}", e.getMessage());
}
return null;
}
}
package com.dsk.biz.dskService;
import cn.hutool.core.bean.BeanUtil;
import com.dsk.biz.dskService.model.*;
import com.dsk.common.core.domain.R;
import com.dsk.common.core.page.TableDataInfo;
import com.dsk.common.utils.DskOpenApiUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Map;
@Service
public class EnterpriseCreditService {
private static final Logger log = LoggerFactory.getLogger(EnterpriseService.class);
@Autowired
private DskOpenApiUtil dskOpenApiUtil;
public TableDataInfo penalizePage(EnterpriseCreditPenalizePageBody body) throws Exception {
if (body.isVaildCid()) return new TableDataInfo(new ArrayList<>(), 0);
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseCredit/penalizePage", BeanUtil.beanToMap(body, false, false));
return dskOpenApiUtil.responsePage(map);
}
public R penalizeReasonType(EnterpriseCreditPenalizeReasonTypeBody body) throws Exception {
if (body.isVaildCid()) return R.ok();
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseCredit/penalizeReasonType", BeanUtil.beanToMap(body, false, false));
return BeanUtil.toBean(map, R.class);
}
public TableDataInfo abnormalPage(EnterpriseCreditAbnormalPageBody body) throws Exception {
if (body.isVaildCid()) return new TableDataInfo(new ArrayList<>(), 0);
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseCredit/abnormalPage", BeanUtil.beanToMap(body, false, false));
return dskOpenApiUtil.responsePage(map);
}
public R abnormalYears(EnterpriseCreditAbnormalYearsBody body) throws Exception {
if (body.isVaildCid()) return R.ok();
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseCredit/abnormalYears", BeanUtil.beanToMap(body, false, false));
return BeanUtil.toBean(map, R.class);
}
public TableDataInfo executedPersonsPage(EnterpriseCreditExecutedPersonsPageBody body) throws Exception {
if (body.isVaildCid()) return new TableDataInfo(new ArrayList<>(), 0);
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseCredit/executedPersonsPage", BeanUtil.beanToMap(body, false, false));
return dskOpenApiUtil.responsePage(map);
}
public TableDataInfo executedPage(EnterpriseCreditExecutedPageBody body) throws Exception {
if (body.isVaildCid()) return new TableDataInfo(new ArrayList<>(), 0);
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseCredit/executedPage", BeanUtil.beanToMap(body, false, false));
return dskOpenApiUtil.responsePage(map);
}
public TableDataInfo lawsuitsPage(EnterpriseCreditLawsuitsPageBody body) throws Exception {
if (body.isVaildCid()) return new TableDataInfo(new ArrayList<>(), 0);
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseCredit/lawsuitsPage", BeanUtil.beanToMap(body, false, false));
return dskOpenApiUtil.responsePage(map);
}
public R lawsuitsCauseAction(EnterpriseCreditLawsuitsCauseActionBody body) throws Exception {
if (body.isVaildCid()) return R.ok();
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseCredit/lawsuitsCauseAction", BeanUtil.beanToMap(body, false, false));
return BeanUtil.toBean(map, R.class);
}
public R lawsuitsRole(EnterpriseCreditLawsuitsRoleBody body) throws Exception {
if (body.isVaildCid()) return R.ok();
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseCredit/lawsuitsRole", BeanUtil.beanToMap(body, false, false));
return BeanUtil.toBean(map, R.class);
}
public TableDataInfo noticesPage(EnterpriseCreditNoticePageBody body) throws Exception {
if (body.isVaildCid()) return new TableDataInfo(new ArrayList<>(), 0);
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseCredit/noticesPage", BeanUtil.beanToMap(body, false, false));
return dskOpenApiUtil.responsePage(map);
}
public R noticesType(EnterpriseCreditNoticeTypeBody body) throws Exception {
if (body.isVaildCid()) return R.ok();
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseCredit/noticesType", BeanUtil.beanToMap(body, false, false));
return BeanUtil.toBean(map, R.class);
}
public R noticesRole(EnterpriseCreditNoticeRoleBody body) throws Exception {
if (body.isVaildCid()) return R.ok();
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseCredit/noticesRole", BeanUtil.beanToMap(body, false, false));
return BeanUtil.toBean(map, R.class);
}
public R noticesCaseReason(EnterpriseCreditNoticeCaseReasonBody body) throws Exception {
if (body.isVaildCid()) return R.ok();
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseCredit/noticesCaseReason", BeanUtil.beanToMap(body, false, false));
return BeanUtil.toBean(map, R.class);
}
public TableDataInfo kaitingPage(EnterpriseCreditKaitingPageBody body) throws Exception {
if (body.isVaildCid()) return new TableDataInfo(new ArrayList<>(), 0);
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseCredit/kaitingPage", BeanUtil.beanToMap(body, false, false));
return dskOpenApiUtil.responsePage(map);
}
public R kaitingCauseAction(EnterpriseCreditKaitingCauseActionBody body) throws Exception {
if (body.isVaildCid()) return R.ok();
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseCredit/kaitingCauseAction", BeanUtil.beanToMap(body, false, false));
return BeanUtil.toBean(map, R.class);
}
public R kaitingPureRole(EnterpriseCreditKaitingPureRoleBody body) throws Exception {
if (body.isVaildCid()) return R.ok();
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseCredit/kaitingPureRole", BeanUtil.beanToMap(body, false, false));
return BeanUtil.toBean(map, R.class);
}
}
package com.dsk.biz.dskService;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.json.JSONUtil;
import com.dsk.biz.dskService.model.*;
import com.dsk.common.core.domain.R;
import com.dsk.common.core.page.TableDataInfo;
import com.dsk.common.utils.DskOpenApiUtil;
import org.apache.commons.collections4.MapUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
@Service
public class EnterpriseProjectService {
private static final Logger log = LoggerFactory.getLogger(EnterpriseService.class);
@Autowired
private DskOpenApiUtil dskOpenApiUtil;
public TableDataInfo landTransactionPage(EnterpriseProjectLandTransactionPageBody body) throws Exception {
if (body.isVaildCid()) return new TableDataInfo(new ArrayList<>(), 0);
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseProject/landTransactionPage", BeanUtil.beanToMap(body, false, false));
return dskOpenApiUtil.responsePage(map);
}
public R landUse(EnterpriseProjectLandUseBody body) throws Exception {
if (body.isVaildCid()) return R.ok();
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseProject/landUse", BeanUtil.beanToMap(body, false, false));
return BeanUtil.toBean(map, R.class);
}
public R landDetail(EnterpriseProjectLandDetailBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseProject/landDetail", BeanUtil.beanToMap(body, false, false));
return BeanUtil.toBean(map, R.class);
}
public TableDataInfo approvalProjectPage(EnterpriseProjectApprovalProjectPageBody body) throws Exception {
if (body.isVaildCid()) return new TableDataInfo(new ArrayList<>(), 0);
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseProject/approvalProjectPage", BeanUtil.beanToMap(body, false, false));
return dskOpenApiUtil.responsePage(map);
}
public R approvalInfoDetail(EnterpriseProjectApprovalInfoDetailBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseProject/approvalInfoDetail", BeanUtil.beanToMap(body, false, false));
return BeanUtil.toBean(map, R.class);
}
public TableDataInfo approvalExaminePage(EnterpriseProjectApprovalExaminePageBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseProject/approvalExaminePage", BeanUtil.beanToMap(body, false, false));
return dskOpenApiUtil.responsePage(map);
}
public TableDataInfo approvalMarketingPage(EnterpriseProjectApprovalMarketingPageBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseProject/approvalMarketingPage", BeanUtil.beanToMap(body, false, false));
return dskOpenApiUtil.responsePage(map);
}
public TableDataInfo specialDebtProjectPage(EnterpriseProjectSpecialDebtProjectPageBody body) throws Exception {
if (body.isVaildCid()) return new TableDataInfo(new ArrayList<>(), 0);
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseProject/specialDebtProjectPage", BeanUtil.beanToMap(body, false, false));
return dskOpenApiUtil.responsePage(map);
}
public R specialDebtProjectDetail(EnterpriseProjectSpecialDebtProjectDetailBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseProject/specialDebtProjectDetail", BeanUtil.beanToMap(body, false, false));
return BeanUtil.toBean(map, R.class);
}
public TableDataInfo specialDebtPage(EnterpriseProjectSpecialDebtPageBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseProject/specialDebtPage", BeanUtil.beanToMap(body, false, false));
return dskOpenApiUtil.responsePage(map);
}
public TableDataInfo bidNoticePage(EnterpriseProjectBidNoticePageBody body) throws Exception {
if (body.isVaildCid()) return new TableDataInfo(new ArrayList<>(), 0);
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseProject/bidNoticePage", BeanUtil.beanToMap(body, false, false));
return dskOpenApiUtil.responsePage(map);
}
public R bidNoticeTenderStage(EnterpriseProjectBidNoticeTenderStageBody body) throws Exception {
if (body.isVaildCid()) return R.ok();
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseProject/bidNoticeTenderStage", BeanUtil.beanToMap(body, false, false));
return BeanUtil.toBean(map, R.class);
}
public R bidNoticeArea(EnterpriseProjectBidNoticeAreaBody body) throws Exception {
if (body.isVaildCid()) return R.ok();
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseProject/bidNoticeArea", BeanUtil.beanToMap(body, false, false));
return BeanUtil.toBean(map, R.class);
}
public R bidNoticeDetail(EnterpriseProjectBidNoticeDetailBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseProject/bidNoticeDetail", BeanUtil.beanToMap(body, false, false));
return BeanUtil.toBean(map, R.class);
}
public TableDataInfo bidPlanPage(EnterpriseProjectBidPlanPageBody body) throws Exception {
if (body.isVaildCid()) return new TableDataInfo(new ArrayList<>(), 0);
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseProject/bidPlanPage", BeanUtil.beanToMap(body, false, false));
return dskOpenApiUtil.responsePage(map);
}
public R bidPlanProjectType(EnterpriseProjectBidPlanProjectTypeBody body) throws Exception {
if (body.isVaildCid()) return R.ok(new ArrayList<>());
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseProject/bidPlanProjectType", BeanUtil.beanToMap(body, false, false));
return BeanUtil.toBean(map, R.class);
}
public R bidPlanDetail(EnterpriseProjectBidPlanDetailBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseProject/bidPlanDetail", BeanUtil.beanToMap(body, false, false));
Map data = MapUtils.getMap(map, "data", null);
String contentId = MapUtils.getString(data, "contentId");
if (ObjectUtil.isEmpty(contentId)) {
return BeanUtil.toBean(map, R.class);
}
HashMap<String, Object> contentParam = new HashMap<>();
contentParam.put("data_type", "zhaobiao_new");
contentParam.put("filter_type", 2);
contentParam.put("strategy_id", contentId);
Map<String, Object> contentMap = null;
try {
contentMap = dskOpenApiUtil.requestBody("/mongocontent/v1/cjb/mongo_content", contentParam);
log.info("contentData:{}", JSONUtil.toJsonStr(contentMap));
} catch (Exception e) {
data.put("content", e.getMessage());
map.put("data", data);
return BeanUtil.toBean(map, R.class);
}
Map contentData = MapUtils.getMap(contentMap, "data", null);
if (200 != MapUtils.getInteger(contentMap, "code", 300)) {
data.put("content", JSONUtil.toJsonStr(contentMap));
map.put("data", data);
return BeanUtil.toBean(map, R.class);
}
data.put("content", MapUtils.getString(contentData, "htmlContent"));
map.put("data", data);
return BeanUtil.toBean(map, R.class);
}
public TableDataInfo bidNoticeProPage(EnterpriseProjectBidNoticeProPageBody body) throws Exception {
if (body.isVaildCid()) return new TableDataInfo(new ArrayList<>(), 0);
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseProject/bidNoticeProPage", BeanUtil.beanToMap(body, false, false));
return dskOpenApiUtil.responsePage(map);
}
public R bidNoticeProProjectType(EnterpriseProjectBidNoticeProProjectTypeBody body) throws Exception {
if (body.isVaildCid()) return R.ok();
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseProject/bidNoticeProProjectType", BeanUtil.beanToMap(body, false, false));
return BeanUtil.toBean(map, R.class);
}
public R bidNoticeProProjectPurposes(EnterpriseProjectBidNoticeProProjectPurposesBody body) throws Exception {
if (body.isVaildCid()) return R.ok();
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseProject/bidNoticeProProjectPurposes", BeanUtil.beanToMap(body, false, false));
return BeanUtil.toBean(map, R.class);
}
public R bidNoticeProAssessmentWay(EnterpriseProjectBidNoticeProAssessmentWayBody body) throws Exception {
if (body.isVaildCid()) return R.ok();
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseProject/bidNoticeProAssessmentWay", BeanUtil.beanToMap(body, false, false));
return BeanUtil.toBean(map, R.class);
}
public R bidNoticeProDetail(EnterpriseProjectBidNoticeProDetailBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseProject/bidNoticeProDetail", BeanUtil.beanToMap(body, false, false));
return BeanUtil.toBean(map, R.class);
}
public TableDataInfo creditXzxkPage(EnterpriseProjectCreditXzxkPageBody body) throws Exception {
if (body.isVaildCid()) return new TableDataInfo(new ArrayList<>(), 0);
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseProject/creditXzxkPage", BeanUtil.beanToMap(body, false, false));
return dskOpenApiUtil.responsePage(map);
}
}
package com.dsk.biz.dskService;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.json.JSONArray;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import com.dsk.common.core.domain.AjaxResult;
import com.dsk.common.utils.DateUtils;
import com.dsk.common.utils.DskOpenApiUtil;
import org.apache.commons.collections4.MapUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
/**
* @ClassName enterpriseService
* @Description TODO
* @Author Dgm
* @Date 2023/5/15 12:00
* @Version 1.0
*/
@Service
public class IndexService {
private static final Logger log = LoggerFactory.getLogger(IndexService.class);
@Autowired
private DskOpenApiUtil dskOpenApiUtil;
public AjaxResult bigWinningBidsPage(JSONObject object) {
JSONArray recentlyBidQueryDtoList = object.getJSONArray("recentlyBidQueryDto");
Map<String, Object> objectMap = new HashMap<>();
Map<String, Object> pageMap = new HashMap<>(4);
pageMap.put("page", object.get("pageNum"));
pageMap.put("limit", object.get("pageSize"));
pageMap.put("field", "tenderDate");
pageMap.put("order", "desc");
objectMap.put("page", pageMap);
if (ObjectUtil.isEmpty(recentlyBidQueryDtoList)) {
Map<String, Object> recentlyBidQueryMap = new HashMap<>();
recentlyBidQueryDtoList = new JSONArray();
recentlyBidQueryMap.put("startTenderTime", DateUtils.dateTime(DateUtils.addDays(new Date(), -6)));
recentlyBidQueryMap.put("endTenderTime", DateUtils.getDate());
recentlyBidQueryMap.put("startMoney", 20000);
recentlyBidQueryMap.put("tenderType","施工,工程总承包");
recentlyBidQueryDtoList.add(recentlyBidQueryMap);
objectMap.put("recentlyBidQueryDto", recentlyBidQueryDtoList);
} else {
Map<String, Object> recentlyBidQueryMap = (Map<String, Object>)recentlyBidQueryDtoList.get(0);
String startMoney = MapUtils.getString(recentlyBidQueryMap, "startMoney", "");
String endMoney = MapUtils.getString(recentlyBidQueryMap, "endMoney", "");
if (ObjectUtil.isEmpty(startMoney) && ObjectUtil.isEmpty(endMoney)) {
recentlyBidQueryMap.put("startMoney", 20000);
}
recentlyBidQueryMap.put("tenderType","施工,工程总承包");
objectMap.put("recentlyBidQueryDto", recentlyBidQueryDtoList);
}
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/project/recently", objectMap);
return BeanUtil.toBean(map, AjaxResult.class);
}
public AjaxResult bigBidPage(JSONObject body) throws Exception {
Object jskBidQueryDto = body.get("jskBidQueryDto");
Map<String, Object> objectMap = new HashMap<>(2);
Map<String, Object> pageMap = new HashMap<>(4);
pageMap.put("page", body.get("pageNum"));
pageMap.put("limit", body.get("pageSize"));
pageMap.put("field", "punishDate");
pageMap.put("order", "desc");
objectMap.put("page", pageMap);
if (ObjectUtil.isEmpty(jskBidQueryDto)) {
Map<String, Object> jskBidQueryDtoMap = new HashMap<>(1);
// jskBidQueryDtoMap.put("startTenderTime", DateUtils.dateTime(DateUtils.addDays(new Date(), -6)));
// jskBidQueryDtoMap.put("endTenderTime", DateUtils.getDate());
jskBidQueryDtoMap.put("startBidMoney", 20000);
objectMap.put("jskBidQueryDto", jskBidQueryDtoMap);
} else {
Map<String, Object> map = JSONUtil.toBean(JSONUtil.toJsonStr(jskBidQueryDto), Map.class);
String startBidMoney = MapUtils.getString(map, "startBidMoney", "");
String endBidMoney = MapUtils.getString(map, "endBidMoney", "");
if (ObjectUtil.isEmpty(startBidMoney) && ObjectUtil.isEmpty(endBidMoney)) {
map.put("startBidMoney", 20000);
}
objectMap.put("jskBidQueryDto", map);
}
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/jskBid/page", objectMap);
return BeanUtil.toBean(map, AjaxResult.class);
}
public AjaxResult countByCompany(JSONObject object) {
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/marketAnalysis/centralEnterprse/countByCompany", object);
return BeanUtil.toBean(map, AjaxResult.class);
}
public AjaxResult bidRank(JSONObject object) {
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/marketAnalysis/bidRank", object);
return BeanUtil.toBean(map, AjaxResult.class);
}
public static void main(String[] args) {
System.out.println(DateUtils.getDate());
}
}
package com.dsk.biz.dskService.model;
/**
* 基础分页类
* @author hypnos
* @Description
* @Date Created in 2022-10-27 07:08:54
* @Modified By hypnos
*/
public class BasePage {
/**
* 当前页码
*/
private Integer pageNum = 1;
/**
* 当前页码
*/
private Integer pageIndex = 1;
/**
* 每页数量
*/
private Integer pageSize = 10;
/**
* 最大页码
*/
private Integer pageMaxNum;
/**
* 最大条数
*/
private Integer pageMaxSize;
/**
* 总中标金额
*/
private String field = "bidSumAmount";
private String order;
public Integer getPageIndex() {
return pageNum;
}
public Integer getPageNum() {
return pageMaxNum != null && pageNum > pageMaxNum? pageMaxNum : pageNum;
}
public void setPageNum(Integer pageNum) {
this.pageNum = pageNum;
}
public Integer getPageSize() {
return pageMaxSize != null && pageSize > pageMaxSize? pageMaxSize : pageSize;
}
public void setPageSize(Integer pageSize) {
this.pageSize = pageSize;
}
public Integer getPageMaxNum() {
return pageMaxNum;
}
public void setPageMaxNum(Integer pageMaxNum) {
this.pageMaxNum = pageMaxNum;
}
public Integer getPageMaxSize() {
return pageMaxSize;
}
public void setPageMaxSize(Integer pageMaxSize) {
this.pageMaxSize = pageMaxSize;
}
public void setPageIndex(Integer pageIndex) {
this.pageIndex = pageNum;
}
public String getField() {
return field;
}
public void setField(String field) {
this.field = field;
}
public String getOrder() {
return order;
}
public void setOrder(String order) {
this.order = order;
}
@Override
public String toString() {
StringBuilder builder = new StringBuilder();
builder.append("BasePageVo [pageIndex=");
builder.append(pageNum);
builder.append(", pageSize=");
builder.append(pageSize);
builder.append("]");
return builder.toString();
}
}
package com.dsk.biz.dskService.model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotNull;
/**
* 分支结构列表
*/
@Data
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class EnterpriseAffiliatesBody extends BasePage {
//企业Id
@NotNull(message = "企业id不能为空")
private Integer cid;
private Integer hasBid;
public boolean isVaildCid() {
return 0 == cid;
}
}
package com.dsk.biz.dskService.model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import javax.validation.constraints.NotNull;
@Data
@ToString
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class EnterpriseBestStockPageBody extends BasePage
{
/**
* 企业id
*/
@NotNull(message = "企业id不能为空")
private Integer cid;
//是否历史 0 否 1 是
private Integer isHistory;
public boolean isVaildCid() {
return 0 == cid;
}
}
package com.dsk.biz.dskService.model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import javax.validation.constraints.NotNull;
@Data
@ToString
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class EnterpriseBidDataGroupBody
{
/**
* 企业id
*/
@NotNull(message = "企业id不能为空")
private Integer cid;
/**
* 时间跨度id 1:年,2:月,3:周
*/
@NotNull(message = "spanId不能为空")
private Integer spanId;
public boolean isVaildCid() {
return 0 == cid;
}
}
package com.dsk.biz.dskService.model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import javax.validation.constraints.NotNull;
@Data
@ToString
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class EnterpriseBidNoticeDetailBody
{
/**
* id
*/
@NotNull(message = "id不能为空")
private Integer id;
}
package com.dsk.biz.dskService.model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import javax.validation.constraints.NotNull;
@Data
@ToString
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class EnterpriseBidNoticePageBody extends BasePage
{
/**
* 企业id
*/
@NotNull(message = "企业id不能为空")
private Integer companyId;
//信息类型
private String tenderStage;
//项目名称
private String projectName;
/**
* provinceId
*/
private Integer provinceId;
public boolean isVaildCid() {
return 0 == companyId;
}
}
package com.dsk.biz.dskService.model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import javax.validation.constraints.NotNull;
@Data
@ToString
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class EnterpriseBidNoticeProvinceBody
{
/**
* 企业id
*/
@NotNull(message = "企业id不能为空")
private Integer companyId;
public boolean isVaildCid() {
return 0 == companyId;
}
}
package com.dsk.biz.dskService.model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import javax.validation.constraints.NotNull;
@Data
@ToString
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class EnterpriseBidNoticeTenderStageBody
{
/**
* 企业id
*/
@NotNull(message = "企业id不能为空")
private Integer companyId;
public boolean isVaildCid() {
return 0 == companyId;
}
}
package com.dsk.biz.dskService.model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import javax.validation.constraints.NotNull;
@Data
@ToString
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class EnterpriseBondCreditRatingBody
{
/**
* 企业id
*/
@NotNull(message = "企业id不能为空")
private Integer cid;
public boolean isVaildCid() {
return 0 == cid;
}
}
package com.dsk.biz.dskService.model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import javax.validation.constraints.NotNull;
@Data
@ToString
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class EnterpriseBusinessAwardDetailBody {
/**
* id
*/
@NotNull(message = "id不能为空")
private String sourceId;
}
package com.dsk.biz.dskService.model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
@Data
@ToString
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class EnterpriseBusinessAwardDetailVo {
/**
* 来源名称
*/
private String sourceName;
/**
* 来源url
*/
private String sourceUrl;
}
package com.dsk.biz.dskService.model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import javax.validation.constraints.NotNull;
@Data
@ToString
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class EnterpriseBusinessBidWinMergeDetailBody {
/**
* 来源id
*/
@NotNull(message = "id不能为空")
private String sourceId;
}
package com.dsk.biz.dskService.model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import javax.validation.constraints.NotNull;
@Data
@ToString
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class EnterpriseBusinessSkyProjectDetailBody {
/**
* id
*/
@NotNull(message = "id不能为空")
private Long sourceId;
}
package com.dsk.biz.dskService.model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import javax.validation.constraints.NotNull;
@Data
@ToString
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class EnterpriseBussinessBidCooperatePageBody extends BasePage {
/**
* 企业id
*/
@NotNull(message = "企业id不能为空")
private Integer tendereeId;
/**
* 企业id
*/
@NotNull(message = "企业id不能为空")
private Integer agencyId;
/**
* 查询关键字
*/
private String keys;
public boolean isVaildCid() {
return 0 == tendereeId || 0 == agencyId;
}
}
package com.dsk.biz.dskService.model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import javax.validation.constraints.NotNull;
import java.util.List;
@Data
@ToString
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class EnterpriseBussinessClientPageBody extends BasePage {
/**
* 企业id
*/
@NotNull(message = "企业id不能为空")
private Integer cid;
/**
* 查询关键字
*/
private String keys;
/*
* 排序字段:1金额倒序,2金额正序,3时间倒序,4时间正序,5次数倒序,6次数正序
*/
private Integer sort;
public boolean isVaildCid() {
return 0 == cid;
}
/**
* 来源
*/
private List<String> sources;
/**
* 项目类型
*/
private List<String> projects;
}
package com.dsk.biz.dskService.model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import javax.validation.constraints.NotNull;
import java.util.List;
@Data
@ToString
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class EnterpriseBussinessClientProjectPageBody extends BasePage {
/**
* 企业id
*/
@NotNull(message = "企业id不能为空")
private Integer cid;
/**
* 客户企业Id
*/
@NotNull(message = "企业id不能为空")
private Integer companyId;
/**
* 客户企业
*/
@NotNull(message = "企业不能为空")
private String companyName;
/**
* 查询关键字
*/
private String keys;
public boolean isVaildCid() {
return 0 == cid;
}
/**
* 来源
*/
private List<String> sources;
/**
* 项目类型
*/
private List<String> projects;
/**
* 金额起
*/
private Double amountStart;
/**
* 金额止
*/
private Double amountEnd;
/*
* 排序字段:1金额倒序,2金额正序,3时间倒序,4时间正序,5次数倒序,6次数正序
*/
private Integer sort = 3;
}
package com.dsk.biz.dskService.model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import javax.validation.constraints.NotNull;
@Data
@ToString
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class EnterpriseBussinessHistorySendPageBody extends BasePage {
/**
* 企业id
*/
@NotNull(message = "企业id不能为空")
private Integer cid;
/**
* 查询关键字
*/
private String keys;
/*
* 排序条件:1金额倒序,2金额正序,3时间倒序,4时间正序,7下浮率倒序,8下浮率正序,9工期倒序,10工期正序
*/
private Integer sort;
/**
* 开始时间(年月日)
*/
private String dateFrom;
/**
* 截止时间(年月日)
*/
private String dateTo;
/**
* 省份id(年月日)
*/
private String provinceId;
/**
* 最小金额
*/
private Double amountMin;
/**
* 最大金额
*/
private Double amountMax;
public boolean isVaildCid() {
return 0 == cid;
}
}
package com.dsk.biz.dskService.model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import javax.validation.constraints.NotNull;
@Data
@ToString
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class EnterpriseBussinessHistorySendProvinceBody {
/**
* 企业id
*/
@NotNull(message = "企业id不能为空")
private Integer cid;
public boolean isVaildCid() {
return 0 == cid;
}
}
package com.dsk.biz.dskService.model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import javax.validation.constraints.NotNull;
@Data
@ToString
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class EnterpriseBussinessOftenAgencyPageBody extends BasePage {
/**
* 企业id
*/
@NotNull(message = "企业id不能为空")
private Integer cid;
/**
* 查询关键字
*/
private String keys;
/*
* 排序字段:3时间倒序,4时间正序,5次数倒序,6次数正序
*/
private Integer sort;
public boolean isVaildCid() {
return 0 == cid;
}
}
package com.dsk.biz.dskService.model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import javax.validation.constraints.NotNull;
@Data
@ToString
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class EnterpriseBussinessProjectDetailBody {
/**
* id
*/
@NotNull(message = "id不能为空")
private Integer id;
}
package com.dsk.biz.dskService.model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import javax.validation.constraints.NotNull;
import java.util.List;
@Data
@ToString
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class EnterpriseBussinessSupplierPageBody extends BasePage {
/**
* 企业id
*/
@NotNull(message = "企业id不能为空")
private Integer cid;
/**
* 查询关键字
*/
private String keys;
/*
* 排序字段:1金额倒序,2金额正序,3时间倒序,4时间正序,5次数倒序,6次数正序
*/
private Integer sort;
public boolean isVaildCid() {
return 0 == cid;
}
/**
* 来源
*/
private List<String> sources;
/**
* 项目类型
*/
private List<String> projects;
}
package com.dsk.biz.dskService.model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import javax.validation.constraints.NotNull;
import java.util.List;
@Data
@ToString
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class EnterpriseBussinessSupplierProjectPageBody extends BasePage {
/**
* 企业id
*/
@NotNull(message = "企业id不能为空")
private Integer cid;
/**
* 供应商企业Id
*/
@NotNull(message = "企业id不能为空")
private Integer companyId;
/**
* 供应商企业
*/
@NotNull(message = "企业不能为空")
private String companyName;
/**
* 查询关键字
*/
private String keys;
public boolean isVaildCid() {
return 0 == cid;
}
/**
* 来源
*/
private List<String> sources;
/**
* 项目类型
*/
private List<String> projects;
/**
* 金额起
*/
private Double amountStart;
/**
* 金额止
*/
private Double amountEnd;
/*
* 排序字段:1金额倒序,2金额正序,3时间倒序,4时间正序,5次数倒序,6次数正序
*/
private Integer sort = 3;
}
package com.dsk.biz.dskService.model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import javax.validation.constraints.NotNull;
@Data
@ToString
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class EnterpriseBussinessTenderDetailBody {
/**
* id
*/
@NotNull(message = "id不能为空")
private Integer id;
}
package com.dsk.biz.dskService.model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import javax.validation.constraints.NotNull;
@Data
@ToString
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class EnterpriseBussinessTenderPageBody extends BasePage {
/**
* 企业id
*/
@NotNull(message = "企业id不能为空")
private Integer cid;
/**
* 查询关键字
*/
private String keys;
public boolean isVaildCid() {
return 0 == cid;
}
}
package com.dsk.biz.dskService.model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
@Data
@ToString
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class EnterpriseBussinessVo {
/**
* 来源Id
*/
private String source_id;
/**
* 类型
*/
private String source_type;
}
package com.dsk.biz.dskService.model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import javax.validation.constraints.NotNull;
@Data
@ToString
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class EnterpriseChangeInfoBody extends BasePage
{
/**
* 企业id
*/
@NotNull(message = "企业id不能为空")
private Integer cid;
public boolean isVaildCid() {
return 0 == cid;
}
}
package com.dsk.biz.dskService.model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import javax.validation.constraints.NotNull;
import java.util.List;
@Data
@ToString
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class EnterpriseCreditAbnormalPageBody extends BasePage {
/**
* 企业id
*/
@NotNull(message = "企业id不能为空")
private Integer cid;
/**
* 年份列表
*/
private List<String> years;
public boolean isVaildCid() {
return 0 == cid;
}
}
package com.dsk.biz.dskService.model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import javax.validation.constraints.NotNull;
@Data
@ToString
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class EnterpriseCreditAbnormalYearsBody {
/**
* 企业id
*/
@NotNull(message = "企业id不能为空")
private Integer cid;
public boolean isVaildCid() {
return 0 == cid;
}
}
package com.dsk.biz.dskService.model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import javax.validation.constraints.NotNull;
@Data
@ToString
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class EnterpriseCreditExecutedPageBody extends BasePage {
/**
* 企业id
*/
@NotNull(message = "企业id不能为空")
private Integer cid;
/**
* 开始时间(年月日)
*/
private String dateFrom;
/**
* 截止时间(年月日)
*/
private String dateTo;
public boolean isVaildCid() {
return 0 == cid;
}
}
package com.dsk.biz.dskService.model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import javax.validation.constraints.NotNull;
@Data
@ToString
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class EnterpriseCreditExecutedPersonsPageBody extends BasePage {
/**
* 企业id
*/
@NotNull(message = "企业id不能为空")
private Integer cid;
/**
* 开始时间(年月日)
*/
private String dateFrom;
/**
* 截止时间(年月日)
*/
private String dateTo;
public boolean isVaildCid() {
return 0 == cid;
}
}
package com.dsk.biz.dskService.model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import javax.validation.constraints.NotNull;
@Data
@ToString
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class EnterpriseCreditKaitingCauseActionBody {
/**
* 企业id
*/
@NotNull(message = "企业id不能为空")
private Integer cid;
public boolean isVaildCid() {
return 0 == cid;
}
}
package com.dsk.biz.dskService.model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import javax.validation.constraints.NotNull;
@Data
@ToString
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class EnterpriseCreditKaitingPageBody extends BasePage {
/**
* 企业id
*/
@NotNull(message = "企业id不能为空")
private Integer cid;
/**
* 案由
*/
private String causeAction;
/**
* 身份
*/
private String pureRole;
/**
* 查询关键词
*/
private String keys;
/**
* 开始时间(年月日)
*/
private String dateFrom;
/**
* 截止时间(年月日)
*/
private String dateTo;
public boolean isVaildCid() {
return 0 == cid;
}
}
package com.dsk.biz.dskService.model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import javax.validation.constraints.NotNull;
@Data
@ToString
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class EnterpriseCreditKaitingPureRoleBody {
/**
* 企业id
*/
@NotNull(message = "企业id不能为空")
private Integer cid;
public boolean isVaildCid() {
return 0 == cid;
}
}
package com.dsk.biz.dskService.model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import javax.validation.constraints.NotNull;
@Data
@ToString
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class EnterpriseCreditLawsuitsCauseActionBody {
/**
* 企业id
*/
@NotNull(message = "企业id不能为空")
private Integer cid;
public boolean isVaildCid() {
return 0 == cid;
}
}
package com.dsk.biz.dskService.model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import javax.validation.constraints.NotNull;
@Data
@ToString
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class EnterpriseCreditLawsuitsPageBody extends BasePage {
/**
* 企业id
*/
@NotNull(message = "企业id不能为空")
private Integer cid;
/**
* 裁判文书案由
*/
private String causeAction;
/**
* 裁判文书身份
*/
private String role;
/**
* 查询关键词
*/
private String keys;
/**
* 开始时间(年月日)
*/
private String dateFrom;
/**
* 截止时间(年月日)
*/
private String dateTo;
public boolean isVaildCid() {
return 0 == cid;
}
}
package com.dsk.biz.dskService.model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import javax.validation.constraints.NotNull;
@Data
@ToString
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class EnterpriseCreditLawsuitsRoleBody {
/**
* 企业id
*/
@NotNull(message = "企业id不能为空")
private Integer cid;
public boolean isVaildCid() {
return 0 == cid;
}
}
package com.dsk.biz.dskService.model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import javax.validation.constraints.NotNull;
@Data
@ToString
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class EnterpriseCreditNoticeCaseReasonBody {
/**
* 企业id
*/
@NotNull(message = "企业id不能为空")
private Integer cid;
public boolean isVaildCid() {
return 0 == cid;
}
}
package com.dsk.biz.dskService.model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import javax.validation.constraints.NotNull;
@Data
@ToString
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class EnterpriseCreditNoticePageBody extends BasePage {
/**
* 企业id
*/
@NotNull(message = "企业id不能为空")
private Integer cid;
/**
* 公告类型
*/
private String type;
/**
* 身份
*/
private String role;
/**
* 案由
*/
private String caseReason;
/**
* 开始时间(年月日)
*/
private String dateFrom;
/**
* 截止时间(年月日)
*/
private String dateTo;
public boolean isVaildCid() {
return 0 == cid;
}
}
package com.dsk.biz.dskService.model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import javax.validation.constraints.NotNull;
@Data
@ToString
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class EnterpriseCreditNoticeRoleBody {
/**
* 企业id
*/
@NotNull(message = "企业id不能为空")
private Integer cid;
public boolean isVaildCid() {
return 0 == cid;
}
}
package com.dsk.biz.dskService.model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import javax.validation.constraints.NotNull;
@Data
@ToString
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class EnterpriseCreditNoticeTypeBody {
/**
* 企业id
*/
@NotNull(message = "企业id不能为空")
private Integer cid;
public boolean isVaildCid() {
return 0 == cid;
}
}
package com.dsk.biz.dskService.model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import javax.validation.constraints.NotNull;
@Data
@ToString
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class EnterpriseCreditPenalizePageBody extends BasePage {
/**
* 企业id
*/
@NotNull(message = "企业id不能为空")
private Integer cid;
/**
* 处罚原因类型
*/
private Integer penalizeReasonType;
/**
* 查询关键字
*/
private String keys;
public boolean isVaildCid() {
return 0 == cid;
}
}
package com.dsk.biz.dskService.model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import javax.validation.constraints.NotNull;
@Data
@ToString
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class EnterpriseCreditPenalizeReasonTypeBody {
/**
* 企业id
*/
@NotNull(message = "企业id不能为空")
private Integer cid;
public boolean isVaildCid() {
return 0 == cid;
}
}
package com.dsk.biz.dskService.model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import javax.validation.constraints.NotNull;
@Data
@ToString
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class EnterpriseDynamicPageBody extends BasePage
{
/**
* 企业id
*/
@NotNull(message = "企业id不能为空")
private Integer companyId;
public boolean isVaildCid() {
return 0 == companyId;
}
}
package com.dsk.biz.dskService.model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import javax.validation.constraints.NotNull;
@Data
@ToString
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class EnterpriseFinancialBody
{
/**
* 企业id
*/
@NotNull(message = "企业id不能为空")
private Integer cid;
public boolean isVaildCid() {
return 0 == cid;
}
}
package com.dsk.biz.dskService.model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import javax.validation.constraints.NotNull;
@Data
@ToString
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class EnterpriseFinancialDataBody {
/**
* 企业id
*/
@NotNull(message = "企业id不能为空")
private Integer cid;
public boolean isValidateCid() {
return 0 == cid;
}
}
package com.dsk.biz.dskService.model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import javax.validation.constraints.NotNull;
@Data
@ToString
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class EnterpriseIcInfoBody extends BasePage
{
/**
* 企业id
*/
@NotNull(message = "企业id不能为空")
private Integer cid;
public boolean isVaildCid() {
return 0 == cid;
}
}
package com.dsk.biz.dskService.model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import javax.validation.constraints.NotNull;
@Data
@ToString
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class EnterpriseInfoHeaderBody
{
/**
* 企业id
*/
@NotNull(message = "企业id不能为空")
private Integer companyId;
public boolean isVaildCid() {
return 0 == companyId;
}
}
package com.dsk.biz.dskService.model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import javax.validation.constraints.NotNull;
@Data
@ToString
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class EnterpriseInfoLabelBody
{
/**
* 企业id
*/
@NotNull(message = "企业id不能为空")
private Integer companyId;
public boolean isVaildCid() {
return 0 == companyId;
}
}
package com.dsk.biz.dskService.model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotNull;
/**
* 对外投资列表
*/
@Data
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class EnterpriseInvestmentBody extends BasePage {
//企业Id
@NotNull(message = "企业id不能为空")
private Integer cid;
private Integer hasBid;
private double stockPercentageMin;
private double stockPercentageMax;
//搜索-企业名称
private String keyword;
public boolean isVaildCid() {
return 0 == cid;
}
}
package com.dsk.biz.dskService.model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import javax.validation.constraints.NotNull;
@Data
@ToString
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class EnterpriseKeymembersBody extends BasePage
{
/**
* 企业id
*/
@NotNull(message = "企业id不能为空")
private Integer cid;
public boolean isVaildCid() {
return 0 == cid;
}
}
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment