From f4da169fe349fdfc27c2c7f3006720cd6d33e6c0 Mon Sep 17 00:00:00 2001 From: "review512jwy@163.com" <“review512jwy@163.com”> Date: Fri, 24 Apr 2026 22:38:00 +0800 Subject: [PATCH] =?UTF-8?q?salesforce=E5=9F=BA=E6=9C=AC=E7=BB=86=E8=85=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../resources/config/language/msg/msg_cn.yml | 1 + .../resources/config/language/msg/msg_en.yml | 3 +- .../resources/config/language/msg/msg_jp.yml | 3 +- .../controller/SalesforceController.java | 108 +++ .../resources/db/migration/V74__sales.sql | 27 + .../dao/auto/BasicSalesforceMapper.java | 96 ++ .../dao/ex/BasicSalesforceMapperExt.java | 18 + .../mappers/auto/BasicSalesforceMapper.xml | 335 +++++++ .../mappers/ex/BasicSalesforceMapperExt.xml | 45 + .../mybatis-generator/generatorConfig.xml | 5 + .../salesforce/DeleteSalesforceParams.java | 16 + .../dto/salesforce/OptSalesforceParams.java | 26 + .../salesforce/SalesforceSearchParams.java | 27 + .../business/model/BasicSalesforce.java | 336 +++++++ .../model/BasicSalesforceExample.java | 862 ++++++++++++++++++ .../vo/salesforce/SalesforcePageVO.java | 25 + .../business/service/SalesforceService.java | 25 + .../service/impl/SalesforceServiceImpl.java | 323 +++++++ 18 files changed, 2279 insertions(+), 2 deletions(-) create mode 100644 data-center-business-controller/src/main/java/com/techsor/datacenter/business/controller/SalesforceController.java create mode 100644 data-center-business-controller/src/main/resources/db/migration/V74__sales.sql create mode 100644 data-center-business-dao/src/main/java/com/techsor/datacenter/business/dao/auto/BasicSalesforceMapper.java create mode 100644 data-center-business-dao/src/main/java/com/techsor/datacenter/business/dao/ex/BasicSalesforceMapperExt.java create mode 100644 data-center-business-dao/src/main/resources/mappers/auto/BasicSalesforceMapper.xml create mode 100644 data-center-business-dao/src/main/resources/mappers/ex/BasicSalesforceMapperExt.xml create mode 100644 data-center-business-model/src/main/java/com/techsor/datacenter/business/dto/salesforce/DeleteSalesforceParams.java create mode 100644 data-center-business-model/src/main/java/com/techsor/datacenter/business/dto/salesforce/OptSalesforceParams.java create mode 100644 data-center-business-model/src/main/java/com/techsor/datacenter/business/dto/salesforce/SalesforceSearchParams.java create mode 100644 data-center-business-model/src/main/java/com/techsor/datacenter/business/model/BasicSalesforce.java create mode 100644 data-center-business-model/src/main/java/com/techsor/datacenter/business/model/BasicSalesforceExample.java create mode 100644 data-center-business-model/src/main/java/com/techsor/datacenter/business/vo/salesforce/SalesforcePageVO.java create mode 100644 data-center-business-service/src/main/java/com/techsor/datacenter/business/service/SalesforceService.java create mode 100644 data-center-business-service/src/main/java/com/techsor/datacenter/business/service/impl/SalesforceServiceImpl.java diff --git a/data-center-business-common/src/main/resources/config/language/msg/msg_cn.yml b/data-center-business-common/src/main/resources/config/language/msg/msg_cn.yml index 4d51ef8..7f9692b 100644 --- a/data-center-business-common/src/main/resources/config/language/msg/msg_cn.yml +++ b/data-center-business-common/src/main/resources/config/language/msg/msg_cn.yml @@ -203,3 +203,4 @@ msgcn: dataMappingFormatError: 数据映射格式错误 categoryHasExisted: 分类已存在 onlyOneRefType: 不可绑定多种关联类型 + salesforceHasExisted: 平台已存在 diff --git a/data-center-business-common/src/main/resources/config/language/msg/msg_en.yml b/data-center-business-common/src/main/resources/config/language/msg/msg_en.yml index f94c11b..04dde2b 100644 --- a/data-center-business-common/src/main/resources/config/language/msg/msg_en.yml +++ b/data-center-business-common/src/main/resources/config/language/msg/msg_en.yml @@ -202,4 +202,5 @@ msgen: roleHasBinded: The role is assigned to users. Please unbind them before deleting. dataMappingFormatError: Invalid data mapping format categoryHasExisted: Category already exists. - onlyOneRefType: Only one reference type can be bound. \ No newline at end of file + onlyOneRefType: Only one reference type can be bound. + salesforceHasExisted: Already exists on the platform \ No newline at end of file diff --git a/data-center-business-common/src/main/resources/config/language/msg/msg_jp.yml b/data-center-business-common/src/main/resources/config/language/msg/msg_jp.yml index e10635e..79adb49 100644 --- a/data-center-business-common/src/main/resources/config/language/msg/msg_jp.yml +++ b/data-center-business-common/src/main/resources/config/language/msg/msg_jp.yml @@ -202,4 +202,5 @@ msgjp: roleHasBinded: 役割はユーザーにバインドされている ので、削除する前にバインドを解除してください dataMappingFormatError: データマッピング形式が不正です categoryHasExisted: カテゴリは既に存在します。 - onlyOneRefType: 複数の関連タイプをバインドすることはできません \ No newline at end of file + onlyOneRefType: 複数の関連タイプをバインドすることはできません + salesforceHasExisted: プラットフォーム上に既に存在します \ No newline at end of file diff --git a/data-center-business-controller/src/main/java/com/techsor/datacenter/business/controller/SalesforceController.java b/data-center-business-controller/src/main/java/com/techsor/datacenter/business/controller/SalesforceController.java new file mode 100644 index 0000000..73e928e --- /dev/null +++ b/data-center-business-controller/src/main/java/com/techsor/datacenter/business/controller/SalesforceController.java @@ -0,0 +1,108 @@ +package com.techsor.datacenter.business.controller; + +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import com.techsor.datacenter.business.common.exception.BusinessException; +import com.techsor.datacenter.business.common.response.PageInfo; +import com.techsor.datacenter.business.common.response.PageResponse; +import com.techsor.datacenter.business.common.response.ResponseCode; +import com.techsor.datacenter.business.common.response.SimpleDataResponse; +import com.techsor.datacenter.business.configurator.interceptor.AccessRequired; +import com.techsor.datacenter.business.dto.salesforce.SalesforceSearchParams; +import com.techsor.datacenter.business.dto.salesforce.DeleteSalesforceParams; +import com.techsor.datacenter.business.dto.salesforce.OptSalesforceParams; +import com.techsor.datacenter.business.service.SalesforceService; +import com.techsor.datacenter.business.vo.salesforce.SalesforcePageVO; + +import java.util.List; + + +/** + * + * @author jwy-style + * + */ +@RestController +@AccessRequired +@RequestMapping("/salesforce") +@Tag(name = "SalesforceController",description = "Salesforce manage") +@SuppressWarnings("unchecked") +public class SalesforceController { + + private static final Logger logger = LoggerFactory.getLogger(SalesforceController.class); + + @Autowired + private SalesforceService salesforceService; + + @Operation(summary = "Add Salesforce") + @RequestMapping(value = "/add", method = RequestMethod.POST) + public SimpleDataResponse add( + @RequestBody OptSalesforceParams optSalesforceParams, + @Parameter(name = "LoginName", description = "Login name", required = true, schema = @Schema(defaultValue = "admin")) @RequestHeader(required = true) String LoginName, + @Parameter(name = "AccessToken", description = "Authentication token", required = true) @RequestHeader(required = true) String AccessToken, + @Parameter(name = "UserId", description = "User ID", required = true, schema = @Schema(defaultValue = "1")) @RequestHeader(required = true) Long UserId, + @Parameter(name = "CompanyId", description = "User's company ID", required = false, schema = @Schema(defaultValue = "1")) @RequestHeader(required = false) Long CompanyId, + @Parameter(name = "LanguageType", description = "Language type 0: Chinese 1: English 2: Japanese", required = true, schema = @Schema(defaultValue = "2")) @RequestHeader(required = true) Integer LanguageType) { + return salesforceService.add(optSalesforceParams, UserId, CompanyId, LanguageType); + } + + @Operation(summary = "Edit Salesforce") + @RequestMapping(value = "/edit", method = RequestMethod.POST) + public SimpleDataResponse edit( + @RequestBody OptSalesforceParams optSalesforceParams, + @Parameter(name = "LoginName", description = "Login name", required = true, schema = @Schema(defaultValue = "admin")) @RequestHeader(required = true) String LoginName, + @Parameter(name = "AccessToken", description = "Authentication token", required = true) @RequestHeader(required = true) String AccessToken, + @Parameter(name = "UserId", description = "User ID", required = true, schema = @Schema(defaultValue = "1")) @RequestHeader(required = true) Long UserId, + @Parameter(name = "CompanyId", description = "User's company ID", required = false, schema = @Schema(defaultValue = "1")) @RequestHeader(required = false) Long CompanyId, + @Parameter(name = "LanguageType", description = "Language type 0: Chinese 1: English 2: Japanese", required = true, schema = @Schema(defaultValue = "2")) @RequestHeader(required = true) Integer LanguageType) { + return salesforceService.edit(optSalesforceParams, UserId, CompanyId, LanguageType); + } + + @Operation(summary = "Delete Salesforces in Batch") + @RequestMapping(value = "/batchDelete", method = RequestMethod.POST) + public SimpleDataResponse batchDelete( + @RequestBody DeleteSalesforceParams deleteSalesforceParams, + @Parameter(name = "LoginName", description = "Login name", required = true, schema = @Schema(defaultValue = "admin")) @RequestHeader(required = true) String LoginName, + @Parameter(name = "AccessToken", description = "Authentication token", required = true) @RequestHeader(required = true) String AccessToken, + @Parameter(name = "UserId", description = "User ID", required = true, schema = @Schema(defaultValue = "1")) @RequestHeader(required = true) Long UserId, + @Parameter(name = "CompanyId", description = "User's company ID", required = false, schema = @Schema(defaultValue = "1")) @RequestHeader(required = false) Long CompanyId, + @Parameter(name = "LanguageType", description = "Language type 0: Chinese 1: English 2: Japanese", required = true, schema = @Schema(defaultValue = "2")) @RequestHeader(required = true) Integer LanguageType) { + return salesforceService.batchDelete(deleteSalesforceParams, UserId, CompanyId, LanguageType); + } + + + @Operation(summary = "Get Salesforce List") + @RequestMapping(value = "/getListPage", method = RequestMethod.GET) + public PageResponse> getListPage( + @Parameter(name = "LoginName", description = "Login name", required = true, schema = @Schema(defaultValue = "admin")) @RequestHeader(required = true) String LoginName, + @Parameter(name = "AccessToken", description = "Authentication token", required = true) @RequestHeader(required = true) String AccessToken, + @Parameter(name = "UserId", description = "User ID", required = true, schema = @Schema(defaultValue = "1")) @RequestHeader(required = true) Long UserId, + @Parameter(name = "CompanyId", description = "User's company ID", required = false, schema = @Schema(defaultValue = "1")) @RequestHeader(required = false) Long CompanyId, + @Parameter(name = "LanguageType", description = "Language type 0: Chinese 1: English 2: Japanese", required = true, schema = @Schema(defaultValue = "2")) @RequestHeader(required = true) Integer LanguageType, + @Parameter(name = "UTCOffset", description = "Time difference in minutes from UTC, e.g., East 8 is -480", required = true, schema = @Schema(defaultValue = "-480")) @RequestHeader(required = true) Integer UTCOffset, + SalesforceSearchParams pageSearchParam) throws BusinessException { + + pageSearchParam.setUserId(UserId); + + PageResponse> pageResponse = new PageResponse<>(); + try { + pageResponse.setData(salesforceService.getListPage(pageSearchParam, CompanyId, UserId, LanguageType, UTCOffset)); + pageResponse.setCode(ResponseCode.SUCCESS); + pageResponse.setMsg("success"); + } catch (Exception e) { + logger.error("Error querying list", e); + pageResponse.setCode(ResponseCode.SERVER_ERROR); + pageResponse.setMsg("service error"); + } + return pageResponse; + } + +} diff --git a/data-center-business-controller/src/main/resources/db/migration/V74__sales.sql b/data-center-business-controller/src/main/resources/db/migration/V74__sales.sql new file mode 100644 index 0000000..1e34b1b --- /dev/null +++ b/data-center-business-controller/src/main/resources/db/migration/V74__sales.sql @@ -0,0 +1,27 @@ + + +CREATE TABLE `basic_salesforce` ( + `id` bigint NOT NULL AUTO_INCREMENT, + `company_id` bigint DEFAULT NULL, + `salesforce_id` VARCHAR(255), + `remark` varchar(1000) COMMENT '备注', + `flag` int NOT NULL DEFAULT '0' COMMENT '0-正常,1-删除', + `create_time` bigint DEFAULT NULL, + `creator_id` bigint DEFAULT NULL, + `modify_time` bigint DEFAULT NULL, + `modifier_id` bigint DEFAULT NULL, + PRIMARY KEY (`id`) USING BTREE +) ENGINE=InnoDB COMMENT='salesforce表'; + + +CREATE TABLE `salesforce_facility` ( + `salesforce_id` varchar(255) DEFAULT NULL, + `facility_id_c` varchar(255) DEFAULT NULL COMMENT '施設ID', + `name` varchar(255) DEFAULT NULL, + `owner_id` varchar(255) DEFAULT NULL, + `is_deleted` tinyint(1) DEFAULT '0', + `extra_json` json DEFAULT NULL, + `created_at` datetime DEFAULT NULL, + `updated_at` datetime DEFAULT NULL, + UNIQUE KEY `salesforce_id` (`salesforce_id`) +) ENGINE=InnoDB COMMENT='salesforce同步信息'; diff --git a/data-center-business-dao/src/main/java/com/techsor/datacenter/business/dao/auto/BasicSalesforceMapper.java b/data-center-business-dao/src/main/java/com/techsor/datacenter/business/dao/auto/BasicSalesforceMapper.java new file mode 100644 index 0000000..c9369d1 --- /dev/null +++ b/data-center-business-dao/src/main/java/com/techsor/datacenter/business/dao/auto/BasicSalesforceMapper.java @@ -0,0 +1,96 @@ +package com.techsor.datacenter.business.dao.auto; + +import com.techsor.datacenter.business.model.BasicSalesforce; +import com.techsor.datacenter.business.model.BasicSalesforceExample; +import java.util.List; +import org.apache.ibatis.annotations.Param; + +public interface BasicSalesforceMapper { + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table basic_salesforce + * + * @mbg.generated + */ + long countByExample(BasicSalesforceExample example); + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table basic_salesforce + * + * @mbg.generated + */ + int deleteByExample(BasicSalesforceExample example); + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table basic_salesforce + * + * @mbg.generated + */ + int deleteByPrimaryKey(Long id); + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table basic_salesforce + * + * @mbg.generated + */ + int insert(BasicSalesforce record); + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table basic_salesforce + * + * @mbg.generated + */ + int insertSelective(BasicSalesforce record); + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table basic_salesforce + * + * @mbg.generated + */ + List selectByExample(BasicSalesforceExample example); + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table basic_salesforce + * + * @mbg.generated + */ + BasicSalesforce selectByPrimaryKey(Long id); + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table basic_salesforce + * + * @mbg.generated + */ + int updateByExampleSelective(@Param("record") BasicSalesforce record, @Param("example") BasicSalesforceExample example); + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table basic_salesforce + * + * @mbg.generated + */ + int updateByExample(@Param("record") BasicSalesforce record, @Param("example") BasicSalesforceExample example); + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table basic_salesforce + * + * @mbg.generated + */ + int updateByPrimaryKeySelective(BasicSalesforce record); + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table basic_salesforce + * + * @mbg.generated + */ + int updateByPrimaryKey(BasicSalesforce record); +} \ No newline at end of file diff --git a/data-center-business-dao/src/main/java/com/techsor/datacenter/business/dao/ex/BasicSalesforceMapperExt.java b/data-center-business-dao/src/main/java/com/techsor/datacenter/business/dao/ex/BasicSalesforceMapperExt.java new file mode 100644 index 0000000..a4b3ce6 --- /dev/null +++ b/data-center-business-dao/src/main/java/com/techsor/datacenter/business/dao/ex/BasicSalesforceMapperExt.java @@ -0,0 +1,18 @@ +package com.techsor.datacenter.business.dao.ex; + +import com.techsor.datacenter.business.dao.auto.BasicSalesforceMapper; +import com.techsor.datacenter.business.dto.salesforce.SalesforceSearchParams; +import com.techsor.datacenter.business.dto.salesforce.OptSalesforceParams; +import com.techsor.datacenter.business.vo.salesforce.SalesforcePageVO; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +@Mapper +public interface BasicSalesforceMapperExt extends BasicSalesforceMapper { + + int checkExist(OptSalesforceParams optSalesforceParams); + + List getListPage(SalesforceSearchParams pageSearchParam); + +} diff --git a/data-center-business-dao/src/main/resources/mappers/auto/BasicSalesforceMapper.xml b/data-center-business-dao/src/main/resources/mappers/auto/BasicSalesforceMapper.xml new file mode 100644 index 0000000..75ed960 --- /dev/null +++ b/data-center-business-dao/src/main/resources/mappers/auto/BasicSalesforceMapper.xml @@ -0,0 +1,335 @@ + + + + + + + + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + + id, company_id, salesforce_id, remark, flag, create_time, creator_id, modify_time, + modifier_id + + + + + + delete from basic_salesforce + where id = #{id,jdbcType=BIGINT} + + + + delete from basic_salesforce + + + + + + + + SELECT LAST_INSERT_ID() + + insert into basic_salesforce (company_id, salesforce_id, remark, + flag, create_time, creator_id, + modify_time, modifier_id) + values (#{companyId,jdbcType=BIGINT}, #{salesforceId,jdbcType=VARCHAR}, #{remark,jdbcType=VARCHAR}, + #{flag,jdbcType=INTEGER}, #{createTime,jdbcType=BIGINT}, #{creatorId,jdbcType=BIGINT}, + #{modifyTime,jdbcType=BIGINT}, #{modifierId,jdbcType=BIGINT}) + + + + + SELECT LAST_INSERT_ID() + + insert into basic_salesforce + + + company_id, + + + salesforce_id, + + + remark, + + + flag, + + + create_time, + + + creator_id, + + + modify_time, + + + modifier_id, + + + + + #{companyId,jdbcType=BIGINT}, + + + #{salesforceId,jdbcType=VARCHAR}, + + + #{remark,jdbcType=VARCHAR}, + + + #{flag,jdbcType=INTEGER}, + + + #{createTime,jdbcType=BIGINT}, + + + #{creatorId,jdbcType=BIGINT}, + + + #{modifyTime,jdbcType=BIGINT}, + + + #{modifierId,jdbcType=BIGINT}, + + + + + + + update basic_salesforce + + + id = #{record.id,jdbcType=BIGINT}, + + + company_id = #{record.companyId,jdbcType=BIGINT}, + + + salesforce_id = #{record.salesforceId,jdbcType=VARCHAR}, + + + remark = #{record.remark,jdbcType=VARCHAR}, + + + flag = #{record.flag,jdbcType=INTEGER}, + + + create_time = #{record.createTime,jdbcType=BIGINT}, + + + creator_id = #{record.creatorId,jdbcType=BIGINT}, + + + modify_time = #{record.modifyTime,jdbcType=BIGINT}, + + + modifier_id = #{record.modifierId,jdbcType=BIGINT}, + + + + + + + + + update basic_salesforce + set id = #{record.id,jdbcType=BIGINT}, + company_id = #{record.companyId,jdbcType=BIGINT}, + salesforce_id = #{record.salesforceId,jdbcType=VARCHAR}, + remark = #{record.remark,jdbcType=VARCHAR}, + flag = #{record.flag,jdbcType=INTEGER}, + create_time = #{record.createTime,jdbcType=BIGINT}, + creator_id = #{record.creatorId,jdbcType=BIGINT}, + modify_time = #{record.modifyTime,jdbcType=BIGINT}, + modifier_id = #{record.modifierId,jdbcType=BIGINT} + + + + + + + update basic_salesforce + + + company_id = #{companyId,jdbcType=BIGINT}, + + + salesforce_id = #{salesforceId,jdbcType=VARCHAR}, + + + remark = #{remark,jdbcType=VARCHAR}, + + + flag = #{flag,jdbcType=INTEGER}, + + + create_time = #{createTime,jdbcType=BIGINT}, + + + creator_id = #{creatorId,jdbcType=BIGINT}, + + + modify_time = #{modifyTime,jdbcType=BIGINT}, + + + modifier_id = #{modifierId,jdbcType=BIGINT}, + + + where id = #{id,jdbcType=BIGINT} + + + + update basic_salesforce + set company_id = #{companyId,jdbcType=BIGINT}, + salesforce_id = #{salesforceId,jdbcType=VARCHAR}, + remark = #{remark,jdbcType=VARCHAR}, + flag = #{flag,jdbcType=INTEGER}, + create_time = #{createTime,jdbcType=BIGINT}, + creator_id = #{creatorId,jdbcType=BIGINT}, + modify_time = #{modifyTime,jdbcType=BIGINT}, + modifier_id = #{modifierId,jdbcType=BIGINT} + where id = #{id,jdbcType=BIGINT} + + \ No newline at end of file diff --git a/data-center-business-dao/src/main/resources/mappers/ex/BasicSalesforceMapperExt.xml b/data-center-business-dao/src/main/resources/mappers/ex/BasicSalesforceMapperExt.xml new file mode 100644 index 0000000..300b724 --- /dev/null +++ b/data-center-business-dao/src/main/resources/mappers/ex/BasicSalesforceMapperExt.xml @@ -0,0 +1,45 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/data-center-business-dao/src/main/resources/mybatis-generator/generatorConfig.xml b/data-center-business-dao/src/main/resources/mybatis-generator/generatorConfig.xml index c473727..81de56d 100644 --- a/data-center-business-dao/src/main/resources/mybatis-generator/generatorConfig.xml +++ b/data-center-business-dao/src/main/resources/mybatis-generator/generatorConfig.xml @@ -293,5 +293,10 @@ + + + + +
\ No newline at end of file diff --git a/data-center-business-model/src/main/java/com/techsor/datacenter/business/dto/salesforce/DeleteSalesforceParams.java b/data-center-business-model/src/main/java/com/techsor/datacenter/business/dto/salesforce/DeleteSalesforceParams.java new file mode 100644 index 0000000..ed94fff --- /dev/null +++ b/data-center-business-model/src/main/java/com/techsor/datacenter/business/dto/salesforce/DeleteSalesforceParams.java @@ -0,0 +1,16 @@ +package com.techsor.datacenter.business.dto.salesforce; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +/** +* @author Mr.Jiang +* @time 2022年7月21日 下午8:50:31 +*/ +@Data +public class DeleteSalesforceParams{ + + @Schema(description = "Salesforce IDs, multiple IDs separated by comma", example = "2738967,587") + private String ids; + +} diff --git a/data-center-business-model/src/main/java/com/techsor/datacenter/business/dto/salesforce/OptSalesforceParams.java b/data-center-business-model/src/main/java/com/techsor/datacenter/business/dto/salesforce/OptSalesforceParams.java new file mode 100644 index 0000000..71227fd --- /dev/null +++ b/data-center-business-model/src/main/java/com/techsor/datacenter/business/dto/salesforce/OptSalesforceParams.java @@ -0,0 +1,26 @@ +package com.techsor.datacenter.business.dto.salesforce; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +/** +* @author Mr.Jiang +* @time 2022年7月21日 下午8:50:31 +*/ +@Data +public class OptSalesforceParams{ + + @Schema(description = "unique identifier ID, not required for new entries", example = "2738967") + private Long id; + + @Schema(description = "Company ID", example = "2738967", hidden = true) + private Long companyId; + + @Schema(description = "Salesforce id", example = "testSalesforce1", required = true) + private String salesforceId; + + @Schema(description = "备注", example = "user1", required = true) + private String remark; + + +} diff --git a/data-center-business-model/src/main/java/com/techsor/datacenter/business/dto/salesforce/SalesforceSearchParams.java b/data-center-business-model/src/main/java/com/techsor/datacenter/business/dto/salesforce/SalesforceSearchParams.java new file mode 100644 index 0000000..60cbc14 --- /dev/null +++ b/data-center-business-model/src/main/java/com/techsor/datacenter/business/dto/salesforce/SalesforceSearchParams.java @@ -0,0 +1,27 @@ +package com.techsor.datacenter.business.dto.salesforce; + +import com.techsor.datacenter.business.dto.BaseSearchParams; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.util.List; + +/** +* @author Mr.Jiang +* @time 2022年7月21日 下午8:50:31 +*/ +@Data +public class SalesforceSearchParams extends BaseSearchParams{ + + + @Schema(description = "Salesforce id", example = "testSalesforce1", required = true) + private String salesforceId; + + @Schema(description = "Salesforce IDs, multiple IDs separated by comma", example = "1,47") + private String ids; + + @Schema(description = "Salesforce IDs", hidden = true) + private List idList; + + +} diff --git a/data-center-business-model/src/main/java/com/techsor/datacenter/business/model/BasicSalesforce.java b/data-center-business-model/src/main/java/com/techsor/datacenter/business/model/BasicSalesforce.java new file mode 100644 index 0000000..72865f7 --- /dev/null +++ b/data-center-business-model/src/main/java/com/techsor/datacenter/business/model/BasicSalesforce.java @@ -0,0 +1,336 @@ +package com.techsor.datacenter.business.model; + +import java.io.Serializable; + +public class BasicSalesforce implements Serializable { + /** + * + * This field was generated by MyBatis Generator. + * This field corresponds to the database column basic_salesforce.id + * + * @mbg.generated + */ + private Long id; + + /** + * + * This field was generated by MyBatis Generator. + * This field corresponds to the database column basic_salesforce.company_id + * + * @mbg.generated + */ + private Long companyId; + + /** + * + * This field was generated by MyBatis Generator. + * This field corresponds to the database column basic_salesforce.salesforce_id + * + * @mbg.generated + */ + private String salesforceId; + + /** + * + * This field was generated by MyBatis Generator. + * This field corresponds to the database column basic_salesforce.remark + * + * @mbg.generated + */ + private String remark; + + /** + * + * This field was generated by MyBatis Generator. + * This field corresponds to the database column basic_salesforce.flag + * + * @mbg.generated + */ + private Integer flag; + + /** + * + * This field was generated by MyBatis Generator. + * This field corresponds to the database column basic_salesforce.create_time + * + * @mbg.generated + */ + private Long createTime; + + /** + * + * This field was generated by MyBatis Generator. + * This field corresponds to the database column basic_salesforce.creator_id + * + * @mbg.generated + */ + private Long creatorId; + + /** + * + * This field was generated by MyBatis Generator. + * This field corresponds to the database column basic_salesforce.modify_time + * + * @mbg.generated + */ + private Long modifyTime; + + /** + * + * This field was generated by MyBatis Generator. + * This field corresponds to the database column basic_salesforce.modifier_id + * + * @mbg.generated + */ + private Long modifierId; + + /** + * This field was generated by MyBatis Generator. + * This field corresponds to the database table basic_salesforce + * + * @mbg.generated + */ + private static final long serialVersionUID = 1L; + + /** + * This method was generated by MyBatis Generator. + * This method returns the value of the database column basic_salesforce.id + * + * @return the value of basic_salesforce.id + * + * @mbg.generated + */ + public Long getId() { + return id; + } + + /** + * This method was generated by MyBatis Generator. + * This method sets the value of the database column basic_salesforce.id + * + * @param id the value for basic_salesforce.id + * + * @mbg.generated + */ + public void setId(Long id) { + this.id = id; + } + + /** + * This method was generated by MyBatis Generator. + * This method returns the value of the database column basic_salesforce.company_id + * + * @return the value of basic_salesforce.company_id + * + * @mbg.generated + */ + public Long getCompanyId() { + return companyId; + } + + /** + * This method was generated by MyBatis Generator. + * This method sets the value of the database column basic_salesforce.company_id + * + * @param companyId the value for basic_salesforce.company_id + * + * @mbg.generated + */ + public void setCompanyId(Long companyId) { + this.companyId = companyId; + } + + /** + * This method was generated by MyBatis Generator. + * This method returns the value of the database column basic_salesforce.salesforce_id + * + * @return the value of basic_salesforce.salesforce_id + * + * @mbg.generated + */ + public String getSalesforceId() { + return salesforceId; + } + + /** + * This method was generated by MyBatis Generator. + * This method sets the value of the database column basic_salesforce.salesforce_id + * + * @param salesforceId the value for basic_salesforce.salesforce_id + * + * @mbg.generated + */ + public void setSalesforceId(String salesforceId) { + this.salesforceId = salesforceId == null ? null : salesforceId.trim(); + } + + /** + * This method was generated by MyBatis Generator. + * This method returns the value of the database column basic_salesforce.remark + * + * @return the value of basic_salesforce.remark + * + * @mbg.generated + */ + public String getRemark() { + return remark; + } + + /** + * This method was generated by MyBatis Generator. + * This method sets the value of the database column basic_salesforce.remark + * + * @param remark the value for basic_salesforce.remark + * + * @mbg.generated + */ + public void setRemark(String remark) { + this.remark = remark == null ? null : remark.trim(); + } + + /** + * This method was generated by MyBatis Generator. + * This method returns the value of the database column basic_salesforce.flag + * + * @return the value of basic_salesforce.flag + * + * @mbg.generated + */ + public Integer getFlag() { + return flag; + } + + /** + * This method was generated by MyBatis Generator. + * This method sets the value of the database column basic_salesforce.flag + * + * @param flag the value for basic_salesforce.flag + * + * @mbg.generated + */ + public void setFlag(Integer flag) { + this.flag = flag; + } + + /** + * This method was generated by MyBatis Generator. + * This method returns the value of the database column basic_salesforce.create_time + * + * @return the value of basic_salesforce.create_time + * + * @mbg.generated + */ + public Long getCreateTime() { + return createTime; + } + + /** + * This method was generated by MyBatis Generator. + * This method sets the value of the database column basic_salesforce.create_time + * + * @param createTime the value for basic_salesforce.create_time + * + * @mbg.generated + */ + public void setCreateTime(Long createTime) { + this.createTime = createTime; + } + + /** + * This method was generated by MyBatis Generator. + * This method returns the value of the database column basic_salesforce.creator_id + * + * @return the value of basic_salesforce.creator_id + * + * @mbg.generated + */ + public Long getCreatorId() { + return creatorId; + } + + /** + * This method was generated by MyBatis Generator. + * This method sets the value of the database column basic_salesforce.creator_id + * + * @param creatorId the value for basic_salesforce.creator_id + * + * @mbg.generated + */ + public void setCreatorId(Long creatorId) { + this.creatorId = creatorId; + } + + /** + * This method was generated by MyBatis Generator. + * This method returns the value of the database column basic_salesforce.modify_time + * + * @return the value of basic_salesforce.modify_time + * + * @mbg.generated + */ + public Long getModifyTime() { + return modifyTime; + } + + /** + * This method was generated by MyBatis Generator. + * This method sets the value of the database column basic_salesforce.modify_time + * + * @param modifyTime the value for basic_salesforce.modify_time + * + * @mbg.generated + */ + public void setModifyTime(Long modifyTime) { + this.modifyTime = modifyTime; + } + + /** + * This method was generated by MyBatis Generator. + * This method returns the value of the database column basic_salesforce.modifier_id + * + * @return the value of basic_salesforce.modifier_id + * + * @mbg.generated + */ + public Long getModifierId() { + return modifierId; + } + + /** + * This method was generated by MyBatis Generator. + * This method sets the value of the database column basic_salesforce.modifier_id + * + * @param modifierId the value for basic_salesforce.modifier_id + * + * @mbg.generated + */ + public void setModifierId(Long modifierId) { + this.modifierId = modifierId; + } + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table basic_salesforce + * + * @mbg.generated + */ + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append(getClass().getSimpleName()); + sb.append(" ["); + sb.append("Hash = ").append(hashCode()); + sb.append(", id=").append(id); + sb.append(", companyId=").append(companyId); + sb.append(", salesforceId=").append(salesforceId); + sb.append(", remark=").append(remark); + sb.append(", flag=").append(flag); + sb.append(", createTime=").append(createTime); + sb.append(", creatorId=").append(creatorId); + sb.append(", modifyTime=").append(modifyTime); + sb.append(", modifierId=").append(modifierId); + sb.append(", serialVersionUID=").append(serialVersionUID); + sb.append("]"); + return sb.toString(); + } +} \ No newline at end of file diff --git a/data-center-business-model/src/main/java/com/techsor/datacenter/business/model/BasicSalesforceExample.java b/data-center-business-model/src/main/java/com/techsor/datacenter/business/model/BasicSalesforceExample.java new file mode 100644 index 0000000..dcc4453 --- /dev/null +++ b/data-center-business-model/src/main/java/com/techsor/datacenter/business/model/BasicSalesforceExample.java @@ -0,0 +1,862 @@ +package com.techsor.datacenter.business.model; + +import java.util.ArrayList; +import java.util.List; + +public class BasicSalesforceExample { + /** + * This field was generated by MyBatis Generator. + * This field corresponds to the database table basic_salesforce + * + * @mbg.generated + */ + protected String orderByClause; + + /** + * This field was generated by MyBatis Generator. + * This field corresponds to the database table basic_salesforce + * + * @mbg.generated + */ + protected boolean distinct; + + /** + * This field was generated by MyBatis Generator. + * This field corresponds to the database table basic_salesforce + * + * @mbg.generated + */ + protected List oredCriteria; + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table basic_salesforce + * + * @mbg.generated + */ + public BasicSalesforceExample() { + oredCriteria = new ArrayList(); + } + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table basic_salesforce + * + * @mbg.generated + */ + public void setOrderByClause(String orderByClause) { + this.orderByClause = orderByClause; + } + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table basic_salesforce + * + * @mbg.generated + */ + public String getOrderByClause() { + return orderByClause; + } + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table basic_salesforce + * + * @mbg.generated + */ + public void setDistinct(boolean distinct) { + this.distinct = distinct; + } + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table basic_salesforce + * + * @mbg.generated + */ + public boolean isDistinct() { + return distinct; + } + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table basic_salesforce + * + * @mbg.generated + */ + public List getOredCriteria() { + return oredCriteria; + } + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table basic_salesforce + * + * @mbg.generated + */ + public void or(Criteria criteria) { + oredCriteria.add(criteria); + } + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table basic_salesforce + * + * @mbg.generated + */ + public Criteria or() { + Criteria criteria = createCriteriaInternal(); + oredCriteria.add(criteria); + return criteria; + } + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table basic_salesforce + * + * @mbg.generated + */ + public Criteria createCriteria() { + Criteria criteria = createCriteriaInternal(); + if (oredCriteria.size() == 0) { + oredCriteria.add(criteria); + } + return criteria; + } + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table basic_salesforce + * + * @mbg.generated + */ + protected Criteria createCriteriaInternal() { + Criteria criteria = new Criteria(); + return criteria; + } + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table basic_salesforce + * + * @mbg.generated + */ + public void clear() { + oredCriteria.clear(); + orderByClause = null; + distinct = false; + } + + /** + * This class was generated by MyBatis Generator. + * This class corresponds to the database table basic_salesforce + * + * @mbg.generated + */ + protected abstract static class GeneratedCriteria { + protected List criteria; + + protected GeneratedCriteria() { + super(); + criteria = new ArrayList(); + } + + public boolean isValid() { + return criteria.size() > 0; + } + + public List getAllCriteria() { + return criteria; + } + + public List getCriteria() { + return criteria; + } + + protected void addCriterion(String condition) { + if (condition == null) { + throw new RuntimeException("Value for condition cannot be null"); + } + criteria.add(new Criterion(condition)); + } + + protected void addCriterion(String condition, Object value, String property) { + if (value == null) { + throw new RuntimeException("Value for " + property + " cannot be null"); + } + criteria.add(new Criterion(condition, value)); + } + + protected void addCriterion(String condition, Object value1, Object value2, String property) { + if (value1 == null || value2 == null) { + throw new RuntimeException("Between values for " + property + " cannot be null"); + } + criteria.add(new Criterion(condition, value1, value2)); + } + + public Criteria andIdIsNull() { + addCriterion("id is null"); + return (Criteria) this; + } + + public Criteria andIdIsNotNull() { + addCriterion("id is not null"); + return (Criteria) this; + } + + public Criteria andIdEqualTo(Long value) { + addCriterion("id =", value, "id"); + return (Criteria) this; + } + + public Criteria andIdNotEqualTo(Long value) { + addCriterion("id <>", value, "id"); + return (Criteria) this; + } + + public Criteria andIdGreaterThan(Long value) { + addCriterion("id >", value, "id"); + return (Criteria) this; + } + + public Criteria andIdGreaterThanOrEqualTo(Long value) { + addCriterion("id >=", value, "id"); + return (Criteria) this; + } + + public Criteria andIdLessThan(Long value) { + addCriterion("id <", value, "id"); + return (Criteria) this; + } + + public Criteria andIdLessThanOrEqualTo(Long value) { + addCriterion("id <=", value, "id"); + return (Criteria) this; + } + + public Criteria andIdIn(List values) { + addCriterion("id in", values, "id"); + return (Criteria) this; + } + + public Criteria andIdNotIn(List values) { + addCriterion("id not in", values, "id"); + return (Criteria) this; + } + + public Criteria andIdBetween(Long value1, Long value2) { + addCriterion("id between", value1, value2, "id"); + return (Criteria) this; + } + + public Criteria andIdNotBetween(Long value1, Long value2) { + addCriterion("id not between", value1, value2, "id"); + return (Criteria) this; + } + + public Criteria andCompanyIdIsNull() { + addCriterion("company_id is null"); + return (Criteria) this; + } + + public Criteria andCompanyIdIsNotNull() { + addCriterion("company_id is not null"); + return (Criteria) this; + } + + public Criteria andCompanyIdEqualTo(Long value) { + addCriterion("company_id =", value, "companyId"); + return (Criteria) this; + } + + public Criteria andCompanyIdNotEqualTo(Long value) { + addCriterion("company_id <>", value, "companyId"); + return (Criteria) this; + } + + public Criteria andCompanyIdGreaterThan(Long value) { + addCriterion("company_id >", value, "companyId"); + return (Criteria) this; + } + + public Criteria andCompanyIdGreaterThanOrEqualTo(Long value) { + addCriterion("company_id >=", value, "companyId"); + return (Criteria) this; + } + + public Criteria andCompanyIdLessThan(Long value) { + addCriterion("company_id <", value, "companyId"); + return (Criteria) this; + } + + public Criteria andCompanyIdLessThanOrEqualTo(Long value) { + addCriterion("company_id <=", value, "companyId"); + return (Criteria) this; + } + + public Criteria andCompanyIdIn(List values) { + addCriterion("company_id in", values, "companyId"); + return (Criteria) this; + } + + public Criteria andCompanyIdNotIn(List values) { + addCriterion("company_id not in", values, "companyId"); + return (Criteria) this; + } + + public Criteria andCompanyIdBetween(Long value1, Long value2) { + addCriterion("company_id between", value1, value2, "companyId"); + return (Criteria) this; + } + + public Criteria andCompanyIdNotBetween(Long value1, Long value2) { + addCriterion("company_id not between", value1, value2, "companyId"); + return (Criteria) this; + } + + public Criteria andSalesforceIdIsNull() { + addCriterion("salesforce_id is null"); + return (Criteria) this; + } + + public Criteria andSalesforceIdIsNotNull() { + addCriterion("salesforce_id is not null"); + return (Criteria) this; + } + + public Criteria andSalesforceIdEqualTo(String value) { + addCriterion("salesforce_id =", value, "salesforceId"); + return (Criteria) this; + } + + public Criteria andSalesforceIdNotEqualTo(String value) { + addCriterion("salesforce_id <>", value, "salesforceId"); + return (Criteria) this; + } + + public Criteria andSalesforceIdGreaterThan(String value) { + addCriterion("salesforce_id >", value, "salesforceId"); + return (Criteria) this; + } + + public Criteria andSalesforceIdGreaterThanOrEqualTo(String value) { + addCriterion("salesforce_id >=", value, "salesforceId"); + return (Criteria) this; + } + + public Criteria andSalesforceIdLessThan(String value) { + addCriterion("salesforce_id <", value, "salesforceId"); + return (Criteria) this; + } + + public Criteria andSalesforceIdLessThanOrEqualTo(String value) { + addCriterion("salesforce_id <=", value, "salesforceId"); + return (Criteria) this; + } + + public Criteria andSalesforceIdLike(String value) { + addCriterion("salesforce_id like", value, "salesforceId"); + return (Criteria) this; + } + + public Criteria andSalesforceIdNotLike(String value) { + addCriterion("salesforce_id not like", value, "salesforceId"); + return (Criteria) this; + } + + public Criteria andSalesforceIdIn(List values) { + addCriterion("salesforce_id in", values, "salesforceId"); + return (Criteria) this; + } + + public Criteria andSalesforceIdNotIn(List values) { + addCriterion("salesforce_id not in", values, "salesforceId"); + return (Criteria) this; + } + + public Criteria andSalesforceIdBetween(String value1, String value2) { + addCriterion("salesforce_id between", value1, value2, "salesforceId"); + return (Criteria) this; + } + + public Criteria andSalesforceIdNotBetween(String value1, String value2) { + addCriterion("salesforce_id not between", value1, value2, "salesforceId"); + return (Criteria) this; + } + + public Criteria andRemarkIsNull() { + addCriterion("remark is null"); + return (Criteria) this; + } + + public Criteria andRemarkIsNotNull() { + addCriterion("remark is not null"); + return (Criteria) this; + } + + public Criteria andRemarkEqualTo(String value) { + addCriterion("remark =", value, "remark"); + return (Criteria) this; + } + + public Criteria andRemarkNotEqualTo(String value) { + addCriterion("remark <>", value, "remark"); + return (Criteria) this; + } + + public Criteria andRemarkGreaterThan(String value) { + addCriterion("remark >", value, "remark"); + return (Criteria) this; + } + + public Criteria andRemarkGreaterThanOrEqualTo(String value) { + addCriterion("remark >=", value, "remark"); + return (Criteria) this; + } + + public Criteria andRemarkLessThan(String value) { + addCriterion("remark <", value, "remark"); + return (Criteria) this; + } + + public Criteria andRemarkLessThanOrEqualTo(String value) { + addCriterion("remark <=", value, "remark"); + return (Criteria) this; + } + + public Criteria andRemarkLike(String value) { + addCriterion("remark like", value, "remark"); + return (Criteria) this; + } + + public Criteria andRemarkNotLike(String value) { + addCriterion("remark not like", value, "remark"); + return (Criteria) this; + } + + public Criteria andRemarkIn(List values) { + addCriterion("remark in", values, "remark"); + return (Criteria) this; + } + + public Criteria andRemarkNotIn(List values) { + addCriterion("remark not in", values, "remark"); + return (Criteria) this; + } + + public Criteria andRemarkBetween(String value1, String value2) { + addCriterion("remark between", value1, value2, "remark"); + return (Criteria) this; + } + + public Criteria andRemarkNotBetween(String value1, String value2) { + addCriterion("remark not between", value1, value2, "remark"); + return (Criteria) this; + } + + public Criteria andFlagIsNull() { + addCriterion("flag is null"); + return (Criteria) this; + } + + public Criteria andFlagIsNotNull() { + addCriterion("flag is not null"); + return (Criteria) this; + } + + public Criteria andFlagEqualTo(Integer value) { + addCriterion("flag =", value, "flag"); + return (Criteria) this; + } + + public Criteria andFlagNotEqualTo(Integer value) { + addCriterion("flag <>", value, "flag"); + return (Criteria) this; + } + + public Criteria andFlagGreaterThan(Integer value) { + addCriterion("flag >", value, "flag"); + return (Criteria) this; + } + + public Criteria andFlagGreaterThanOrEqualTo(Integer value) { + addCriterion("flag >=", value, "flag"); + return (Criteria) this; + } + + public Criteria andFlagLessThan(Integer value) { + addCriterion("flag <", value, "flag"); + return (Criteria) this; + } + + public Criteria andFlagLessThanOrEqualTo(Integer value) { + addCriterion("flag <=", value, "flag"); + return (Criteria) this; + } + + public Criteria andFlagIn(List values) { + addCriterion("flag in", values, "flag"); + return (Criteria) this; + } + + public Criteria andFlagNotIn(List values) { + addCriterion("flag not in", values, "flag"); + return (Criteria) this; + } + + public Criteria andFlagBetween(Integer value1, Integer value2) { + addCriterion("flag between", value1, value2, "flag"); + return (Criteria) this; + } + + public Criteria andFlagNotBetween(Integer value1, Integer value2) { + addCriterion("flag not between", value1, value2, "flag"); + return (Criteria) this; + } + + public Criteria andCreateTimeIsNull() { + addCriterion("create_time is null"); + return (Criteria) this; + } + + public Criteria andCreateTimeIsNotNull() { + addCriterion("create_time is not null"); + return (Criteria) this; + } + + public Criteria andCreateTimeEqualTo(Long value) { + addCriterion("create_time =", value, "createTime"); + return (Criteria) this; + } + + public Criteria andCreateTimeNotEqualTo(Long value) { + addCriterion("create_time <>", value, "createTime"); + return (Criteria) this; + } + + public Criteria andCreateTimeGreaterThan(Long value) { + addCriterion("create_time >", value, "createTime"); + return (Criteria) this; + } + + public Criteria andCreateTimeGreaterThanOrEqualTo(Long value) { + addCriterion("create_time >=", value, "createTime"); + return (Criteria) this; + } + + public Criteria andCreateTimeLessThan(Long value) { + addCriterion("create_time <", value, "createTime"); + return (Criteria) this; + } + + public Criteria andCreateTimeLessThanOrEqualTo(Long value) { + addCriterion("create_time <=", value, "createTime"); + return (Criteria) this; + } + + public Criteria andCreateTimeIn(List values) { + addCriterion("create_time in", values, "createTime"); + return (Criteria) this; + } + + public Criteria andCreateTimeNotIn(List values) { + addCriterion("create_time not in", values, "createTime"); + return (Criteria) this; + } + + public Criteria andCreateTimeBetween(Long value1, Long value2) { + addCriterion("create_time between", value1, value2, "createTime"); + return (Criteria) this; + } + + public Criteria andCreateTimeNotBetween(Long value1, Long value2) { + addCriterion("create_time not between", value1, value2, "createTime"); + return (Criteria) this; + } + + public Criteria andCreatorIdIsNull() { + addCriterion("creator_id is null"); + return (Criteria) this; + } + + public Criteria andCreatorIdIsNotNull() { + addCriterion("creator_id is not null"); + return (Criteria) this; + } + + public Criteria andCreatorIdEqualTo(Long value) { + addCriterion("creator_id =", value, "creatorId"); + return (Criteria) this; + } + + public Criteria andCreatorIdNotEqualTo(Long value) { + addCriterion("creator_id <>", value, "creatorId"); + return (Criteria) this; + } + + public Criteria andCreatorIdGreaterThan(Long value) { + addCriterion("creator_id >", value, "creatorId"); + return (Criteria) this; + } + + public Criteria andCreatorIdGreaterThanOrEqualTo(Long value) { + addCriterion("creator_id >=", value, "creatorId"); + return (Criteria) this; + } + + public Criteria andCreatorIdLessThan(Long value) { + addCriterion("creator_id <", value, "creatorId"); + return (Criteria) this; + } + + public Criteria andCreatorIdLessThanOrEqualTo(Long value) { + addCriterion("creator_id <=", value, "creatorId"); + return (Criteria) this; + } + + public Criteria andCreatorIdIn(List values) { + addCriterion("creator_id in", values, "creatorId"); + return (Criteria) this; + } + + public Criteria andCreatorIdNotIn(List values) { + addCriterion("creator_id not in", values, "creatorId"); + return (Criteria) this; + } + + public Criteria andCreatorIdBetween(Long value1, Long value2) { + addCriterion("creator_id between", value1, value2, "creatorId"); + return (Criteria) this; + } + + public Criteria andCreatorIdNotBetween(Long value1, Long value2) { + addCriterion("creator_id not between", value1, value2, "creatorId"); + return (Criteria) this; + } + + public Criteria andModifyTimeIsNull() { + addCriterion("modify_time is null"); + return (Criteria) this; + } + + public Criteria andModifyTimeIsNotNull() { + addCriterion("modify_time is not null"); + return (Criteria) this; + } + + public Criteria andModifyTimeEqualTo(Long value) { + addCriterion("modify_time =", value, "modifyTime"); + return (Criteria) this; + } + + public Criteria andModifyTimeNotEqualTo(Long value) { + addCriterion("modify_time <>", value, "modifyTime"); + return (Criteria) this; + } + + public Criteria andModifyTimeGreaterThan(Long value) { + addCriterion("modify_time >", value, "modifyTime"); + return (Criteria) this; + } + + public Criteria andModifyTimeGreaterThanOrEqualTo(Long value) { + addCriterion("modify_time >=", value, "modifyTime"); + return (Criteria) this; + } + + public Criteria andModifyTimeLessThan(Long value) { + addCriterion("modify_time <", value, "modifyTime"); + return (Criteria) this; + } + + public Criteria andModifyTimeLessThanOrEqualTo(Long value) { + addCriterion("modify_time <=", value, "modifyTime"); + return (Criteria) this; + } + + public Criteria andModifyTimeIn(List values) { + addCriterion("modify_time in", values, "modifyTime"); + return (Criteria) this; + } + + public Criteria andModifyTimeNotIn(List values) { + addCriterion("modify_time not in", values, "modifyTime"); + return (Criteria) this; + } + + public Criteria andModifyTimeBetween(Long value1, Long value2) { + addCriterion("modify_time between", value1, value2, "modifyTime"); + return (Criteria) this; + } + + public Criteria andModifyTimeNotBetween(Long value1, Long value2) { + addCriterion("modify_time not between", value1, value2, "modifyTime"); + return (Criteria) this; + } + + public Criteria andModifierIdIsNull() { + addCriterion("modifier_id is null"); + return (Criteria) this; + } + + public Criteria andModifierIdIsNotNull() { + addCriterion("modifier_id is not null"); + return (Criteria) this; + } + + public Criteria andModifierIdEqualTo(Long value) { + addCriterion("modifier_id =", value, "modifierId"); + return (Criteria) this; + } + + public Criteria andModifierIdNotEqualTo(Long value) { + addCriterion("modifier_id <>", value, "modifierId"); + return (Criteria) this; + } + + public Criteria andModifierIdGreaterThan(Long value) { + addCriterion("modifier_id >", value, "modifierId"); + return (Criteria) this; + } + + public Criteria andModifierIdGreaterThanOrEqualTo(Long value) { + addCriterion("modifier_id >=", value, "modifierId"); + return (Criteria) this; + } + + public Criteria andModifierIdLessThan(Long value) { + addCriterion("modifier_id <", value, "modifierId"); + return (Criteria) this; + } + + public Criteria andModifierIdLessThanOrEqualTo(Long value) { + addCriterion("modifier_id <=", value, "modifierId"); + return (Criteria) this; + } + + public Criteria andModifierIdIn(List values) { + addCriterion("modifier_id in", values, "modifierId"); + return (Criteria) this; + } + + public Criteria andModifierIdNotIn(List values) { + addCriterion("modifier_id not in", values, "modifierId"); + return (Criteria) this; + } + + public Criteria andModifierIdBetween(Long value1, Long value2) { + addCriterion("modifier_id between", value1, value2, "modifierId"); + return (Criteria) this; + } + + public Criteria andModifierIdNotBetween(Long value1, Long value2) { + addCriterion("modifier_id not between", value1, value2, "modifierId"); + return (Criteria) this; + } + } + + /** + * This class was generated by MyBatis Generator. + * This class corresponds to the database table basic_salesforce + * + * @mbg.generated do_not_delete_during_merge + */ + public static class Criteria extends GeneratedCriteria { + + protected Criteria() { + super(); + } + } + + /** + * This class was generated by MyBatis Generator. + * This class corresponds to the database table basic_salesforce + * + * @mbg.generated + */ + public static class Criterion { + private String condition; + + private Object value; + + private Object secondValue; + + private boolean noValue; + + private boolean singleValue; + + private boolean betweenValue; + + private boolean listValue; + + private String typeHandler; + + public String getCondition() { + return condition; + } + + public Object getValue() { + return value; + } + + public Object getSecondValue() { + return secondValue; + } + + public boolean isNoValue() { + return noValue; + } + + public boolean isSingleValue() { + return singleValue; + } + + public boolean isBetweenValue() { + return betweenValue; + } + + public boolean isListValue() { + return listValue; + } + + public String getTypeHandler() { + return typeHandler; + } + + protected Criterion(String condition) { + super(); + this.condition = condition; + this.typeHandler = null; + this.noValue = true; + } + + protected Criterion(String condition, Object value, String typeHandler) { + super(); + this.condition = condition; + this.value = value; + this.typeHandler = typeHandler; + if (value instanceof List) { + this.listValue = true; + } else { + this.singleValue = true; + } + } + + protected Criterion(String condition, Object value) { + this(condition, value, null); + } + + protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { + super(); + this.condition = condition; + this.value = value; + this.secondValue = secondValue; + this.typeHandler = typeHandler; + this.betweenValue = true; + } + + protected Criterion(String condition, Object value, Object secondValue) { + this(condition, value, secondValue, null); + } + } +} \ No newline at end of file diff --git a/data-center-business-model/src/main/java/com/techsor/datacenter/business/vo/salesforce/SalesforcePageVO.java b/data-center-business-model/src/main/java/com/techsor/datacenter/business/vo/salesforce/SalesforcePageVO.java new file mode 100644 index 0000000..06e039f --- /dev/null +++ b/data-center-business-model/src/main/java/com/techsor/datacenter/business/vo/salesforce/SalesforcePageVO.java @@ -0,0 +1,25 @@ +package com.techsor.datacenter.business.vo.salesforce; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +/** +* @author Mr.Jiang +* @time 2022年7月21日 下午8:50:31 +*/ +@Data +public class SalesforcePageVO { + + @Schema(description = "unique identifier ID", example = "2738967") + private Long id; + + @Schema(description = "Company ID", example = "2738967", hidden = true) + private Long companyId; + + @Schema(description = "Salesforce id", example = "testSalesforce1", required = true) + private String salesforceId; + + @Schema(description = "备注", example = "user1", required = true, hidden = true) + private String remark; + +} diff --git a/data-center-business-service/src/main/java/com/techsor/datacenter/business/service/SalesforceService.java b/data-center-business-service/src/main/java/com/techsor/datacenter/business/service/SalesforceService.java new file mode 100644 index 0000000..e328055 --- /dev/null +++ b/data-center-business-service/src/main/java/com/techsor/datacenter/business/service/SalesforceService.java @@ -0,0 +1,25 @@ +package com.techsor.datacenter.business.service; + +import com.techsor.datacenter.business.common.response.PageInfo; +import com.techsor.datacenter.business.common.response.SimpleDataResponse; +import com.techsor.datacenter.business.dto.salesforce.DeleteSalesforceParams; +import com.techsor.datacenter.business.dto.salesforce.SalesforceSearchParams; +import com.techsor.datacenter.business.dto.salesforce.OptSalesforceParams; +import com.techsor.datacenter.business.vo.salesforce.SalesforcePageVO; + +/** + * + * @author jwy-style + * + */ +public interface SalesforceService { + + SimpleDataResponse add(OptSalesforceParams optSalesforceParams, Long userId, Long companyId, Integer languageType); + + SimpleDataResponse edit(OptSalesforceParams optSalesforceParams, Long userId, Long companyId, Integer languageType); + + SimpleDataResponse batchDelete(DeleteSalesforceParams deleteSalesforceParams, Long userId, Long companyId, Integer languageType); + + PageInfo getListPage(SalesforceSearchParams pageSearchParam, Long companyId, Long userId, + Integer languageType, Integer uTCOffset); +} diff --git a/data-center-business-service/src/main/java/com/techsor/datacenter/business/service/impl/SalesforceServiceImpl.java b/data-center-business-service/src/main/java/com/techsor/datacenter/business/service/impl/SalesforceServiceImpl.java new file mode 100644 index 0000000..665a4b2 --- /dev/null +++ b/data-center-business-service/src/main/java/com/techsor/datacenter/business/service/impl/SalesforceServiceImpl.java @@ -0,0 +1,323 @@ +package com.techsor.datacenter.business.service.impl; + +import com.github.pagehelper.PageHelper; +import com.google.gson.Gson; +import com.techsor.datacenter.business.common.Constants; +import com.techsor.datacenter.business.common.exception.MsgCodeException; +import com.techsor.datacenter.business.common.language.msg.MsgLanguageChange; +import com.techsor.datacenter.business.common.response.PageInfo; +import com.techsor.datacenter.business.common.response.ResponseCode; +import com.techsor.datacenter.business.common.response.SimpleDataResponse; +import com.techsor.datacenter.business.dao.ex.BasicSalesforceMapperExt; +import com.techsor.datacenter.business.dto.salesforce.DeleteSalesforceParams; +import com.techsor.datacenter.business.dto.salesforce.SalesforceSearchParams; +import com.techsor.datacenter.business.dto.salesforce.OptSalesforceParams; +import com.techsor.datacenter.business.model.BasicSalesforce; +import com.techsor.datacenter.business.model.BasicSalesforceExample; +import com.techsor.datacenter.business.service.SalesforceService; +import com.techsor.datacenter.business.service.UserOperationLogsService; +import com.techsor.datacenter.business.service.common.CommonOpt; +import com.techsor.datacenter.business.util.CommonUtil; +import com.techsor.datacenter.business.vo.salesforce.SalesforcePageVO; +import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.transaction.interceptor.TransactionAspectSupport; +import org.springframework.util.ObjectUtils; + +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * + * @author jwy-style + * + */ +@Service +public class SalesforceServiceImpl implements SalesforceService { + + private static Logger logger = LoggerFactory.getLogger(SalesforceServiceImpl.class); + + + @Autowired + private CommonOpt commonOpt; + @Autowired + private MsgLanguageChange msgLanguageChange; + @Autowired + private UserOperationLogsService userOperationLogsService; + @Autowired + private BasicSalesforceMapperExt basicSalesforceMapperExt; + + + /** + * Adds a new salesforce based on the provided parameters. + * + * @param optSalesforceParams The parameters containing salesforce details to be added. + * @param userId User ID performing the operation. + * @param companyId Company ID associated with the operation. + * @param languageType Language type for localization (not used in this method). + * @return SimpleDataResponse indicating success or failure of the operation. + */ + @Override + @Transactional + public SimpleDataResponse add(OptSalesforceParams optSalesforceParams, Long userId, Long companyId, + Integer languageType) { + try { + optSalesforceParams.setId(null); // Ensure salesforceId is null for new salesforce creation + + try { + List selfAndSubCompanyList = commonOpt.getSelfAndSubCompanyId(companyId); + + // Check company ownership to prevent unauthorized operations + if (ObjectUtils.isEmpty(optSalesforceParams.getCompanyId())) { + optSalesforceParams.setCompanyId(companyId); // Set companyId if not provided + } else { + checkCompany(optSalesforceParams, languageType, selfAndSubCompanyList); + } + + // Perform common verification operations + commonVerifyOpt(optSalesforceParams, selfAndSubCompanyList, languageType); + + } catch (MsgCodeException e) { + return new SimpleDataResponse(ResponseCode.MSG_ERROR, e.getMessage()); + } + + long currentUnix = System.currentTimeMillis(); + BasicSalesforce basicSalesforce = new BasicSalesforce(); + BeanUtils.copyProperties(optSalesforceParams, basicSalesforce); + basicSalesforce.setId(null); // Ensure salesforceId is null for new salesforce creation + basicSalesforce.setCreateTime(currentUnix); + basicSalesforce.setCreatorId(userId); + basicSalesforceMapperExt.insertSelective(basicSalesforce); + + //Record log + userOperationLogsService.recordLog(companyId,userId,"添加Salesforce:"+basicSalesforce.getSalesforceId(), + "Add Salesforce:"+basicSalesforce.getSalesforceId(), + "Salesforce追加:"+basicSalesforce.getSalesforceId(), + "Success", Constants.USER_OPERATION_LOG_TYPE_IOTCORE_LOG, + new Gson().toJson(basicSalesforce)); + + return SimpleDataResponse.success(); + } catch (Exception e) { + logger.error("Error occurred while adding salesforce", e); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); // Rollback transaction on error + return new SimpleDataResponse(ResponseCode.SERVER_ERROR, "Server error"); + } + } + + /** + * Performs common verification operations on OptSalesforceParams. + * + * @param optSalesforceParams The parameters containing salesforce details to be verified. + * @param selfAndSubCompanyList List of company IDs including self and subsidiaries. + * @param languageType Language type for localization (not used in this method). + */ + private void commonVerifyOpt(OptSalesforceParams optSalesforceParams, List selfAndSubCompanyList, + Integer languageType) { + // Validate parameters + checkParam(optSalesforceParams, languageType); + // Check for duplicate salesforces + checkExist(optSalesforceParams, languageType); + } + + /** + * Checks if the company specified in optSalesforceParams is authorized. + * + * @param optSalesforceParams The parameters containing salesforce details. + * @param languageType Language type for localization (not used in this method). + * @param selfAndSubCompanyList List of company IDs including self and subsidiaries. + * @throws MsgCodeException If the selected company is not authorized. + */ + private void checkCompany(OptSalesforceParams optSalesforceParams, Integer languageType, List selfAndSubCompanyList) { + if (!selfAndSubCompanyList.contains(optSalesforceParams.getCompanyId())) { + logger.info("Selected company is not in the authorized companies"); + throw new MsgCodeException(msgLanguageChange.getParameterMapByCode(languageType, "noOperationAuth")); + } + } + + /** + * Checks if a salesforce with the same name already exists. + * + * @param optSalesforceParams The parameters containing salesforce details. + * @param languageType Language type for localization (not used in this method). + * @throws MsgCodeException If a salesforce with the same name already exists. + */ + private void checkExist(OptSalesforceParams optSalesforceParams, Integer languageType) { + if (basicSalesforceMapperExt.checkExist(optSalesforceParams) > 0) { + throw new MsgCodeException(msgLanguageChange.getParameterMapByCode(languageType, "salesforceHasExisted")); + } + } + + /** + * Checks the validity of parameters in optSalesforceParams. + * + * @param optSalesforceParams The parameters to be validated. + * @param languageType Language type for localization (not used in this method). + * @throws MsgCodeException If salesforceName is blank or exceeds 100 characters, or if buildingId is null. + */ + private void checkParam(OptSalesforceParams optSalesforceParams, Integer languageType) { + if (StringUtils.isBlank(optSalesforceParams.getSalesforceId()) || optSalesforceParams.getSalesforceId().length() > 255) { + throw new MsgCodeException("Parameter error [salesforceId]"); + } + if (StringUtils.isNotBlank(optSalesforceParams.getRemark()) && optSalesforceParams.getRemark().length() > 1000) { + throw new MsgCodeException("Parameter error [remark]"); + } + } + + /** + * Batch deletes salesforces based on the provided salesforce IDs. + * + * @param deleteSalesforceParams The parameters containing salesforce IDs to be deleted. + * @param userId User ID of the user performing the operation. + * @param companyId Company ID of the company associated with the operation. + * @param languageType Language type for localization (not used in this method). + * @return SimpleDataResponse indicating success or failure of the operation. + */ + @Transactional + @Override + public SimpleDataResponse batchDelete(DeleteSalesforceParams deleteSalesforceParams, Long userId, Long companyId, Integer languageType) { + if (StringUtils.isBlank(deleteSalesforceParams.getIds())) { + return SimpleDataResponse.success(); + } + try { + // Convert salesforceIds string to list of Long IDs + List ids = Arrays.asList(StringUtils.split(deleteSalesforceParams.getIds(), ",")).stream() + .map(id -> CommonUtil.String2Long(id.trim())).collect(Collectors.toList()); + + // Execute deletion operation + BasicSalesforceExample basicSalesforceExample = new BasicSalesforceExample(); + BasicSalesforceExample.Criteria criteria = basicSalesforceExample.createCriteria(); + criteria.andIdIn(ids).andCompanyIdIn(commonOpt.getSelfAndSubCompanyId(companyId)); + + BasicSalesforce basicSalesforce = new BasicSalesforce(); + basicSalesforce.setFlag(1); // Set flag to mark as deleted + + basicSalesforceMapperExt.updateByExampleSelective(basicSalesforce, basicSalesforceExample); + + //Record log + List deletedList = basicSalesforceMapperExt.selectByExample(basicSalesforceExample); + StringBuilder deletedStr= new StringBuilder(); + for (BasicSalesforce item : deletedList) { + deletedStr.append(item.getSalesforceId()).append(" "); + } + userOperationLogsService.recordLog(companyId,userId,"删除Salesforce:"+deletedStr, + "Delete Salesforce:"+deletedStr, + "Salesforce削除:"+deletedStr, + "Success", + Constants.USER_OPERATION_LOG_TYPE_IOTCORE_LOG, ""); + + return SimpleDataResponse.success(); + } catch (Exception e) { + logger.error("Error deleting salesforces", e); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return new SimpleDataResponse(ResponseCode.SERVER_ERROR, "server error"); + } + } + + /** + * Edits an existing salesforce based on the provided parameters. + * + * @param optSalesforceParams The parameters containing updated salesforce details. + * @param userId User ID of the user performing the operation. + * @param companyId Company ID of the company associated with the operation. + * @param languageType Language type for localization (not used in this method). + * @return SimpleDataResponse indicating success or failure of the operation. + */ + @Transactional + @Override + public SimpleDataResponse edit(OptSalesforceParams optSalesforceParams, Long userId, Long companyId, Integer languageType) { + try { + BasicSalesforce oldBF = basicSalesforceMapperExt.selectByPrimaryKey(optSalesforceParams.getId()); + // If the salesforce does not exist (unlikely scenario), return an error response with an English message + if (ObjectUtils.isEmpty(oldBF) || 1 == oldBF.getFlag()) { + return new SimpleDataResponse(ResponseCode.MSG_ERROR, "Not found"); + } + + // Perform validation operations + try { + List selfAndSubCompanyList = commonOpt.getSelfAndSubCompanyId(companyId); + + // If the salesforce does not belong to the authorized companies + if (!selfAndSubCompanyList.contains(oldBF.getCompanyId())) { + throw new MsgCodeException(msgLanguageChange.getParameterMapByCode(languageType, "noOperationAuth")); + } + + // If optSalesforceParams does not specify companyId, set it to the original salesforce's companyId + if (ObjectUtils.isEmpty(optSalesforceParams.getCompanyId())) { + optSalesforceParams.setCompanyId(oldBF.getCompanyId()); + } + // If the specified companyId is not within the authorized companies + else if (!selfAndSubCompanyList.contains(optSalesforceParams.getCompanyId())) { + throw new MsgCodeException(msgLanguageChange.getParameterMapByCode(languageType, "noOperationAuth")); + } + + commonVerifyOpt(optSalesforceParams, selfAndSubCompanyList, languageType); + + } catch (MsgCodeException e) { + return new SimpleDataResponse(ResponseCode.MSG_ERROR, e.getMessage()); + } + + // Update salesforce details + BasicSalesforce basicSalesforce = new BasicSalesforce(); + BeanUtils.copyProperties(optSalesforceParams, basicSalesforce); + basicSalesforce.setModifierId(userId); + basicSalesforce.setModifyTime(System.currentTimeMillis()); + + BasicSalesforceExample example = new BasicSalesforceExample(); + BasicSalesforceExample.Criteria criteria = example.createCriteria(); + criteria.andIdEqualTo(optSalesforceParams.getId()); + + basicSalesforceMapperExt.updateByExampleSelective(basicSalesforce, example); + + //Record log + userOperationLogsService.recordLog(companyId,userId,"编辑Salesforce:"+basicSalesforce.getSalesforceId(), + "edit Salesforce:"+basicSalesforce.getSalesforceId(), + "Salesforce編集:"+basicSalesforce.getSalesforceId(), + "Success", Constants.USER_OPERATION_LOG_TYPE_IOTCORE_LOG, + new Gson().toJson(basicSalesforce)); + + return SimpleDataResponse.success(); + } catch (Exception e) { + logger.error("Error editing salesforce", e); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return new SimpleDataResponse(ResponseCode.SERVER_ERROR, "server error"); + } + } + + + /** + * Retrieves a paginated list of salesforces based on search parameters. + * + * @param pageSearchParam The parameters for filtering and pagination. + * @param companyId ID of the company associated with the operation. + * @param userId User ID of the user performing the operation (not used in this method). + * @param languageType Language type for localization (not used in this method). + * @param uTCOffset UTC offset (not used in this method). + * @return PageInfo containing the list of SalesforcePageVO objects matching the search criteria. + */ + @Override + public PageInfo getListPage(SalesforceSearchParams pageSearchParam, Long companyId, + Long userId, Integer languageType, Integer uTCOffset) { + //list防${}注入 + if (StringUtils.isBlank(pageSearchParam.getCompanyIds())) { + pageSearchParam.setCompanyIdList(Arrays.asList(companyId)); + } else { + pageSearchParam.setCompanyIdList(commonOpt.filterCompanyIds(companyId, pageSearchParam.getCompanyIds())); + } + if (StringUtils.isNotBlank(pageSearchParam.getIds())) { + pageSearchParam.setIdList(CommonUtil.commaStr2LongList(pageSearchParam.getIds())); + } + PageHelper.startPage(pageSearchParam.getPageNum() == null ? 1 : pageSearchParam.getPageNum(), pageSearchParam.getPageSize() == null ? 20 : pageSearchParam.getPageSize()); + List resultList = basicSalesforceMapperExt.getListPage(pageSearchParam); + + return new PageInfo<>(resultList); + } + +}