This commit is contained in:
zhangwenzan 2025-08-27 09:06:24 +08:00
parent d3e6975578
commit 4d5ebd13e8
45 changed files with 1122 additions and 689 deletions

View File

@ -26,6 +26,7 @@ public enum SubModelType {
CRM_RETURN_VISIT(28,"回访"),
CRM_PRODUCT(29,"产品"),
CRM_MARKETING(30,"市场活动"),
CRM_CORP_PORT(31,"企业画像"),
//oa
OA_CALENDAR(41,"日历"),
OA_LOG(42,"日志"),

View File

@ -105,6 +105,11 @@
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
<dependency>
<groupId>com.dtflys.forest</groupId>
<artifactId>forest-spring-boot-starter</artifactId>
<version>1.5.31</version>
</dependency>
</dependencies>
<build>

View File

@ -10,6 +10,7 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.context.annotation.ComponentScan;
import com.dtflys.forest.springboot.annotation.ForestScan;
/**
* @author zhangzhiwei
@ -22,6 +23,7 @@ import org.springframework.context.annotation.ComponentScan;
@MapperScan(basePackages = "com.kakarote.crm.mapper")
@EnableMethodCache(basePackages = "com.kakarote.crm",order = -9999)
@EnableCreateCacheAnnotation
@ForestScan(basePackages = "com.kakarote.crm.cilent") // 添加这一行
public class CrmApplication {
public static void main(String[] args) {
System.setProperty("javax.xml.accessExternalSchema","all");

View File

@ -0,0 +1,26 @@
package com.kakarote.crm.cilent;
import com.dtflys.forest.annotation.BaseRequest;
import com.dtflys.forest.annotation.Body;
import com.dtflys.forest.annotation.Post;
import com.dtflys.forest.interceptor.Interceptor;
import com.kakarote.crm.entity.DTO.CrmHttpResponseDTO;
import com.kakarote.crm.entity.PO.CrmUsageReport;
import com.kakarote.crm.entity.VO.CrmQueryUsageReportVO;
import org.springframework.stereotype.Component;
@Component
@BaseRequest(baseURL = "https://v3-demo.lqyuns.com/api")
public interface V3SystemCilent {
@Post(
url = "/risk/fxFxzbJcjgZbmx/findUsageReportByNsrsbhOrNsrmc",
contentType = "application/json"
)
CrmHttpResponseDTO<CrmUsageReport> findUsageReportByNsrsbhOrNsrmc(@Body CrmQueryUsageReportVO crmQueryUsageReportVO);
@Post(
url = "/risk/fxFxzbJcjgZbmx/queryReportScreenings",
contentType = "application/json"
)
CrmHttpResponseDTO<String> queryReportScreenings(@Body CrmQueryUsageReportVO crmQueryUsageReportVO);
}

View File

@ -20,6 +20,7 @@ public class CrmConst extends Const {
public static final String V3_QYFXXX = "/api/risk/fxFxzbJcjgZbmx/openApi/getFxBynsrsbh";
//通过纳税人名称获取纳税人识别号
public static final String V3_GET_NSRSBH = "";
}

View File

@ -0,0 +1,15 @@
package com.kakarote.crm.constant;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum EnterpriseSizeEnum {
WXQY(50,"微型企业"),
ZXQY(500,"中小企业"),
JTQY(1000,"集团企业");
private int key;
private String value;
}

View File

@ -5,7 +5,6 @@ import cn.hutool.core.util.StrUtil;
import com.kakarote.core.common.*;
import com.kakarote.core.common.log.BehaviorEnum;
import com.kakarote.core.common.log.SysLog;
import com.kakarote.core.common.log.SysLogHandler;
import com.kakarote.core.entity.BasePage;
import com.kakarote.core.exception.CrmException;
import com.kakarote.core.feign.crm.entity.SimpleCrmEntity;
@ -72,7 +71,6 @@ public class CrmContactsController {
@PostMapping("/deleteByIds")
@ApiOperation("根据ID删除数据")
@SysLogHandler(behavior = BehaviorEnum.DELETE)
public Result deleteByIds(@ApiParam(name = "ids", value = "id列表") @RequestBody List<Integer> ids) {
crmContactsService.deleteByIds(ids);
return R.ok();
@ -132,7 +130,6 @@ public class CrmContactsController {
@PostMapping("/changeOwnerUser")
@ApiOperation("修改负责人")
@SysLogHandler(behavior = BehaviorEnum.CHANGE_OWNER)
public Result changeOwnerUser(@RequestBody CrmChangeOwnerUserBO crmChangeOwnerUserBO){
crmContactsService.changeOwnerUser(crmChangeOwnerUserBO);
return R.ok();
@ -140,7 +137,6 @@ public class CrmContactsController {
@PostMapping("/batchExportExcel")
@ApiOperation("选中导出")
@SysLogHandler(behavior = BehaviorEnum.EXCEL_EXPORT,object = "选中导出",detail = "导出联系人")
public void batchExportExcel(@RequestBody @ApiParam(name = "ids", value = "id列表") List<Integer> ids, HttpServletResponse response) {
CrmSearchBO search = new CrmSearchBO();
search.setPageType(0);
@ -156,7 +152,6 @@ public class CrmContactsController {
@PostMapping("/allExportExcel")
@ApiOperation("全部导出")
@SysLogHandler(behavior = BehaviorEnum.EXCEL_EXPORT,object = "全部导出",detail = "导出联系人")
public void allExportExcel(@RequestBody CrmSearchBO search, HttpServletResponse response) {
search.setPageType(0);
crmContactsService.exportExcel(response, search);
@ -164,7 +159,6 @@ public class CrmContactsController {
@PostMapping("/add")
@ApiOperation("保存数据")
@SysLogHandler(behavior = BehaviorEnum.SAVE, object = "#crmModel.entity[name]", detail = "'新增了联系人:' + #crmModel.entity[name]")
public Result add(@RequestBody CrmContactsSaveBO crmModel) {
crmContactsService.addOrUpdate(crmModel,false);
return R.ok();
@ -179,7 +173,6 @@ public class CrmContactsController {
@PostMapping("/update")
@ApiOperation("修改数据")
@SysLogHandler(behavior = BehaviorEnum.UPDATE)
public Result update(@RequestBody CrmContactsSaveBO crmModel) {
crmContactsService.addOrUpdate(crmModel,false);
return R.ok();
@ -220,7 +213,6 @@ public class CrmContactsController {
@PostMapping("/uploadExcel")
@ApiOperation("导入联系人")
@SysLogHandler(behavior = BehaviorEnum.EXCEL_IMPORT,object = "导入联系人",detail = "导入联系人")
public Result<Long> uploadExcel(@RequestParam("file") MultipartFile file, @RequestParam("repeatHandling") Integer repeatHandling) {
UploadExcelBO uploadExcelBO = new UploadExcelBO();
uploadExcelBO.setUserInfo(UserUtil.getUser());
@ -233,7 +225,6 @@ public class CrmContactsController {
@PostMapping("/updateInformation")
@ApiOperation("基本信息保存修改")
@SysLogHandler(behavior = BehaviorEnum.UPDATE)
public Result updateInformation(@RequestBody CrmUpdateInformationBO updateInformationBO) {
crmContactsService.updateInformation(updateInformationBO);
return R.ok();
@ -253,7 +244,6 @@ public class CrmContactsController {
@PostMapping("/addMembers")
@ApiOperation("新增团队成员")
@SysLogHandler(behavior = BehaviorEnum.ADD_MEMBER)
public Result addMembers(@RequestBody CrmMemberSaveBO crmMemberSaveBO) {
teamMembersService.addMember(CrmEnum.CONTACTS,crmMemberSaveBO);
return R.ok();
@ -261,7 +251,6 @@ public class CrmContactsController {
@PostMapping("/updateMembers")
@ApiOperation("新增团队成员")
@SysLogHandler(behavior = BehaviorEnum.ADD_MEMBER)
public Result updateMembers(@RequestBody CrmMemberSaveBO crmMemberSaveBO) {
teamMembersService.addMember(CrmEnum.CONTACTS,crmMemberSaveBO);
return R.ok();
@ -269,7 +258,6 @@ public class CrmContactsController {
@PostMapping("/deleteMembers")
@ApiOperation("删除团队成员")
@SysLogHandler
public Result deleteMembers(@RequestBody CrmMemberSaveBO crmMemberSaveBO) {
teamMembersService.deleteMember(CrmEnum.CONTACTS,crmMemberSaveBO);
return R.ok();
@ -277,7 +265,6 @@ public class CrmContactsController {
@PostMapping("/exitTeam/{contactsId}")
@ApiOperation("退出团队")
@SysLogHandler
public Result exitTeam(@PathVariable("contactsId") @ApiParam("联系人ID") Integer contactsId) {
teamMembersService.exitTeam(CrmEnum.CONTACTS,contactsId);
return R.ok();

View File

@ -6,7 +6,6 @@ import com.alibaba.fastjson.JSONObject;
import com.kakarote.core.common.*;
import com.kakarote.core.common.log.BehaviorEnum;
import com.kakarote.core.common.log.SysLog;
import com.kakarote.core.common.log.SysLogHandler;
import com.kakarote.core.entity.BasePage;
import com.kakarote.core.exception.CrmException;
import com.kakarote.core.feign.admin.entity.AdminConfig;
@ -92,7 +91,6 @@ public class CrmContractController {
@PostMapping("/deleteByIds")
@ApiOperation("根据ID删除数据")
@SysLogHandler(behavior = BehaviorEnum.DELETE)
public Result deleteByIds(@ApiParam(name = "ids", value = "id列表") @RequestBody List<Integer> ids) {
crmContractService.deleteByIds(ids);
return R.ok();
@ -119,7 +117,6 @@ public class CrmContractController {
@PostMapping("/changeOwnerUser")
@ApiOperation("修改合同负责人")
@SysLogHandler(behavior = BehaviorEnum.CHANGE_OWNER)
public Result changeOwnerUser(@RequestBody CrmChangeOwnerUserBO crmChangeOwnerUserBO) {
crmContractService.changeOwnerUser(crmChangeOwnerUserBO);
return R.ok();
@ -127,7 +124,6 @@ public class CrmContractController {
@PostMapping("/add")
@ApiOperation("保存数据")
@SysLogHandler(behavior = BehaviorEnum.SAVE, object = "#crmModel.entity[name]", detail = "'新增了合同:' + #crmModel.entity[name]")
public Result add(@RequestBody CrmContractSaveBO crmModel) {
crmContractService.addOrUpdate(crmModel);
return R.ok();
@ -135,7 +131,6 @@ public class CrmContractController {
@PostMapping("/update")
@ApiOperation("修改数据")
@SysLogHandler(behavior = BehaviorEnum.UPDATE)
public Result update(@RequestBody CrmContractSaveBO crmModel) {
crmContractService.addOrUpdate(crmModel);
return R.ok();
@ -156,7 +151,6 @@ public class CrmContractController {
@PostMapping("/addMembers")
@ApiOperation("新增团队成员")
@SysLogHandler(behavior = BehaviorEnum.ADD_MEMBER)
public Result addMembers(@RequestBody CrmMemberSaveBO crmMemberSaveBO) {
teamMembersService.addMember(CrmEnum.CONTRACT,crmMemberSaveBO);
return R.ok();
@ -164,7 +158,6 @@ public class CrmContractController {
@PostMapping("/updateMembers")
@ApiOperation("新增团队成员")
@SysLogHandler(behavior = BehaviorEnum.ADD_MEMBER)
public Result updateMembers(@RequestBody CrmMemberSaveBO crmMemberSaveBO) {
teamMembersService.addMember(CrmEnum.CONTRACT,crmMemberSaveBO);
return R.ok();
@ -172,7 +165,6 @@ public class CrmContractController {
@PostMapping("/deleteMembers")
@ApiOperation("删除团队成员")
@SysLogHandler
public Result deleteMembers(@RequestBody CrmMemberSaveBO crmMemberSaveBO) {
teamMembersService.deleteMember(CrmEnum.CONTRACT,crmMemberSaveBO);
return R.ok();
@ -180,7 +172,6 @@ public class CrmContractController {
@PostMapping("/exitTeam/{contractId}")
@ApiOperation("退出团队")
@SysLogHandler
public Result exitTeam(@PathVariable("contractId") @ApiParam("合同ID") Integer contractId) {
teamMembersService.exitTeam(CrmEnum.CONTRACT,contractId);
return R.ok();
@ -273,7 +264,6 @@ public class CrmContractController {
@ApiOperation(value = "设置合同到期提醒设置")
@PostMapping("/setContractConfig")
@SysLogHandler(applicationName = "admin", subModel = SubModelType.ADMIN_CUSTOMER_MANAGEMENT, behavior = BehaviorEnum.UPDATE, object = "设置合同到期提醒设置", detail = "设置合同到期提醒设置")
public Result setContractConfig(@RequestParam("status") Integer status, @RequestParam(value = "contractDay", required = false, defaultValue = "0") Integer contractDay) {
if (status == 1 && contractDay == null) {
return R.error(CrmCodeEnum.CRM_CONTRACT_CONFIG_ERROR);
@ -293,7 +283,6 @@ public class CrmContractController {
@PostMapping("/contractDiscard")
@ApiOperation("合同作废")
@SysLogHandler
public Result contractDiscard(@RequestParam("contractId") Integer contractId) {
boolean auth = AuthUtil.isRwAuth(contractId, CrmEnum.CONTRACT,CrmAuthEnum.EDIT);
if (auth) {
@ -320,7 +309,6 @@ public class CrmContractController {
@PostMapping("/batchExportExcel")
@ApiOperation("选中导出")
@SysLogHandler(behavior = BehaviorEnum.EXCEL_EXPORT, object = "合同导出", detail = "选中导出")
public void batchExportExcel(@RequestBody @ApiParam(name = "ids", value = "id列表") List<Integer> ids, HttpServletResponse response) {
CrmSearchBO search = new CrmSearchBO();
search.setPageType(0);
@ -336,7 +324,6 @@ public class CrmContractController {
@PostMapping("/allExportExcel")
@ApiOperation("全部导出")
@SysLogHandler(behavior = BehaviorEnum.EXCEL_EXPORT, object = "合同导出", detail = "全部导出")
public void allExportExcel(@RequestBody CrmSearchBO search, HttpServletResponse response) {
search.setPageType(0);
crmContractService.exportExcel(response, search);
@ -358,7 +345,6 @@ public class CrmContractController {
@PostMapping("/updateInformation")
@ApiOperation("基本信息保存修改")
@SysLogHandler(behavior = BehaviorEnum.UPDATE)
public Result updateInformation(@RequestBody CrmUpdateInformationBO updateInformationBO) {
crmContractService.updateInformation(updateInformationBO);
return R.ok();

View File

@ -1,25 +1,27 @@
package com.kakarote.crm.controller;
import com.kakarote.core.common.ParamAspect;
import com.kakarote.core.common.R;
import com.kakarote.core.common.Result;
import com.kakarote.crm.entity.PO.CrmCorporatePortrait;
import com.kakarote.crm.entity.VO.CrmQueryUsageReportVO;
import com.kakarote.crm.service.ICrmCorporatePortraitService;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("/CrmCorporatePortrait")
@RequestMapping("/crmCorporatePortrait")
public class CrmCorporatePortraitController {
@Autowired
private ICrmCorporatePortraitService crmCorporatePortraitService;
@GetMapping("queryByNsrmc/{nsrmc}")
@PostMapping("/queryByNsrmc")
@ApiOperation("根据Nsrmc查询")
public Result<CrmCorporatePortrait> queryByNsrmc(@PathVariable("nsrmc") String nsrmc) {
return R.ok(crmCorporatePortraitService.queryByNsrmc(nsrmc));
public Result<CrmCorporatePortrait> queryByNsrmc(@RequestBody CrmQueryUsageReportVO crmQueryUsageReportVO) {
return R.ok(crmCorporatePortraitService.queryByNsrmc(crmQueryUsageReportVO.getNsrmc()));
}
@PostMapping("/insertCorporatePortrait")

View File

@ -85,7 +85,6 @@ public class CrmCustomerController {
@PostMapping("/add")
@ApiOperation("保存数据")
@SysLogHandler(behavior = BehaviorEnum.SAVE, object = "#crmModel.entity[customerName]", detail = "'新增了客户:' + #crmModel.entity[customerName]")
public Result<Map<String, Object>> add(@RequestBody CrmBusinessSaveBO crmModel) {
Map<String, Object> map = crmCustomerService.addOrUpdate(crmModel, false, null);
// crmOpenApiService.crmAddCustomer(crmModel,"签到");
@ -94,7 +93,6 @@ public class CrmCustomerController {
@PostMapping("/update")
@ApiOperation("修改数据")
@SysLogHandler(behavior = BehaviorEnum.UPDATE)
public Result<Map<String, Object>> update(@RequestBody CrmBusinessSaveBO crmModel) {
Map<String, Object> map = crmCustomerService.addOrUpdate(crmModel, false, null);
return R.ok(map);
@ -149,7 +147,6 @@ public class CrmCustomerController {
@PostMapping("/deleteByIds")
@ApiOperation("根据ID删除数据")
@SysLogHandler(behavior = BehaviorEnum.DELETE)
public Result deleteByIds(@ApiParam(name = "ids", value = "id列表") @RequestBody List<Integer> ids) {
crmCustomerService.deleteByIds(ids);
return R.ok();
@ -252,7 +249,6 @@ public class CrmCustomerController {
@PostMapping("/lock")
@ApiOperation("锁定或解锁客户")
@SysLogHandler
public Result lock(@RequestParam("status") Integer status, @RequestParam("ids") String id) {
crmCustomerService.lock(status, StrUtil.splitTrim(id, Const.SEPARATOR));
return R.ok();
@ -260,7 +256,6 @@ public class CrmCustomerController {
@PostMapping("/setDealStatus")
@ApiOperation("修改客户成交状态")
@SysLogHandler(behavior = BehaviorEnum.CHANGE_DEAL_STATUS)
public Result setDealStatus(@RequestParam("dealStatus") Integer dealStatus, @RequestParam("ids") String id) {
crmCustomerService.setDealStatus(dealStatus, StrUtil.splitTrim(id, Const.SEPARATOR).stream().map(Integer::valueOf).collect(Collectors.toList()));
return R.ok();
@ -268,7 +263,6 @@ public class CrmCustomerController {
@PostMapping("/changeOwnerUser")
@ApiOperation("修改客户负责人")
@SysLogHandler(behavior = BehaviorEnum.CHANGE_OWNER)
public Result changeOwnerUser(@RequestBody CrmChangeOwnerUserBO crmChangeOwnerUserBO) {
crmCustomerService.changeOwnerUser(crmChangeOwnerUserBO);
return R.ok();
@ -288,7 +282,6 @@ public class CrmCustomerController {
@PostMapping("/addMembers")
@ApiOperation("新增团队成员")
@SysLogHandler(behavior = BehaviorEnum.ADD_MEMBER)
public Result addMembers(@RequestBody CrmMemberSaveBO crmMemberSaveBO) {
teamMembersService.addMember(CrmEnum.CUSTOMER,crmMemberSaveBO);
return R.ok();
@ -296,7 +289,6 @@ public class CrmCustomerController {
@PostMapping("/updateMembers")
@ApiOperation("新增团队成员")
@SysLogHandler(behavior = BehaviorEnum.ADD_MEMBER)
public Result updateMembers(@RequestBody CrmMemberSaveBO crmMemberSaveBO) {
teamMembersService.addMember(CrmEnum.CUSTOMER,crmMemberSaveBO);
return R.ok();
@ -304,7 +296,6 @@ public class CrmCustomerController {
@PostMapping("/deleteMembers")
@ApiOperation("删除团队成员")
@SysLogHandler
public Result deleteMembers(@RequestBody CrmMemberSaveBO crmMemberSaveBO) {
teamMembersService.deleteMember(CrmEnum.CUSTOMER,crmMemberSaveBO);
return R.ok();
@ -312,7 +303,6 @@ public class CrmCustomerController {
@PostMapping("/exitTeam/{customerId}")
@ApiOperation("删除团队成员")
@SysLogHandler
public Result exitTeam(@PathVariable("customerId") @ApiParam("客户ID") Integer customerId) {
teamMembersService.exitTeam(CrmEnum.CUSTOMER,customerId);
return R.ok();
@ -373,7 +363,6 @@ public class CrmCustomerController {
@PostMapping("/batchExportExcel")
@ApiOperation("选中导出")
@SysLogHandler(behavior = BehaviorEnum.EXCEL_EXPORT,object = "选中导出",detail = "导出客户")
public void batchExportExcel(@RequestBody @ApiParam(name = "ids", value = "id列表") List<Integer> ids, HttpServletResponse response) {
CrmSearchBO search = new CrmSearchBO();
search.setPageType(0);
@ -389,7 +378,6 @@ public class CrmCustomerController {
@PostMapping("/allExportExcel")
@ApiOperation("全部导出")
@SysLogHandler(behavior = BehaviorEnum.EXCEL_EXPORT,object = "全部导出",detail = "导出客户")
public void allExportExcel(@RequestBody CrmSearchBO search, HttpServletResponse response) {
search.setPageType(0);
crmCustomerService.exportExcel(response, search);
@ -397,7 +385,6 @@ public class CrmCustomerController {
@PostMapping("/updateCustomerByIds")
@ApiOperation("客户放入公海")
@SysLogHandler(behavior = BehaviorEnum.PUT_IN_POOL)
public Result updateCustomerByIds(@RequestBody CrmCustomerPoolBO poolBO) {
crmCustomerService.updateCustomerByIds(poolBO);
return R.ok();
@ -405,7 +392,6 @@ public class CrmCustomerController {
@PostMapping("/distributeByIds")
@ApiOperation("公海分配客户")
@SysLogHandler(behavior = BehaviorEnum.DISTRIBUTE)
public Result distributeByIds(@RequestBody CrmCustomerPoolBO poolBO) {
crmCustomerService.getCustomersByIds(poolBO, 1);
return R.ok();
@ -413,7 +399,6 @@ public class CrmCustomerController {
@PostMapping("/receiveByIds")
@ApiOperation("公海领取客户")
@SysLogHandler(behavior = BehaviorEnum.RECEIVE)
public Result receiveByIds(@RequestBody CrmCustomerPoolBO poolBO) {
crmCustomerService.getCustomersByIds(poolBO, 2);
return R.ok();
@ -427,7 +412,6 @@ public class CrmCustomerController {
@PostMapping("/uploadExcel")
@ApiOperation("导入客户")
@SysLogHandler(behavior = BehaviorEnum.EXCEL_IMPORT,object = "导入客户",detail = "导入客户")
public Result<Long> uploadExcel(@RequestParam("file") MultipartFile file, @RequestParam("repeatHandling") Integer repeatHandling) {
UploadExcelBO uploadExcelBO = new UploadExcelBO();
uploadExcelBO.setUserInfo(UserUtil.getUser());
@ -440,7 +424,6 @@ public class CrmCustomerController {
@PostMapping("/customerSetting")
@ApiOperation("客户规则设置")
@SysLogHandler(applicationName = "admin",subModel = SubModelType.ADMIN_CUSTOMER_MANAGEMENT,behavior = BehaviorEnum.UPDATE,object = "修改拥有/锁定客户规则设置",detail = "修改拥有/锁定客户规则设置")
public Result customerSetting(@RequestBody CrmCustomerSetting customerSetting) {
crmCustomerService.customerSetting(customerSetting);
return R.ok();
@ -540,7 +523,6 @@ public class CrmCustomerController {
@PostMapping("/updateInformation")
@ApiOperation("基本信息保存修改")
@SysLogHandler(behavior = BehaviorEnum.UPDATE)
public Result updateInformation(@RequestBody CrmUpdateInformationBO updateInformationBO) {
crmCustomerService.updateInformation(updateInformationBO);
return R.ok();

View File

@ -6,7 +6,6 @@ import com.alibaba.fastjson.JSONObject;
import com.kakarote.core.common.*;
import com.kakarote.core.common.log.BehaviorEnum;
import com.kakarote.core.common.log.SysLog;
import com.kakarote.core.common.log.SysLogHandler;
import com.kakarote.core.entity.BasePage;
import com.kakarote.core.entity.PageEntity;
import com.kakarote.core.exception.CrmException;
@ -50,7 +49,6 @@ import java.util.Objects;
@RequestMapping("/crmCustomerPool")
@Api(tags = "公海控制器")
@Slf4j
@SysLog(logClass = CrmCustomerPoolLog.class)
public class CrmCustomerPoolController {
@Autowired
@ -85,7 +83,6 @@ public class CrmCustomerPoolController {
@ApiOperation("修改公海状态")
@PostMapping("/changeStatus")
@SysLogHandler(applicationName = "admin",subModel = SubModelType.ADMIN_CUSTOMER_MANAGEMENT,behavior = BehaviorEnum.UPDATE)
public Result changeStatus(@RequestParam("poolId") Integer poolId, @RequestParam("status") Integer status) {
crmCustomerPoolService.changeStatus(poolId, status);
return Result.ok();
@ -187,7 +184,6 @@ public class CrmCustomerPoolController {
@ApiOperation("设置公海规则")
@PostMapping("/setCustomerPool")
@SysLogHandler(applicationName = "admin",subModel = SubModelType.ADMIN_CUSTOMER_MANAGEMENT,behavior = BehaviorEnum.SAVE,object = "#jsonObject[poolName]",detail = "'添加或修改了公海规则:'+#jsonObject[poolName]")
public Result setCustomerPool(@RequestBody JSONObject jsonObject) {
crmCustomerPoolService.setCustomerPool(jsonObject);
return Result.ok();
@ -209,7 +205,6 @@ public class CrmCustomerPoolController {
@ApiOperation("删除公海规则")
@PostMapping("/deleteCustomerPool")
@SysLogHandler(applicationName = "admin",subModel = SubModelType.ADMIN_CUSTOMER_MANAGEMENT,behavior = BehaviorEnum.DELETE)
public Result deleteCustomerPool(@RequestParam("poolId") Integer poolId) {
crmCustomerPoolService.deleteCustomerPool(poolId);
return Result.ok();
@ -238,7 +233,6 @@ public class CrmCustomerPoolController {
@PostMapping("/transfer")
@ApiOperation("公海客户的转移")
@SysLogHandler(applicationName = "admin",subModel = SubModelType.ADMIN_CUSTOMER_MANAGEMENT,behavior = BehaviorEnum.UPDATE)
public Result transfer(@RequestParam("prePoolId") Integer prePoolId, @RequestParam("postPoolId") Integer postPoolId) {
crmCustomerPoolService.transfer(prePoolId, postPoolId);
return R.ok();

View File

@ -29,9 +29,9 @@ public class CrmGsdjxxController {
}
@PostMapping("/queryByNsrmc/{nsrmc}")
@ApiOperation("根据月份和行政区划代码查询工商登记信息")
public Result<List<CrmQueryGsdjxxVO>> queryByNsrmc(@PathVariable String nsrmc) {
List<CrmQueryGsdjxxVO> crmQueryGsdjxxVOList = iCrmGsdjxxService.queryByNsrmc(nsrmc);
return R.ok(crmQueryGsdjxxVOList);
@ApiOperation("根据纳税人名称查询")
public Result<List<CrmGsdjxx>> queryByNsrmc(@PathVariable String nsrmc) {
List<CrmGsdjxx> crmGsdjxxList = iCrmGsdjxxService.queryByNsrmc(nsrmc);
return R.ok(crmGsdjxxList);
}
}

View File

@ -23,6 +23,12 @@ public class CrmQyjbxxController {
@Autowired
private ICrmQyjbxxService crmQyjbxxService;
@ParamAspect
@PostMapping("/sync")
public void syncQyjbxx(){
crmQyjbxxService.syncQyjbxx();
}
@PostMapping("/syncDataBySwjgdmAndTime")
@ApiOperation("根据事务机关代码和起止时间同步WebService数据至数据库")
public Result<List<CrmQyjbxx>> syncDataBySwjgdmAndTime(@RequestBody CrmSyncQyjbxxDTO crmSyncQyjbxxDTO) throws Exception {
@ -51,11 +57,11 @@ public class CrmQyjbxxController {
return R.ok(qyjbxxByCustomerId);
}
// @PostMapping("/queryByNsrmc/{nsrmc}")
// @ApiOperation("根据纳税人名称查询企业基本信息")
// public Result<CrmQyjbxx> queryByNsrmc(@PathVariable("nsrmc") @ApiParam(name = "nsrmc", value = "nsrmc") String nsrmc){
// CrmQyjbxx qyjbxxByNsrsbh = crmQyjbxxService.getQyjbxxByNsrmc(nsrmc);
// return R.ok(qyjbxxByNsrsbh);
// }
@PostMapping("/queryByNsrmc/{nsrmc}")
@ApiOperation("根据纳税人名称查询企业基本信息")
public Result<CrmQyjbxx> queryByNsrmc(@PathVariable("nsrmc") @ApiParam(name = "nsrmc", value = "nsrmc") String nsrmc){
CrmQyjbxx qyjbxxByNsrsbh = crmQyjbxxService.getQyjbxxByNsrmc(nsrmc);
return R.ok(qyjbxxByNsrsbh);
}
}

View File

@ -50,8 +50,8 @@ public class CrmQynsrdjController {
@PostMapping("/queryByDjxhAndTime")
@ApiOperation("根据登记序号和评价年度(选填)查询")
public Result<CrmQynsrdj> queryByDjxhAndTime(@RequestBody CrmParamAndTimeDTO dto) throws Exception {
CrmQynsrdj qynsrdjList = crmQynsrdjService.queryByDjxhAndTime(dto);
public Result<List<CrmQynsrdj>> queryByDjxhAndTime(@RequestBody CrmParamAndTimeDTO dto) throws Exception {
List<CrmQynsrdj> qynsrdjList = crmQynsrdjService.queryByDjxhAndTime(dto);
return R.ok(qynsrdjList);
}

View File

@ -20,11 +20,11 @@ public class CrmUsageReportController {
@Autowired
private ICrmUsageReportService crmUsageReportService;
@PostMapping("/queryReportScreenings")
@ApiOperation("查询报告筛查次数")
public Result<Integer> queryReportScreenings(@RequestBody CrmQueryUsageReportVO vo) throws IOException {
return R.ok(crmUsageReportService.queryReportScreenings(vo));
}
// @PostMapping("/queryReportScreenings")
// @ApiOperation("查询报告筛查次数")
// public Result<Integer> queryReportScreenings(@RequestBody CrmQueryUsageReportVO vo) throws IOException {
// return R.ok(crmUsageReportService.queryReportScreenings(vo));
// }
@PostMapping("/findUsageReportByNsrsbhOrNsrmc")
@ApiOperation("查询报告筛查次数")

View File

@ -53,6 +53,8 @@ public class CrmCustomer implements Serializable {
@ApiModelProperty(value = "首要联系人ID")
private Integer contactsId;
//税号
private String website;
@ApiModelProperty(value = "手机")
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String mobile;

View File

@ -43,13 +43,11 @@ public class CrmQyjbxx implements Serializable {
/**
* 纳税人识别号
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String nsrsbh;
/**
* 纳税人名称
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String nsrmc;
/**

View File

@ -0,0 +1,29 @@
package com.kakarote.crm.entity.VO;
import lombok.Data;
import java.util.Date;
/**
* 企业画像返回数据
*/
@Data
public class CorporatePortraitVo {
//企业规模
private String enterpriseSize;
//行业类型
private String industryType;
//信用等级
private String creditRating;
//社保人数
private String socialSecurity;
//产品是否使用 0/1
private String productsIs;
//产品注册时间
private Date productsDate;
//报告查询次数
private Integer reportNum;
//是否点击深度报告
private String inDepthReporting;
}

View File

@ -63,7 +63,7 @@ public interface ICrmCustomerService extends BaseService<CrmCustomer> {
*
* @param crmModel model
*/
public Map<String,Object> addOrUpdate(CrmModelSaveBO crmModel,boolean isExcel,Integer poolId);
Map<String,Object> addOrUpdate(CrmModelSaveBO crmModel,boolean isExcel,Integer poolId);
CrmCustomer addOrUpdateByOpenApi(CrmModelSaveBO crmModel);
/**

View File

@ -19,5 +19,5 @@ public interface ICrmGsdjxxService extends BaseService<CrmGsdjxx> {
* 根据纳税人名称查询工商登记信息
* @return
*/
List<CrmQueryGsdjxxVO> queryByNsrmc(String nsrmc);
List<CrmGsdjxx> queryByNsrmc(String nsrmc);
}

View File

@ -61,4 +61,6 @@ public interface ICrmQycbrsService extends BaseService<CrmQycbrs> {
* @return
*/
List<CrmQycbrs> syncDataByDjxhAndYf(CrmSyncQycbrsDTO crmSyncQycbrsDTO) throws Exception;
CrmQycbrs getQycbrsByDjxh(String djxh) throws Exception;
}

View File

@ -5,9 +5,9 @@ import com.kakarote.core.servlet.BaseService;
import com.kakarote.crm.entity.BO.QyjbxxBo;
import com.kakarote.crm.entity.DTO.CrmSyncQyjbxxDTO;
import com.kakarote.crm.entity.PO.CrmQyjbxx;
import org.springframework.stereotype.Service;
import java.util.List;
public interface ICrmQyjbxxService extends BaseService<CrmQyjbxx> {
/**
* 通过企业Id查询企业基本信息
@ -62,4 +62,6 @@ public interface ICrmQyjbxxService extends BaseService<CrmQyjbxx> {
*/
List<CrmQyjbxx> syncDataBySwjgdmAndTime(CrmSyncQyjbxxDTO crmSyncQyjbxxDTO) throws Exception;
//同步企业
void syncQyjbxx();
}

View File

@ -54,8 +54,9 @@ public interface ICrmQynsrdjService extends BaseService<CrmQynsrdj> {
* @param dto
* @return
*/
CrmQynsrdj queryByDjxhAndTime(CrmParamAndTimeDTO dto) throws Exception;
List<CrmQynsrdj> queryByDjxhAndTime(CrmParamAndTimeDTO dto) throws Exception;
CrmQynsrdj getQynsrdjBydjxh(String djxh) throws Exception;
/**
* 根据登记序号和评价年度查询
* @param crmSyncDataQynsrdjDTO

View File

@ -3,6 +3,8 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.kakarote.core.servlet.BaseService;
import com.kakarote.crm.entity.PO.CrmSwjgDm;
import java.util.List;
public interface ICrmSwjgDmService extends BaseService<CrmSwjgDm> {
/**
@ -13,6 +15,11 @@ public interface ICrmSwjgDmService extends BaseService<CrmSwjgDm> {
*/
IPage<CrmSwjgDm> getSwjgDmPage(int pageNum, int pageSize);
List<CrmSwjgDm> getSwjgDmList();
//机关代码查询
CrmSwjgDm getSwjgDmByDm(String jgDm);
/**
* 插入税务机关代码
*/

View File

@ -13,12 +13,12 @@ public interface ICrmUsageReportService extends BaseService<CrmUsageReport> {
* 查询报告筛选次数
* @return
*/
int queryReportScreenings(CrmQueryUsageReportVO vo) throws IOException;
String queryReportScreenings(CrmQueryUsageReportVO vo) ;
/**
* 根据纳税人识别号或者纳税人名称查询产品使用情况产品注册时间是否点击深度查询报告
* @param vo
* @return
*/
CrmUsageReport findUsageReportByNsrsbhOrNsrmc(CrmQueryUsageReportVO vo) throws IOException;
CrmUsageReport findUsageReportByNsrsbhOrNsrmc(CrmQueryUsageReportVO vo);
}

View File

@ -5,6 +5,8 @@ import com.kakarote.core.servlet.BaseService;
import com.kakarote.crm.entity.PO.CrmSwjgDm;
import com.kakarote.crm.entity.PO.CrmXzqhDm;
import java.util.List;
public interface ICrmXzqhDmService extends BaseService<CrmXzqhDm> {
@ -20,4 +22,6 @@ public interface ICrmXzqhDmService extends BaseService<CrmXzqhDm> {
* 插入行政区划代码
*/
int insertXzqhDm(CrmXzqhDm xzqhDm);
List<CrmXzqhDm> getXzqhDmList();
}

View File

@ -56,24 +56,24 @@ public class BatchEncryptionServiceImpl implements IBatchEncryptionService {
// 加密每个客户的敏感数据
for (CrmCustomer customer : customerList) {
// 加密敏感字段
if (customer.getMobile() != null) {
customer.setMobile(encryptionService.encryptAes(customer.getMobile()));
}
if (customer.getTelephone() != null) {
customer.setTelephone(encryptionService.encryptAes(customer.getTelephone()));
}
if (customer.getEmail() != null) {
customer.setEmail(encryptionService.encryptAes(customer.getEmail()));
}
if (customer.getAddress() != null) {
customer.setAddress(encryptionService.encryptAes(customer.getAddress()));
}
if (customer.getDetailAddress() != null) {
customer.setDetailAddress(encryptionService.encryptAes(customer.getDetailAddress()));
}
if (customer.getLocation() != null) {
customer.setLocation(encryptionService.encryptAes(customer.getLocation()));
}
// if (customer.getMobile() != null) {
// customer.setMobile(encryptionService.encryptAes(customer.getMobile()));
// }
// if (customer.getTelephone() != null) {
// customer.setTelephone(encryptionService.encryptAes(customer.getTelephone()));
// }
// if (customer.getEmail() != null) {
// customer.setEmail(encryptionService.encryptAes(customer.getEmail()));
// }
// if (customer.getAddress() != null) {
// customer.setAddress(encryptionService.encryptAes(customer.getAddress()));
// }
// if (customer.getDetailAddress() != null) {
// customer.setDetailAddress(encryptionService.encryptAes(customer.getDetailAddress()));
// }
// if (customer.getLocation() != null) {
// customer.setLocation(encryptionService.encryptAes(customer.getLocation()));
// }
// 标记为已加密
// customer.setEncryptedFlag(1);

View File

@ -1,25 +1,107 @@
package com.kakarote.crm.service.impl;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
import com.kakarote.core.exception.CrmException;
import com.kakarote.core.servlet.BaseServiceImpl;
import com.kakarote.crm.entity.PO.CrmCorporatePortrait;
import com.kakarote.crm.constant.EnterpriseSizeEnum;
import com.kakarote.crm.entity.PO.*;
import com.kakarote.crm.entity.VO.CorporatePortraitVo;
import com.kakarote.crm.entity.VO.CrmQueryUsageReportVO;
import com.kakarote.crm.mapper.CrmCorporatePortraitMapper;
import com.kakarote.crm.service.ICrmCorporatePortraitService;
import com.kakarote.crm.service.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.io.IOException;
import java.util.Objects;
@Service
public class CrmCorporatePortraitServiceImpl extends BaseServiceImpl<CrmCorporatePortraitMapper, CrmCorporatePortrait> implements ICrmCorporatePortraitService {
@Autowired
private CrmCorporatePortraitMapper crmCorporatePortraitMapper;
@Autowired
private ICrmUsageReportService crmUsageReportService;
@Autowired
private ICrmQyjbxxService crmQyjbxxService;
@Autowired
private ICrmQynsrdjService crmQynsrdjService;
@Autowired
private ICrmQycbrsService crmQycbrsService;
@Autowired
private ICrmHyDmService crmHyDmService;
@Override
public CrmCorporatePortrait queryByNsrmc(String nsrmc) {
LambdaQueryWrapper<CrmCorporatePortrait> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(CrmCorporatePortrait::getNsrmc, nsrmc);
return crmCorporatePortraitMapper.selectOne(wrapper);
CrmCorporatePortrait crmCorporatePortrait = new LambdaQueryChainWrapper<>(crmCorporatePortraitMapper)
.eq(CrmCorporatePortrait::getNsrmc, nsrmc)
.last("limit 1")
.one();
if (Objects.nonNull(crmCorporatePortrait)) {
CrmQueryUsageReportVO crmQueryUsageReportVO = new CrmQueryUsageReportVO();
crmQueryUsageReportVO.setNsrmc(nsrmc);
crmCorporatePortrait.setReportNum(crmUsageReportService.queryReportScreenings(crmQueryUsageReportVO));
return crmCorporatePortrait;
}
crmCorporatePortrait = new CrmCorporatePortrait();
//获取企业基本信息
CrmQyjbxx qyjbxxByNsrmc = crmQyjbxxService.getQyjbxxByNsrmc(nsrmc);
if (Objects.isNull(qyjbxxByNsrmc)) {
throw new CrmException(500, "未同步到企业信息");
}
//设置企业规模
if (StrUtil.isNotEmpty(qyjbxxByNsrmc.getCyrs())) {
Integer cyrs = Integer.parseInt(qyjbxxByNsrmc.getCyrs());
if (cyrs < EnterpriseSizeEnum.WXQY.getKey()) {
crmCorporatePortrait.setEnterpriseSize(EnterpriseSizeEnum.WXQY.getValue());
} else if (cyrs < EnterpriseSizeEnum.ZXQY.getKey()) {
crmCorporatePortrait.setEnterpriseSize(EnterpriseSizeEnum.ZXQY.getValue());
} else {
crmCorporatePortrait.setEnterpriseSize(EnterpriseSizeEnum.JTQY.getValue());
}
}
//行业类型
if (StrUtil.isNotEmpty(qyjbxxByNsrmc.getHyDm())) {
CrmHyDm crmHyDm = crmHyDmService.queryByHyDm(qyjbxxByNsrmc.getHyDm());
crmCorporatePortrait.setIndustryType(crmHyDm.getHymc());
}
if (StrUtil.isNotEmpty(qyjbxxByNsrmc.getDjxh())) {
try {
//获取去年评价等级
CrmQynsrdj qynsrdjBydjxh = crmQynsrdjService.getQynsrdjBydjxh(qyjbxxByNsrmc.getDjxh());
crmCorporatePortrait.setCreditRating(qynsrdjBydjxh.getPjjg());
// 社保人数
CrmQycbrs qycbrsByDjxh = crmQycbrsService.getQycbrsByDjxh(qyjbxxByNsrmc.getDjxh());
crmCorporatePortrait.setSocialSecurity(qycbrsByDjxh.getCbrs());
} catch (Exception e) {
throw new RuntimeException(e);
}
}
// 行为属性 V3使用情况
CrmQueryUsageReportVO crmQueryUsageReportVO = new CrmQueryUsageReportVO();
crmQueryUsageReportVO.setNsrmc(nsrmc);
CrmUsageReport usageReportByNsrsbhOrNsrmc = crmUsageReportService.findUsageReportByNsrsbhOrNsrmc(crmQueryUsageReportVO);
if (usageReportByNsrsbhOrNsrmc.getUsageStatus() == 0) {
crmCorporatePortrait.setProductsIs("");
} else {
crmCorporatePortrait.setProductsIs("");
crmCorporatePortrait.setProductsDate(DateUtil.format(usageReportByNsrsbhOrNsrmc.getRegistrationTime(),"yyyy-MM-dd"));
crmCorporatePortrait.setInDepthReporting(usageReportByNsrsbhOrNsrmc.getClickedDeepReport() == 0 ? "" : "");
crmCorporatePortrait.setReportNum(crmUsageReportService.queryReportScreenings(crmQueryUsageReportVO));
}
crmCorporatePortrait.setNsrmc(nsrmc);
insertCorporatePortrait(crmCorporatePortrait);
return crmCorporatePortrait;
}
@Override
@ -31,7 +113,7 @@ public class CrmCorporatePortraitServiceImpl extends BaseServiceImpl<CrmCorporat
public int updateCorporatePortrait(CrmCorporatePortrait crmCorporatePortrait) {
LambdaQueryWrapper<CrmCorporatePortrait> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(CrmCorporatePortrait::getNsrmc, crmCorporatePortrait.getNsrmc());
return crmCorporatePortraitMapper.update(crmCorporatePortrait,wrapper);
return crmCorporatePortraitMapper.update(crmCorporatePortrait, wrapper);
}
@Override

View File

@ -130,6 +130,16 @@ public class CrmCustomerServiceImpl extends BaseServiceImpl<CrmCustomerMapper, C
@Autowired
private EncryptionService encryptionService;
@Autowired
private ICrmQyjbxxService crmQyjbxxService;
@Autowired
private ICrmSwjgDmService crmSwjgDmService;
@Autowired
private ICrmContactsService contactsService;
/**
* 查询字段配置
*
@ -138,10 +148,10 @@ public class CrmCustomerServiceImpl extends BaseServiceImpl<CrmCustomerMapper, C
*/
@Override
public List<CrmModelFiledVO> queryField(Integer id) {
return queryField(id,false);
return queryField(id, false);
}
private List<CrmModelFiledVO> queryField(Integer id,boolean appendInformation) {
private List<CrmModelFiledVO> queryField(Integer id, boolean appendInformation) {
CrmModel crmModel = queryById(id, null);
List<CrmModelFiledVO> vos = crmFieldService.queryField(crmModel);
JSONObject value = new JSONObject();
@ -151,7 +161,7 @@ public class CrmCustomerServiceImpl extends BaseServiceImpl<CrmCustomerMapper, C
value.put("lng", crmModel.get("lng"));
value.put("lat", crmModel.get("lat"));
vos.add(new CrmModelFiledVO("map_address", FieldEnum.MAP_ADDRESS, "地区定位", 1).setIsNull(0).setValue(value));
if(appendInformation){
if (appendInformation) {
List<CrmModelFiledVO> modelFiledVOS = appendInformation(crmModel);
if (crmModel.get("preOwnerUserId") != null) {
CrmModelFiledVO filedVO = new CrmModelFiledVO("preOwnerUserName", FieldEnum.SINGLE_USER, "前负责人", 1);
@ -159,7 +169,7 @@ public class CrmCustomerServiceImpl extends BaseServiceImpl<CrmCustomerMapper, C
filedVO.setValue(data.get(0));
modelFiledVOS.add(filedVO.setSysInformation(1));
}
String ownerDeptName =UserCacheUtil.getDeptName(UserCacheUtil.getUserInfo((Long) crmModel.get("createUserId")).getDeptId());
String ownerDeptName = UserCacheUtil.getDeptName(UserCacheUtil.getUserInfo((Long) crmModel.get("createUserId")).getDeptId());
modelFiledVOS.add(new CrmModelFiledVO("receive_time", FieldEnum.DATETIME, "负责人获取客户时间", 1).setValue(crmModel.get("receiveTime")).setSysInformation(1));
modelFiledVOS.add(new CrmModelFiledVO("ownerDeptName", FieldEnum.TEXT, "所属部门", 1).setValue(ownerDeptName).setSysInformation(1));
vos.addAll(modelFiledVOS);
@ -191,7 +201,7 @@ public class CrmCustomerServiceImpl extends BaseServiceImpl<CrmCustomerMapper, C
*/
@Override
public BasePage<Map<String, Object>> queryPageList(CrmSearchBO search) {
BasePage<Map<String, Object>> basePage = queryList(search,false);
BasePage<Map<String, Object>> basePage = queryList(search, false);
Long userId = UserUtil.getUserId();
List<Integer> starIds = crmCustomerUserStarService.starList(userId);
basePage.getList().forEach(map -> {
@ -348,11 +358,11 @@ public class CrmCustomerServiceImpl extends BaseServiceImpl<CrmCustomerMapper, C
nameList.forEach(crmModel::remove);
JSONObject poolAuthList = crmCustomerPoolService.queryAuthByPoolId(poolId);
crmModel.put("poolAuthList", poolAuthList);
}else{
} else {
Long isPool = (Long) crmModel.get("isPool");
if (Objects.equals(isPool,1L)){
if (Objects.equals(isPool, 1L)) {
String poolIdStr = baseMapper.queryPoolIdsByCustomer(id);
if (StrUtil.isNotEmpty(poolIdStr)){
if (StrUtil.isNotEmpty(poolIdStr)) {
List<String> poolIds = StrUtil.splitTrim(poolIdStr, Const.SEPARATOR);
List<Integer> poolIdList = poolIds.stream().map(Integer::valueOf).collect(Collectors.toList());
JSONObject poolAuthList = crmCustomerPoolService.getOnePoolAuthByPoolIds(poolIdList);
@ -391,6 +401,24 @@ public class CrmCustomerServiceImpl extends BaseServiceImpl<CrmCustomerMapper, C
}
}
// 填充数据
private void populateData(CrmModelSaveBO crmModel, CrmQyjbxx qyjbxxByNsrmc) {
for (int i = 0; i < crmModel.getField().size(); i++) {
CrmModelFiledVO field = crmModel.getField().get(i);
if (Objects.equals(field.getName(), "客户详细地址") && field.getValue().toString().isEmpty()) {
crmModel.getField().get(i).setValue(qyjbxxByNsrmc.getZcdz());
} else if (Objects.equals(field.getName(), "所属税务局") && field.getValue().toString().isEmpty()) {
CrmSwjgDm swjgDmByDm = crmSwjgDmService.getSwjgDmByDm(qyjbxxByNsrmc.getZgswjDm());
if (Objects.nonNull(swjgDmByDm)) {
crmModel.getField().get(i).setValue(swjgDmByDm.getSwjgMc());
}
} else if (Objects.equals(field.getName(), "纳税人识别号") && field.getValue().toString().isEmpty()) {
crmModel.getField().get(i).setValue(qyjbxxByNsrmc.getNsrsbh());
}
}
}
/**
* 保存或新增信息
*
@ -399,6 +427,10 @@ public class CrmCustomerServiceImpl extends BaseServiceImpl<CrmCustomerMapper, C
@Override
@Transactional(rollbackFor = Exception.class)
public Map<String, Object> addOrUpdate(CrmModelSaveBO crmModel, boolean isExcel, Integer poolId) {
CrmQyjbxx qyjbxxByNsrmc = crmQyjbxxService.getQyjbxxByNsrmc(crmModel.getEntity().get("customerName").toString());
if (Objects.nonNull(qyjbxxByNsrmc)) {
populateData(crmModel, qyjbxxByNsrmc);
}
CrmCustomer crmCustomer = BeanUtil.copyProperties(crmModel.getEntity(), CrmCustomer.class);
if (crmCustomer.getCustomerId() != null) {
if (!UserUtil.isAdmin() && getBaseMapper().queryIsRoUser(crmCustomer.getCustomerId(), UserUtil.getUserId()) > 0) {
@ -460,11 +492,83 @@ public class CrmCustomerServiceImpl extends BaseServiceImpl<CrmCustomerMapper, C
}
savePage(crmModel, crmCustomer.getCustomerId(), isExcel);
Map<String, Object> map = new HashMap<>();
//处理手动填写联系人
CrmCustomer finalCrmCustomer = crmCustomer;
CrmModelFiledVO crmModelFiled = crmModel.getField().get(6);
new Thread(() -> {
if (finalCrmCustomer.getTelephone() != null && !finalCrmCustomer.getTelephone().isEmpty()) {
// 客户填写
addContacts(finalCrmCustomer.getCustomerId(), finalCrmCustomer.getTelephone(), crmModelFiled.getValue().toString(), finalCrmCustomer.getMobile(), "", finalCrmCustomer.getEmail());
}
// 税局信息
// 法定代表人
if (StrUtil.isNotEmpty(qyjbxxByNsrmc.getFddbrxm()) && StrUtil.isNotEmpty(qyjbxxByNsrmc.getFddbryddh())) {
addContacts(finalCrmCustomer.getCustomerId(), qyjbxxByNsrmc.getFddbrxm(), "法定代表人", qyjbxxByNsrmc.getFddbryddh(), qyjbxxByNsrmc.getFddbrgddh(), qyjbxxByNsrmc.getFddbrdzxx());
}
// 财务负责人
if (StrUtil.isNotEmpty(qyjbxxByNsrmc.getCwfzrxm()) && StrUtil.isNotEmpty(qyjbxxByNsrmc.getCwfzryddh())) {
addContacts(finalCrmCustomer.getCustomerId(), qyjbxxByNsrmc.getCwfzrxm(), "财务负责人", qyjbxxByNsrmc.getCwfzryddh(), qyjbxxByNsrmc.getCwfzrgddh(), qyjbxxByNsrmc.getCwfzrdzxx());
}
// 办税人
if (StrUtil.isNotEmpty(qyjbxxByNsrmc.getBsrxm()) && StrUtil.isNotEmpty(qyjbxxByNsrmc.getBsryddh())) {
addContacts(finalCrmCustomer.getCustomerId(), qyjbxxByNsrmc.getBsrxm(), "办税人", qyjbxxByNsrmc.getBsryddh(), qyjbxxByNsrmc.getBsrgddh(), qyjbxxByNsrmc.getBsrdzxx());
}
}).start();
map.put("customerId", crmCustomer.getCustomerId());
map.put("customerName", crmCustomer.getCustomerName());
return map;
}
/**
* @param customerId 客户id
* @param name 联系人名称
* @param position 联系人职位
* @param mobile 联系人电话
* @param tele 联系人号码
* @param email 联系人邮箱
*/
private void addContacts(Integer customerId, String name, String position, String mobile, String tele, String email) {
CrmContactsSaveBO crmModel = new CrmContactsSaveBO();
Map<String, Object> entity = new LinkedHashMap<>();
entity.put("customerId", customerId);
entity.put("name", name);
entity.put("post", position);
entity.put("mobile", mobile);
entity.put("telephone", tele);
entity.put("email", email);
entity.put("address", "");
entity.put("nextTime", "");
entity.put("remark", "");
List<CrmModelFiledVO> field = new ArrayList<>();
CrmModelFiledVO crmModelFiled = new CrmModelFiledVO();
crmModelFiled.setFieldId(1101853);
crmModelFiled.setFieldName("policymakers");
crmModelFiled.setName("是否关键决策人");
crmModelFiled.setType(3);
crmModelFiled.setFieldType(2);
crmModelFiled.setSetting(new ArrayList<>());
field.add(crmModelFiled);
CrmModelFiledVO crmModelFiled2 = new CrmModelFiledVO();
crmModelFiled2.setFieldId(1101857);
crmModelFiled2.setFieldName("sex");
crmModelFiled2.setName("性别");
crmModelFiled2.setType(3);
crmModelFiled2.setFieldType(2);
crmModelFiled2.setSetting(new ArrayList<>());
field.add(crmModelFiled2);
crmModel.setEntity(entity);
crmModel.setField(field);
contactsService.addOrUpdate(crmModel, false);
}
/**
* 保存或新增信息接口使用
*
@ -578,7 +682,7 @@ public class CrmCustomerServiceImpl extends BaseServiceImpl<CrmCustomerMapper, C
Integer contactsNum = crmContactsService.lambdaQuery().in(CrmContacts::getCustomerId, ids).count();
Integer businessNum = crmBusinessService.lambdaQuery().in(CrmBusiness::getCustomerId, ids).eq(CrmBusiness::getStatus, 1).count();
JSONObject record = new JSONObject();
record.fluentPut("contactsNum",contactsNum).fluentPut("businessNum",businessNum).fluentPut("isMore",ids.size() > 1);
record.fluentPut("contactsNum", contactsNum).fluentPut("businessNum", businessNum).fluentPut("isMore", ids.size() > 1);
return record;
}
@ -595,23 +699,23 @@ public class CrmCustomerServiceImpl extends BaseServiceImpl<CrmCustomerMapper, C
}
String ownerUserName = UserCacheUtil.getUserName(changOwnerUserBO.getOwnerUserId());
List<Long> userList = new ArrayList<>();
if (UserUtil.isAdmin()){
if (UserUtil.isAdmin()) {
userList = adminService.queryUserList(1).getData();
}else {
} else {
userList.add(UserUtil.getUserId());
userList.addAll(adminService.queryChildUserId(UserUtil.getUserId()).getData());
}
List<Long> finalUserList = userList;
BaseUtil.getRedis().del(CrmCacheKey.CRM_BACKLOG_NUM_CACHE_KEY + changOwnerUserBO.getOwnerUserId().toString());
changOwnerUserBO.getIds().forEach(id -> {
if (AuthUtil.isChangeOwnerUserAuth(id, CrmEnum.CUSTOMER,CrmAuthEnum.EDIT)) {
if (AuthUtil.isChangeOwnerUserAuth(id, CrmEnum.CUSTOMER, CrmAuthEnum.EDIT)) {
throw new CrmException(SystemCodeEnum.SYSTEM_NO_AUTH);
}
CrmCustomer customer = getById(id);
if (2 == changOwnerUserBO.getTransferType() && !changOwnerUserBO.getOwnerUserId().equals(customer.getOwnerUserId())) {
ApplicationContextHolder.getBean(ICrmTeamMembersService.class).addSingleMember(getLabel(),customer.getCustomerId(),customer.getOwnerUserId(),changOwnerUserBO.getPower(),changOwnerUserBO.getExpiresTime(),customer.getCustomerName());
ApplicationContextHolder.getBean(ICrmTeamMembersService.class).addSingleMember(getLabel(), customer.getCustomerId(), customer.getOwnerUserId(), changOwnerUserBO.getPower(), changOwnerUserBO.getExpiresTime(), customer.getCustomerName());
}
ApplicationContextHolder.getBean(ICrmTeamMembersService.class).deleteMember(getLabel(),new CrmMemberSaveBO(id,changOwnerUserBO.getOwnerUserId()));
ApplicationContextHolder.getBean(ICrmTeamMembersService.class).deleteMember(getLabel(), new CrmMemberSaveBO(id, changOwnerUserBO.getOwnerUserId()));
customer.setOwnerUserId(changOwnerUserBO.getOwnerUserId());
customer.setFollowup(0);
customer.setIsReceive(1);
@ -635,7 +739,7 @@ public class CrmCustomerServiceImpl extends BaseServiceImpl<CrmCustomerMapper, C
List<Integer> ids = crmBusinessService.lambdaQuery()
.select(CrmBusiness::getBusinessId)
.eq(CrmBusiness::getCustomerId, id)
.in(CrmBusiness::getOwnerUserId,finalUserList)
.in(CrmBusiness::getOwnerUserId, finalUserList)
.list().stream().map(CrmBusiness::getBusinessId).collect(Collectors.toList());
CrmChangeOwnerUserBO changOwnerUser = new CrmChangeOwnerUserBO();
changOwnerUser.setPower(changOwnerUserBO.getPower());
@ -649,7 +753,7 @@ public class CrmCustomerServiceImpl extends BaseServiceImpl<CrmCustomerMapper, C
List<Integer> ids = crmContractService.lambdaQuery()
.select(CrmContract::getContractId)
.eq(CrmContract::getCustomerId, id)
.in(CrmContract::getOwnerUserId,finalUserList)
.in(CrmContract::getOwnerUserId, finalUserList)
.list().stream().map(CrmContract::getContractId).collect(Collectors.toList());
CrmChangeOwnerUserBO changOwnerUser = new CrmChangeOwnerUserBO();
changOwnerUser.setTransferType(changOwnerUserBO.getTransferType());
@ -682,13 +786,13 @@ public class CrmCustomerServiceImpl extends BaseServiceImpl<CrmCustomerMapper, C
*/
@Override
public void exportExcel(HttpServletResponse response, CrmSearchBO search) {
List<Map<String, Object>> dataList = queryList(search,true).getList();
List<Map<String, Object>> dataList = queryList(search, true).getList();
List<CrmFieldSortVO> headList = crmFieldService.queryListHead(getLabel().getType());
ExcelParseUtil.exportExcel(dataList, new ExcelParseUtil.ExcelParseService() {
@Override
public void castData(Map<String, Object> record, Map<String, Integer> headMap) {
for (String fieldName : headMap.keySet()) {
record.put(fieldName,ActionRecordUtil.parseValue(record.get(fieldName),headMap.get(fieldName),false));
record.put(fieldName, ActionRecordUtil.parseValue(record.get(fieldName), headMap.get(fieldName), false));
}
record.put("dealStatus", Objects.equals(1, record.get("dealStatus")) ? "已成交" : "未成交");
record.put("status", Objects.equals(1, record.get("status")) ? "未锁定" : "已锁定");
@ -698,7 +802,7 @@ public class CrmCustomerServiceImpl extends BaseServiceImpl<CrmCustomerMapper, C
public String getExcelName() {
return "客户";
}
},headList,response);
}, headList, response);
}
/**
@ -715,7 +819,7 @@ public class CrmCustomerServiceImpl extends BaseServiceImpl<CrmCustomerMapper, C
Long userId;
if (poolBO.getUserId() == null) {
userId = UserUtil.getUserId();
}else {
} else {
userId = poolBO.getUserId();
}
List<CrmOwnerRecord> ownerRecordList = new ArrayList<>();
@ -726,7 +830,7 @@ public class CrmCustomerServiceImpl extends BaseServiceImpl<CrmCustomerMapper, C
continue;
}
/* 放入公海和修改负责人所需的权限相同 */
if (AuthUtil.isChangeOwnerUserAuth(id,getLabel(),CrmAuthEnum.EDIT)) {
if (AuthUtil.isChangeOwnerUserAuth(id, getLabel(), CrmAuthEnum.EDIT)) {
throw new CrmException(SystemCodeEnum.SYSTEM_NO_AUTH);
}
CrmOwnerRecord crmOwnerRecord = new CrmOwnerRecord();
@ -874,20 +978,22 @@ public class CrmCustomerServiceImpl extends BaseServiceImpl<CrmCustomerMapper, C
* @throws IOException ex
*/
@Override
public void downloadExcel(boolean isPool,HttpServletResponse response) throws IOException {
public void downloadExcel(boolean isPool, HttpServletResponse response) throws IOException {
List<CrmModelFiledVO> crmModelFiledList = queryField(null);
int k = 0;
for (int i = 0; i < crmModelFiledList.size(); i++) {
if(crmModelFiledList.get(i).getFieldName().equals("customerName")){
k=i;break;
if (crmModelFiledList.get(i).getFieldName().equals("customerName")) {
k = i;
break;
}
}
crmModelFiledList.add(k+1,new CrmModelFiledVO("ownerUserId",FieldEnum.TEXT,"负责人",1).setIsNull(isPool ? 0 : 1));
crmModelFiledList.add(k + 1, new CrmModelFiledVO("ownerUserId", FieldEnum.TEXT, "负责人", 1).setIsNull(isPool ? 0 : 1));
ExcelParseUtil.importExcel(new ExcelParseUtil.ExcelParseService() {
@Override
public void castData(Map<String, Object> record, Map<String, Integer> headMap) {
}
@Override
public String getExcelName() {
return "客户";
@ -895,7 +1001,7 @@ public class CrmCustomerServiceImpl extends BaseServiceImpl<CrmCustomerMapper, C
@Override
public int addCell(ExcelWriter writer, Integer x, Integer y, String fieldName) {
if(writer == null) {
if (writer == null) {
if ("mapAddress".equals(fieldName)) {
return 3;
}
@ -907,13 +1013,13 @@ public class CrmCustomerServiceImpl extends BaseServiceImpl<CrmCustomerMapper, C
for (int i = 0; i < 4; i++) {
writer.setColumnWidth(x + i, 20);
}
Cell cell1 = writer.getOrCreateCell(x,y);
Cell cell1 = writer.getOrCreateCell(x, y);
cell1.setCellValue("");
Cell cell2 = writer.getOrCreateCell(x + 1,y);
Cell cell2 = writer.getOrCreateCell(x + 1, y);
cell2.setCellValue("");
Cell cell3 = writer.getOrCreateCell(x + 2,y);
Cell cell3 = writer.getOrCreateCell(x + 2, y);
cell3.setCellValue("");
Cell cell4 = writer.getOrCreateCell(x + 3,y);
Cell cell4 = writer.getOrCreateCell(x + 3, y);
cell4.setCellValue("详细地址");
Sheet hideSheet = wb.createSheet(fieldName);
wb.setSheetHidden(wb.getSheetIndex(hideSheet), true);
@ -961,7 +1067,7 @@ public class CrmCustomerServiceImpl extends BaseServiceImpl<CrmCustomerMapper, C
}
return 0;
}
}, crmModelFiledList, response,"crm");
}, crmModelFiledList, response, "crm");
}
/**
@ -1130,9 +1236,9 @@ public class CrmCustomerServiceImpl extends BaseServiceImpl<CrmCustomerMapper, C
@Override
public BasePage<CrmContacts> queryContacts(CrmContactsPageBO pageEntity) {
BasePage<CrmContacts> contactsBasePage = pageEntity.parse();
String conditions = AuthUtil.getCrmAuthSql(CrmEnum.CONTACTS, 1,CrmAuthEnum.READ);
String conditions = AuthUtil.getCrmAuthSql(CrmEnum.CONTACTS, 1, CrmAuthEnum.READ);
BasePage<CrmContacts> result = getBaseMapper().queryContacts(contactsBasePage, pageEntity.getCustomerId(), pageEntity.getSearch(), conditions);
// 手动解密敏感数据
for (CrmContacts contacts : result.getList()) {
// 恢复前缀检查并增加异常处理
@ -1162,7 +1268,7 @@ public class CrmCustomerServiceImpl extends BaseServiceImpl<CrmCustomerMapper, C
}
}
}
return result;
}
@ -1172,18 +1278,18 @@ public class CrmCustomerServiceImpl extends BaseServiceImpl<CrmCustomerMapper, C
@Override
public BasePage<Map<String, Object>> queryBusiness(CrmContactsPageBO pageEntity) {
BasePage<Map<String, Object>> basePage = pageEntity.parse();
String condition = AuthUtil.getCrmAuthSql(CrmEnum.BUSINESS, "a", 1,CrmAuthEnum.READ);
String condition = AuthUtil.getCrmAuthSql(CrmEnum.BUSINESS, "a", 1, CrmAuthEnum.READ);
BasePage<Map<String, Object>> page = getBaseMapper().queryBusiness(basePage, pageEntity.getCustomerId(), pageEntity.getSearch(), condition);
for (Map<String, Object> map : page.getList()) {
Integer isEnd = TypeUtils.castToInt(map.get("isEnd"));
CrmListBusinessStatusVO crmListBusinessStatusVO = businessTypeService.queryListBusinessStatus((Integer) map.get("typeId"), (Integer) map.get("statusId"), isEnd);
map.put("businessStatusCount", crmListBusinessStatusVO);
if(Objects.equals(1,isEnd)) {
map.put("statusName","赢单");
} else if(Objects.equals(2,isEnd)) {
map.put("statusName","输单");
} else if(Objects.equals(3,isEnd)) {
map.put("statusName","无效");
if (Objects.equals(1, isEnd)) {
map.put("statusName", "赢单");
} else if (Objects.equals(2, isEnd)) {
map.put("statusName", "输单");
} else if (Objects.equals(3, isEnd)) {
map.put("statusName", "无效");
}
}
return page;
@ -1192,7 +1298,7 @@ public class CrmCustomerServiceImpl extends BaseServiceImpl<CrmCustomerMapper, C
@Override
public BasePage<Map<String, Object>> queryContract(CrmContactsPageBO pageEntity) {
BasePage<Map<String, Object>> basePage = pageEntity.parse();
String conditions = AuthUtil.getCrmAuthSql(CrmEnum.CONTRACT, "a", 1,CrmAuthEnum.READ);
String conditions = AuthUtil.getCrmAuthSql(CrmEnum.CONTRACT, "a", 1, CrmAuthEnum.READ);
BasePage<Map<String, Object>> page = getBaseMapper().queryContract(basePage, pageEntity.getCustomerId(), pageEntity.getSearch(), pageEntity.getCheckStatus(), conditions);
for (Map<String, Object> map : page.getList()) {
Double contractMoney = map.get("money") != null ? Double.parseDouble(map.get("money").toString()) : 0D;
@ -1240,7 +1346,7 @@ public class CrmCustomerServiceImpl extends BaseServiceImpl<CrmCustomerMapper, C
if (ids.size() == 0) {
return new ArrayList<>();
}
List<CrmCustomer> list = lambdaQuery().select(CrmCustomer::getCustomerId,CrmCustomer::getCustomerName).in(CrmCustomer::getCustomerId, ids).list();
List<CrmCustomer> list = lambdaQuery().select(CrmCustomer::getCustomerId, CrmCustomer::getCustomerName).in(CrmCustomer::getCustomerId, ids).list();
return list.stream().map(crmCustomer -> {
SimpleCrmEntity simpleCrmEntity = new SimpleCrmEntity();
simpleCrmEntity.setId(crmCustomer.getCustomerId());
@ -1251,7 +1357,7 @@ public class CrmCustomerServiceImpl extends BaseServiceImpl<CrmCustomerMapper, C
@Override
public List<SimpleCrmEntity> queryByNameCustomerInfo(String name) {
List<CrmCustomer> list = lambdaQuery().select(CrmCustomer::getCustomerId,CrmCustomer::getCustomerName).like(CrmCustomer::getCustomerName, name).list();
List<CrmCustomer> list = lambdaQuery().select(CrmCustomer::getCustomerId, CrmCustomer::getCustomerName).like(CrmCustomer::getCustomerName, name).list();
return list.stream().map(crmCustomer -> {
SimpleCrmEntity simpleCrmEntity = new SimpleCrmEntity();
simpleCrmEntity.setId(crmCustomer.getCustomerId());
@ -1311,12 +1417,12 @@ public class CrmCustomerServiceImpl extends BaseServiceImpl<CrmCustomerMapper, C
}
batchIdList.add(customer.getBatchId());
batchIdList.addAll(crmActivityService.queryFileBatchId(customer.getCustomerId(), getLabel().getType()));
String businessCon = AuthUtil.getCrmAuthSql(CrmEnum.BUSINESS, 1,CrmAuthEnum.READ);
String contractCon = AuthUtil.getCrmAuthSql(CrmEnum.CONTRACT, 1,CrmAuthEnum.READ);
String receivablesCon = AuthUtil.getCrmAuthSql(CrmEnum.RECEIVABLES, 1,CrmAuthEnum.READ);
String contactsCon = AuthUtil.getCrmAuthSql(CrmEnum.CONTACTS, 1,CrmAuthEnum.READ);
String returnVisitCon = AuthUtil.getCrmAuthSql(CrmEnum.RETURN_VISIT, 1,CrmAuthEnum.READ);
String invoiceCon = AuthUtil.getCrmAuthSql(CrmEnum.INVOICE, 1,CrmAuthEnum.READ);
String businessCon = AuthUtil.getCrmAuthSql(CrmEnum.BUSINESS, 1, CrmAuthEnum.READ);
String contractCon = AuthUtil.getCrmAuthSql(CrmEnum.CONTRACT, 1, CrmAuthEnum.READ);
String receivablesCon = AuthUtil.getCrmAuthSql(CrmEnum.RECEIVABLES, 1, CrmAuthEnum.READ);
String contactsCon = AuthUtil.getCrmAuthSql(CrmEnum.CONTACTS, 1, CrmAuthEnum.READ);
String returnVisitCon = AuthUtil.getCrmAuthSql(CrmEnum.RETURN_VISIT, 1, CrmAuthEnum.READ);
String invoiceCon = AuthUtil.getCrmAuthSql(CrmEnum.INVOICE, 1, CrmAuthEnum.READ);
Map<String, Object> map = new HashMap<>();
map.put("businessCon", businessCon);
map.put("contractCon", contractCon);
@ -1327,7 +1433,7 @@ public class CrmCustomerServiceImpl extends BaseServiceImpl<CrmCustomerMapper, C
map.put("customerId", customerId);
CrmInfoNumVO infoNumVO = getBaseMapper().queryNum(map);
infoNumVO.setFileCount(fileService.queryNum(batchIdList).getData());
infoNumVO.setMemberCount(ApplicationContextHolder.getBean(ICrmTeamMembersService.class).queryMemberCount(getLabel(),customer.getCustomerId(),customer.getOwnerUserId()));
infoNumVO.setMemberCount(ApplicationContextHolder.getBean(ICrmTeamMembersService.class).queryMemberCount(getLabel(), customer.getCustomerId(), customer.getOwnerUserId()));
return infoNumVO;
}
@ -1341,7 +1447,7 @@ public class CrmCustomerServiceImpl extends BaseServiceImpl<CrmCustomerMapper, C
public List<FileEntity> queryFileList(Integer customerId) {
List<FileEntity> fileEntityList = new ArrayList<>();
CrmCustomer crmCustomer = getById(customerId);
boolean auth = AuthUtil.isRwAuth(customerId, CrmEnum.CUSTOMER,CrmAuthEnum.READ);
boolean auth = AuthUtil.isRwAuth(customerId, CrmEnum.CUSTOMER, CrmAuthEnum.READ);
AdminFileService fileService = ApplicationContextHolder.getBean(AdminFileService.class);
fileService.queryFileList(crmCustomer.getBatchId()).getData().forEach(fileEntity -> {
@ -1454,7 +1560,7 @@ public class CrmCustomerServiceImpl extends BaseServiceImpl<CrmCustomerMapper, C
}
updateInformationBO.getList().forEach(record -> {
CrmCustomer oldCustomer = getById(customerId);
uniqueFieldIsAbnormal(record.getString("name"),record.getInteger("fieldId"),record.getString("value"),batchId);
uniqueFieldIsAbnormal(record.getString("name"), record.getInteger("fieldId"), record.getString("value"), batchId);
Map<String, Object> oldCustomerMap = BeanUtil.beanToMap(oldCustomer);
if (record.getInteger("fieldType") == 1) {
Map<String, Object> crmCustomerMap = new HashMap<>(oldCustomerMap);
@ -1466,11 +1572,11 @@ public class CrmCustomerServiceImpl extends BaseServiceImpl<CrmCustomerMapper, C
ElasticUtil.batchUpdateEsData(elasticsearchRestTemplate.getClient(), "customer", crmCustomer.getCustomerId().toString(), crmCustomer.getCustomerName());
}
} else if (record.getInteger("fieldType") == 0 || record.getInteger("fieldType") == 2) {
CrmCustomerData customerData = crmCustomerDataService.lambdaQuery().select(CrmCustomerData::getValue,CrmCustomerData::getId).eq(CrmCustomerData::getFieldId, record.getInteger("fieldId"))
CrmCustomerData customerData = crmCustomerDataService.lambdaQuery().select(CrmCustomerData::getValue, CrmCustomerData::getId).eq(CrmCustomerData::getFieldId, record.getInteger("fieldId"))
.eq(CrmCustomerData::getBatchId, batchId).last("limit 1").one();
String value = customerData != null ? customerData.getValue() : null;
actionRecordUtil.publicContentRecord(CrmEnum.CUSTOMER, BehaviorEnum.UPDATE, customerId, oldCustomer.getCustomerName(), record,value);
String newValue = fieldService.convertObjectValueToString(record.getInteger("type"),record.get("value"),record.getString("value"));
actionRecordUtil.publicContentRecord(CrmEnum.CUSTOMER, BehaviorEnum.UPDATE, customerId, oldCustomer.getCustomerName(), record, value);
String newValue = fieldService.convertObjectValueToString(record.getInteger("type"), record.get("value"), record.getString("value"));
CrmCustomerData crmCustomerData = new CrmCustomerData();
crmCustomerData.setId(customerData != null ? customerData.getId() : null);
crmCustomerData.setFieldId(record.getInteger("fieldId"));
@ -1483,14 +1589,14 @@ public class CrmCustomerServiceImpl extends BaseServiceImpl<CrmCustomerMapper, C
}
updateField(record, customerId);
});
this.lambdaUpdate().set(CrmCustomer::getUpdateTime,new Date()).eq(CrmCustomer::getCustomerId,customerId).update();
this.lambdaUpdate().set(CrmCustomer::getUpdateTime, new Date()).eq(CrmCustomer::getCustomerId, customerId).update();
}
@Override
public List<CrmDataCheckVO> dataCheck(CrmDataCheckBO dataCheckBO) {
List<CrmDataCheckVO> list = getBaseMapper().dataCheck(dataCheckBO);
for (CrmDataCheckVO crmDataCheckVO : list) {
if (StrUtil.isNotEmpty(crmDataCheckVO.getPoolIds())){
if (StrUtil.isNotEmpty(crmDataCheckVO.getPoolIds())) {
List<String> poolIds = StrUtil.splitTrim(crmDataCheckVO.getPoolIds(), Const.SEPARATOR);
List<Integer> poolIdList = poolIds.stream().map(Integer::valueOf).collect(Collectors.toList());
crmDataCheckVO.setPoolAuthList(crmCustomerPoolService.getOnePoolAuthByPoolIds(poolIdList));
@ -1507,13 +1613,13 @@ public class CrmCustomerServiceImpl extends BaseServiceImpl<CrmCustomerMapper, C
@Override
public BasePage<JSONObject> queryReceivablesPlan(CrmRelationPageBO crmRelationPageBO) {
String conditions = AuthUtil.getCrmAuthSql(CrmEnum.CONTRACT, "c", 1,CrmAuthEnum.READ);
String conditions = AuthUtil.getCrmAuthSql(CrmEnum.CONTRACT, "c", 1, CrmAuthEnum.READ);
return getBaseMapper().queryReceivablesPlan(crmRelationPageBO.parse(), crmRelationPageBO.getCustomerId(), conditions);
}
@Override
public BasePage<JSONObject> queryReceivables(CrmRelationPageBO crmRelationPageBO) {
String conditions = AuthUtil.getCrmAuthSql(CrmEnum.RECEIVABLES, "a", 1,CrmAuthEnum.READ);
String conditions = AuthUtil.getCrmAuthSql(CrmEnum.RECEIVABLES, "a", 1, CrmAuthEnum.READ);
BasePage<JSONObject> jsonObjects = getBaseMapper().queryReceivables(crmRelationPageBO.parse(), crmRelationPageBO.getCustomerId(), conditions);
for (JSONObject jsonObject : jsonObjects.getList()) {
String ownerUserName = UserCacheUtil.getUserName(jsonObject.getLong("ownerUserId"));
@ -1526,7 +1632,7 @@ public class CrmCustomerServiceImpl extends BaseServiceImpl<CrmCustomerMapper, C
public BasePage<JSONObject> queryReturnVisit(CrmRelationPageBO crmRelationPageBO) {
List<CrmField> nameList = crmFieldService.lambdaQuery().select(CrmField::getFieldId, CrmField::getFieldName).eq(CrmField::getLabel, CrmEnum.RETURN_VISIT.getType())
.eq(CrmField::getIsHidden, 0).ne(CrmField::getFieldType, 1).list();
String conditions = AuthUtil.getCrmAuthSql(CrmEnum.RETURN_VISIT, "a", 1,CrmAuthEnum.READ);
String conditions = AuthUtil.getCrmAuthSql(CrmEnum.RETURN_VISIT, "a", 1, CrmAuthEnum.READ);
BasePage<JSONObject> jsonObjects = getBaseMapper().queryReturnVisit(crmRelationPageBO.parse(), crmRelationPageBO.getCustomerId(), conditions, nameList);
for (JSONObject jsonObject : jsonObjects.getList()) {
String ownerUserName = UserCacheUtil.getUserName(jsonObject.getLong("ownerUserId"));
@ -1537,7 +1643,7 @@ public class CrmCustomerServiceImpl extends BaseServiceImpl<CrmCustomerMapper, C
@Override
public BasePage<JSONObject> queryInvoice(CrmRelationPageBO crmRelationPageBO) {
String conditions = AuthUtil.getCrmAuthSql(CrmEnum.INVOICE, "a", 0,CrmAuthEnum.READ);
String conditions = AuthUtil.getCrmAuthSql(CrmEnum.INVOICE, "a", 0, CrmAuthEnum.READ);
BasePage<JSONObject> jsonObjects = getBaseMapper().queryInvoice(crmRelationPageBO.parse(), crmRelationPageBO.getCustomerId(), conditions);
for (JSONObject jsonObject : jsonObjects.getList()) {
String ownerUserName = UserCacheUtil.getUserName(jsonObject.getLong("ownerUserId"));
@ -1633,7 +1739,7 @@ public class CrmCustomerServiceImpl extends BaseServiceImpl<CrmCustomerMapper, C
public Integer getCustomerByQyjbxx(CrmBusinessSaveBO crmModel) {
CrmCustomer crmCustomer = BeanUtil.copyProperties(crmModel.getEntity(), CrmCustomer.class);
LambdaQueryChainWrapper<CrmCustomer> crmCustomerLambdaQueryChainWrapper = this.lambdaQuery()
.eq(CrmCustomer::getCustomerName,crmCustomer.getCustomerName());
.eq(CrmCustomer::getCustomerName, crmCustomer.getCustomerName());
return crmCustomerLambdaQueryChainWrapper.count();
}
}

View File

@ -38,14 +38,14 @@ public class CrmGsdjxxServiceImpl extends BaseServiceImpl<CrmGsdjxxMapper,CrmGsd
@Override
public List<CrmQueryGsdjxxVO> queryByMonthAndXzqhDm(CrmQueryGsdjxxDTO crmQueryGsdjxxDTO) throws Exception {
QueryWrapper<CrmGsdjxx> wrapper = new QueryWrapper<CrmGsdjxx>().eq("yf", crmQueryGsdjxxDTO.getYf())
.eq("xzqh_dm", crmQueryGsdjxxDTO.getXzqhDm());
List<CrmGsdjxx> crmGsdjxxes = crmGsdjxxMapper.selectList(wrapper);
if (crmGsdjxxes != null && !crmGsdjxxes.isEmpty()) {
return convertListToVO(crmGsdjxxes);
}
// QueryWrapper<CrmGsdjxx> wrapper = new QueryWrapper<CrmGsdjxx>().eq("yf", crmQueryGsdjxxDTO.getYf())
// .eq("xzqh_dm", crmQueryGsdjxxDTO.getXzqhDm());
//
// List<CrmGsdjxx> crmGsdjxxes = crmGsdjxxMapper.selectList(wrapper);
//
// if (crmGsdjxxes != null && !crmGsdjxxes.isEmpty()) {
// return convertListToVO(crmGsdjxxes);
// }
String respJson = WebServiceHandlerUtil.connect(
CrmTaxServiceIdEnum.INDUSTRIAL_COMMERCIAL_REGISTRATION.getId(),
@ -64,12 +64,12 @@ public class CrmGsdjxxServiceImpl extends BaseServiceImpl<CrmGsdjxxMapper,CrmGsd
}
@Override
public List<CrmQueryGsdjxxVO> queryByNsrmc(String nsrmc) {
public List<CrmGsdjxx> queryByNsrmc(String nsrmc) {
QueryWrapper<CrmGsdjxx> wrapper = new QueryWrapper<CrmGsdjxx>().eq("nsrmc", nsrmc);
List<CrmGsdjxx> crmGsdjxxes = crmGsdjxxMapper.selectList(wrapper);
return convertListToVO(crmGsdjxxes);
return crmGsdjxxes;
}
private CrmQueryGsdjxxVO convertToVO(CrmGsdjxx source) {
@ -114,7 +114,7 @@ public class CrmGsdjxxServiceImpl extends BaseServiceImpl<CrmGsdjxxMapper,CrmGsd
}
private List<CrmQueryGsdjxxVO> processAndSaveData(List<CrmGsdjxx> crmGsdjxxList,CrmQueryGsdjxxDTO crmQueryGsdjxxDTO) {
log.info(crmGsdjxxList.toString());
crmGsdjxxList.forEach(crmGsdjxx -> {
crmGsdjxx.setYf(crmQueryGsdjxxDTO.getYf());
crmGsdjxx.setXzqhDm(crmQueryGsdjxxDTO.getXzqhDm());

View File

@ -1,6 +1,7 @@
package com.kakarote.crm.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
import com.fasterxml.jackson.core.type.TypeReference;
import com.kakarote.core.security.EncryptionService;
import com.kakarote.core.servlet.BaseServiceImpl;
@ -89,9 +90,9 @@ public class CrmNsrzgServiceImpl extends BaseServiceImpl<CrmNsrzgMapper, CrmNsrz
String djxh = crmSyncNsrzgDTO.getDjxh();
CrmNsrzg crmNsrzg = crmNsrzgMapper.selectOne(new QueryWrapper<CrmNsrzg>()
.eq("djxh", djxh)
);
CrmNsrzg crmNsrzg = new LambdaQueryChainWrapper<>(crmNsrzgMapper)
.eq(CrmNsrzg::getDjxh,djxh)
.last("limit 1").one();
if (crmNsrzg != null) {
return Collections.singletonList(crmNsrzg);

View File

@ -1,7 +1,9 @@
package com.kakarote.crm.service.impl;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
import com.fasterxml.jackson.core.type.TypeReference;
import com.kakarote.core.servlet.BaseServiceImpl;
import com.kakarote.crm.constant.CrmTaxServiceIdEnum;
@ -23,9 +25,12 @@ import com.kakarote.crm.webService.util.XmlService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.Collections;
import java.util.Date;
import java.util.List;
import java.util.Objects;
@Service
public class CrmQycbrsServiceImpl extends BaseServiceImpl<CrmQycbrsMapper, CrmQycbrs> implements ICrmQycbrsService {
@ -141,4 +146,34 @@ public class CrmQycbrsServiceImpl extends BaseServiceImpl<CrmQycbrsMapper, CrmQy
return qycbrsList;
}
@Override
public CrmQycbrs getQycbrsByDjxh(String djxh) throws Exception {
if (StrUtil.isEmpty(djxh)) {
return null;
}
LocalDate lastMonthDate = LocalDate.now().minusMonths(1);
// 创建格式化器
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMM");
// 格式化日期
String effectiveMonth = lastMonthDate.format(formatter);
CrmQycbrs crmQycbrs = new LambdaQueryChainWrapper<>(crmQycbrsMapper)
.eq(CrmQycbrs::getDjxh, djxh)
.eq(CrmQycbrs::getYf, effectiveMonth)
.last("limit 1")
.one();
if(Objects.nonNull(crmQycbrs)) {
return crmQycbrs;
}
CrmSyncQycbrsDTO crmSyncQycbrsDTO = new CrmSyncQycbrsDTO()
.setDjxh(djxh)
.setYf(effectiveMonth);
List<CrmQycbrs> crmQycbrsList = syncDataByDjxhAndYf(crmSyncQycbrsDTO);
if (crmQycbrsList != null && !crmQycbrsList.isEmpty()) {
crmQycbrs = syncDataByDjxhAndYf(crmSyncQycbrsDTO).get(0);
}
return crmQycbrs;
}
}

View File

@ -94,7 +94,7 @@ public class CrmQyfxjcjgServiceImpl extends BaseServiceImpl<CrmQyfxjcjgMapper, C
try {
qyfxjcjgList = fetchAndSaveThirdPartyRiskData(vo);
} catch (IOException e) {
throw new RuntimeException(e);
log.error(e.getMessage());
}
}
return qyfxjcjgList;

View File

@ -126,9 +126,9 @@ public class CrmQyfxmxServiceImpl extends BaseServiceImpl<CrmQyfxmxMapper, CrmQy
String year = crmSyncQyfxmxDTO.getPjnd();
DateTime fxscsjq = DateUtil.beginOfYear(DateUtil.parse(year + "-01-01"));
DateTime fxscsjq = DateUtil.beginOfYear(DateUtil.parse(year+"-01-01"));
String fxscsjqStr = fxscsjq.toString("yyyy-MM-dd");
DateTime fxscsjz = DateUtil.endOfYear(DateUtil.parse(year + "-01-01"));
DateTime fxscsjz = DateUtil.endOfYear(DateUtil.parse(year+"-12-31"));
String fxscsjzStr = fxscsjz.toString("yyyy-MM-dd");
String djxh = crmSyncQyfxmxDTO.getDjxh();

View File

@ -1,5 +1,7 @@
package com.kakarote.crm.service.impl;
import java.time.LocalDate;
import java.time.YearMonth;
import java.time.format.DateTimeFormatter;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
@ -12,21 +14,24 @@ import com.kakarote.crm.entity.DTO.CrmSyncQyjbxxDTO;
import com.kakarote.crm.entity.DTO.CrmWebServiceResponseDTO;
import com.kakarote.crm.entity.PO.CrmQyjbxx;
import com.kakarote.crm.entity.PO.CrmQyjbxxDjrqDetail;
import com.kakarote.crm.entity.PO.CrmSwjgDm;
import com.kakarote.crm.mapper.CrmQyjbxxMapper;
import com.kakarote.crm.service.ICrmCustomerService;
import com.kakarote.crm.service.ICrmQyjbxxService;
import com.kakarote.crm.service.*;
import com.kakarote.crm.util.AecUtils;
import com.kakarote.crm.util.JsonUtil;
import com.kakarote.crm.webService.config.TaxWebServiceConfig;
import com.kakarote.crm.webService.entity.Body;
import com.kakarote.crm.webService.util.WebServiceUtil;
import com.kakarote.crm.webService.util.XmlService;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
@Slf4j
@Service
@ -41,7 +46,16 @@ public class CrmQyjbxxServiceImpl extends BaseServiceImpl<CrmQyjbxxMapper, CrmQy
private TaxWebServiceConfig config;
private RedisImpl redis;
@Autowired
private ICrmXzqhDmService crmXzqhDmService;
@Autowired
private ICrmSwjgDmService crmSwjgDmService;
@Autowired
private ICrmGsdjxxService crmGsdjxxService;
// 在类中定义线程池
private ExecutorService executorService = Executors.newFixedThreadPool(30);
/**
* 通过企业Id查询企业基本信息
@ -64,7 +78,7 @@ public class CrmQyjbxxServiceImpl extends BaseServiceImpl<CrmQyjbxxMapper, CrmQy
LambdaQueryChainWrapper<CrmQyjbxx> eq = new LambdaQueryChainWrapper<>(crmQyjbxxMapper);
if (StrUtil.isNotBlank(qyjbxxBo.getNsrsbh())) {
return eq.eq(CrmQyjbxx::getNsrsbh, qyjbxxBo.getNsrsbh()).last("limit 1").one();
}else if (StrUtil.isNotBlank(qyjbxxBo.getNsrmc())) {
} else if (StrUtil.isNotBlank(qyjbxxBo.getNsrmc())) {
return eq.eq(CrmQyjbxx::getNsrmc, qyjbxxBo.getNsrmc()).last("limit 1").one();
}
return null;
@ -73,8 +87,9 @@ public class CrmQyjbxxServiceImpl extends BaseServiceImpl<CrmQyjbxxMapper, CrmQy
@Override
public CrmQyjbxx getQyJbxxByCustomer(QyjbxxBo qyjbxxBo) {
CrmModel model = crmCustomerService.queryById(qyjbxxBo.getCustomerId(), qyjbxxBo.getPoolId());
log.info("客户信息:{}", model);
qyjbxxBo.setNsrsbh(model.get("website").toString());
qyjbxxBo.setNsrmc(model.get("customerName").toString());
return getQyjbxxByNsxx(qyjbxxBo);
}
@ -145,24 +160,13 @@ public class CrmQyjbxxServiceImpl extends BaseServiceImpl<CrmQyjbxxMapper, CrmQy
object.setSid("JXSW.DZSWJ.CSXT.QYJBXXCX");
object.setParams(crmSyncQyjbxxDTO.toString());
String sid = object.getSid ();
System.out.println("config:"+config.getEtaxServiceUrl());
System.out.println("config:"+config.getAecEncryptKey());
String requestXml = WebServiceUtil.createRequestXml (sid, object.getParams (), config);
System.out.println ("requestXml = " + requestXml);
String response = WebServiceUtil.getEtaxService (config).doService (sid, requestXml);
System.out.println ("response = " + response);
XmlService service = WebServiceUtil.getResponse (response);
String respJson = AecUtils.decrypt (service.getBody (), config.getAecEncryptKey ());
System.out.println ("respJson = " + respJson);
CrmWebServiceResponseDTO<List<CrmQyjbxxDjrqDetail>> dto = JsonUtil.toObject(respJson, new TypeReference<CrmWebServiceResponseDTO<List<CrmQyjbxxDjrqDetail>>>() {});
String sid = object.getSid();
String requestXml = WebServiceUtil.createRequestXml(sid, object.getParams(), config);
String response = WebServiceUtil.getEtaxService(config).doService(sid, requestXml);
XmlService service = WebServiceUtil.getResponse(response);
String respJson = AecUtils.decrypt(service.getBody(), config.getAecEncryptKey());
CrmWebServiceResponseDTO<List<CrmQyjbxxDjrqDetail>> dto = JsonUtil.toObject(respJson, new TypeReference<CrmWebServiceResponseDTO<List<CrmQyjbxxDjrqDetail>>>() {
});
List<CrmQyjbxxDjrqDetail> crmQyjbxxDjrqDetailList = dto.getData();
@ -181,14 +185,75 @@ public class CrmQyjbxxServiceImpl extends BaseServiceImpl<CrmQyjbxxMapper, CrmQy
return crmQyjbxxList;
}
/**
* 生成指定年份范围内的每月日期区间
* @param startYear 起始年份包含
* @param endYear 结束年份包含
* @return 月度区间列表
*/
public static List<MonthRange> generateMonthlyRanges(int startYear, int endYear) {
List<MonthRange> ranges = new ArrayList<>();
// 将crmQyjbxxDjrqDetail中的djrqDetail转成字符串
private String phraseDjrq(CrmQyjbxxDjrqDetail crmQyjbxxDjrqDetail){
for (int year = startYear; year <= endYear; year++) {
for (int month = 1; month <= 12; month++) {
YearMonth yearMonth = YearMonth.of(year, month);
LocalDate startDate = yearMonth.atDay(1);
LocalDate endDate = yearMonth.atEndOfMonth();
ranges.add(new MonthRange(startDate.format(DateTimeFormatter.ISO_LOCAL_DATE),endDate.format(DateTimeFormatter.ISO_LOCAL_DATE)));
}
}
int year = Integer.parseInt(crmQyjbxxDjrqDetail.getDjrqDetail().getYear()) + 1900;
return ranges;
}
@Data
static class MonthRange{
private final String startDate;
private final String endDate;
public MonthRange(String startDate, String endDate) {
this.startDate = startDate;
this.endDate = endDate;
}
public String getStartDate() {
return startDate;
}
public String getEndDate() {
return endDate;
}
}
@Override
public void syncQyjbxx() {
List<MonthRange> monthRanges = generateMonthlyRanges(2000, 2025);
monthRanges.forEach(monthRange -> {
executorService.submit(() -> {
List<CrmSwjgDm> swjgDmList = crmSwjgDmService.getSwjgDmList();
swjgDmList.forEach(crmSwjgDm -> {
CrmSyncQyjbxxDTO crmSyncQyjbxxDTO = new CrmSyncQyjbxxDTO();
crmSyncQyjbxxDTO.setSwjgdm(crmSwjgDm.getSwjgDm());
crmSyncQyjbxxDTO.setCxrqq(monthRange.getStartDate());
crmSyncQyjbxxDTO.setCxrqz(monthRange.getEndDate());
try {
log.info("请求参数:{}", crmSyncQyjbxxDTO);
this.syncDataBySwjgdmAndTime(crmSyncQyjbxxDTO);
} catch (Exception e) {
log.error("同步企业出现异常:{}", e.getMessage());
throw new RuntimeException(e);
}
});
});
});
}
// 将crmQyjbxxDjrqDetail中的djrqDetail转成字 符串
private String phraseDjrq(CrmQyjbxxDjrqDetail crmQyjbxxDjrqDetail) {
int year = Integer.parseInt(crmQyjbxxDjrqDetail.getDjrqDetail().getYear()) + 1900;
int month = Integer.parseInt(crmQyjbxxDjrqDetail.getDjrqDetail().getMonth()) + 1;
int date = Integer.parseInt(crmQyjbxxDjrqDetail.getDjrqDetail().getDate());
int hours = Integer.parseInt(crmQyjbxxDjrqDetail.getDjrqDetail().getHours());
int date = Integer.parseInt(crmQyjbxxDjrqDetail.getDjrqDetail().getDate());
int hours = Integer.parseInt(crmQyjbxxDjrqDetail.getDjrqDetail().getHours());
int minutes = Integer.parseInt(crmQyjbxxDjrqDetail.getDjrqDetail().getMinutes());
int seconds = Integer.parseInt(crmQyjbxxDjrqDetail.getDjrqDetail().getSeconds());

View File

@ -31,7 +31,9 @@ import com.kakarote.crm.webService.util.XmlService;
import org.apache.poi.ss.formula.functions.T;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
@ -113,9 +115,7 @@ public class CrmQyjxfpServiceImpl extends BaseServiceImpl<CrmQyjxfpMapper, CrmQy
@Override
public CrmMergeListVO queryMergeListByShxydmAndTime(CrmParamAndTimeDTO dto) throws Exception {
String effectiveYear = StrUtil.isNotEmpty(dto.getTime()) ?
dto.getTime() :
String.valueOf(DateUtil.thisYear());
String effectiveYear = dto.getTime();
// 查询两个数据集
List<CrmQyjxfp> jxfpList = executeQuery(crmQyjxfpMapper, dto.getParam(), effectiveYear);
@ -123,18 +123,19 @@ public class CrmQyjxfpServiceImpl extends BaseServiceImpl<CrmQyjxfpMapper, CrmQy
// 只有当两个列表都有数据时才返回结果
if (CollUtil.isNotEmpty(jxfpList) && CollUtil.isNotEmpty(xxfpList)) {
// 查询两个数据集
return new CrmMergeListVO()
.setJxfpList(jxfpList)
.setXxfpList(xxfpList);
}
return syncDataByShxydm(new CrmSyncQyjxfpAndQyxxfpDTO().setShxydm(dto.getParam()),effectiveYear);
return syncDataByShxydm(new CrmSyncQyjxfpAndQyxxfpDTO().setShxydm(dto.getParam()), effectiveYear);
}
/**
* 通过社会信用代码和年度(选填),查询企业进项发票和企业销项发票信息列表
* 通过社会信用代码和年度(选填),查询企业进项发票和企业销项发票信息列表
*
* @param vo
* @return
*/
@ -180,7 +181,7 @@ public class CrmQyjxfpServiceImpl extends BaseServiceImpl<CrmQyjxfpMapper, CrmQy
}
@Override
public CrmMergeListVO syncDataByShxydm(CrmSyncQyjxfpAndQyxxfpDTO dto,String nd) throws Exception {
public CrmMergeListVO syncDataByShxydm(CrmSyncQyjxfpAndQyxxfpDTO dto, String nd) throws Exception {
String respJson = WebServiceHandlerUtil.connect(
CrmTaxServiceIdEnum.THREE_YEAR_INVOICE_SUMMARY.getId(),
@ -190,49 +191,42 @@ public class CrmQyjxfpServiceImpl extends BaseServiceImpl<CrmQyjxfpMapper, CrmQy
CrmWebServiceResponseDTO<CrmAddMergeListBO> responseDTO = JsonUtil.toObject(
respJson,
new TypeReference<CrmWebServiceResponseDTO<CrmAddMergeListBO>>() {}
new TypeReference<CrmWebServiceResponseDTO<CrmAddMergeListBO>>() {
}
);
CrmAddMergeListBO mergeListBO = responseDTO.getData();
// 查询两个数据集
List<CrmQyjxfp> jxfpList = executeQuery(crmQyjxfpMapper, dto.getShxydm(), nd);
List<CrmQyxxfp> xxfpList = executeQuery(crmQyxxfpMapper, dto.getShxydm(), nd);
// 处理进项发票
List<CrmQyjxfp> qyjxfpList;
if (jxfpList.isEmpty()){
qyjxfpList = mergeListBO.getJxhzList()
.stream()
.filter(crmQyjxfp -> {
if (Objects.equals(crmQyjxfp.getNd(), nd)) {
crmQyjxfp.setShxydm(dto.getShxydm());
crmQyjxfpMapper.insert(crmQyjxfp);
return true;
}
return false;
})
.collect(Collectors.toList());
} else {
qyjxfpList = jxfpList;
}
qyjxfpList = mergeListBO.getJxhzList()
.stream()
.filter(crmQyjxfp -> {
if (StrUtil.isEmpty(nd) || Objects.equals(crmQyjxfp.getNd(), nd)) {
crmQyjxfp.setShxydm(dto.getShxydm());
crmQyjxfpMapper.insert(crmQyjxfp);
return true;
}
return false;
})
.collect(Collectors.toList());
qyjxfpList.sort(Comparator.comparing(CrmQyjxfp::getShxydm));
// 处理销项发票
List<CrmQyxxfp> qyxxfpList;
if (xxfpList.isEmpty()){
qyxxfpList = mergeListBO.getXxhzList()
.stream()
.filter(crmQyxxfp -> {
if (Objects.equals(crmQyxxfp.getNd(), nd)) {
crmQyxxfp.setShxydm(dto.getShxydm());
crmQyxxfpMapper.insert(crmQyxxfp);
return true;
}
return false;
}).collect(Collectors.toList());
} else {
qyxxfpList = xxfpList;
}
qyxxfpList = mergeListBO.getXxhzList()
.stream()
.filter(crmQyxxfp -> {
if (StrUtil.isEmpty(nd) || Objects.equals(crmQyxxfp.getNd(), nd)) {
crmQyxxfp.setShxydm(dto.getShxydm());
crmQyxxfpMapper.insert(crmQyxxfp);
return true;
}
return false;
}).collect(Collectors.toList());
qyxxfpList.sort(Comparator.comparing(CrmQyxxfp::getNd));
return new CrmMergeListVO()
.setJxfpList(qyjxfpList)
@ -241,7 +235,10 @@ public class CrmQyjxfpServiceImpl extends BaseServiceImpl<CrmQyjxfpMapper, CrmQy
private <T> List<T> executeQuery(BaseMapper<T> mapper, String shxydm, String year) {
QueryWrapper<T> wrapper = new QueryWrapper<>();
wrapper.eq("shxydm", shxydm).eq("nd", year);
wrapper.eq("shxydm", shxydm).orderByAsc("nd");
if (StrUtil.isNotBlank(year)) {
wrapper.eq("nd", year).orderByAsc("nd");
}
return mapper.selectList(wrapper);
}
}

View File

@ -1,7 +1,10 @@
package com.kakarote.crm.service.impl;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
import com.ctc.wstx.util.StringUtil;
import com.fasterxml.jackson.core.type.TypeReference;
import com.kakarote.core.servlet.BaseServiceImpl;
import com.kakarote.crm.constant.CrmTaxServiceIdEnum;
@ -23,8 +26,10 @@ import com.kakarote.crm.webService.util.XmlService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Objects;
@Service
public class CrmQynsrdjServiceImpl extends BaseServiceImpl<CrmQynsrdjMapper, CrmQynsrdj> implements ICrmQynsrdjService {
@ -116,31 +121,58 @@ public class CrmQynsrdjServiceImpl extends BaseServiceImpl<CrmQynsrdjMapper, Crm
}
@Override
public CrmQynsrdj queryByDjxhAndTime(CrmParamAndTimeDTO dto) throws Exception {
public List<CrmQynsrdj> queryByDjxhAndTime(CrmParamAndTimeDTO dto) throws Exception {
String effectiveYear;
List<CrmQynsrdj> list = null;
LambdaQueryChainWrapper<CrmQynsrdj> crmQynsrdjLambdaQueryChainWrapper = new LambdaQueryChainWrapper<>(crmQynsrdjMapper);
// 时间参数的选择
if (dto.getTime() != null && !dto.getTime().isEmpty()) {
list = crmQynsrdjLambdaQueryChainWrapper
.eq(CrmQynsrdj::getDjxh, dto.getParam())
.eq(StrUtil.isNotEmpty(dto.getTime()),CrmQynsrdj::getPjnd, dto.getTime())
.orderByDesc(CrmQynsrdj::getPjnd).list();
effectiveYear = dto.getTime();
} else {
effectiveYear = String.valueOf(DateUtil.thisYear());
list = crmQynsrdjLambdaQueryChainWrapper
.eq(CrmQynsrdj::getDjxh, dto.getParam())
.orderByDesc(CrmQynsrdj::getPjnd).list();
effectiveYear = String.valueOf(DateUtil.thisYear()-1);
}
QueryWrapper<CrmQynsrdj> wrapper = new QueryWrapper<>();
wrapper.eq("djxh", dto.getParam());
wrapper.eq("pjnd", effectiveYear);
CrmQynsrdj qynsrdj = crmQynsrdjMapper.selectOne(wrapper);
if (qynsrdj != null) {
return qynsrdj;
if (list != null && !list.isEmpty()) {
return list;
}
CrmSyncDataQynsrdjDTO syncDataQynsrdjDTO = new CrmSyncDataQynsrdjDTO()
.setDjxh(dto.getParam())
.setPjnd(effectiveYear);
CrmQynsrdj crmQynsrdj = syncDataByDjxhAndPjnd(syncDataQynsrdjDTO);
list = new ArrayList<>();
list.add(crmQynsrdj);
return list;
}
@Override
public CrmQynsrdj getQynsrdjBydjxh(String djxh) throws Exception {
if (StrUtil.isEmpty(djxh)) {
return null;
}
String effectiveYear = String.valueOf(DateUtil.thisYear()-1);;
CrmQynsrdj crmQynsrdj = new LambdaQueryChainWrapper<>(crmQynsrdjMapper)
.eq(CrmQynsrdj::getDjxh, djxh)
.eq(CrmQynsrdj::getPjnd, effectiveYear)
.last("limit 1")
.one();
if (Objects.nonNull(crmQynsrdj)) {
return crmQynsrdj;
}
CrmSyncDataQynsrdjDTO syncDataQynsrdjDTO = new CrmSyncDataQynsrdjDTO()
.setDjxh(djxh)
.setPjnd(effectiveYear);
return syncDataByDjxhAndPjnd(syncDataQynsrdjDTO);
}
}

View File

@ -71,15 +71,15 @@ public class CrmQysdsndsbServiceImpl extends BaseServiceImpl<CrmQysdsndsbMapper,
String effectiveYear;
if (dto.getTime() != null && !dto.getTime().isEmpty()) {
effectiveYear = dto.getTime();
}else {
effectiveYear = String.valueOf(DateUtil.thisYear());
}
QueryWrapper<CrmQysdsndsb> wrapper = new QueryWrapper<>();
wrapper.eq("djxh", dto.getParam());
wrapper.eq("nd", effectiveYear);
if (dto.getTime() != null && !dto.getTime().isEmpty()) {
wrapper.eq("nd", dto.getTime());
effectiveYear = dto.getTime();
}else {
effectiveYear = String.valueOf(DateUtil.thisYear()-1);
}
List<CrmQysdsndsb> qysdsndsbList = crmQysdsndsbMapper.selectList(wrapper);

View File

@ -1,5 +1,6 @@
package com.kakarote.crm.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.kakarote.core.servlet.BaseServiceImpl;
import com.kakarote.crm.entity.PO.CrmSwjgDm;
@ -8,6 +9,9 @@ import com.kakarote.crm.service.ICrmSwjgDmService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Collections;
import java.util.List;
@Service
public class CrmSwjgDmServiceImpl extends BaseServiceImpl<CrmSwjgDmMapper, CrmSwjgDm> implements ICrmSwjgDmService {
@ -20,6 +24,19 @@ public class CrmSwjgDmServiceImpl extends BaseServiceImpl<CrmSwjgDmMapper, CrmSw
return crmSwjgDmMapper.selectPage(page, null);
}
@Override
public List<CrmSwjgDm> getSwjgDmList() {
return new LambdaQueryChainWrapper<>(crmSwjgDmMapper).list();
}
@Override
public CrmSwjgDm getSwjgDmByDm(String jgDm) {
return new LambdaQueryChainWrapper<>(crmSwjgDmMapper)
.eq(CrmSwjgDm::getSwjgDm, jgDm)
.last("limit 1").one();
}
@Override
public int insertSwjgDm(CrmSwjgDm swjgDm) {
return crmSwjgDmMapper.insert(swjgDm);

View File

@ -2,9 +2,11 @@ package com.kakarote.crm.service.impl;
import cn.hutool.core.convert.Convert;
import cn.hutool.json.JSONUtil;
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
import com.fasterxml.jackson.core.type.TypeReference;
import com.google.gson.Gson;
import com.kakarote.core.servlet.BaseServiceImpl;
import com.kakarote.crm.cilent.V3SystemCilent;
import com.kakarote.crm.entity.DTO.CrmHttpResponseDTO;
import com.kakarote.crm.entity.DTO.CrmWebServiceResponseDTO;
import com.kakarote.crm.entity.PO.CrmQyfxmx;
@ -20,6 +22,7 @@ import org.springframework.stereotype.Service;
import java.io.IOException;
import java.util.List;
import java.util.Objects;
@Service
@ -28,6 +31,9 @@ public class CrmUsageReportServiceImpl extends BaseServiceImpl<CrmUsageReportMap
@Autowired
private CrmUsageReportMapper crmUsageReportMapper;
@Autowired
private V3SystemCilent v3SystemCilent;
@Value("${app.REPORT_SCREENINGS_URL}")
private String REPORT_SCREENINGS_URL;
@ -45,31 +51,23 @@ public class CrmUsageReportServiceImpl extends BaseServiceImpl<CrmUsageReportMap
@Override
public int queryReportScreenings(CrmQueryUsageReportVO vo) throws IOException {
String requestJson = JSONUtil.toJsonStr(vo);
String responseJson = OkHttpClientUtil.post(getUrl1(), requestJson);
CrmHttpResponseDTO<String> dto = JsonUtil.toObject(
responseJson,
new TypeReference<CrmHttpResponseDTO<String>>() {}
);
return Convert.toInt(dto.getData());
public String queryReportScreenings(CrmQueryUsageReportVO vo) {
CrmHttpResponseDTO<String> dto = v3SystemCilent.queryReportScreenings(vo);
return dto.getData();
}
@Override
public CrmUsageReport findUsageReportByNsrsbhOrNsrmc(CrmQueryUsageReportVO vo) throws IOException {
public CrmUsageReport findUsageReportByNsrsbhOrNsrmc(CrmQueryUsageReportVO vo){
String requestJson = JSONUtil.toJsonStr(vo);
String responseJson = OkHttpClientUtil.post(getUrl2(), requestJson);
//先查询数据库
CrmUsageReport crmUsageReport = new LambdaQueryChainWrapper<>(crmUsageReportMapper)
.eq(CrmUsageReport::getNsrmc, vo.getNsrmc())
.last("limit 1").one();
if (Objects.nonNull(crmUsageReport) && Objects.nonNull(crmUsageReport.getId())) {
return crmUsageReport;
}
System.out.println(responseJson);
CrmHttpResponseDTO<CrmUsageReport> dto = JsonUtil.toObject(
responseJson,
new TypeReference<CrmHttpResponseDTO<CrmUsageReport>>() {}
);
CrmHttpResponseDTO<CrmUsageReport> dto = v3SystemCilent.findUsageReportByNsrsbhOrNsrmc(vo);
CrmUsageReport report = dto.getData();

View File

@ -1,5 +1,6 @@
package com.kakarote.crm.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.kakarote.core.servlet.BaseServiceImpl;
@ -9,6 +10,9 @@ import com.kakarote.crm.service.ICrmXzqhDmService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Collections;
import java.util.List;
@Service
public class CrmXzqhDmServiceImpl extends BaseServiceImpl<CrmXzqhDmMapper, CrmXzqhDm> implements ICrmXzqhDmService {
@ -25,4 +29,10 @@ public class CrmXzqhDmServiceImpl extends BaseServiceImpl<CrmXzqhDmMapper, CrmXz
public int insertXzqhDm(CrmXzqhDm xzqhDm) {
return crmXzqhDmMapper.insert(xzqhDm);
}
@Override
public List<CrmXzqhDm> getXzqhDmList() {
QueryWrapper<CrmXzqhDm> crmXzqhDmQueryWrapper = new QueryWrapper<>();
return crmXzqhDmMapper.selectList(crmXzqhDmQueryWrapper);
}
}

View File

@ -17,29 +17,14 @@ public class WebServiceHandlerUtil {
public static String connect(String serveID,String param,TaxWebServiceConfig config) throws Exception {
Body object = new Body();
object.setSid(serveID);
object.setParams(param);
String sid = object.getSid ();
log.info("config:"+config.getEtaxServiceUrl());
log.info("config:"+config.getAecEncryptKey());
String requestXml = WebServiceUtil.createRequestXml (sid, object.getParams (), config);
log.info("requestXml:"+requestXml);
String response = WebServiceUtil.getEtaxService (config).doService (sid, requestXml);
log.info("response:"+response);
XmlService service = WebServiceUtil.getResponse (response);
String respJson = AecUtils.decrypt (service.getBody (), config.getAecEncryptKey ());
log.info("respJson:"+respJson);
return respJson;
}
}

View File

@ -1,7 +1,6 @@
package com.kakarote.crm.webService;
import javax.jws.WebService;
@WebService(targetNamespace = "etax.jiangxi.chinatax.gov.cn")
public interface IEtaxService {

View File

@ -19,22 +19,30 @@ spring:
app:
url: https://v3-demo.lqyuns.com
base_url : https://v3-demo.lqyuns.com/system/user/getDataByDate
base_url : https://v3-demo.lqyuns.com/api/system/user/getDataByDate
REPORT_SCREENINGS_URL : https://v3-demo.lqyuns.com/api/risk/fxFxzbJcjgZbmx/queryReportScreenings
FIND_REPORT_URL : https://v3-demo.lqyuns.com/api/risk/fxFxzbJcjgZbmx/findUsageReportByNsrsbhOrNsrmc
taxwebservice:
etaxServiceUrl: https://wxbs.jiangxi.chinatax.gov.cn/etaxApiYsc/service/eTaxService?wsdl
etaxServiceUrlTwo: https://wxbs.jiangxi.chinatax.gov.cn/etaxApiYsc/service/eTaxService?wsdl
etaxServiceUrl: https://etax.jiangxi.chinatax.gov.cn/etaxApi/service/eTaxService?wsdl
etaxServiceUrlTwo: https://etax.jiangxi.chinatax.gov.cn/etaxApi/service/eTaxService?wsdl
loginPassword: 96E79218965EB72C92A549DD5A330112
encryptKey: 69307564386d5a626b7879746f49454b
tranOrg: 13600000000
tranUser: ANDROID
tranOrg: ANDROID
tranUser: 13600000000
service_ver: V1.0
channelId: JXSW.DZSWJ.SQZL.FX
linkURL: https://wxbs.jiangxi.chinatax.gov.cn/etaxbk/product/initExecuteMenu
linkURL: https://etax.jiangxi.chinatax.gov.cn/etax/product/initExecuteMenu
clientNo: JXFX.DLJZ.SBFW
sm2PublicKey: 043541E235BEAEB734294FD672F858564D91756A6B65348BA68AA1AB0BF870526CECE6B5BF63E62389AE3DF428E5490EFEC0918F5F57066A3FFA9E9E699B675B8D
sm2PrivateKey: 586BA1CD35F1905EE521B4213407991AEFC13E2C076724058DC7E38B083F0D5A
url: https://wxbs.jiangxi.chinatax.gov.cn/etaxbk/product/initExecute
url: https://etax.jiangxi.chinatax.gov.cn/etax/product/initExecute
key: 586BA1CD35F1905EE521B4213407991AEFC13E2C076724058DC7E38B083F0D5A
channelCode: JXFX.DLJZ.SBFW
aecEncryptKey: etax_api_key_ysc
aecEncryptKey: PY24$9@ii@9d23zy
logging:
level:
# 将根日志级别设置为 WARN
root: WARN

View File

@ -1,13 +1,14 @@
package com.kakarote.crm;
import com.kakarote.core.security.EncryptionService;
import com.kakarote.crm.entity.PO.*;
import com.kakarote.crm.entity.DTO.CrmQueryGsdjxxDTO;
import com.kakarote.crm.entity.DTO.CrmSyncQyjbxxDTO;
import com.kakarote.crm.entity.PO.CrmQyjbxx;
import com.kakarote.crm.service.*;
import com.kakarote.crm.util.AecUtils;
import com.kakarote.crm.webService.config.TaxWebServiceConfig;
import com.kakarote.crm.webService.util.WebServiceUtil;
import com.kakarote.crm.webService.util.XmlService;
import lombok.Data;
import lombok.Getter;
import lombok.Setter;
import org.junit.Test;
@ -16,11 +17,8 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import java.util.Date;
import java.util.List;
import static org.junit.jupiter.api.Assertions.assertNotNull;
@RunWith(SpringRunner.class)
@SpringBootTest
public class testQyjxfp {
@ -61,376 +59,374 @@ public class testQyjxfp {
@Autowired
private ICrmQyfxjcjgZbmxService iCrmQyfxjcjgZbmxService;
@Test
public void testCrmQyjxfpService() {
CrmQyjxfp crmQyjxfp = new CrmQyjxfp();
crmQyjxfp.setQyjxfpId(1);
crmQyjxfp.setNd("123");
crmQyjxfp.setJxSe("asd");
crmQyjxfp.setJxJshj("asdfg");
crmQyjxfp.setJxBhsje("qwert");
crmQyjxfp.setShxydm("qqqq");
crmQyjxfp.setCreateBy("zxc");
crmQyjxfp.setUpdateBy("zxc");
crmQyjxfp.setUpdateTime(new Date());
crmQyjxfp.setCreateTime(new Date());
System.out.println(crmQyjxfp);
iCrmQyjxfpService.insertQyjxfp(crmQyjxfp);
System.out.println(iCrmQyjxfpService.getQyjxfp(1));
}
@Test
public void testCrmQyfxmxService() {
CrmQyfxmx crmQyfxmx = new CrmQyfxmx();
crmQyfxmx.setQyzbmxId(3);
crmQyfxmx.setFxmx("qweqwe");
crmQyfxmx.setYf("wasdasd");
crmQyfxmx.setFxzbDm("fggh");
crmQyfxmx.setCreateBy("zwww");
crmQyfxmx.setUpdateBy("fffgr");
crmQyfxmx.setUpdateTime(new Date());
crmQyfxmx.setCreateTime(new Date());
iCrmQyfxmxService.insertQyfxmx(crmQyfxmx);
System.out.println(iCrmQyfxmxService.getQyfxmx(5));
iCrmQyfxmxService.deleteQyfxmx("1");
}
@Test
public void testCrmQynsrdjService() {
CrmQynsrdj crmQynsrdj = new CrmQynsrdj();
crmQynsrdj.setDjxh("asd");
crmQynsrdj.setPjjb("rtrt");
crmQynsrdj.setPjnd("yui");
crmQynsrdj.setCreateBy("zxc");
crmQynsrdj.setUpdateBy("zxsd");
crmQynsrdj.setUpdateTime(new Date());
crmQynsrdj.setCreateTime(new Date());
iCrmQynsrdjService.insertQynsrdj(crmQynsrdj);
CrmQynsrdj crmQynsrdj1 = new CrmQynsrdj();
crmQynsrdj1.setDjxh("ertrt");
crmQynsrdj1.setPjjb("gghhjj");
crmQynsrdj1.setPjnd("ysui");
crmQynsrdj1.setCreateBy("zfxc");
crmQynsrdj1.setUpdateBy("zwxsd");
crmQynsrdj1.setUpdateTime(new Date());
crmQynsrdj1.setCreateTime(new Date());
iCrmQynsrdjService.insertQynsrdj(crmQynsrdj1);
List<CrmQynsrdj> qynsrdjList = iCrmQynsrdjService.getQynsrdjList(crmQynsrdj1);
System.out.println(qynsrdjList.size());
CrmQynsrdj crmQynsrdj2 = new CrmQynsrdj();
crmQynsrdj2.setQynsxydjId(5);
crmQynsrdj2.setDjxh("sd");
crmQynsrdj2.setPjjb("gg");
crmQynsrdj2.setPjnd("ys");
crmQynsrdj2.setCreateBy("xc");
crmQynsrdj2.setUpdateBy("zd");
crmQynsrdj2.setUpdateTime(new Date());
crmQynsrdj2.setCreateTime(new Date());
iCrmQynsrdjService.updateQynsrdj(crmQynsrdj2);
iCrmQynsrdjService.deleteQynsrdj("1");
}
@Test
public void testCrmQysflService() {
CrmQysfl crmQysfl = new CrmQysfl();
crmQysfl.setDjxh("qwe");
crmQysfl.setYf("sad");
crmQysfl.setZzsSfl("231");
crmQysfl.setZzsHySfl("zxc");
crmQysfl.setQysdsSfl("uuii");
crmQysfl.setQysdsHySfl("sdvbn");
crmQysfl.setCreateBy("yui");
crmQysfl.setUpdateBy("zxc");
crmQysfl.setUpdateTime(new Date());
crmQysfl.setCreateTime(new Date());
iCrmQysflService.insertQysfl(crmQysfl);
CrmQysfl crmQysfl1 = new CrmQysfl();
crmQysfl1.setDjxh("qasde");
crmQysfl1.setYf("sfad");
crmQysfl1.setZzsSfl("g231");
crmQysfl1.setZzsHySfl("z4xc");
crmQysfl1.setQysdsSfl("uu7ii");
crmQysfl1.setQysdsHySfl("s34dvbn");
crmQysfl1.setCreateBy("y6ui");
crmQysfl1.setUpdateBy("z6xc");
crmQysfl1.setUpdateTime(new Date());
crmQysfl1.setCreateTime(new Date());
iCrmQysflService.insertQysfl(crmQysfl1);
System.out.println(iCrmQysflService.getQysflList(crmQysfl1));
CrmQysfl crmQysfl2 = new CrmQysfl();
crmQysfl2.setQysflId(2);
crmQysfl2.setDjxh("qas35de");
crmQysfl2.setYf("sf35ad");
crmQysfl2.setZzsSfl("g2666ffg31");
crmQysfl2.setZzsHySfl("zgg4xc");
crmQysfl2.setQysdsSfl("uu3247ii");
crmQysfl2.setQysdsHySfl("324s34dvbn");
crmQysfl2.setCreateBy("y6u5i");
crmQysfl2.setUpdateBy("z66xc");
crmQysfl2.setUpdateTime(new Date());
crmQysfl2.setCreateTime(new Date());
iCrmQysflService.updateQysfl(crmQysfl2);
System.out.println(iCrmQysflService.getQysflList(crmQysfl2));
iCrmQysflService.deleteQysfl("3");
System.out.println(iCrmQysflService.getQysflList(crmQysfl2));
}
@Test
public void testCrmQysdsndsbService(){
CrmQysdsndsb crmQysdsndsb1 = CrmQysdsndsb.builder()
.djxh("qwe").nd("asd").uuid("ffff").bnljsjyyjSdse("fsdf").cwfy("asd").glfy("asd")
.bnybtSdse("asdasd").createBy("asd").updateBy("asd").updateTime(new Date()).createTime(new Date()).dmsdse("we")
.jmsdse("fff").czjzfpbnybtsdse("efg").jwsdje("hjh").lrze("fff").dkynssde("fdf").gyjzbdsy("fdf")
.jwsddmsdse("rtrt").jwsdynsdse("rtrt").jwyssddjjnks("yyy").pzxh("jjj").nstzjse("dfdf").nstzzje("fdf")
.sdjm("dfdf").sl1("fg").nstzhsd("fdfdf").skssqq("tyy").tzsy("ghth").xsfy("fdsf")
.skssqz("regter").ynse("fdf").sbuuid("tyu").ynsdse("rtw").ynssde("jjj").yycb("rrr")
.yylr("hjj").yywsr("ghrt").yywzc("hyy").msjjsrjjjkc("ewr").mbyqndks("fsdf").cwfy("qq")
.yysr("dff").yqnddjSdseBndje("eee").yqndYjwjzbnrksdse("ffff").zcjzss("faf").zjgftbnybtsdse("fafa").zjgztscjybmftbnybtsdse("sdd")
.yysjFj("afaf").cwfy("hhh").sjynsdse("zz")
.build();
CrmQysdsndsb crmQysdsndsb2 = CrmQysdsndsb.builder()
.djxh("rtyryrtyry").nd("asd").uuid("ffff").bnljsjyyjSdse("fsdf").cwfy("asd").glfy("asd")
.bnybtSdse("asdasd").createBy("asd").updateBy("asd").updateTime(new Date()).createTime(new Date()).dmsdse("we")
.jmsdse("fff").czjzfpbnybtsdse("efg").jwsdje("hjh").lrze("fff").dkynssde("fdf").gyjzbdsy("fdf")
.jwsddmsdse("rtrt").jwsdynsdse("rtrt").jwyssddjjnks("yyy").pzxh("jjj").nstzjse("dfdf").nstzzje("fdf")
.sdjm("dfdf").sl1("fg").nstzhsd("fdfdf").skssqq("tyy").tzsy("ghth").xsfy("fdsf")
.skssqz("regter").ynse("fdf").sbuuid("tyu").ynsdse("rtw").ynssde("jjj").yycb("rrr")
.yylr("hjj").yywsr("ghrt").yywzc("hyy").msjjsrjjjkc("ewr").mbyqndks("fsdf").cwfy("qq")
.yysr("dff").yqnddjSdseBndje("eee").yqndYjwjzbnrksdse("ffff").zcjzss("faf").zjgftbnybtsdse("fafa").zjgztscjybmftbnybtsdse("sdd")
.yysjFj("afaf").cwfy("hhh").sjynsdse("zz")
.build();
iCrmQysdsndsbService.insertQysdsndsb(crmQysdsndsb1);
iCrmQysdsndsbService.insertQysdsndsb(crmQysdsndsb2);
System.out.println(iCrmQysdsndsbService.getQysdsndsbList(crmQysdsndsb1));
CrmQysdsndsb crmQysdsndsb3 = CrmQysdsndsb.builder().qysdsndsbId(1)
.djxh("123123").nd("asd").uuid("ffff").bnljsjyyjSdse("fsdf").cwfy("asd").glfy("asd")
.bnybtSdse("asdasd").createBy("asd").updateBy("asd").updateTime(new Date()).createTime(new Date()).dmsdse("we")
.jmsdse("fff").czjzfpbnybtsdse("efg").jwsdje("hjh").lrze("fff").dkynssde("fdf").gyjzbdsy("fdf")
.jwsddmsdse("rtrt").jwsdynsdse("rtrt").jwyssddjjnks("yyy").pzxh("jjj").nstzjse("dfdf").nstzzje("fdf")
.sdjm("dfdf").sl1("fg").nstzhsd("fdfdf").skssqq("tyy").tzsy("ghth").xsfy("fdsf")
.skssqz("regter").ynse("fdf").sbuuid("tyu").ynsdse("rtw").ynssde("jjj").yycb("rrr")
.yylr("hjj").yywsr("ghrt").yywzc("hyy").msjjsrjjjkc("ewr").mbyqndks("fsdf").cwfy("qq")
.yysr("dff").yqnddjSdseBndje("eee").yqndYjwjzbnrksdse("ffff").zcjzss("faf").zjgftbnybtsdse("fafa").zjgztscjybmftbnybtsdse("sdd")
.yysjFj("afaf").cwfy("hhh").sjynsdse("zz")
.build();
iCrmQysdsndsbService.updateQysdsndsb(crmQysdsndsb3);
System.out.println(iCrmQysdsndsbService.getQysdsndsbList(crmQysdsndsb1));
iCrmQysdsndsbService.deleteQysdsndsb("2");
System.out.println(iCrmQysdsndsbService.getQysdsndsb(1));
}
@Test
public void testQyxxfpService() {
CrmQyxxfp crmQyxxfp1 = new CrmQyxxfp();
crmQyxxfp1.setNd("asd").setXxBhsje("ff").setShxydm("aa").setXxJshj("vv").setXxSe("dd")
.setXxKpsl("uu").setCreateBy("ww").setCreateTime(new Date()).setUpdateBy("rr").setUpdateTime(new Date())
.setXxZdkpe("bn");
CrmQyxxfp crmQyxxfp2 = new CrmQyxxfp();
crmQyxxfp2.setNd("fgghh").setXxBhsje("ff").setShxydm("aa").setXxJshj("vv").setXxSe("dd")
.setXxKpsl("uu").setCreateBy("ww").setCreateTime(new Date()).setUpdateBy("rr").setUpdateTime(new Date())
.setXxZdkpe("bn");
iCrmQyxxfpService.insertQyxxfp(crmQyxxfp1);
iCrmQyxxfpService.insertQyxxfp(crmQyxxfp2);
System.out.println(iCrmQyxxfpService.getQyxxfpList(crmQyxxfp1));
CrmQyxxfp crmQyxxfp3 = new CrmQyxxfp();
crmQyxxfp3.setQyxxfpId(2).setNd("2145").setXxBhsje("ff").setShxydm("aa").setXxJshj("vv").setXxSe("dd")
.setXxKpsl("uu").setCreateBy("ww").setCreateTime(new Date()).setUpdateBy("rr").setUpdateTime(new Date())
.setXxZdkpe("bn");
iCrmQyxxfpService.updateQyxxfp(crmQyxxfp3);
System.out.println(iCrmQyxxfpService.getQyxxfpList(crmQyxxfp1));
iCrmQyxxfpService.deleteQyxxfp("1");
System.out.println(iCrmQyxxfpService.getQyxxfp(2));
}
@Test
public void testCrmNsrzgService(){
CrmNsrzg crmNsrzg1 = new CrmNsrzg();
crmNsrzg1.setRdpzuuid("asd").setDjxh("EE").setLcslid("fff")
.setNsrzglxDm("ghgh").setYxqq("fd").setYxqz("DF").setSjzzrq("fdf")
.setCreateBy("g").setCreateTime(new Date()).setUpdateBy("rr").setUpdateTime(new Date());
CrmNsrzg crmNsrzg2 = new CrmNsrzg();
crmNsrzg2.setRdpzuuid("ffffgggg").setDjxh("EE").setLcslid("fff")
.setNsrzglxDm("ghgh").setYxqq("fd").setYxqz("DF").setSjzzrq("fdf")
.setCreateBy("g").setCreateTime(new Date()).setUpdateBy("rr").setUpdateTime(new Date());
iCrmNsrzgService.insertNsrzg(crmNsrzg1);
iCrmNsrzgService.insertNsrzg(crmNsrzg2);
System.out.println(iCrmNsrzgService.getNsrzgList(crmNsrzg1));
CrmNsrzg crmNsrzg3 = new CrmNsrzg();
crmNsrzg3.setNsrdjzgId(2).setRdpzuuid("123").setDjxh("EE").setLcslid("fff")
.setNsrzglxDm("ghgh").setYxqq("fd").setYxqz("DF").setSjzzrq("fdf")
.setCreateBy("g").setCreateTime(new Date()).setUpdateBy("rr").setUpdateTime(new Date());
iCrmNsrzgService.updateNsrzg(crmNsrzg3);
System.out.println(iCrmNsrzgService.getNsrzgList(crmNsrzg1));
iCrmNsrzgService.deleteNsrzg("1");
System.out.println(iCrmNsrzgService.getNsrzg(2));
}
@Test
public void testCrmSwjgService(){
CrmSwjg crmSwjg1 = new CrmSwjg();
crmSwjg1.setWjgmc("qq").setSwjgDm("ee").setSwjgjc("rr").setSjswjgDm("tt").setJgjcDm("yy")
.setXzqhszDm("uu").setXybz("oo").setYxbz("pp").setBsfwtbz("pp").setBsfwtbz("aa")
.setGhbz("ss").setCreateBy("dd").setCreateTime(new Date()).setUpdateBy("dd").setUpdateTime(new Date());
CrmSwjg crmSwjg2 = new CrmSwjg();
crmSwjg2.setWjgmc("mm").setSwjgDm("ee").setSwjgjc("rr").setSjswjgDm("tt").setJgjcDm("yy")
.setXzqhszDm("uu").setXybz("oo").setYxbz("pp").setBsfwtbz("pp").setBsfwtbz("aa")
.setGhbz("ss").setCreateBy("dd").setCreateTime(new Date()).setUpdateBy("dd").setUpdateTime(new Date());
iCrmSwjgService.insertSwjg(crmSwjg1);
iCrmSwjgService.insertSwjg(crmSwjg2);
System.out.println(iCrmSwjgService.getSwjgList(crmSwjg1));
CrmSwjg crmSwjg3 = new CrmSwjg();
crmSwjg3.setSwjgId(2).setWjgmc("nn").setSwjgDm("ee").setSwjgjc("rr").setSjswjgDm("tt").setJgjcDm("yy")
.setXzqhszDm("uu").setXybz("oo").setYxbz("pp").setBsfwtbz("pp").setBsfwtbz("aa")
.setGhbz("ss").setCreateBy("dd").setCreateTime(new Date()).setUpdateBy("dd").setUpdateTime(new Date());
iCrmSwjgService.updateSwjg(crmSwjg3);
iCrmSwjgService.deleteSwjg("1");
System.out.println(iCrmSwjgService.getSwjg(3));
}
@Test
public void testCrmQycbrsService(){
CrmQycbrs crmQycbrs1 = new CrmQycbrs();
crmQycbrs1.setYf("aa").setCbrs("ff")
.setCreateUp("vv").setCreateTime(new Date()).setUpdateBy("bb").setUpdateTime(new Date());
CrmQycbrs crmQycbrs2 = new CrmQycbrs();
crmQycbrs2.setYf("bb").setCbrs("ff")
.setCreateUp("vv").setCreateTime(new Date()).setUpdateBy("bb").setUpdateTime(new Date());
iCrmQycbrsService.insertQycbrs(crmQycbrs1);
iCrmQycbrsService.insertQycbrs(crmQycbrs2);
System.out.println(iCrmQycbrsService.getQycbrsList(crmQycbrs1));
CrmQycbrs crmQycbrs3 = new CrmQycbrs();
crmQycbrs3.setQycbrsId(2).setYf("hh").setCbrs("ff")
.setCreateUp("vv").setCreateTime(new Date()).setUpdateBy("bb").setUpdateTime(new Date());
iCrmQycbrsService.updateQycbrs(crmQycbrs3);
iCrmQycbrsService.deleteQycbrs("1");
System.out.println(iCrmQycbrsService.getQycbrs(3));
}
@Test
public void testCrmQyfxjcjgService(){
CrmQyfxjcjg crmQyfxjcjg1 = new CrmQyfxjcjg();
crmQyfxjcjg1.setJcpcUuid("ddd").setQyid("fff").setQysbh("ddd").setFxjcPcjg("asd")
.setJcsj(new Date()).setJcSsqq(new Date()).setJcSsqz(new Date()).setNsrmc("ddd")
.setPljcId("HHH").setCreateBy("bb").setCreateTime(new Date()).setUpdateBy("cc").setUpdateTime(new Date());
CrmQyfxjcjg crmQyfxjcjg2 = new CrmQyfxjcjg();
crmQyfxjcjg2.setJcpcUuid("eee").setQyid("fff").setQysbh("ddd").setFxjcPcjg("asd")
.setJcsj(new Date()).setJcSsqq(new Date()).setJcSsqz(new Date()).setNsrmc("ddd")
.setPljcId("HHH").setCreateBy("bb").setCreateTime(new Date()).setUpdateBy("cc").setUpdateTime(new Date());
iCrmQyfxjcjgService.insertCrmQyfxjcjg(crmQyfxjcjg1);
iCrmQyfxjcjgService.insertCrmQyfxjcjg(crmQyfxjcjg2);
System.out.println(iCrmQyfxjcjgService.getQyfxjcjgList(crmQyfxjcjg1));
CrmQyfxjcjg crmQyfxjcjg3 = new CrmQyfxjcjg();
crmQyfxjcjg3.setJcpcUuid("eee").setQyid("123456").setQysbh("ddd").setFxjcPcjg("asd")
.setJcsj(new Date()).setJcSsqq(new Date()).setJcSsqz(new Date()).setNsrmc("ddd")
.setPljcId("HHH").setCreateBy("bb").setCreateTime(new Date()).setUpdateBy("cc").setUpdateTime(new Date());
iCrmQyfxjcjgService.updateCrmQyfxjcjg(crmQyfxjcjg3);
iCrmQyfxjcjgService.deleteCrmQyfxjcjg("ddd");
System.out.println(iCrmQyfxjcjgService.getCrmQyfxjcjg("eee"));
}
@Test
public void setCrmQyfxjcjgZbmxService() {
CrmQyfxjcjgZbmx crmQyfxjcjgZbmx1 = new CrmQyfxjcjgZbmx();
crmQyfxjcjgZbmx1.setZbmxUuid("QQQ").setJcpcUuid("eee").setFxzbDm("ttt").setFxzbJcjg("ggg")
.setJcsj(new Date()).setCode(200).setCreateBy("bb").setCreateTime(new Date()).setUpdateBy("cc").setUpdateTime(new Date());
CrmQyfxjcjgZbmx crmQyfxjcjgZbmx2 = new CrmQyfxjcjgZbmx();
crmQyfxjcjgZbmx2.setZbmxUuid("WWW").setJcpcUuid("rrr").setFxzbDm("ttt").setFxzbJcjg("ggg")
.setJcsj(new Date()).setCode(200).setCreateBy("bb").setCreateTime(new Date()).setUpdateBy("cc").setUpdateTime(new Date());
iCrmQyfxjcjgZbmxService.insertQyfxjcjgZbmx(crmQyfxjcjgZbmx1);
iCrmQyfxjcjgZbmxService.insertQyfxjcjgZbmx(crmQyfxjcjgZbmx2);
System.out.println(iCrmQyfxjcjgZbmxService.getQyfxjcjgZbmxList(crmQyfxjcjgZbmx1));
CrmQyfxjcjgZbmx crmQyfxjcjgZbmx3 = new CrmQyfxjcjgZbmx();
crmQyfxjcjgZbmx3.setZbmxUuid("QQQ").setJcpcUuid("zzz").setFxzbDm("zzz").setFxzbJcjg("zzz")
.setJcsj(new Date()).setCode(200).setCreateBy("bb").setCreateTime(new Date()).setUpdateBy("cc").setUpdateTime(new Date());
iCrmQyfxjcjgZbmxService.updateQyfxjcjgZbmx(crmQyfxjcjgZbmx3);
iCrmQyfxjcjgZbmxService.deleteQyfxjcjgZbmx("WWW");
System.out.println(iCrmQyfxjcjgZbmxService.getQyfxjcjgZbmx("QQQ"));
}
// @Test
// public void testCrmQyjxfpService() {
// CrmQyjxfp crmQyjxfp = new CrmQyjxfp();
// crmQyjxfp.setQyjxfpId(1);
// crmQyjxfp.setNd("123");
// crmQyjxfp.setJxSe("asd");
// crmQyjxfp.setJxJshj("asdfg");
// crmQyjxfp.setJxBhsje("qwert");
// crmQyjxfp.setShxydm("qqqq");
// crmQyjxfp.setCreateBy("zxc");
// crmQyjxfp.setUpdateBy("zxc");
// crmQyjxfp.setUpdateTime(new Date());
// crmQyjxfp.setCreateTime(new Date());
// System.out.println(crmQyjxfp);
// iCrmQyjxfpService.insertQyjxfp(crmQyjxfp);
// System.out.println(iCrmQyjxfpService.getQyjxfp(1));
// }
//
// @Test
// public void testCrmQyfxmxService() {
// CrmQyfxmx crmQyfxmx = new CrmQyfxmx();
// crmQyfxmx.setQyzbmxId(3);
// crmQyfxmx.setFxmx("qweqwe");
// crmQyfxmx.setYf("wasdasd");
// crmQyfxmx.setFxzbDm("fggh");
// crmQyfxmx.setCreateBy("zwww");
// crmQyfxmx.setUpdateBy("fffgr");
// crmQyfxmx.setUpdateTime(new Date());
// crmQyfxmx.setCreateTime(new Date());
// iCrmQyfxmxService.insertQyfxmx(crmQyfxmx);
// System.out.println(iCrmQyfxmxService.getQyfxmx(5));
// iCrmQyfxmxService.deleteQyfxmx("1");
// }
//
// @Test
// public void testCrmQynsrdjService() {
// CrmQynsrdj crmQynsrdj = new CrmQynsrdj();
// crmQynsrdj.setDjxh("asd");
// crmQynsrdj.setPjjb("rtrt");
// crmQynsrdj.setPjnd("yui");
// crmQynsrdj.setCreateBy("zxc");
// crmQynsrdj.setUpdateBy("zxsd");
// crmQynsrdj.setUpdateTime(new Date());
// crmQynsrdj.setCreateTime(new Date());
//
// iCrmQynsrdjService.insertQynsrdj(crmQynsrdj);
//
// CrmQynsrdj crmQynsrdj1 = new CrmQynsrdj();
// crmQynsrdj1.setDjxh("ertrt");
// crmQynsrdj1.setPjjb("gghhjj");
// crmQynsrdj1.setPjnd("ysui");
// crmQynsrdj1.setCreateBy("zfxc");
// crmQynsrdj1.setUpdateBy("zwxsd");
// crmQynsrdj1.setUpdateTime(new Date());
// crmQynsrdj1.setCreateTime(new Date());
//
// iCrmQynsrdjService.insertQynsrdj(crmQynsrdj1);
//
// List<CrmQynsrdj> qynsrdjList = iCrmQynsrdjService.getQynsrdjList(crmQynsrdj1);
// System.out.println(qynsrdjList.size());
//
// CrmQynsrdj crmQynsrdj2 = new CrmQynsrdj();
// crmQynsrdj2.setQynsxydjId(5);
// crmQynsrdj2.setDjxh("sd");
// crmQynsrdj2.setPjjb("gg");
// crmQynsrdj2.setPjnd("ys");
// crmQynsrdj2.setCreateBy("xc");
// crmQynsrdj2.setUpdateBy("zd");
// crmQynsrdj2.setUpdateTime(new Date());
// crmQynsrdj2.setCreateTime(new Date());
// iCrmQynsrdjService.updateQynsrdj(crmQynsrdj2);
// iCrmQynsrdjService.deleteQynsrdj("1");
// }
//
// @Test
// public void testCrmQysflService() {
// CrmQysfl crmQysfl = new CrmQysfl();
// crmQysfl.setDjxh("qwe");
// crmQysfl.setYf("sad");
// crmQysfl.setZzsSfl("231");
// crmQysfl.setZzsHySfl("zxc");
// crmQysfl.setQysdsSfl("uuii");
// crmQysfl.setQysdsHySfl("sdvbn");
// crmQysfl.setCreateBy("yui");
// crmQysfl.setUpdateBy("zxc");
// crmQysfl.setUpdateTime(new Date());
// crmQysfl.setCreateTime(new Date());
//
// iCrmQysflService.insertQysfl(crmQysfl);
//
// CrmQysfl crmQysfl1 = new CrmQysfl();
// crmQysfl1.setDjxh("qasde");
// crmQysfl1.setYf("sfad");
// crmQysfl1.setZzsSfl("g231");
// crmQysfl1.setZzsHySfl("z4xc");
// crmQysfl1.setQysdsSfl("uu7ii");
// crmQysfl1.setQysdsHySfl("s34dvbn");
// crmQysfl1.setCreateBy("y6ui");
// crmQysfl1.setUpdateBy("z6xc");
// crmQysfl1.setUpdateTime(new Date());
// crmQysfl1.setCreateTime(new Date());
//
// iCrmQysflService.insertQysfl(crmQysfl1);
//
// System.out.println(iCrmQysflService.getQysflList(crmQysfl1));
//
// CrmQysfl crmQysfl2 = new CrmQysfl();
// crmQysfl2.setQysflId(2);
// crmQysfl2.setDjxh("qas35de");
// crmQysfl2.setYf("sf35ad");
// crmQysfl2.setZzsSfl("g2666ffg31");
// crmQysfl2.setZzsHySfl("zgg4xc");
// crmQysfl2.setQysdsSfl("uu3247ii");
// crmQysfl2.setQysdsHySfl("324s34dvbn");
// crmQysfl2.setCreateBy("y6u5i");
// crmQysfl2.setUpdateBy("z66xc");
// crmQysfl2.setUpdateTime(new Date());
// crmQysfl2.setCreateTime(new Date());
//
// iCrmQysflService.updateQysfl(crmQysfl2);
//
// System.out.println(iCrmQysflService.getQysflList(crmQysfl2));
//
// iCrmQysflService.deleteQysfl("3");
//
// System.out.println(iCrmQysflService.getQysflList(crmQysfl2));
// }
//
// @Test
// public void testCrmQysdsndsbService(){
// CrmQysdsndsb crmQysdsndsb1 = CrmQysdsndsb.builder()
// .djxh("qwe").nd("asd").uuid("ffff").bnljsjyyjSdse("fsdf").cwfy("asd").glfy("asd")
// .bnybtSdse("asdasd").createBy("asd").updateBy("asd").updateTime(new Date()).createTime(new Date()).dmsdse("we")
// .jmsdse("fff").czjzfpbnybtsdse("efg").jwsdje("hjh").lrze("fff").dkynssde("fdf").gyjzbdsy("fdf")
// .jwsddmsdse("rtrt").jwsdynsdse("rtrt").jwyssddjjnks("yyy").pzxh("jjj").nstzjse("dfdf").nstzzje("fdf")
// .sdjm("dfdf").sl1("fg").nstzhsd("fdfdf").skssqq("tyy").tzsy("ghth").xsfy("fdsf")
// .skssqz("regter").ynse("fdf").sbuuid("tyu").ynsdse("rtw").ynssde("jjj").yycb("rrr")
// .yylr("hjj").yywsr("ghrt").yywzc("hyy").msjjsrjjjkc("ewr").mbyqndks("fsdf").cwfy("qq")
// .yysr("dff").yqnddjSdseBndje("eee").yqndYjwjzbnrksdse("ffff").zcjzss("faf").zjgftbnybtsdse("fafa").zjgztscjybmftbnybtsdse("sdd")
// .yysjFj("afaf").cwfy("hhh").sjynsdse("zz")
// .build();
//
// CrmQysdsndsb crmQysdsndsb2 = CrmQysdsndsb.builder()
// .djxh("rtyryrtyry").nd("asd").uuid("ffff").bnljsjyyjSdse("fsdf").cwfy("asd").glfy("asd")
// .bnybtSdse("asdasd").createBy("asd").updateBy("asd").updateTime(new Date()).createTime(new Date()).dmsdse("we")
// .jmsdse("fff").czjzfpbnybtsdse("efg").jwsdje("hjh").lrze("fff").dkynssde("fdf").gyjzbdsy("fdf")
// .jwsddmsdse("rtrt").jwsdynsdse("rtrt").jwyssddjjnks("yyy").pzxh("jjj").nstzjse("dfdf").nstzzje("fdf")
// .sdjm("dfdf").sl1("fg").nstzhsd("fdfdf").skssqq("tyy").tzsy("ghth").xsfy("fdsf")
// .skssqz("regter").ynse("fdf").sbuuid("tyu").ynsdse("rtw").ynssde("jjj").yycb("rrr")
// .yylr("hjj").yywsr("ghrt").yywzc("hyy").msjjsrjjjkc("ewr").mbyqndks("fsdf").cwfy("qq")
// .yysr("dff").yqnddjSdseBndje("eee").yqndYjwjzbnrksdse("ffff").zcjzss("faf").zjgftbnybtsdse("fafa").zjgztscjybmftbnybtsdse("sdd")
// .yysjFj("afaf").cwfy("hhh").sjynsdse("zz")
// .build();
//
// iCrmQysdsndsbService.insertQysdsndsb(crmQysdsndsb1);
//
// iCrmQysdsndsbService.insertQysdsndsb(crmQysdsndsb2);
//
// System.out.println(iCrmQysdsndsbService.getQysdsndsbList(crmQysdsndsb1));
//
// CrmQysdsndsb crmQysdsndsb3 = CrmQysdsndsb.builder().qysdsndsbId(1)
// .djxh("123123").nd("asd").uuid("ffff").bnljsjyyjSdse("fsdf").cwfy("asd").glfy("asd")
// .bnybtSdse("asdasd").createBy("asd").updateBy("asd").updateTime(new Date()).createTime(new Date()).dmsdse("we")
// .jmsdse("fff").czjzfpbnybtsdse("efg").jwsdje("hjh").lrze("fff").dkynssde("fdf").gyjzbdsy("fdf")
// .jwsddmsdse("rtrt").jwsdynsdse("rtrt").jwyssddjjnks("yyy").pzxh("jjj").nstzjse("dfdf").nstzzje("fdf")
// .sdjm("dfdf").sl1("fg").nstzhsd("fdfdf").skssqq("tyy").tzsy("ghth").xsfy("fdsf")
// .skssqz("regter").ynse("fdf").sbuuid("tyu").ynsdse("rtw").ynssde("jjj").yycb("rrr")
// .yylr("hjj").yywsr("ghrt").yywzc("hyy").msjjsrjjjkc("ewr").mbyqndks("fsdf").cwfy("qq")
// .yysr("dff").yqnddjSdseBndje("eee").yqndYjwjzbnrksdse("ffff").zcjzss("faf").zjgftbnybtsdse("fafa").zjgztscjybmftbnybtsdse("sdd")
// .yysjFj("afaf").cwfy("hhh").sjynsdse("zz")
// .build();
//
// iCrmQysdsndsbService.updateQysdsndsb(crmQysdsndsb3);
//
// System.out.println(iCrmQysdsndsbService.getQysdsndsbList(crmQysdsndsb1));
//
// iCrmQysdsndsbService.deleteQysdsndsb("2");
//
// System.out.println(iCrmQysdsndsbService.getQysdsndsb(1));
//
// }
//
// @Test
// public void testQyxxfpService() {
// CrmQyxxfp crmQyxxfp1 = new CrmQyxxfp();
// crmQyxxfp1.setNd("asd").setXxBhsje("ff").setShxydm("aa").setXxJshj("vv").setXxSe("dd")
// .setXxKpsl("uu").setCreateBy("ww").setCreateTime(new Date()).setUpdateBy("rr").setUpdateTime(new Date())
// .setXxZdkpe("bn");
//
// CrmQyxxfp crmQyxxfp2 = new CrmQyxxfp();
// crmQyxxfp2.setNd("fgghh").setXxBhsje("ff").setShxydm("aa").setXxJshj("vv").setXxSe("dd")
// .setXxKpsl("uu").setCreateBy("ww").setCreateTime(new Date()).setUpdateBy("rr").setUpdateTime(new Date())
// .setXxZdkpe("bn");
//
// iCrmQyxxfpService.insertQyxxfp(crmQyxxfp1);
// iCrmQyxxfpService.insertQyxxfp(crmQyxxfp2);
//
// System.out.println(iCrmQyxxfpService.getQyxxfpList(crmQyxxfp1));
//
// CrmQyxxfp crmQyxxfp3 = new CrmQyxxfp();
// crmQyxxfp3.setQyxxfpId(2).setNd("2145").setXxBhsje("ff").setShxydm("aa").setXxJshj("vv").setXxSe("dd")
// .setXxKpsl("uu").setCreateBy("ww").setCreateTime(new Date()).setUpdateBy("rr").setUpdateTime(new Date())
// .setXxZdkpe("bn");
//
// iCrmQyxxfpService.updateQyxxfp(crmQyxxfp3);
//
// System.out.println(iCrmQyxxfpService.getQyxxfpList(crmQyxxfp1));
//
// iCrmQyxxfpService.deleteQyxxfp("1");
//
// System.out.println(iCrmQyxxfpService.getQyxxfp(2));
//
// }
//
// @Test
// public void testCrmNsrzgService(){
// CrmNsrzg crmNsrzg1 = new CrmNsrzg();
// crmNsrzg1.setRdpzuuid("asd").setDjxh("EE").setLcslid("fff")
// .setNsrzglxDm("ghgh").setYxqq("fd").setYxqz("DF").setSjzzrq("fdf")
// .setCreateBy("g").setCreateTime(new Date()).setUpdateBy("rr").setUpdateTime(new Date());
//
// CrmNsrzg crmNsrzg2 = new CrmNsrzg();
// crmNsrzg2.setRdpzuuid("ffffgggg").setDjxh("EE").setLcslid("fff")
// .setNsrzglxDm("ghgh").setYxqq("fd").setYxqz("DF").setSjzzrq("fdf")
// .setCreateBy("g").setCreateTime(new Date()).setUpdateBy("rr").setUpdateTime(new Date());
//
// iCrmNsrzgService.insertNsrzg(crmNsrzg1);
// iCrmNsrzgService.insertNsrzg(crmNsrzg2);
//
// System.out.println(iCrmNsrzgService.getNsrzgList(crmNsrzg1));
//
// CrmNsrzg crmNsrzg3 = new CrmNsrzg();
// crmNsrzg3.setNsrdjzgId(2).setRdpzuuid("123").setDjxh("EE").setLcslid("fff")
// .setNsrzglxDm("ghgh").setYxqq("fd").setYxqz("DF").setSjzzrq("fdf")
// .setCreateBy("g").setCreateTime(new Date()).setUpdateBy("rr").setUpdateTime(new Date());
//
// iCrmNsrzgService.updateNsrzg(crmNsrzg3);
//
// System.out.println(iCrmNsrzgService.getNsrzgList(crmNsrzg1));
//
// iCrmNsrzgService.deleteNsrzg("1");
//
// System.out.println(iCrmNsrzgService.getNsrzg(2));
//
// }
//
// @Test
// public void testCrmSwjgService(){
// CrmSwjg crmSwjg1 = new CrmSwjg();
// crmSwjg1.setWjgmc("qq").setSwjgDm("ee").setSwjgjc("rr").setSjswjgDm("tt").setJgjcDm("yy")
// .setXzqhszDm("uu").setXybz("oo").setYxbz("pp").setBsfwtbz("pp").setBsfwtbz("aa")
// .setGhbz("ss").setCreateBy("dd").setCreateTime(new Date()).setUpdateBy("dd").setUpdateTime(new Date());
//
// CrmSwjg crmSwjg2 = new CrmSwjg();
// crmSwjg2.setWjgmc("mm").setSwjgDm("ee").setSwjgjc("rr").setSjswjgDm("tt").setJgjcDm("yy")
// .setXzqhszDm("uu").setXybz("oo").setYxbz("pp").setBsfwtbz("pp").setBsfwtbz("aa")
// .setGhbz("ss").setCreateBy("dd").setCreateTime(new Date()).setUpdateBy("dd").setUpdateTime(new Date());
//
// iCrmSwjgService.insertSwjg(crmSwjg1);
// iCrmSwjgService.insertSwjg(crmSwjg2);
//
// System.out.println(iCrmSwjgService.getSwjgList(crmSwjg1));
//
// CrmSwjg crmSwjg3 = new CrmSwjg();
// crmSwjg3.setSwjgId(2).setWjgmc("nn").setSwjgDm("ee").setSwjgjc("rr").setSjswjgDm("tt").setJgjcDm("yy")
// .setXzqhszDm("uu").setXybz("oo").setYxbz("pp").setBsfwtbz("pp").setBsfwtbz("aa")
// .setGhbz("ss").setCreateBy("dd").setCreateTime(new Date()).setUpdateBy("dd").setUpdateTime(new Date());
//
// iCrmSwjgService.updateSwjg(crmSwjg3);
//
// iCrmSwjgService.deleteSwjg("1");
//
// System.out.println(iCrmSwjgService.getSwjg(3));
// }
//
// @Test
// public void testCrmQycbrsService(){
// CrmQycbrs crmQycbrs1 = new CrmQycbrs();
// crmQycbrs1.setYf("aa").setCbrs("ff")
// .setCreateUp("vv").setCreateTime(new Date()).setUpdateBy("bb").setUpdateTime(new Date());
//
// CrmQycbrs crmQycbrs2 = new CrmQycbrs();
// crmQycbrs2.setYf("bb").setCbrs("ff")
// .setCreateUp("vv").setCreateTime(new Date()).setUpdateBy("bb").setUpdateTime(new Date());
//
// iCrmQycbrsService.insertQycbrs(crmQycbrs1);
// iCrmQycbrsService.insertQycbrs(crmQycbrs2);
//
// System.out.println(iCrmQycbrsService.getQycbrsList(crmQycbrs1));
//
// CrmQycbrs crmQycbrs3 = new CrmQycbrs();
// crmQycbrs3.setQycbrsId(2).setYf("hh").setCbrs("ff")
// .setCreateUp("vv").setCreateTime(new Date()).setUpdateBy("bb").setUpdateTime(new Date());
//
// iCrmQycbrsService.updateQycbrs(crmQycbrs3);
//
// iCrmQycbrsService.deleteQycbrs("1");
//
// System.out.println(iCrmQycbrsService.getQycbrs(3));
//
// }
//
// @Test
// public void testCrmQyfxjcjgService(){
// CrmQyfxjcjg crmQyfxjcjg1 = new CrmQyfxjcjg();
// crmQyfxjcjg1.setJcpcUuid("ddd").setQyid("fff").setQysbh("ddd").setFxjcPcjg("asd")
// .setJcsj(new Date()).setJcSsqq(new Date()).setJcSsqz(new Date()).setNsrmc("ddd")
// .setPljcId("HHH").setCreateBy("bb").setCreateTime(new Date()).setUpdateBy("cc").setUpdateTime(new Date());
//
// CrmQyfxjcjg crmQyfxjcjg2 = new CrmQyfxjcjg();
// crmQyfxjcjg2.setJcpcUuid("eee").setQyid("fff").setQysbh("ddd").setFxjcPcjg("asd")
// .setJcsj(new Date()).setJcSsqq(new Date()).setJcSsqz(new Date()).setNsrmc("ddd")
// .setPljcId("HHH").setCreateBy("bb").setCreateTime(new Date()).setUpdateBy("cc").setUpdateTime(new Date());
//
// iCrmQyfxjcjgService.insertCrmQyfxjcjg(crmQyfxjcjg1);
// iCrmQyfxjcjgService.insertCrmQyfxjcjg(crmQyfxjcjg2);
//
// System.out.println(iCrmQyfxjcjgService.getQyfxjcjgList(crmQyfxjcjg1));
//
// CrmQyfxjcjg crmQyfxjcjg3 = new CrmQyfxjcjg();
// crmQyfxjcjg3.setJcpcUuid("eee").setQyid("123456").setQysbh("ddd").setFxjcPcjg("asd")
// .setJcsj(new Date()).setJcSsqq(new Date()).setJcSsqz(new Date()).setNsrmc("ddd")
// .setPljcId("HHH").setCreateBy("bb").setCreateTime(new Date()).setUpdateBy("cc").setUpdateTime(new Date());
//
// iCrmQyfxjcjgService.updateCrmQyfxjcjg(crmQyfxjcjg3);
//
// iCrmQyfxjcjgService.deleteCrmQyfxjcjg("ddd");
//
// System.out.println(iCrmQyfxjcjgService.getCrmQyfxjcjg("eee"));
// }
//
// @Test
// public void setCrmQyfxjcjgZbmxService() {
// CrmQyfxjcjgZbmx crmQyfxjcjgZbmx1 = new CrmQyfxjcjgZbmx();
// crmQyfxjcjgZbmx1.setZbmxUuid("QQQ").setJcpcUuid("eee").setFxzbDm("ttt").setFxzbJcjg("ggg")
// .setJcsj(new Date()).setCode(200).setCreateBy("bb").setCreateTime(new Date()).setUpdateBy("cc").setUpdateTime(new Date());
//
// CrmQyfxjcjgZbmx crmQyfxjcjgZbmx2 = new CrmQyfxjcjgZbmx();
// crmQyfxjcjgZbmx2.setZbmxUuid("WWW").setJcpcUuid("rrr").setFxzbDm("ttt").setFxzbJcjg("ggg")
// .setJcsj(new Date()).setCode(200).setCreateBy("bb").setCreateTime(new Date()).setUpdateBy("cc").setUpdateTime(new Date());
//
// iCrmQyfxjcjgZbmxService.insertQyfxjcjgZbmx(crmQyfxjcjgZbmx1);
// iCrmQyfxjcjgZbmxService.insertQyfxjcjgZbmx(crmQyfxjcjgZbmx2);
//
// System.out.println(iCrmQyfxjcjgZbmxService.getQyfxjcjgZbmxList(crmQyfxjcjgZbmx1));
//
// CrmQyfxjcjgZbmx crmQyfxjcjgZbmx3 = new CrmQyfxjcjgZbmx();
// crmQyfxjcjgZbmx3.setZbmxUuid("QQQ").setJcpcUuid("zzz").setFxzbDm("zzz").setFxzbJcjg("zzz")
// .setJcsj(new Date()).setCode(200).setCreateBy("bb").setCreateTime(new Date()).setUpdateBy("cc").setUpdateTime(new Date());
//
// iCrmQyfxjcjgZbmxService.updateQyfxjcjgZbmx(crmQyfxjcjgZbmx3);
//
// iCrmQyfxjcjgZbmxService.deleteQyfxjcjgZbmx("WWW");
//
// System.out.println(iCrmQyfxjcjgZbmxService.getQyfxjcjgZbmx("QQQ"));
//
//
// }
@Getter
@Setter
class Params {
String djxh;
String fxscsjq;
String fxscsjz;
String yf;
@Override
public String toString() {
return "{" +
"djxh:'" + djxh + '\'' +
", fxscsjq:'" + fxscsjq + '\'' +
", fxscsjz:'" + fxscsjz + '\'' +
", yf:'" + yf + '\'' +
'}';
}
}
@ -460,14 +456,15 @@ public class testQyjxfp {
public void getTaxWebService() throws Exception {
Body object = new Body();
Params params = new Params();
params.setDjxh("10113601000074228118");
params.setFxscsjq("2023-01-01");
params.setFxscsjz("2023-12-31");
object.setSid("JXSW.DZSWJ.CSXT.QYTSFXMXCX");
params.setDjxh("10213600880000110273");
params.setYf("202601");
object.setSid("JXSW.DZSWJ.CSXT.QYCBRSCX");
object.setParams(params.toString());
String sid = object.getSid ();
System.out.println("config:"+config.getEtaxServiceUrl());
System.out.println("config:"+config.getAecEncryptKey());
System.out.println("请求参数:"+params.toString());
System.out.println("sid"+sid);
String requestXml = WebServiceUtil.createRequestXml (sid, object.getParams (), config);
System.out.println ("requestXml = " + requestXml);
@ -484,10 +481,59 @@ public class testQyjxfp {
}
@Test
public void encryptionService(){
String s = encryptionService.encryptAes("江西方欣信息技术有限公司1");
System.out.println("加密后数据:"+s);
String s = "qI7N+XfoLCnRPSDw02SBHB4N4H2Mr60qEz5e6VWNbcRQSRWt9PL8H8FSzGgBqbsD2gjUgAW5zwZYUL6VoVN7ZUBxfsVc6A4Ymu/B4nKItSQ=";
String s1 = encryptionService.decryptAes(s);
System.out.println("解密数据:"+s1);
String s2 = encryptionService.decryptAes(s1);
System.out.println("解密数据:"+s2);
}
@Autowired
private ICrmQyjbxxService crmQyjbxxService;
@Test
public void qyjbxx() throws Exception {
CrmSyncQyjbxxDTO crmSyncQyjbxxDTO = new CrmSyncQyjbxxDTO();
crmSyncQyjbxxDTO.setCxrqq("2014-01-01");
crmSyncQyjbxxDTO.setCxrqz("2015-01-01");
crmSyncQyjbxxDTO.setSwjgdm("13611280000");
List<CrmQyjbxx> crmQyjbxxes = crmQyjbxxService.syncDataBySwjgdmAndTime(crmSyncQyjbxxDTO);
System.out.println(crmQyjbxxes.size());
System.out.println(crmQyjbxxes);
}
@Autowired
private ICrmUserAnalyseService iCrmUserAnalyseService;
@Test
public void addQyjbxx(){
// CrmQyjbxx crmQyjbxx1 = new CrmQyjbxx();
// crmQyjbxx1.setNsrmc("江西久益水利建设有限公司南昌县分公司");
// crmQyjbxx1.setNsrsbh("91360121MA39BWK05T");
// crmQyjbxx1.setDjxh("10213601880000140213");
// crmQyjbxx1.setShxydm("91360121MA39BWK05T");
// crmQyjbxxService.insertQyjbxx(crmQyjbxx1);
// CrmQyjbxx crmQyjbxx2 = new CrmQyjbxx();
// crmQyjbxx2.setNsrmc("江西宏天建筑劳务有限公司");
// crmQyjbxx2.setNsrsbh("913601213225166246");
// crmQyjbxx2.setDjxh("10123604010000103297");
// crmQyjbxx2.setShxydm("913601213225166246");
// crmQyjbxxService.insertQyjbxx(crmQyjbxx2);
// CrmQyjbxx crmQyjbxx3 = new CrmQyjbxx();
// crmQyjbxx3.setNsrmc("金财(高安)云商信息科技有限公司");
// crmQyjbxx3.setNsrsbh("91360983MA399RN26Y");
// crmQyjbxx3.setDjxh("10213609880000052760");
// crmQyjbxx3.setShxydm("91360983MA399RN26Y");
// crmQyjbxxService.insertQyjbxx(crmQyjbxx3);
iCrmUserAnalyseService.syncTaxPreCheckUsageByMonth("202506");
iCrmUserAnalyseService.syncTaxPreCheckUsageByMonth("202507");
// crmQyjbxxService.syncQyjbxx();
}
@Autowired
private ICrmGsdjxxService iCrmGsdjxxService;
@Test
public void sysGsdjxx() throws Exception {
CrmQueryGsdjxxDTO crmQueryGsdjxxDTO = new CrmQueryGsdjxxDTO();
crmQueryGsdjxxDTO.setYf("202501");
crmQueryGsdjxxDTO.setXzqhDm("360103");
iCrmGsdjxxService.queryByMonthAndXzqhDm(crmQueryGsdjxxDTO);
}
}