Commit 5b499777 authored by lcl's avatar lcl

客户相关代码迁移

parent 759cfe72
......@@ -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
......@@ -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";
}
......@@ -5,6 +5,7 @@ import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.HashMap;
/**
* 响应信息主体
......@@ -13,7 +14,7 @@ import java.io.Serializable;
*/
@Data
@NoArgsConstructor
public class R<T> implements Serializable {
public class R<T> extends HashMap<String, Object> implements Serializable {
private static final long serialVersionUID = 1L;
/**
......
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.AjaxResult;
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 AjaxResult info(@PathVariable Long id){
return AjaxResult.success(baseService.selectById(id));
}
/**
* 添加用户联系人
*/
// @PreAuthorize("@ss.hasPermi('contact:info:add')")
@PostMapping()
@RepeatSubmit()
public AjaxResult add(@RequestBody ContactInfo baen){
return AjaxResult.success(baseService.insert(baen));
}
/**
* 编辑用户联系人
*/
// @PreAuthorize("@ss.hasPermi('contact:info:edit')")
@PutMapping()
@RepeatSubmit()
public AjaxResult edit(@RequestBody ContactInfo baen){
return AjaxResult.success(baseService.update(baen));
}
/**
* 删除用户联系人
*/
// @PreAuthorize("@ss.hasPermi('contact:info:del')")
@DeleteMapping("/{id}")
@RepeatSubmit()
public AjaxResult del(@PathVariable("id") Long id){
return AjaxResult.success(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.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.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 info(@PathVariable("customerId") String customerId) {
return R.ok(baseService.info(customerId));
}
/**
* 添加客户
*/
@SaCheckPermission("'customer:add')")
@PostMapping()
@RepeatSubmit
public R add(@RequestBody Customer customer) {
return toAjax(baseService.add(customer));
}
/**
* 认领客户
*/
// @SaCheckPermission("'customer:claim'")
@PostMapping("/claim")
@RepeatSubmit
public R 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 edit(@RequestBody Customer customer) {
return R.ok(baseService.edit(customer));
}
/**
* 获取个人客户列表
*/
@GetMapping("/user/list")
public R 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 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()));
}
}
R success = R.ok(resultList);
success.put("successCount", successCount);
return success;
}
/**
* 客户状态
*/
@GetMapping("/status/{companyName}")
public R status(@PathVariable String companyName) {
return R.ok(baseService.status(companyName));
}
/**
* 取消认领
*/
@PutMapping("/cancelClaim/{companyName}")
@RepeatSubmit
public R cancelClaim(@PathVariable String companyName) {
return toAjax(baseService.cancelClaim(companyName));
}
/**
* 历史认领
*/
@PutMapping("/historyClaim/{companyName}")
@RepeatSubmit
public R 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.AjaxResult;
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.*;
/**
* 客户跟进记录相关
*
* @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 AjaxResult add(@RequestBody CustomerFollowRecord followRecord){
return AjaxResult.success(baseService.add(followRecord));
}
/**
* 删除客户跟进记录
*/
// @PreAuthorize("@ss.hasPermi('customer:follow:record:del')")
@DeleteMapping("/{id}")
@RepeatSubmit
public AjaxResult del(@PathVariable("id") Long id){
return AjaxResult.success(baseService.del(id));
}
}
package com.dsk.biz.controller;
import com.dsk.biz.domain.bo.CustomerSearchDto;
import com.dsk.biz.service.ICustomerOverviewService;
import com.dsk.common.core.controller.BaseController;
import com.dsk.common.core.domain.AjaxResult;
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;
/**
* 客户概览
* @author lcl
* @create 2023/8/15
*/
@RestController
@RequestMapping("/customer/overview")
public class CustomerOverviewController extends BaseController {
@Autowired
private ICustomerOverviewService baseService;
/**
* 客户统计
*/
@GetMapping("/statistics")
public AjaxResult statistics(){
return AjaxResult.success(baseService.statistics(new CustomerSearchDto()));
}
/**
* 客户合作情况
*/
@GetMapping("/cooperation/top")
public AjaxResult cooperationTop(){
return AjaxResult.success(baseService.cooperationTop(new CustomerSearchDto()));
}
/**
* 客户信资评级
*/
@GetMapping("/credit/level")
public AjaxResult creditLevel(){
return AjaxResult.success(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.util.ObjectUtil;
import cn.hutool.json.JSONUtil;
import com.dsk.acc.openapi.client.util.CommonUtils;
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.CollectionUtils;
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.List;
import java.util.Map;
@Service
public class EnterpriseBussinessService {
private static final Logger log = LoggerFactory.getLogger(EnterpriseService.class);
@Autowired
private DskOpenApiUtil dskOpenApiUtil;
public R customSelect() throws Exception {
Map<String, Object> objectMap = new HashMap<>(2);
List<String> sourceList = new ArrayList<>();
sourceList.add("四库业绩");
sourceList.add("中标业绩");
sourceList.add("水利业绩");
sourceList.add("中标公示");
sourceList.add("荣誉奖项");
objectMap.put("sourceList", sourceList);
List<String> projectTypeList = new ArrayList<>();
projectTypeList.add("房建工程");
projectTypeList.add("市政工程");
projectTypeList.add("公路工程");
projectTypeList.add("水利工程");
projectTypeList.add("铁路工程");
projectTypeList.add("通信工程");
projectTypeList.add("电力工程");
projectTypeList.add("机电工程");
projectTypeList.add("冶金工程");
projectTypeList.add("矿山工程");
projectTypeList.add("石油化工工程");
projectTypeList.add("港口与航道工程");
projectTypeList.add("其他");
objectMap.put("projectTypeList", projectTypeList);
return BeanUtil.toBean(objectMap, R.class);
}
public TableDataInfo clientPage(EnterpriseBussinessClientPageBody body) throws Exception {
if (body.isVaildCid()) {
return new TableDataInfo(new ArrayList<>(), 0);
}
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseBussiness/clientPage2", BeanUtil.beanToMap(body, false, false));
Map data = MapUtils.getMap(map, "data", null);
List<Object> list = CommonUtils.assertAsArray(MapUtils.getObject(data, "list", ""));
if (CollectionUtils.isEmpty(list)) {
return new TableDataInfo(list, 0);
}
ArrayList<Long> cIds = new ArrayList<>();
for (Object dataMap : list) {
cIds.add(MapUtils.getLong(CommonUtils.assertAsMap(dataMap), "companyId"));
}
HashMap<String, Object> paramMap = new HashMap<>();
paramMap.put("ids", cIds);
Map<String, Object> uipIdMap = dskOpenApiUtil.requestBody("/operate/enterprise/getUipIdByCid", paramMap);
Object uipIdData = uipIdMap.get("data");
List<Map<String, Object>> mapList = new ArrayList<>();
if (ObjectUtil.isNotEmpty(uipIdData)) {
mapList = (List<Map<String, Object>>)uipIdData;
}
for (Object dataMap : list) {
Map<String, Object> companyMap = CommonUtils.assertAsMap(dataMap);
Long cusCompanyId = MapUtils.getLong(companyMap, "companyId", 0L);
companyMap.put("uipId", null);
for (Map<String, Object> m : mapList) {
String uipId = MapUtils.getString(m, "uipId", null);
Long companyId = MapUtils.getLong(m, "companyId", 0L);
if (cusCompanyId.equals(companyId)) {
companyMap.put("uipId", uipId);
}
}
}
return dskOpenApiUtil.responsePage(map);
}
public TableDataInfo clientProjectPage(EnterpriseBussinessClientProjectPageBody body) throws Exception {
if (body.isVaildCid()) return null;
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseBussiness/clientProjectPage2", BeanUtil.beanToMap(body, false, false));
Integer code = MapUtils.getInteger(map, "code", 300);
if (200 != code) {
throw new RuntimeException();
}
Map data = MapUtils.getMap(map, "data", null);
List<Object> list = CommonUtils.assertAsArray(MapUtils.getObject(data, "list", ""));
if (CollectionUtils.isEmpty(list)) {
return new TableDataInfo(list, 0);
}
for (Object supplierProject : list) {
Map<String, Object> dataMap = CommonUtils.assertAsMap(supplierProject);
dataMap.put("sourceId", null);
dataMap.put("sourceType", null);
dataMap.put("sourceList", null);
String source = MapUtils.getString(dataMap, "source");
if (ObjectUtil.isNotEmpty(source)) {
List<EnterpriseBussinessVo> enterpriseSource = new ArrayList<>();
List<EnterpriseBussinessVo> enterpriseBussinessVoList = JSONUtil.toList(source, EnterpriseBussinessVo.class);
if (ObjectUtil.isNotEmpty(enterpriseBussinessVoList.get(0))) {
EnterpriseBussinessVo vo = enterpriseBussinessVoList.get(0);
dataMap.put("sourceId", vo.getSource_id());
dataMap.put("sourceType", vo.getSource_type());
dataMap.put("sourceList", enterpriseBussinessVoList);
if (ObjectUtil.isNotEmpty(body.getSources())) {
for (EnterpriseBussinessVo bussinessVo : enterpriseBussinessVoList) {
String source_id = bussinessVo.getSource_id();
String source_type = bussinessVo.getSource_type();
if (body.getSources().contains(source_type)) {
dataMap.put("sourceId", source_id);
dataMap.put("sourceType", source_type);
enterpriseSource.add(bussinessVo);
}
}
dataMap.put("sourceList", enterpriseSource);
}
}
}
}
return new TableDataInfo(list, MapUtils.getInteger(data, "totalCount", 0));
}
public TableDataInfo tenderPage(EnterpriseBussinessTenderPageBody body) throws Exception {
if (body.isVaildCid()) return new TableDataInfo(new ArrayList<>(), 0);;
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseBussiness/tenderPage", BeanUtil.beanToMap(body, false, false));
return dskOpenApiUtil.responsePage(map);
}
public R tenderDetail(EnterpriseBussinessTenderDetailBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseBussiness/tenderDetail", BeanUtil.beanToMap(body, false, false));
Map data = MapUtils.getMap(map, "data", null);
String mongoContentId = MapUtils.getString(data, "mongoContentId");
if (ObjectUtil.isEmpty(mongoContentId)) {
return BeanUtil.toBean(map, R.class);
}
HashMap<String, Object> contentParam = new HashMap<>();
contentParam.put("data_type", "kaibiao");
contentParam.put("filter_type", 2);
contentParam.put("strategy_id", mongoContentId);
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 supplierPage(EnterpriseBussinessSupplierPageBody body) throws Exception {
if (body.isVaildCid()) {
return new TableDataInfo(new ArrayList<>(), 0);
}
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseBussiness/supplierPage2", BeanUtil.beanToMap(body, false, false));
return dskOpenApiUtil.responsePage(map);
}
public TableDataInfo supplierProjectPage(EnterpriseBussinessSupplierProjectPageBody body) throws Exception {
if (body.isVaildCid()) {
return new TableDataInfo(new ArrayList<>(), 0);
}
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseBussiness/supplierProjectPage2", BeanUtil.beanToMap(body, false, false));
log.info(JSONUtil.toJsonStr(map));
Integer code = MapUtils.getInteger(map, "code", 300);
if (200 != code) {
throw new RuntimeException();
}
Map data = MapUtils.getMap(map, "data", null);
List<Object> list = CommonUtils.assertAsArray(MapUtils.getObject(data, "list", ""));
if (CollectionUtils.isEmpty(list)) {
return new TableDataInfo(list, 0);
}
for (Object supplierProject : list) {
Map<String, Object> dataMap = CommonUtils.assertAsMap(supplierProject);
dataMap.put("sourceId", null);
dataMap.put("sourceType", null);
String source = MapUtils.getString(dataMap, "source");
if (ObjectUtil.isNotEmpty(source)) {
List<EnterpriseBussinessVo> enterpriseSource = new ArrayList<>();
List<EnterpriseBussinessVo> enterpriseBussinessVoList = JSONUtil.toList(source, EnterpriseBussinessVo.class);
if (ObjectUtil.isNotEmpty(enterpriseBussinessVoList.get(0))) {
EnterpriseBussinessVo vo = enterpriseBussinessVoList.get(0);
dataMap.put("sourceId", vo.getSource_id());
dataMap.put("sourceType", vo.getSource_type());
dataMap.put("sourceList", enterpriseBussinessVoList);
if (ObjectUtil.isNotEmpty(body.getSources())) {
for (EnterpriseBussinessVo bussinessVo : enterpriseBussinessVoList) {
String source_type = bussinessVo.getSource_type();
if (body.getSources().contains(source_type)) {
dataMap.put("sourceId", bussinessVo.getSource_id());
dataMap.put("sourceType", bussinessVo.getSource_type());
enterpriseSource.add(bussinessVo);
}
}
dataMap.put("sourceList", enterpriseSource);
}
}
}
}
return new TableDataInfo(list, MapUtils.getInteger(data, "totalCount", 0));
}
public R projectDetail(EnterpriseBussinessProjectDetailBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseBussiness/projectDetail", BeanUtil.beanToMap(body, false, false));
return BeanUtil.toBean(map, R.class);
}
public TableDataInfo oftenAgencyPage(EnterpriseBussinessOftenAgencyPageBody body) throws Exception {
if (body.isVaildCid()) return new TableDataInfo(new ArrayList<>(), 0);
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseBussiness/oftenAgencyPage", BeanUtil.beanToMap(body, false, false));
return dskOpenApiUtil.responsePage(map);
}
public TableDataInfo bidCooperatePage(EnterpriseBussinessBidCooperatePageBody body) throws Exception {
if (body.isVaildCid()) return new TableDataInfo(new ArrayList<>(), 0);
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseBussiness/bidCooperatePage", BeanUtil.beanToMap(body, false, false));
return dskOpenApiUtil.responsePage(map);
}
public TableDataInfo historySendPage(EnterpriseBussinessHistorySendPageBody body) throws Exception {
if (body.isVaildCid()) return new TableDataInfo(new ArrayList<>(), 0);
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseBussiness/historySendPage", BeanUtil.beanToMap(body, false, false));
return dskOpenApiUtil.responsePage(map);
}
public R historySendProvince(EnterpriseBussinessHistorySendProvinceBody body) throws Exception {
if (body.isVaildCid()) return R.ok();
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseBussiness/historySendProvince", BeanUtil.beanToMap(body, false, false));
return BeanUtil.toBean(map, R.class);
}
public R bidWinMergeDetail(EnterpriseBusinessBidWinMergeDetailBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseBussiness/bidWinMergeDetail", BeanUtil.beanToMap(body, false, false));
return BeanUtil.toBean(map, R.class);
}
public R skyProjectDetail(EnterpriseBusinessSkyProjectDetailBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseBussiness/skyProjectDetail", BeanUtil.beanToMap(body, false, false));
return BeanUtil.toBean(map, R.class);
}
public R awardDetail(EnterpriseBusinessAwardDetailBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseBussiness/awardDetail", BeanUtil.beanToMap(body, false, false));
Integer code = MapUtils.getInteger(map, "code", 300);
if (200 != code) {
throw new RuntimeException();
}
Map data = MapUtils.getMap(map, "data", null);
if (ObjectUtil.isNotEmpty(data)) {
String source = MapUtils.getString(data, "source");
if (ObjectUtil.isNotEmpty(source)) {
List<EnterpriseBusinessAwardDetailVo> enterpriseBussinessVoList = JSONUtil.toList(source, EnterpriseBusinessAwardDetailVo.class);
if (ObjectUtil.isNotEmpty(enterpriseBussinessVoList.get(0))) {
EnterpriseBusinessAwardDetailVo vo = enterpriseBussinessVoList.get(0);
return R.ok(vo);
}
}
}
return BeanUtil.toBean(map, R.class);
}
public R select(EnterpriseBusinessAwardDetailBody body) throws Exception {
Map<String, Object> map = new HashMap<>();
List<String> sourcesList = new ArrayList<>(5);
sourcesList.add("中标公示");
sourcesList.add("四库业绩");
sourcesList.add("中标业绩");
sourcesList.add("水利业绩");
sourcesList.add("荣誉奖项");
map.put("sources", sourcesList);
List<String> projectsList = new ArrayList<>(2);
projectsList.add("矿山工程");
projectsList.add("铁路工程");
projectsList.add("港口与航道工程");
projectsList.add("冶金工程");
projectsList.add("水利工程");
projectsList.add("机电工程");
projectsList.add("市政工程");
projectsList.add("石油化工工程");
projectsList.add("电力工程");
projectsList.add("通信工程");
projectsList.add("公路工程");
projectsList.add("房建工程");
projectsList.add("其他");
map.put("projects", projectsList);
return R.ok(map);
}
}
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.map.MapUtil;
import cn.hutool.core.util.ObjectUtil;
import com.dsk.acc.openapi.client.util.CommonUtils;
import com.dsk.biz.domain.vo.CustomerStatusListVo;
import com.dsk.biz.dskService.model.*;
import com.dsk.biz.service.ICustomerService;
import com.dsk.common.constant.CacheConstants;
import com.dsk.common.core.domain.R;
import com.dsk.common.core.page.TableDataInfo;
import com.dsk.common.utils.DskOpenApiUtil;
import com.dsk.common.utils.EncodeIdUtil;
import com.dsk.common.utils.redis.RedisUtils;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.collections4.MapUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.cache.RedisCache;
import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils;
import java.time.Duration;
import java.util.*;
/**
* @ClassName enterpriseService
* @Description TODO
* @Author zhangyi
* @Date 2023/5/15 12:00
* @Version 1.0
*/
@Service
public class EnterpriseService {
private static final Logger log = LoggerFactory.getLogger(EnterpriseService.class);
@Autowired
private DskOpenApiUtil dskOpenApiUtil;
@Autowired
ICustomerService iCustomerService;
public R label(EnterpriseInfoLabelBody body) throws Exception {
List<Map<String, Object>> mapList = new ArrayList<>();
if (body.isVaildCid()) {
return R.ok(mapList);
}
Map<String, Object> companyMap = dskOpenApiUtil.requestBody("/api/jsk/enterprise/label", BeanUtil.beanToMap(body, false, false));
Integer companyCode = MapUtils.getInteger(companyMap, "code", 300);
if (200 != companyCode) {
return R.ok(mapList);
}
// list
List<Map<String, Object>> data = (List<Map<String, Object>>) companyMap.get("data");
if (ObjectUtil.isNotEmpty(data)) {
for (Map<String, Object> labelsMap : data) {
String labelName = MapUtils.getString(labelsMap,"labelName", "");
if (labelName.equals("央企企业") || labelName.equals("国企") || labelName.equals("央企") ||
labelName.equals("央企子公司") || labelName.equals("国有企业") || labelName.equals("省属国企")) {
mapList.add(labelsMap);
}
}
}
return R.ok(mapList);
}
public R infoHeader(EnterpriseInfoHeaderBody body) throws Exception {
if (body.isVaildCid()) return R.ok();
Map<String, Object> companyMap = dskOpenApiUtil.requestBody("/api/jsk/enterprise/infoHeader", BeanUtil.beanToMap(body, false, false));
Integer companyCode = MapUtils.getInteger(companyMap, "code", 300);
if (200 != companyCode) return R.ok();
Map companyData = MapUtils.getMap(companyMap, "data", null);
companyData.put("uipId", null);
companyData.put("claimStatus", 0);
companyData.put("bratingSubjectLevel", null);
String companyName = MapUtils.getString(companyData, "companyName", "");
Map<String, Object> map = BeanUtil.beanToMap(body, false, false);
map.put("cid", body.getCompanyId());
Map<String, Object> uipMap = dskOpenApiUtil.requestBody("/operate/enterprise/financial", map);
Integer uipCode = MapUtils.getInteger(uipMap, "code", 300);
if (200 != uipCode) return R.ok(companyData);
Map uipData = MapUtils.getMap(uipMap, "data", new HashMap<>());
String uipId = MapUtils.getString(uipData, "uipId", null);
companyData.put("uipId", uipId);
companyData.put("claimStatus", iCustomerService.status(companyName));
// Integer status = iCustomerService.status(companyName);
// if (ObjectUtil.isNotEmpty(status)) {
// companyData.put("claimStatus", status.equals(0) ? 1 : 0);
// }
Map<String, Object> bondCreditRatingMap = dskOpenApiUtil.requestBody("/operate/enterprise/bondCreditRating", map);
Integer bondCreditRatingCode = MapUtils.getInteger(bondCreditRatingMap, "code", 300);
if (200 != bondCreditRatingCode) return R.ok(companyData);
List<Map<String, Object>> bondCreditRatingList = (List<Map<String, Object>>) MapUtils.getObject(bondCreditRatingMap, "data", new ArrayList<>());
if (CollectionUtils.isEmpty(bondCreditRatingList)) return R.ok(companyData);
companyData.put("bratingSubjectLevel", MapUtils.getString(bondCreditRatingList.get(0), "bratingSubjectLevel", null));
return R.ok(companyData);
}
public R statistic(EnterpriseStatisticBody body) throws Exception {
if (body.isVaildCid()) return R.ok();
Map<String, Object> statisticMap = dskOpenApiUtil.requestBody("/api/jsk/enterprise/statistic", BeanUtil.beanToMap(body, false, false));
Integer statisticMapCode = MapUtils.getInteger(statisticMap, "code", 300);
if (200 != statisticMapCode) throw new RuntimeException();
Map statisticMapData = MapUtils.getMap(statisticMap, "data", null);
if (MapUtils.isEmpty(statisticMapData)) return R.ok();
Map performance = MapUtils.getMap(statisticMapData, "performance");
Map business = MapUtils.getMap(statisticMapData, "business");
HashMap<String, Object> paramMap = new HashMap<>();
paramMap.put("cid", body.getCompanyId());
Map<String, Object> projectStatisticMap = dskOpenApiUtil.requestBody("/operate/enterpriseProject/statistic", paramMap);
Integer projectStatisticMapCode = MapUtils.getInteger(projectStatisticMap, "code", 300);
if (200 != projectStatisticMapCode) return R.ok(statisticMapData);
Map projectStatisticMapData = MapUtils.getMap(projectStatisticMap, "data", null);
performance.put("specialDebt", MapUtils.getInteger(projectStatisticMapData, "specialDebt", 0));
performance.put("bidPlan", MapUtils.getInteger(projectStatisticMapData, "bidPlan", 0));
business.put("historySend", MapUtils.getInteger(projectStatisticMapData, "historySend", 0));
statisticMapData.put("performance", performance);
statisticMapData.put("business", business);
Map<String, Object> combineMemberMap = dskOpenApiUtil.requestBody("/operate/enterprise/combineMember", paramMap);
Integer code = MapUtils.getInteger(combineMemberMap, "code", 300);
statisticMapData.put("combineMember", null);
if (code.equals(HttpStatus.OK.value())) {
statisticMapData.put("combineMember", MapUtils.getMap(combineMemberMap, "data", null));
}
return R.ok(statisticMapData);
}
public R bidDataGroup(EnterpriseBidDataGroupBody body) throws Exception {
if (body.isVaildCid()) return R.ok();
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterprise/bidDataGroup", BeanUtil.beanToMap(body, false, false));
return BeanUtil.toBean(map, R.class);
}
public R projectTenderDataGroup(EnterpriseProjectTenderDataGroupBody body) throws Exception {
if (body.isVaildCid()) return R.ok();
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterprise/projectTenderDataGroup", BeanUtil.beanToMap(body, false, false));
return BeanUtil.toBean(map, R.class);
}
//todo 新数据,待入库
public TableDataInfo partners(EnterprisePartnersBody body) throws Exception {
if (body.isVaildCid()) return new TableDataInfo(new ArrayList<>(), 0);
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterprise/partners", BeanUtil.beanToMap(body, false, false));
return dskOpenApiUtil.responsePage(map);
}
public TableDataInfo investment(EnterpriseInvestmentBody body) throws Exception {
if (body.isVaildCid()) {
return new TableDataInfo(new ArrayList<>(), 0);
}
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterprise/investment", BeanUtil.beanToMap(body, false, false));
return dskOpenApiUtil.responsePage(map);
// Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterprise/investment", BeanUtil.beanToMap(body, false, false));
// Integer code = MapUtils.getInteger(map, "code", 300);
// if (!code.equals(HttpStatus.OK.value())) {
// throw new RuntimeException();
// }
// Map data = MapUtils.getMap(map, "data", null);
// List<Object> list = CommonUtils.assertAsArray(MapUtils.getObject(data, "list", ""));
// if (CollectionUtils.isEmpty(list)) {
// return new TableDataInfo(list, 0);
// }
// List<Object> newList = new ArrayList<>(20);
// for (Object companyObj : list) {
// Map<String, Object> companyMap = CommonUtils.assertAsMap(companyObj);
// String businessStatus = MapUtils.getString(companyMap, "businessStatus");
// if (!"注销".equals(businessStatus)) {
// newList.add(companyMap);
// }
// }
// for (Object companyObj : list) {
// Map<String, Object> companyMap = CommonUtils.assertAsMap(companyObj);
// String businessStatus = MapUtils.getString(companyMap, "businessStatus");
// if ("注销".equals(businessStatus)) {
// newList.add(companyMap);
// }
// }
// return new TableDataInfo(newList, MapUtils.getInteger(data, "totalCount", 0));
}
public TableDataInfo affiliates(EnterpriseAffiliatesBody body) throws Exception {
if (body.isVaildCid()) return new TableDataInfo(new ArrayList<>(), 0);
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterprise/affiliates", BeanUtil.beanToMap(body, false, false));
return dskOpenApiUtil.responsePage(map);
}
public TableDataInfo dynamicPage(EnterpriseDynamicPageBody body) throws Exception {
if (body.isVaildCid()) return new TableDataInfo(new ArrayList<>(), 0);
Map<String, Object> map = dskOpenApiUtil.requestBody("/api/jsk/enterprise/dynamic", BeanUtil.beanToMap(body, false, false));
//底层接口写死了pageSize为10,这里前端只要5条
// return dskOpenApiUtil.responsePage(map);
Integer code = MapUtils.getInteger(map, "code", 300);
Map data = MapUtils.getMap(map, "data", null);
if (200 != code) throw new RuntimeException();
Integer count = MapUtils.getInteger(data, "totalCount", 0);
List<Object> list = CommonUtils.assertAsArray(MapUtils.getObject(data, "list", ""));
return new TableDataInfo(body.getPageSize() <= list.size() ? list.subList(0, body.getPageSize()) : list, count);
}
public R icInfo(EnterpriseIcInfoBody body) throws Exception {
if (body.isVaildCid()) return R.ok();
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterprise/icInfo", BeanUtil.beanToMap(body, false, false));
return BeanUtil.toBean(map, R.class);
}
public TableDataInfo changeInfo(EnterpriseChangeInfoBody body) throws Exception {
if (body.isVaildCid()) return new TableDataInfo(new ArrayList<>(), 0);
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterprise/changeInfo", BeanUtil.beanToMap(body, false, false));
return dskOpenApiUtil.responsePage(map);
}
public TableDataInfo keymembers(EnterpriseKeymembersBody body) throws Exception {
if (body.isVaildCid()) return new TableDataInfo(new ArrayList<>(), 0);
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterprise/keymembers", BeanUtil.beanToMap(body, false, false));
return dskOpenApiUtil.responsePage(map);
}
public TableDataInfo bestStockPage(EnterpriseBestStockPageBody body) throws Exception {
if (body.isVaildCid()) return new TableDataInfo(new ArrayList<>(), 0);
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterprise/bestStockPage", BeanUtil.beanToMap(body, false, false));
return dskOpenApiUtil.responsePage(map);
}
public R financial(EnterpriseFinancialBody body) throws Exception {
if (body.isVaildCid()) return R.ok();
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterprise/financial", BeanUtil.beanToMap(body, false, false));
return BeanUtil.toBean(map, R.class);
}
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 TableDataInfo uipSerach(EnterpriseUipSearchBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterprise/uipSerach", BeanUtil.beanToMap(body, false, false));
Integer code = MapUtils.getInteger(map, "code", 300);
if (200 != code) throw new RuntimeException();
Map data = MapUtils.getMap(map, "data", null);
List<Object> list = CommonUtils.assertAsArray(MapUtils.getObject(data, "list", ""));
if (CollectionUtils.isEmpty(list)) {
return new TableDataInfo(list, 0);
}
ArrayList<String> companyNames = new ArrayList<>();
ArrayList<Long> cIds = new ArrayList<>();
for (Object dataMap : list) {
String name = MapUtils.getString(CommonUtils.assertAsMap(dataMap), "companyName");
if (ObjectUtil.isNotEmpty(name) && ObjectUtil.isNotEmpty(body.getKeys())) {
name = name.replaceAll("<font color='red'>", "");
name = name.replaceAll("</font>", "");
companyNames.add(name);
} else {
companyNames.add(name);
}
cIds.add(MapUtils.getLong(CommonUtils.assertAsMap(dataMap), "companyId"));
}
List<CustomerStatusListVo> claimStatusList = iCustomerService.selectStatusListByCompanyName(companyNames);
// Map<String, Object> bondCreditRatingBatchMap = new HashMap<>(1);
// bondCreditRatingBatchMap.put("cIds", cIds);
// Map<String, Object> bondCreditRatingMap = dskOpenApiUtil.requestBody("/operate/enterprise/bondCreditRatingBatch", bondCreditRatingBatchMap);
// Integer codeRating = MapUtils.getInteger(bondCreditRatingMap, "code", 300);
// ArrayList<Map<String, Object>> objArrayList = new ArrayList(1);
// if (codeRating.equals(HttpStatus.OK.value())) {
// Object object = bondCreditRatingMap.get("data");
// if (ObjectUtil.isNotEmpty(object)) {
// objArrayList = (ArrayList) object;
// }
// }
//按照城投企业id合并两个list
for (Object companyObj : list) {
Map<String, Object> companyMap = CommonUtils.assertAsMap(companyObj);
// companyMap.put("bratingSubjectLevel", null);
String uipId = MapUtils.getString(companyMap, "uipId");
String companyName = MapUtils.getString(companyMap, "companyName", "");
if (ObjectUtil.isNotEmpty(companyName) && ObjectUtil.isNotEmpty(body.getKeys())) {
companyName = companyName.replace("<font color='red'>", "");
companyName = companyName.replace("</font>", "");
}
Long companyId = MapUtils.getLong(companyMap, "companyId");
companyMap.put("bondBalance", MapUtils.getDouble(companyMap, "bondBalance") == null ? null : String.format("%.2f", MapUtils.getDouble(companyMap, "bondBalance")));
companyMap.put("totalAssets", MapUtils.getDouble(companyMap, "totalAssets") == null ? null : String.format("%.2f", MapUtils.getDouble(companyMap, "totalAssets")));
companyMap.put("belongNetAssets", MapUtils.getDouble(companyMap, "belongNetAssets") == null ? null : String.format("%.2f", MapUtils.getDouble(companyMap, "belongNetAssets")));
companyMap.put("monetaryFunds", MapUtils.getDouble(companyMap, "monetaryFunds") == null ? null : String.format("%.2f", MapUtils.getDouble(companyMap, "monetaryFunds")));
companyMap.put("landAssets", MapUtils.getDouble(companyMap, "landAssets") == null ? null : String.format("%.2f", MapUtils.getDouble(companyMap, "landAssets")));
companyMap.put("restrictedAssets", MapUtils.getDouble(companyMap, "restrictedAssets") == null ? null : String.format("%.2f", MapUtils.getDouble(companyMap, "restrictedAssets")));
companyMap.put("accountsReceivable", MapUtils.getDouble(companyMap, "accountsReceivable") == null ? null : String.format("%.2f", MapUtils.getDouble(companyMap, "accountsReceivable")));
companyMap.put("otherReceivable", MapUtils.getDouble(companyMap, "otherReceivable") == null ? null : String.format("%.2f", MapUtils.getDouble(companyMap, "otherReceivable")));
companyMap.put("econData_001", MapUtils.getDouble(companyMap, "econData_001") == null ? null : String.format("%.2f", MapUtils.getDouble(companyMap, "econData_001")));
companyMap.put("govSubsidy", MapUtils.getDouble(companyMap, "govSubsidy") == null ? null : String.format("%.2f", MapUtils.getDouble(companyMap, "govSubsidy")));
companyMap.put("specialPayable", MapUtils.getDouble(companyMap, "specialPayable") == null ? null : String.format("%.2f", MapUtils.getDouble(companyMap, "specialPayable")));
companyMap.put("operatingIncome", MapUtils.getDouble(companyMap, "operatingIncome") == null ? null : String.format("%.2f", MapUtils.getDouble(companyMap, "operatingIncome")));
companyMap.put("belongNetProfit", MapUtils.getDouble(companyMap, "belongNetProfit") == null ? null : String.format("%.2f", MapUtils.getDouble(companyMap, "belongNetProfit")));
companyMap.put("roe", MapUtils.getDouble(companyMap, "roe") == null ? null : String.format("%.2f", MapUtils.getDouble(companyMap, "roe")));
companyMap.put("netOperatingCashFlow", MapUtils.getDouble(companyMap, "netOperatingCashFlow") == null ? null : String.format("%.2f", MapUtils.getDouble(companyMap, "netOperatingCashFlow")));
companyMap.put("netFinancingCashFlow", MapUtils.getDouble(companyMap, "netFinancingCashFlow") == null ? null : String.format("%.2f", MapUtils.getDouble(companyMap, "netFinancingCashFlow")));
companyMap.put("netInvestmentCashFlow", MapUtils.getDouble(companyMap, "netInvestmentCashFlow") == null ? null : String.format("%.2f", MapUtils.getDouble(companyMap, "netInvestmentCashFlow")));
companyMap.put("totalLiabilities", MapUtils.getDouble(companyMap, "totalLiabilities") == null ? null : String.format("%.2f", MapUtils.getDouble(companyMap, "totalLiabilities")));
companyMap.put("uipInterestBearingDebt", MapUtils.getDouble(companyMap, "uipInterestBearingDebt") == null ? null : String.format("%.2f", MapUtils.getDouble(companyMap, "uipInterestBearingDebt")));
companyMap.put("econData_002", MapUtils.getDouble(companyMap, "econData_002") == null ? null : String.format("%.2f", MapUtils.getDouble(companyMap, "econData_002")));
companyMap.put("ofcb", MapUtils.getDouble(companyMap, "ofcb") == null ? null : String.format("%.2f", MapUtils.getDouble(companyMap, "ofcb")));
companyMap.put("cashRatio", MapUtils.getDouble(companyMap, "cashRatio") == null ? null : String.format("%.2f", MapUtils.getDouble(companyMap, "cashRatio")));
companyMap.put("cashFlowRatio", MapUtils.getDouble(companyMap, "cashFlowRatio") == null ? null : String.format("%.2f", MapUtils.getDouble(companyMap, "cashFlowRatio")));
companyMap.put("cashDebtRatio", MapUtils.getDouble(companyMap, "cashDebtRatio") == null ? null : String.format("%.2f", MapUtils.getDouble(companyMap, "cashDebtRatio")));
companyMap.put("creditBalance", MapUtils.getDouble(companyMap, "creditBalance") == null ? null : String.format("%.2f", MapUtils.getDouble(companyMap, "creditBalance")));
companyMap.put("econData_003", MapUtils.getDouble(companyMap, "econData_003") == null ? null : String.format("%.2f", MapUtils.getDouble(companyMap, "econData_003")));
companyMap.put("ebitdaIcr", MapUtils.getDouble(companyMap, "ebitdaIcr") == null ? null : String.format("%.2f", MapUtils.getDouble(companyMap, "ebitdaIcr")));
companyMap.put("ppnBalanceProp", MapUtils.getDouble(companyMap, "ppnBalanceProp") == null ? null : String.format("%.2f", MapUtils.getDouble(companyMap, "ppnBalanceProp")));
companyMap.put("econData_004", MapUtils.getDouble(companyMap, "econData_004") == null ? null : String.format("%.2f", MapUtils.getDouble(companyMap, "econData_004")));
companyMap.put("econData_005", MapUtils.getDouble(companyMap, "econData_005") == null ? null : String.format("%.2f", MapUtils.getDouble(companyMap, "econData_005")));
companyMap.put("econData_006", MapUtils.getDouble(companyMap, "econData_006") == null ? null : String.format("%.2f", MapUtils.getDouble(companyMap, "econData_006")));
companyMap.put("nonStandardBalance", MapUtils.getDouble(companyMap, "nonStandardBalance") == null ? null : String.format("%.2f", MapUtils.getDouble(companyMap, "nonStandardBalance")));
companyMap.put("nonStandardRatio", MapUtils.getDouble(companyMap, "nonStandardRatio") == null ? null : String.format("%.2f", MapUtils.getDouble(companyMap, "nonStandardRatio")));
companyMap.put("guaranteeAmount", MapUtils.getDouble(companyMap, "guaranteeAmount") == null ? null : String.format("%.2f", MapUtils.getDouble(companyMap, "guaranteeAmount")));
companyMap.put("guaranteeRatio", MapUtils.getDouble(companyMap, "guaranteeRatio") == null ? null : String.format("%.2f", MapUtils.getDouble(companyMap, "guaranteeRatio")));
companyMap.put("claimStatus", null);
for (CustomerStatusListVo vo : claimStatusList) {
if (companyName.equals(vo.getCompanyName())) {
companyMap.put("claimStatus", vo.getStatus());
}
}
// for (Map<String, Object> m : objArrayList) {
// Long companyIdCredit = MapUtils.getLong(m, "companyId", 0L);
// if (companyIdCredit.equals(companyId)) {
// companyMap.put("bratingSubjectLevel", m.get("bratingSubjectLevel"));
// }
// }
}
return new TableDataInfo(list, MapUtils.getInteger(data, "totalCount", 0));
}
public static void main(String[] args) {
String str = String.format("%1$.2f", 0.0456);
System.out.println(str);
String format = String.format("%.2f", null);
System.out.println(format);
}
public R uipGroupData() throws Exception {
String redisKey = CacheConstants.DATA_UIPGROUPDATA;
Map<String, Object> cacheMap = RedisUtils.getCacheMap(redisKey);
if (MapUtils.isNotEmpty(cacheMap)) {
return R.ok(cacheMap);
}
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterprise/uipGroupData", new HashMap<>());
Integer code = MapUtils.getInteger(map, "code", 300);
if (200 != code) throw new RuntimeException();
Map data = MapUtils.getMap(map, "data", null);
RedisUtils.setCacheMap(redisKey, data);
RedisUtils.expire(redisKey, Duration.ofHours(24));
return BeanUtil.toBean(map, R.class);
}
public R remark(EnterpriseRemarkBody vo) throws Exception {
return R.ok(EncodeIdUtil.avDecode(EncodeIdUtil.binaryToUnicode(vo.mark)));
}
public R bondCreditRating(EnterpriseBondCreditRatingBody body) throws Exception {
if (body.isVaildCid()) return R.ok();
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterprise/bondCreditRating", BeanUtil.beanToMap(body, false, false));
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);
}
public R financialData(EnterpriseFinancialDataBody body) throws Exception {
if (body.isValidateCid()) {
return R.ok();
}
String redisKey = CacheConstants.DATA_FINANCIAL + body.getCid();
List cacheMap = RedisUtils.getCacheList(redisKey);
if (ObjectUtil.isNotEmpty(cacheMap)) {
return R.ok(cacheMap);
}
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterprise/financialData", BeanUtil.beanToMap(body, false, false));
Integer code = MapUtils.getInteger(map, "code", 300);
if (!code.equals(HttpStatus.OK.value())) {
throw new RuntimeException();
}
Object data = map.get("data");
if (ObjectUtil.isNotEmpty(data)) {
RedisUtils.setCacheList(redisKey, (List) data);
RedisUtils.expire(redisKey, Duration.ofHours(24));
}
return BeanUtil.toBean(map, R.class);
}
@Autowired
private BusinessOpportunityRadarService opportunityRadarService;
//企业id、uipId
public Map<String, Object> getCidAndUipIdByCompanyName(String companyName) {
Map<String, Object> result = new HashMap<>();
if (ObjectUtils.isEmpty(companyName)) return result;
try {
Map<String, Object> map = opportunityRadarService.enterpriseByName(companyName);
if (!ObjectUtils.isEmpty(map.get("data"))) {
result.put("companyId", MapUtil.getInt(BeanUtil.beanToMap(map.get("data")), "jskEid"));
}
result.put("uipId", this.getUipIdByCompanyNameOrCompanyId(companyName, MapUtils.getInteger(result, "companyId")));
} catch (Exception e) {
log.debug("获取企业id错误!error:{}", e.getMessage());
}
return result;
}
//企业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 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;
}
}
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 EnterprisePartnersBody 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 EnterpriseProjectApprovalExaminePageBody extends BasePage {
/**
* id
*/
@NotNull(message = "id不能为空")
private String 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 EnterpriseProjectApprovalInfoDetailBody {
/**
* id
*/
@NotNull(message = "id不能为空")
private String 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 EnterpriseProjectApprovalMarketingPageBody extends BasePage {
/**
* id
*/
@NotNull(message = "id不能为空")
private String 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 EnterpriseProjectApprovalProjectPageBody extends BasePage {
/**
* 企业id
*/
@NotNull(message = "企业id不能为空")
private Integer cid;
/**
* 查询关键字
*/
private String keys;
/**
* 是否为民介0(否),1(是)
*/
private String isProject;
/*
* 1金额倒序,2金额正序,3计划开工时间倒序,4计划开工时间正序,13计划完工时间倒序,14计划完工时间正序
*/
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 EnterpriseProjectBidNoticeAreaBody {
/**
* 企业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 EnterpriseProjectBidNoticeDetailBody {
/**
* id
*/
@NotNull(message = "id不能为空")
private String 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 EnterpriseProjectBidNoticePageBody extends BasePage {
/**
* 企业id
*/
@NotNull(message = "企业id不能为空")
private Integer cid;
/**
* 查询关键字
*/
private String keys;
/**
* 类型
*/
private List<String> tenderStage;
/*
* 1金额倒序,2金额正序,3时间倒序,4时间正序
*/
private Integer sort;
/**
* 省份
*/
private List<Integer> provinceIds;
/**
* 市份
*/
private List<Integer> cityIds;
/**
* 县
*/
private List<Integer> areaIds;
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 EnterpriseProjectBidNoticeProAssessmentWayBody {
/**
* 企业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 EnterpriseProjectBidNoticeProDetailBody {
/**
* id
*/
@NotNull(message = "id不能为空")
private String 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 EnterpriseProjectBidNoticeProPageBody extends BasePage {
/**
* 企业id
*/
@NotNull(message = "企业id不能为空")
private Integer cid;
/**
* 查询关键字
*/
private String keys;
/**
* 项目类别
*/
private String projectType;
/**
* 工程用途
*/
private String projectPurposes;
/**
* 评标办法
*/
private String bidAssessmentWay;
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 EnterpriseProjectBidNoticeProProjectPurposesBody {
/**
* 企业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 EnterpriseProjectBidNoticeProProjectTypeBody {
/**
* 企业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 EnterpriseProjectBidNoticeTenderStageBody {
/**
* 企业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 EnterpriseProjectBidPlanDetailBody {
/**
* id
*/
@NotNull(message = "id不能为空")
private String 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 EnterpriseProjectBidPlanPageBody extends BasePage {
/**
* 企业id
*/
@NotNull(message = "企业id不能为空")
private Integer cid;
/**
* 查询关键字
*/
private String keys;
/**
* 项目类型
*/
private String buildingProjectType;
/*
* 排序字段:1金额倒序,2金额正序,3发布时间倒序,4发布时间正序,15预计招标时间倒序,16预计招标时间正序
*/
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;
/**
* @ClassName EnterpriseProjectBidPlanProjectTypeBody
* @Description
* @Author Dgm
* @Date 2023/7/13 9:37
* @Version
*/
@Data
@ToString
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class EnterpriseProjectBidPlanProjectTypeBody {
/**
* 企业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 EnterpriseProjectCreditXzxkPageBody 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;
import javax.validation.constraints.NotNull;
@Data
@ToString
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class EnterpriseProjectLandDetailBody {
/**
* 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 EnterpriseProjectLandTransactionPageBody extends BasePage {
/**
* 企业id
*/
@NotNull(message = "企业id不能为空")
private Integer cid;
/**
* 土地用途
*/
private List<String> landUse;
/**
* 查询关键字
*/
private String keys;
/*
* 1金额倒序,2金额正序,3时间倒序,4时间正序,11面积倒序,12面积正序
*/
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 EnterpriseProjectLandUseBody {
/**
* 企业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 EnterpriseProjectSpecialDebtPageBody extends BasePage {
/**
* id
*/
@NotNull(message = "id不能为空")
private String 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 EnterpriseProjectSpecialDebtProjectDetailBody {
/**
* id
*/
@NotNull(message = "id不能为空")
private String 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 EnterpriseProjectSpecialDebtProjectPageBody extends BasePage {
/**
* 企业id
*/
@NotNull(message = "企业id不能为空")
private Integer cid;
/**
* 查询关键字
*/
private String keys;
/*
* 排序字段:1总投资金额倒序,2总投资金额正序,17项目资本金倒序,18项目资本金正序,19专项债用作资本金倒序,20专项债用作资本金正序
*/
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 javax.validation.constraints.NotNull;
/**
* 甲方业绩数据
*/
@Data
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class EnterpriseProjectTenderDataGroupBody {
//企业Id
@NotNull(message = "企业id不能为空")
private Integer cid;
//group类型 0:金额,1:项目类型
private Integer type;
public boolean isVaildCid() {
return 0 == cid;
}
}
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 EnterpriseRemarkBody {
@NotNull(message = "解码值不能为空")
public String mark;
}
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 EnterpriseStatisticBody
{
/**
* 企业id
*/
@NotNull(message = "企业id不能为空")
private Integer companyId;
private Boolean isFy = false;
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 EnterpriseSupplierPageBody extends BasePage {
//企业Id
@NotNull(message = "企业id不能为空")
private Integer companyId;
//是否企业首页用,首页用到缓存
private Boolean isIndex = true;
//查询关键词(供应商名)
private String key;
//排序字段
private String orderColumn;
@Override
public String toString() {
final StringBuffer sb = new StringBuffer("com.dsk.common.core.domain.model.EnterpriseSupplierPageBody{");
sb.append("companyId=").append(companyId);
sb.append(", isIndex=").append(isIndex);
sb.append(", key='").append(key).append('\'');
sb.append(", orderColumn='").append(orderColumn).append('\'');
sb.append(", pageIndex=").append(getPageIndex());
sb.append(", pageSize=").append(getPageSize());
sb.append('}');
return sb.toString();
}
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 java.util.List;
@Data
@ToString
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class EnterpriseUipSearchBody extends BasePage {
/**
* 查询关键字
*/
private List<String> keys;
/*
* 1供应商倒序,2供应商正序,3拟建项目倒序,4拟建项目正序,5招标公告倒序,6招标公告正序,7土地倒序,8土地正序
*/
private Integer sort;
/**
* 省份
*/
private List<Integer> provinceIds;
/**
* 市份
*/
private List<Integer> cityIds;
/**
* 县
*/
private List<Integer> areaIds;
/**
* 行政级别
*/
private List<String> uipExecutiveLevel;
/**
* 城投业务类型
*/
private List<String> uipBusinessType;
/**
* 主体信用等级
*/
private List<String> bratingSubjectLevel;
/**
* 股东背景
*/
private List<String> shareholderBg;
/**
* 股权关系
*/
private List<String> equityRelationship;
}
package com.dsk.biz.dskService.model;
import com.dsk.common.utils.DateUtils;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import java.util.Date;
import java.util.List;
@Data
@ToString
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class IndexBigBidPageBody extends BasePage
{
/**
* 开始时间
*/
private String timeStart = DateUtils.dateTime(DateUtils.addDays(new Date(), -6));
/**
* 截止时间
*/
private String timeEnd = DateUtils.getDate();
/**
* 金额起 默认2亿
*/
private Double amountStart = 20000.00;
/**
* 金额止
*/
private Double amountEnd;
/**
* 省份Id
*/
private Integer provinceId;
private List<String> projects;
}
package com.dsk.biz.dskService.model;
import com.dsk.common.utils.DateUtils;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import java.util.Date;
import java.util.List;
@Data
@ToString
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class IndexBigWinningBidsPageBody extends BasePage {
/**
* 开始时间
*/
private String timeStart = DateUtils.dateTime(DateUtils.addDays(new Date(), -6));
/**
* 截止时间
*/
private String timeEnd = DateUtils.getDate();
/**
* 金额起 默认2亿
*/
private Double amountStart = 20000.00;
/**
* 金额止
*/
private Double amountEnd;
/**
* 省份Id
*/
private Integer provinceId;
private List<String> projects;
}
package com.dsk.biz.dskService.model;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.List;
/**
* 集团户相关查询条件实体类
*
* @author Dgm
* @create 2023/8/7
*/
@Data
public class JskCombineBidPageDto extends BasePage implements Serializable {
/**
* 集团id
*/
@NotNull(message = "集团id不能为空!")
private String combineId;
/**
* 集团名称
*/
private String combineName;
/**
* 筛选参数
*/
private String keys;
/**
* 集团层级
*/
private List<String> combineMemberLevels;
/**
* 省id
*/
private List<Integer> provinceIds;
/**
* 市id
*/
private List<Integer> cityIds;
/**
* 区id
*/
private List<Integer> areaIds;
/**
* 最大金额
*/
private Integer maxAmount;
/**
* 最小金额
*/
private Integer minAmount;
/**
* 业务类型
*/
private String businessType;
/**
* 科技型企业类型
*/
private List<String> companyTypes;
/**
* 企业类型
*/
private String companyType;
/**
* 最大持股比例
*/
private Double maxStockPercent;
/**
* 最小持股比例
*/
private Double minStockPercent;
/**
* 时间(开始)
*/
private String startTime;
/**
* 时间(结束)
*/
private String endTime;
/**
* 招采类型
*/
private List<String> subjectMatters;
/**
* 项目类型
*/
private List<String> projectTypes;
}
package com.dsk.biz.dskService.model;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
/**
* 集团户相关查询条件实体类
*
* @author lcl
* @create 2023/8/7
*/
@Data
public class JskCombineCertificateDto implements Serializable {
/**
* 数据id
*/
@NotNull(message = "id不能为空!")
private Long id;
/**
* 企业名称
*/
private String companyName;
/**
* 页码
*/
private Integer pageNum;
/**
* 每页条数
*/
private Integer pageSize;
}
package com.dsk.biz.dskService.model;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.List;
/**
* 集团户相关查询条件实体类
*
* @author lcl
* @create 2023/8/7
*/
@Data
public class JskCombineSearchDto implements Serializable {
/**
* 集团id
*/
@NotNull(message = "集团id不能为空!")
private String combineId;
/**
* 集团名称
*/
private String combineName;
/**
* 筛选参数
*/
private String searchValue;
/**
* 集团层级
*/
private List<String> combineMemberLevels;
/**
* 省id
*/
private List<Integer> provinceIds;
/**
* 市id
*/
private List<Integer> cityIds;
/**
* 区id
*/
private List<Integer> districtIds;
/**
* 最大金额
*/
private Integer maxAmount;
/**
* 最小金额
*/
private Integer minAmount;
/**
* 业务类型
*/
private String businessType;
/**
* 科技型企业类型
*/
private List<String> companyTypes;
/**
* 企业类型
*/
private String companyType;
/**
* 最大持股比例
*/
private Double maxStockPercent;
/**
* 最小持股比例
*/
private Double minStockPercent;
/**
* 中标时间(开始)
*/
private String startBidTime;
/**
* 中标时间(结束)
*/
private String endBidTime;
/**
* 业绩类型
*/
private List<String> boundTypes;
/**
* 项目类型
*/
private List<String> projectTypes;
/**
* 资质类型
*/
private Integer qualificationType;
/**
* 页码
*/
private Integer pageNum;
/**
* 每页条数
*/
private Integer pageSize;
/**
* 排序字段
*/
private String orderName;
/**
* 排序类型 ASC DESC
*/
private String orderType;
}
package com.dsk.biz.dskService.model;
/**
* 用户登录对象
*
* @author dsk
*/
public class LoginBody
{
/**
* 用户名
*/
private String username;
/**
* 用户密码
*/
private String password;
/**
* 验证码
*/
private String code;
/**
* 唯一标识
*/
private String uuid;
public String getUsername()
{
return username;
}
public void setUsername(String username)
{
this.username = username;
}
public String getPassword()
{
return password;
}
public void setPassword(String password)
{
this.password = password;
}
public String getCode()
{
return code;
}
public void setCode(String code)
{
this.code = code;
}
public String getUuid()
{
return uuid;
}
public void setUuid(String uuid)
{
this.uuid = uuid;
}
}
//package com.dsk.biz.dskService.model;
//
//import com.alibaba.fastjson2.annotation.JSONField;
//import com.dsk.common.core.domain.entity.SysUser;
//import org.springframework.security.core.GrantedAuthority;
//import org.springframework.security.core.userdetails.UserDetails;
//
//import java.util.Collection;
//import java.util.Set;
//
///**
// * 登录用户身份权限
// *
// * @author dsk
// */
//public class LoginUser implements UserDetails
//{
// private static final long serialVersionUID = 1L;
//
// /**
// * 用户ID
// */
// private Long userId;
//
// /**
// * 部门ID
// */
// private Long deptId;
//
// /**
// * 用户唯一标识
// */
// private String token;
//
// /**
// * 登录时间
// */
// private Long loginTime;
//
// /**
// * 过期时间
// */
// private Long expireTime;
//
// /**
// * 登录IP地址
// */
// private String ipaddr;
//
// /**
// * 登录地点
// */
// private String loginLocation;
//
// /**
// * 浏览器类型
// */
// private String browser;
//
// /**
// * 操作系统
// */
// private String os;
//
// /**
// * 权限列表
// */
// private Set<String> permissions;
//
// /**
// * 用户信息
// */
// private SysUser user;
//
// public Long getUserId()
// {
// return userId;
// }
//
// public void setUserId(Long userId)
// {
// this.userId = userId;
// }
//
// public Long getDeptId()
// {
// return deptId;
// }
//
// public void setDeptId(Long deptId)
// {
// this.deptId = deptId;
// }
//
// public String getToken()
// {
// return token;
// }
//
// public void setToken(String token)
// {
// this.token = token;
// }
//
// public LoginUser()
// {
// }
//
// public LoginUser(SysUser user, Set<String> permissions)
// {
// this.user = user;
// this.permissions = permissions;
// }
//
// public LoginUser(Long userId, Long deptId, SysUser user, Set<String> permissions)
// {
// this.userId = userId;
// this.deptId = deptId;
// this.user = user;
// this.permissions = permissions;
// }
//
// @JSONField(serialize = false)
// @Override
// public String getPassword()
// {
// return user.getPassword();
// }
//
// @Override
// public String getUsername()
// {
// return user.getUserName();
// }
//
// /**
// * 账户是否未过期,过期无法验证
// */
// @JSONField(serialize = false)
// @Override
// public boolean isAccountNonExpired()
// {
// return true;
// }
//
// /**
// * 指定用户是否解锁,锁定的用户无法进行身份验证
// *
// * @return
// */
// @JSONField(serialize = false)
// @Override
// public boolean isAccountNonLocked()
// {
// return true;
// }
//
// /**
// * 指示是否已过期的用户的凭据(密码),过期的凭据防止认证
// *
// * @return
// */
// @JSONField(serialize = false)
// @Override
// public boolean isCredentialsNonExpired()
// {
// return true;
// }
//
// /**
// * 是否可用 ,禁用的用户不能身份验证
// *
// * @return
// */
// @JSONField(serialize = false)
// @Override
// public boolean isEnabled()
// {
// return true;
// }
//
// public Long getLoginTime()
// {
// return loginTime;
// }
//
// public void setLoginTime(Long loginTime)
// {
// this.loginTime = loginTime;
// }
//
// public String getIpaddr()
// {
// return ipaddr;
// }
//
// public void setIpaddr(String ipaddr)
// {
// this.ipaddr = ipaddr;
// }
//
// public String getLoginLocation()
// {
// return loginLocation;
// }
//
// public void setLoginLocation(String loginLocation)
// {
// this.loginLocation = loginLocation;
// }
//
// public String getBrowser()
// {
// return browser;
// }
//
// public void setBrowser(String browser)
// {
// this.browser = browser;
// }
//
// public String getOs()
// {
// return os;
// }
//
// public void setOs(String os)
// {
// this.os = os;
// }
//
// public Long getExpireTime()
// {
// return expireTime;
// }
//
// public void setExpireTime(Long expireTime)
// {
// this.expireTime = expireTime;
// }
//
// public Set<String> getPermissions()
// {
// return permissions;
// }
//
// public void setPermissions(Set<String> permissions)
// {
// this.permissions = permissions;
// }
//
// public SysUser getUser()
// {
// return user;
// }
//
// public void setUser(SysUser user)
// {
// this.user = user;
// }
//
// @Override
// public Collection<? extends GrantedAuthority> getAuthorities()
// {
// return null;
// }
//}
package com.dsk.biz.dskService.model;
import com.dsk.common.core.domain.model.LoginBody;
/**
* 用户注册对象
*
* @author dsk
*/
public class RegisterBody extends LoginBody
{
}
package com.dsk.biz.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.dsk.biz.domain.BusinessInfo;
import com.dsk.biz.domain.bo.BusinessListDto;
import com.dsk.biz.domain.bo.CustomerBusinessSearchDto;
import com.dsk.biz.domain.vo.BusinessListVo;
import com.dsk.biz.domain.vo.CustomerBusinessListVo;
import com.dsk.common.annotation.DataColumn;
import com.dsk.common.annotation.DataPermission;
import org.apache.ibatis.annotations.Mapper;
......@@ -109,7 +112,7 @@ public interface BusinessInfoMapper extends BaseMapper<BusinessInfo> {
//
// int selectCountByStatusAndCustomerId(@Param("status") Integer status, @Param("customerId") String customerId);
//
// List<CustomerBusinessListVo> selectCustomerBusinessList(CustomerBusinessSearchDto dto);
Page<CustomerBusinessListVo> selectCustomerBusinessList(IPage<CustomerBusinessSearchDto> page,@Param("dto") CustomerBusinessSearchDto dto);
//
// int selectCountByStatus(BusinessSearchDto dto);
//
......
package com.dsk.biz.mapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.dsk.biz.domain.ContactInfo;
import com.dsk.biz.domain.bo.ContactInfoSearchDto;
import com.dsk.biz.domain.vo.ContactInfoListVo;
import com.dsk.common.core.mapper.BaseMapperPlus;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 用户联系人(CustomerContact)表数据库访问层
*
* @author makejava
* @since 2023-07-25 17:18:05
*/
@Mapper
public interface ContactInfoMapper extends BaseMapperPlus<ContactInfo,ContactInfo,ContactInfo> {
Page<ContactInfoListVo> selectPageList(IPage<ContactInfoSearchDto> page , @Param("dto") ContactInfoSearchDto dto);
}
package com.dsk.biz.mapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.dsk.biz.domain.CustomerFollowRecord;
import com.dsk.biz.domain.bo.CustomerFollowRecordSearchDto;
import com.dsk.biz.domain.vo.BusinessListVo;
import com.dsk.biz.domain.vo.CustomerFollowRecordListVo;
import com.dsk.common.annotation.DataColumn;
import com.dsk.common.annotation.DataPermission;
import com.dsk.common.core.mapper.BaseMapperPlus;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 客户跟进记录(CustomerFollowRecord)表数据库访问层
*
* @author makejava
* @since 2023-05-18 15:07:59
*/
@Mapper
public interface CustomerFollowRecordMapper extends BaseMapperPlus<CustomerFollowRecord,CustomerFollowRecord,CustomerFollowRecord> {
@DataPermission({
@DataColumn(key = "deptName", value = "d.dept_id"),
@DataColumn(key = "userName", value = "u.user_id")
})
List<CustomerFollowRecordListVo> selectAuthList(@Param("page") IPage<CustomerFollowRecordSearchDto> page, @Param("dto")CustomerFollowRecordSearchDto dto);
}
package com.dsk.biz.mapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.dsk.biz.domain.Customer;
import com.dsk.biz.domain.bo.CustomerSearchDto;
import com.dsk.biz.domain.vo.CustomerAnalyzeVo;
import com.dsk.biz.domain.vo.CustomerListVo;
import com.dsk.biz.domain.vo.CustomerStatusListVo;
import com.dsk.common.core.mapper.BaseMapperPlus;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
/**
* 客户信息表(Customer)表数据库访问层
*
* @author makejava
* @since 2023-05-16 09:28:00
*/
@Mapper
public interface CustomerMapper extends BaseMapperPlus<Customer,Customer,Customer> {
Page<CustomerListVo> selectList(IPage<CustomerSearchDto> page, @Param("dto") CustomerSearchDto dto);
List<Customer> selectUserList(Long userId);
Customer selectByCompanyNameAndUserId(@Param("companyName") String companyName, @Param("userId") Long userId);
List<CustomerStatusListVo> selectStatusList(@Param("uipIds") List<String> uipIds, @Param("userId") Long userId);
List<CustomerStatusListVo> selectStatusListByCompanyName(@Param("companyNames") List<String> companyNames, @Param("userId") Long userId);
int selectCustomerCount(CustomerSearchDto dto);
List<CustomerAnalyzeVo> selectCooperationTop(CustomerSearchDto dto);
List<Map<String, Object>> selectCreditLevelGroup(CustomerSearchDto dto);
}
package com.dsk.biz.mapper;
import com.dsk.biz.domain.CustomerUser;
import com.dsk.common.core.mapper.BaseMapperPlus;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/**
* 客户负责人表(Customer)表数据库访问层
*
* @author makejava
* @since 2023-05-16 09:28:00
*/
@Mapper
public interface CustomerUserMapper extends BaseMapperPlus<CustomerUser,CustomerUser,CustomerUser> {
CustomerUser selectByCustomerIdAndUserId(@Param("customerId") String customerId, @Param("userId") Long userId);
}
package com.dsk.biz.service;
import com.dsk.biz.domain.bo.BusinessListDto;
import com.dsk.biz.domain.bo.CustomerBusinessSearchDto;
import com.dsk.biz.domain.vo.BusinessListVo;
import com.dsk.biz.domain.vo.CustomerBusinessListVo;
import com.dsk.common.core.domain.PageQuery;
import com.dsk.common.core.page.TableDataInfo;
import org.springframework.web.multipart.MultipartFile;
......@@ -91,6 +93,6 @@ public interface IBusinessInfoService
//
// int selectCountByStatusAndCustomerId(Integer status,String customerId);
//
// List<CustomerBusinessListVo> selectCustomerBusinessList(CustomerBusinessSearchDto dto);
TableDataInfo<CustomerBusinessListVo> selectCustomerBusinessList(CustomerBusinessSearchDto dto, PageQuery pageQuery);
}
package com.dsk.biz.service;
import com.dsk.biz.domain.ContactInfo;
import com.dsk.biz.domain.bo.ContactInfoSearchDto;
import com.dsk.biz.domain.vo.ContactInfoListVo;
import com.dsk.common.core.domain.PageQuery;
import com.dsk.common.core.page.TableDataInfo;
/**
* 用户联系人(CustomerContact)表服务接口
*
* @author makejava
* @since 2023-07-25 17:18:05
*/
public interface IContactInfoService {
/**
* 查询数据列表
*/
TableDataInfo<ContactInfoListVo> selectList(ContactInfoSearchDto dto, PageQuery pageQuery);
/**
* 通过ID查询单条数据
*
* @param id 主键
* @return 实例对象
*/
ContactInfo selectById(Long id);
/**
* 新增数据
*
* @param bean 实例对象
* @return 实例对象
*/
boolean insert(ContactInfo bean);
/**
* 修改数据
*
* @param bean 实例对象
* @return 实例对象
*/
boolean update(ContactInfo bean);
/**
* 通过主键删除数据
*
* @param id 主键
* @return 是否成功
*/
boolean deleteById(Long id);
}
package com.dsk.biz.service;
import com.dsk.biz.domain.CustomerFollowRecord;
import com.dsk.biz.domain.bo.CustomerFollowRecordSearchDto;
import com.dsk.biz.domain.vo.CustomerFollowRecordListVo;
import com.dsk.common.core.domain.PageQuery;
import com.dsk.common.core.page.TableDataInfo;
import java.util.List;
/**
* 客户跟进记录(CustomerFollowRecord)表服务接口
*
* @author makejava
* @since 2023-05-18 15:07:59
*/
public interface ICustomerFollowRecordService {
TableDataInfo<CustomerFollowRecordListVo> selectList(CustomerFollowRecordSearchDto dto, PageQuery pageQuery);
boolean add(CustomerFollowRecord followRecord);
boolean del(Long id);
}
package com.dsk.biz.service;
import com.dsk.biz.domain.bo.CustomerSearchDto;
import com.dsk.biz.domain.vo.CustomerAnalyzeVo;
import java.util.List;
import java.util.Map;
/**
* @author lcl
* @create 2023/8/15
*/
public interface ICustomerOverviewService {
Map<String, Object> statistics(CustomerSearchDto dto);
List<CustomerAnalyzeVo> cooperationTop(CustomerSearchDto dto);
List<Map<String, Object>> creditLevel(CustomerSearchDto dto);
}
package com.dsk.biz.service;
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.CustomerStatusListVo;
import com.dsk.biz.domain.vo.CustomerVo;
import com.dsk.common.core.domain.PageQuery;
import com.dsk.common.core.page.TableDataInfo;
import java.util.List;
/**
* 客户信息表(Customer)表服务接口
*
* @author makejava
* @since 2023-05-16 09:28:00
*/
public interface ICustomerService {
TableDataInfo<CustomerListVo> selectList(CustomerSearchDto dto, PageQuery pageQuery);
CustomerVo info(String customerId);
boolean add(Customer customer);
boolean edit(Customer customer);
List<Customer> selectUserList();
TableDataInfo<CustomerBusinessListVo> selectBusinessList(CustomerBusinessSearchDto dto,PageQuery pageQuery);
List<CustomerStatusListVo> selectStatusList(List<String> uipIds);
List<CustomerStatusListVo> selectStatusListByCompanyName(List<String> companyNames);
// List<String> selectUipIdList(List<String> uipIds);
Integer status(String companyName);
boolean cancelClaim(String companyName);
boolean historyClaim(String companyName);
Customer selectByCompanyNameAndUserId(String companyName);
}
......@@ -7,7 +7,9 @@ import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.dsk.biz.domain.BusinessInfo;
import com.dsk.biz.domain.bo.BusinessListDto;
import com.dsk.biz.domain.bo.CustomerBusinessSearchDto;
import com.dsk.biz.domain.vo.BusinessListVo;
import com.dsk.biz.domain.vo.CustomerBusinessListVo;
import com.dsk.biz.mapper.BusinessInfoMapper;
import com.dsk.biz.service.IBusinessInfoService;
import com.dsk.common.core.domain.PageQuery;
......@@ -80,10 +82,10 @@ public class BusinessInfoServiceImpl implements IBusinessInfoService {
* @return 项目详情
*/
@Override
public TableDataInfo<BusinessListVo> selectBusinessInfoList(BusinessListDto dto, PageQuery pageQuery) {
public TableDataInfo<BusinessListVo> selectBusinessInfoList(BusinessListDto dto, PageQuery pageQuery) {
dto.setUserId(LoginHelper.getUserId());
Page<BusinessListVo> page = businessInfoMapper.selectBusinessInfoList(pageQuery.build(), dto);
List<BusinessListVo> businessListVos=page.getRecords();
List<BusinessListVo> businessListVos = page.getRecords();
if (!CollectionUtils.isEmpty(businessListVos) && ObjectUtil.isNotEmpty(dto.getProjectName())) {
for (BusinessListVo vo : businessListVos) {
vo.setProjectName(StringUtils.markInRed(vo.getProjectName(), dto.getProjectName()));
......@@ -92,7 +94,8 @@ public class BusinessInfoServiceImpl implements IBusinessInfoService {
}
return TableDataInfo.build(page);
}
//
//
// @Override
// public BusinessBrowseVo browse(Integer businessId) {
// BusinessBrowseVo businessBrowseVo = new BusinessBrowseVo();
......@@ -355,10 +358,10 @@ public class BusinessInfoServiceImpl implements IBusinessInfoService {
// return businessInfoMapper.selectCountByStatusAndCustomerId(status, customerId);
// }
//
// @Override
// public List<CustomerBusinessListVo> selectCustomerBusinessList(CustomerBusinessSearchDto dto) {
// return businessInfoMapper.selectCustomerBusinessList(dto);
// }
@Override
public TableDataInfo<CustomerBusinessListVo> selectCustomerBusinessList(CustomerBusinessSearchDto dto, PageQuery pageQuery) {
return TableDataInfo.build(businessInfoMapper.selectCustomerBusinessList(pageQuery.build(), dto));
}
//
// private BusinessRelateCompany dealwithCustomer(BusinessInfo bean) {
// BusinessRelateCompany relateCompany = new BusinessRelateCompany();
......
package com.dsk.biz.service.impl;
import cn.hutool.core.bean.BeanException;
import com.dsk.biz.domain.ContactInfo;
import com.dsk.biz.domain.bo.ContactInfoSearchDto;
import com.dsk.biz.domain.vo.ContactInfoListVo;
import com.dsk.biz.dskService.EnterpriseService;
import com.dsk.biz.mapper.ContactInfoMapper;
import com.dsk.biz.service.IContactInfoService;
import com.dsk.common.core.domain.PageQuery;
import com.dsk.common.core.domain.model.LoginUser;
import com.dsk.common.core.page.TableDataInfo;
import com.dsk.common.helper.LoginHelper;
import com.google.api.client.util.SecurityUtils;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.MapUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils;
import javax.annotation.Resource;
import java.util.List;
import java.util.Map;
/**
* 用户联系人(CustomerContact)表服务实现类
*
* @author makejava
* @since 2023-07-25 17:18:04
*/
@Slf4j
@Service
public class ContactInfoServiceImpl implements IContactInfoService {
@Resource
private ContactInfoMapper baseMapper;
@Autowired
private EnterpriseService enterpriseService;
// @Resource
// private ICustomerService customerService;
@Override
public TableDataInfo<ContactInfoListVo> selectList(ContactInfoSearchDto dto, PageQuery pageQuery) {
return TableDataInfo.build(baseMapper.selectPageList(pageQuery.build(), dto));
}
@Override
public ContactInfo selectById(Long id) {
return baseMapper.selectById(id);
}
@Override
public boolean insert(ContactInfo bean) {
verifyParameter(bean);
bean.setCreateBy(bean.getUpdateBy());
return baseMapper.insert(bean) > 0;
}
@Override
public boolean update(ContactInfo bean) {
if (ObjectUtils.isEmpty(bean.getId())) throw new BeanException("id不能为空!");
verifyParameter(bean);
return baseMapper.updateById(bean) > 0;
}
@Override
public boolean deleteById(Long id) {
return baseMapper.deleteById(id) > 0;
}
/**
* 参数验证
*/
private void verifyParameter(ContactInfo bean) {
if (!ObjectUtils.isEmpty(bean.getCompanyName())) {
Map<String, Object> map = enterpriseService.getCidAndUipIdByCompanyName(bean.getCompanyName());
bean.setCompanyId(MapUtils.getInteger(map, "companyId"));
bean.setUipId(MapUtils.getString(map, "uipId"));
}
LoginUser loginUser = LoginHelper.getLoginUser();
bean.setUpdateId(loginUser.getUserId());
bean.setUpdateBy(loginUser.getNickname());
}
}
package com.dsk.biz.service.impl;
import cn.hutool.core.bean.BeanException;
import com.dsk.biz.domain.CustomerFollowRecord;
import com.dsk.biz.domain.bo.CustomerFollowRecordSearchDto;
import com.dsk.biz.domain.vo.CustomerFollowRecordListVo;
import com.dsk.biz.mapper.CustomerFollowRecordMapper;
import com.dsk.biz.service.ICustomerFollowRecordService;
import com.dsk.common.core.domain.PageQuery;
import com.dsk.common.core.page.TableDataInfo;
import com.dsk.common.helper.LoginHelper;
import com.google.api.client.util.SecurityUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils;
import javax.annotation.Resource;
import java.util.List;
/**
* 客户跟进记录(CustomerFollowRecord)表服务实现类
*
* @author makejava
* @since 2023-05-18 15:07:59
*/
@Slf4j
@Service
public class CustomerFollowRecordServiceImpl implements ICustomerFollowRecordService {
@Resource
private CustomerFollowRecordMapper baseMapper;
@Override
// @DataScope(deptAlias = "d",userAlias = "u")
public TableDataInfo<CustomerFollowRecordListVo> selectList(CustomerFollowRecordSearchDto dto, PageQuery pageQuery) {
if (ObjectUtils.isEmpty(dto.getCustomerId())) {
dto.setUserId(LoginHelper.getUserId());
}
// log.debug("dto.params.dataScope{}",dto.getParams().get("dataScope"));
return TableDataInfo.build(baseMapper.selectAuthList(pageQuery.build(), dto));
}
@Override
public boolean add(CustomerFollowRecord followRecord) {
if (ObjectUtils.isEmpty(followRecord.getContent())) throw new BeanException("跟进内容不能为空");
if (ObjectUtils.isEmpty(followRecord.getCustomerId())) throw new BeanException("跟进客户不能为空");
followRecord.setUserId(LoginHelper.getUserId());
return baseMapper.insert(followRecord) != 0;
}
@Override
public boolean del(Long id) {
return baseMapper.deleteById(id) != 0;
}
}
package com.dsk.biz.service.impl;
import com.dsk.biz.domain.bo.CustomerSearchDto;
import com.dsk.biz.domain.vo.CustomerAnalyzeVo;
import com.dsk.biz.mapper.CustomerMapper;
import com.dsk.biz.service.ICustomerOverviewService;
import com.dsk.common.helper.LoginHelper;
import com.google.api.client.util.SecurityUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 客户概览相关
* @author lcl
* @create 2023/8/15
*/
@Service
public class CustomerOverviewServiceImpl implements ICustomerOverviewService {
@Resource
private CustomerMapper customerMapper;
@Override
public Map<String, Object> statistics(CustomerSearchDto dto) {
Map<String, Object> resultMap = new HashMap<>();
dto.setUserId(LoginHelper.getUserId());
//总
resultMap.put("totalCount",customerMapper.selectCustomerCount(dto));
//国企
dto.setCompanyNature("国有企业");
resultMap.put("nationCount",customerMapper.selectCustomerCount(dto));
//央企
dto.setCompanyNature("央企");
resultMap.put("centreCount",customerMapper.selectCustomerCount(dto));
//事业
dto.setCompanyNature("事业单位");
resultMap.put("undertakingCount",customerMapper.selectCustomerCount(dto));
return resultMap;
}
@Override
public List<CustomerAnalyzeVo> cooperationTop(CustomerSearchDto dto) {
dto.setUserId(LoginHelper.getUserId());
return customerMapper.selectCooperationTop(dto);
}
@Override
public List<Map<String, Object>> creditLevel(CustomerSearchDto dto) {
dto.setUserId(LoginHelper.getUserId());
return customerMapper.selectCreditLevelGroup(dto);
}
}
package com.dsk.biz.service.impl;
import cn.hutool.core.bean.BeanException;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.map.MapUtil;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.dsk.biz.domain.Customer;
import com.dsk.biz.domain.CustomerUser;
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.CustomerStatusListVo;
import com.dsk.biz.domain.vo.CustomerVo;
import com.dsk.biz.dskService.BusinessOpportunityRadarService;
import com.dsk.biz.dskService.EnterpriseCommonService;
import com.dsk.biz.dskService.EnterpriseService;
import com.dsk.biz.mapper.CustomerMapper;
import com.dsk.biz.mapper.CustomerUserMapper;
import com.dsk.biz.service.IBusinessInfoService;
import com.dsk.biz.service.ICustomerService;
import com.dsk.common.core.domain.PageQuery;
import com.dsk.common.core.page.TableDataInfo;
import com.dsk.common.exception.ServiceException;
import com.dsk.common.helper.LoginHelper;
import com.dsk.common.utils.StringUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import org.springframework.util.ObjectUtils;
import javax.annotation.Resource;
import java.util.List;
import java.util.Map;
/**
* 客户信息表(Customer)表服务实现类
*
* @author makejava
* @since 2023-05-16 09:27:57
*/
@Slf4j
@Service
public class CustomerServiceImpl implements ICustomerService {
@Resource
private CustomerMapper baseMapper;
@Resource
private CustomerUserMapper customerUserMapper;
@Autowired
private IBusinessInfoService businessInfoService;
@Autowired
private EnterpriseCommonService enterpriseCommonService;
@Autowired
private BusinessOpportunityRadarService opportunityRadarService;
@Override
// @DataScope(deptAlias = "d", userAlias = "u")
public TableDataInfo<CustomerListVo> selectList(CustomerSearchDto dto, PageQuery pageQuery) {
dto.setUserId(LoginHelper.getUserId());
dto.setStatus(ObjectUtils.isEmpty(dto.getStatus()) ? 0 : dto.getStatus());
final TableDataInfo<CustomerListVo> result = TableDataInfo.build(baseMapper.selectList(pageQuery.build(), dto));
if(!ObjectUtils.isEmpty(result.getRows())){
for (CustomerListVo vo : result.getRows()) {
vo.setCompanyName(StringUtils.markInRed(vo.getCompanyName(), dto.getCompanyName()));
}
}
return result;
}
@Override
public CustomerVo info(String customerId) {
CustomerVo vo = new CustomerVo();
BeanUtil.copyProperties(baseMapper.selectById(customerId), vo);
CustomerUser customerUser = customerUserMapper.selectOne(Wrappers.<CustomerUser>lambdaQuery()
.eq(CustomerUser::getCustomerId, customerId));
vo.setUserId(customerUser.getUserId());
return vo;
}
@Override
@Transactional(rollbackFor = Exception.class)
public boolean add(Customer customer) {
dealWithcustomerData(customer);
customer.setUipId(enterpriseCommonService.getUipIdByCompanyNameOrCompanyId(customer.getCompanyName(), customer.getCompanyId()));
Long userId = LoginHelper.getUserId();
customer.setCreateId(userId);
customer.setUpdateId(userId);
//查重
Customer verifyCustomer = baseMapper.selectByCompanyNameAndUserId(customer.getCompanyName(), userId);
if (!ObjectUtils.isEmpty(verifyCustomer)) {
throw new ServiceException("当前客户信息已存在,请勿重复添加!");
}
int i = baseMapper.insert(customer);
if (i == 0) throw new ServiceException("客户信息添加错误!");
int ui = customerUserMapper.insert(new CustomerUser(customer.getCustomerId(), userId));
if (ui == 0) throw new ServiceException("客户跟进人信息添加错误!");
return true;
}
@Override
@Transactional(rollbackFor = Exception.class)
public boolean edit(Customer customer) {
if (ObjectUtils.isEmpty(customer.getCustomerId())) throw new BeanException("客户id不能为空");
customer.setUpdateId(LoginHelper.getUserId());
int u = baseMapper.updateById(customer);
return u != 0;
}
@Override
public List<Customer> selectUserList() {
return baseMapper.selectUserList(LoginHelper.getUserId());
}
@Override
public TableDataInfo<CustomerBusinessListVo> selectBusinessList(CustomerBusinessSearchDto dto, PageQuery pageQuery) {
if (ObjectUtils.isEmpty(dto.getCustomerId())) throw new BeanException("客户id不能为空");
dto.setUserId(LoginHelper.getUserId());
return businessInfoService.selectCustomerBusinessList(dto,pageQuery);
}
@Override
public List<CustomerStatusListVo> selectStatusList(List<String> uipIds) {
return baseMapper.selectStatusList(uipIds, LoginHelper.getUserId());
}
@Override
public List<CustomerStatusListVo> selectStatusListByCompanyName(List<String> companyNames) {
return baseMapper.selectStatusListByCompanyName(companyNames, LoginHelper.getUserId());
}
// @Override
// public List<String> selectUipIdList(List<String> uipIds) {
// return baseMapper.selectUipIdList(uipIds, LoginHelper.getUserId());
// }
@Override
public Integer status(String companyName) {
Customer cus = baseMapper.selectByCompanyNameAndUserId(companyName, LoginHelper.getUserId());
if (ObjectUtils.isEmpty(cus)) {
return null;
}
CustomerUser customerUser = customerUserMapper.selectByCustomerIdAndUserId(cus.getCustomerId(), LoginHelper.getUserId());
if (ObjectUtils.isEmpty(customerUser)) {
throw new ServiceException("数据错误!");
}
return customerUser.getStatus();
}
@Override
public boolean cancelClaim(String companyName) {
return updateClaimStatus(companyName, 1);
}
@Override
public boolean historyClaim(String companyName) {
return updateClaimStatus(companyName, 0);
}
@Override
public Customer selectByCompanyNameAndUserId(String companyName) {
return baseMapper.selectByCompanyNameAndUserId(companyName, LoginHelper.getUserId());
}
//修改客户认领状态
private boolean updateClaimStatus(String companyName, Integer status) {
Customer cus = baseMapper.selectByCompanyNameAndUserId(companyName, LoginHelper.getUserId());
if (ObjectUtils.isEmpty(cus)) {
throw new ServiceException("数据错误!");
}
CustomerUser customerUser = customerUserMapper.selectByCustomerIdAndUserId(cus.getCustomerId(), LoginHelper.getUserId());
if (ObjectUtils.isEmpty(customerUser)) {
throw new ServiceException("数据错误!");
}
customerUser.setStatus(status);
return customerUserMapper.updateById(customerUser) == 1;
}
private void dealWithcustomerData(Customer customer) {
if (ObjectUtils.isEmpty(customer.getCompanyName())) throw new BeanException("企业名称不能为空");
try {
Map<String, Object> map = opportunityRadarService.enterpriseByName(customer.getCompanyName());
if (!ObjectUtils.isEmpty(map.get("data"))) {
Map<String, Object> data = BeanUtil.beanToMap(map.get("data"));
Integer companyId = MapUtil.getInt(data, "jskEid");
if (ObjectUtil.isNotEmpty(customer.getCompanyId()) && !customer.getCompanyId().equals(companyId)) {
return;
}
customer.setCompanyId(companyId);
if (ObjectUtils.isEmpty(customer.getLegalPerson())) {
customer.setLegalPerson(MapUtil.getStr(data, "legalPerson"));
}
if (ObjectUtils.isEmpty(customer.getRegisterCapital())) {
customer.setRegisterCapital(MapUtil.getStr(data, "registeredCapitalStr"));
}
if (ObjectUtils.isEmpty(customer.getProvinceId())) {
customer.setProvinceId(MapUtil.getInt(data, "provinceId"));
}
if (ObjectUtils.isEmpty(customer.getCityId())) {
customer.setCityId(MapUtil.getInt(data, "cityId"));
}
if (ObjectUtils.isEmpty(customer.getDistrictId())) {
customer.setDistrictId(MapUtil.getInt(data, "countyId"));
}
if (ObjectUtils.isEmpty(customer.getRegisterAddress())) {
if (ObjectUtil.isNotEmpty(MapUtil.getStr(data, "domicile"))) {
customer.setRegisterAddress(MapUtil.getStr(data, "domicile"));
} else {
String address = null;
if (ObjectUtils.isEmpty(MapUtil.getStr(data, "province"))) {
address = MapUtil.getStr(data, "province");
if (ObjectUtils.isEmpty(MapUtil.getStr(data, "city"))) {
address = address.concat("-").concat(MapUtil.getStr(data, "city"));
if (ObjectUtils.isEmpty(MapUtil.getStr(data, "county"))) {
address = address.concat("-").concat(MapUtil.getStr(data, "county"));
}
}
}
customer.setRegisterAddress(address);
}
}
if (ObjectUtils.isEmpty(customer.getCreditCode())) {
customer.setCreditCode(MapUtil.getStr(data, "creditCode"));
}
}
} catch (Exception e) {
log.debug("获取企业id错误!error:{}", e.getMessage());
}
}
}
......@@ -336,17 +336,17 @@
<!-- </where>-->
<!-- </select>-->
<!-- <select id="selectCustomerBusinessList" resultType="com.dsk.system.domain.customer.vo.CustomerBusinessListVo">-->
<!-- select-->
<!-- bi.id, bi.project_name, bi.investment_amount, bi.project_stage, bi.status-->
<!-- from business_info bi-->
<!-- left join business_user bu on bi.id = bu.business_id-->
<!-- where bi.customer_id = #{customerId} and (bu.user_id = #{userId} or bi.is_private = 1)-->
<!-- <if test="projectName != null and projectName != '' "> and bi.project_name like concat('%',#{projectName},'%') </if>-->
<!-- <if test="projectStage != null and projectStage != '' "> and bi.project_stage = #{projectStage}</if>-->
<!-- <if test="status != null "> and bi.status = #{status}</if>-->
<!-- order by bi.create_time desc-->
<!-- </select>-->
<select id="selectCustomerBusinessList" resultType="com.dsk.biz.domain.vo.CustomerBusinessListVo">
select
bi.id, bi.project_name, bi.investment_amount, bi.project_stage, bi.status
from business_info bi
left join business_user bu on bi.id = bu.business_id
where bi.customer_id = #{dto.customerId} and (bu.user_id = #{dto.userId} or bi.is_private = 1)
<if test="dto.projectName != null and dto.projectName != '' "> and bi.project_name like concat('%',#{dto.projectName},'%') </if>
<if test="dto.projectStage != null and dto.projectStage != '' "> and bi.project_stage = #{dto.projectStage}</if>
<if test="dto.status != null "> and bi.status = #{dto.status}</if>
order by bi.create_time desc
</select>
<!-- <select id="getConstruction" resultType="com.dsk.common.core.domain.entity.BusinessInfo">-->
<!-- select-->
<!-- investment_amount,-->
......
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.dsk.biz.mapper.ContactInfoMapper">
<select id="selectPageList" resultType="com.dsk.biz.domain.vo.ContactInfoListVo">
select
cc.id, cc.customer_id, cc.business_id, bi.project_name, cc.name, cc.sex, cc.role,
cc.position, cc.contact_information, cc.company_id, cc.uip_id, cc.company_name, cc.remark,
cc.update_by
from contact_info cc
left join business_info bi on cc.business_id = bi.id
<where>
<if test="dto.customerId != null and dto.customerId !='' "> and (cc.customer_id = #{dto.customerId} or bi.customer_id = #{dto.customerId})</if>
<if test="dto.businessId != null "> and cc.business_id = #{dto.businessId} </if>
</where>
order by cc.create_time desc
</select>
</mapper>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.dsk.biz.mapper.CustomerFollowRecordMapper">
<sql id="Base_Bean">
cfr.id, cfr.customer_id, cfr.user_id, cfr.visit_mode, cfr.visit_time, cfr.next_visit_time, cfr.name, cfr.position,
cfr.content, cfr.create_time
</sql>
<select id="selectAuthList" resultType="com.dsk.biz.domain.vo.CustomerFollowRecordListVo">
select
ct.company_id, ct.uip_id, ct.company_name, u.nick_name,
<include refid="Base_Bean"></include>
from customer_follow_record cfr
join customer ct on ct.customer_id = cfr.customer_id
join sys_user u on u.user_id = cfr.user_id
left join sys_dept d on d.dept_id = u.dept_id
<where>
<if test="dto.userId != null "> and cfr.user_id = #{dto.userId} </if>
<if test="dto.customerId != null and dto.customerId != '' "> and cfr.customer_id = #{dto.customerId} </if>
<if test="dto.startTime != null and dto.startTime != '' "> and cfr.visit_time &gt;= #{dto.startTime} </if>
<if test="dto.endTime != null and dto.endTime != '' "> and cfr.visit_time &lt;= #{dto.endTime} </if>
<!-- 数据范围过滤 -->
<if test="ew.getCustomSqlSegment != null and ew.getCustomSqlSegment != '' "> ${ew.getCustomSqlSegment}</if>
<if test="params.dataScope != null and params.dataScope != '' "> ${params.dataScope}</if>
</where>
order by cfr.visit_time desc
</select>
</mapper>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.dsk.biz.mapper.CustomerMapper">
<sql id="Base_Bean">
ct.customer_id, ct.company_id, ct.uip_id, ct.company_name, ct.legal_person, ct.credit_code, ct.register_capital,
ct.province_id, ct.city_id, ct.district_id, ct.register_address, ct.company_nature, ct.company_level,
ct.credit_level, ct.super_company, ct.is_on, ct.is_major, ct.company_attribute, ct.main_business,
ct.business_scope, ct.customer_level, ct.business_characteristic, ct.decision_chain, ct.bid_characteristic,
ct.performance_characteristic, ct.other_ms_characteistic, ct.create_id, ct.create_time, ct.update_id, ct.update_time
</sql>
<select id="selectList" resultType="com.dsk.biz.domain.vo.CustomerListVo">
select
u.nick_name followUser, bi1.num reserveProject, bi2.num followProject, bi3.num cooperationProject,
<include refid="Base_Bean"></include>
from customer ct
join customer_user ctu on ct.customer_id = ctu.customer_id
join sys_user u on ctu.user_id = u.user_id
left join (
select count(status) num,customer_id from business_info where `status` = 0 group by customer_id
) bi1 on bi1.customer_id = ct.customer_id
left join (
select count(status) num,customer_id from business_info where `status` = 1 group by customer_id
) bi2 on bi2.customer_id = ct.customer_id
left join (
select count(status) num,customer_id from business_info where `status` = 2 group by customer_id
) bi3 on bi3.customer_id = ct.customer_id
where ctu.user_id = #{dto.userId} and ctu.status = #{dto.status}
<if test="dto.companyName != null and dto.companyName != '' "> and ct.company_name like concat('%',#{dto.companyName},'%')</if>
<if test="dto.isOn != null "> and ct.is_on = #{dto.isOn}</if>
<if test="dto.provinceIds != null and dto.provinceIds.size > 0 ">
and ct.province_id in
<foreach collection="dto.provinceIds" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<if test="dto.cityIds != null and dto.cityIds.size > 0 ">
and ct.city_id in
<foreach collection="dto.cityIds" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<if test="dto.districtIds != null and dto.districtIds.size > 0 ">
and ct.district_id in
<foreach collection="dto.districtIds" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<if test="dto.companyNatures != null and dto.companyNatures.size > 0 ">
and ct.company_nature in
<foreach collection="dto.companyNatures" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<if test="dto.creditLevels != null and dto.creditLevels.size > 0 ">
and ct.credit_level in
<foreach collection="dto.creditLevels" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</if>
order by ct.create_time desc
</select>
<select id="selectUserList" resultType="com.dsk.biz.domain.Customer">
select
ct.customer_id, ct.company_name
from customer ct
join customer_user ctu on ct.customer_id = ctu.customer_id
where ctu.user_id = #{userId}
</select>
<select id="selectByCompanyNameAndUserId" resultType="com.dsk.biz.domain.Customer">
select
<include refid="Base_Bean"></include>
from customer ct
join customer_user ctu on ct.customer_id = ctu.customer_id
where ct.company_name = #{companyName} and ctu.user_id = #{userId}
</select>
<select id="selectStatusList" resultType="com.dsk.biz.domain.vo.CustomerStatusListVo">
select
ct.customer_id, ct.uip_id
from customer ct
join customer_user ctu on ct.customer_id = ctu.customer_id
where ctu.user_id = #{userId} and ctu.status = 0 and ct.uip_id in
<foreach collection="uipIds" item="uipId" open="(" separator="," close=")">
#{uipId}
</foreach>
</select>
<select id="selectStatusListByCompanyName" resultType="com.dsk.biz.domain.vo.CustomerStatusListVo">
select
ct.customer_id, ct.company_name, ctu.status
from customer ct
join customer_user ctu on ct.customer_id = ctu.customer_id
where ctu.user_id = #{userId} and ct.company_name in
<foreach collection="companyNames" item="companyName" open="(" separator="," close=")">
#{companyName}
</foreach>
</select>
<select id="selectCustomerCount" resultType="java.lang.Integer">
select
count(ct.customer_id)
from customer ct
join customer_user ctu on ct.customer_id = ctu.customer_id
where ctu.status = 0 and ctu.user_id = #{userId}
<if test="companyNature != null and companyNature != ''"> and ct.company_nature = #{companyNature} </if>
</select>
<select id="selectCooperationTop" resultType="com.dsk.biz.domain.vo.CustomerAnalyzeVo">
select
ct.customer_id, ct.company_name, ct.company_id, ct.uip_id, count(bi.id) businessCount,
ROUND(sum(bi.investment_amount), 4) totalAmount
from customer ct
join customer_user ctu on ct.customer_id = ctu.customer_id
left join business_info bi on (bi.customer_id = ct.customer_id and bi.status = 2)
where ctu.status = 0 and ctu.user_id = #{userId}
group by ct.customer_id
having businessCount > 0
order by totalAmount desc
limit 10
</select>
<select id="selectCreditLevelGroup" resultType="java.util.Map">
select ct.* from (
select
ct.credit_level creditLevel, count(ct.customer_id) customerCount
from customer ct
join customer_user ctu on ct.customer_id = ctu.customer_id
where ctu.status = 0 and ctu.user_id = #{userId} and ct.credit_level is not null
group by ct.credit_level
) ct
left join sys_dict_data sdd on (sdd.dict_label = ct.creditLevel and sdd.dict_type = 'credit_level_type')
order by sdd.dict_sort asc
</select>
</mapper>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.dsk.biz.mapper.CustomerUserMapper">
<select id="selectByCustomerIdAndUserId" resultType="com.dsk.biz.domain.CustomerUser">
select
id, customer_id, user_id, status, create_time, update_time
from customer_user
where customer_id = #{customerId} and user_id = #{userId}
</select>
</mapper>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment