Commit 5ac1a5a2 by guojuxing

新建商户调整:指定商户ID

parent c2e8f92f
......@@ -9,6 +9,7 @@ import com.gic.commons.util.CollectionUtil;
import com.gic.enterprise.constant.BillingAuditStatusEnum;
import com.gic.enterprise.constant.LicenseTypeEnum;
import com.gic.enterprise.dto.market.ServeLicenseDTO;
import com.gic.enterprise.error.Error;
import com.gic.enterprise.utils.LicenseUtils;
import com.gic.marketing.process.api.service.sms.SmsSendApiService;
import com.gic.member.tag.api.service.SceneCrowdGroupApiService;
......@@ -109,19 +110,10 @@ public class EnterpriseApiServiceImpl implements EnterpriseApiService {
@Override
@Transactional(rollbackFor = Exception.class)
public ServiceResponse<Integer> saveEnterprise(EnterpriseDTO enterpriseDTO) {
//valid param
ServiceResponse paramResult = ValidUtil.allCheckValidate(enterpriseDTO,
EnterpriseDTO.SaveEnterpriseValid.class);
if (!paramResult.isSuccess()) {
return paramResult;
}
if (enterpriseService.isRepeatEnterpriseName(enterpriseDTO.getEnterpriseName(), null)) {
return ServiceResponse.failure(ErrorCode.PARAMETER_ERROR.getCode(), "商户名称不能重复");
String validParam = validParam(enterpriseDTO, true);
if (StringUtils.isNotBlank(validParam)) {
return ServiceResponse.failure(ErrorCode.PARAMETER_ERROR.getCode(), validParam);
}
if (enterpriseService.isRepeatCompanyName(enterpriseDTO.getCompanyName(), null)) {
return ServiceResponse.failure(ErrorCode.PARAMETER_ERROR.getCode(), "公司名称不能重复");
}
//新增商户信息
int enterpriseId = enterpriseService.saveEnterprise(enterpriseDTO);
......@@ -147,15 +139,7 @@ public class EnterpriseApiServiceImpl implements EnterpriseApiService {
}
} else {
LOGGER.info("新增商户-前置资源参数:{}", JSON.toJSONString(resourceList));
for (EnterpriseResourceRelDTO res : resourceList) {
enterpriseResourceRelService.deleteResource(enterpriseId, res.getResourceCode());
EnterpriseResourceRelDTO enterpriseResourceRel = new EnterpriseResourceRelDTO();
enterpriseResourceRel.setEnterpriseId(enterpriseId);
enterpriseResourceRel.setResourceCode(res.getResourceCode());
enterpriseResourceRel.setResourceName(res.getResourceName());
enterpriseResourceRel.setResourceSwitch(res.getResourceSwitch());
enterpriseResourceRelService.saveResource(enterpriseResourceRel);
}
saveBusinessResource(resourceList, enterpriseId);
}
//商户初始化配置信息生成
......@@ -204,25 +188,10 @@ public class EnterpriseApiServiceImpl implements EnterpriseApiService {
@Override
public ServiceResponse<Integer> editEnterprise(EnterpriseDTO enterpriseDTO) {
//valid param
ServiceResponse paramResult = ValidUtil.allCheckValidate(enterpriseDTO, EnterpriseDTO.BasicInfoEditValid.class,
EnterpriseDTO.EditEnterpriseValid.class);
if (!paramResult.isSuccess()) {
return paramResult;
}
//商户ID
int enterpriseId = enterpriseDTO.getEnterpriseId();
TabEnterprise tabEnterprise = enterpriseService.getEnterpriseById(enterpriseId);
if (tabEnterprise == null) {
return ServiceResponse.failure(ErrorCode.PARAMETER_ERROR.getCode(), "企业ID错误,查询不到数据");
}
if (enterpriseService.isRepeatEnterpriseName(enterpriseDTO.getEnterpriseName(), enterpriseId)) {
return ServiceResponse.failure(ErrorCode.PARAMETER_ERROR.getCode(), "商户名称不能重复");
}
if (enterpriseService.isRepeatCompanyName(enterpriseDTO.getCompanyName(), enterpriseId)) {
return ServiceResponse.failure(ErrorCode.PARAMETER_ERROR.getCode(), "公司名称不能重复");
String validParam = validParam(enterpriseDTO, false);
if (StringUtils.isNotBlank(validParam)) {
return ServiceResponse.failure(ErrorCode.PARAMETER_ERROR.getCode(), validParam);
}
enterpriseService.editEnterprise(enterpriseDTO);
return ServiceResponse.success();
}
......@@ -235,15 +204,7 @@ public class EnterpriseApiServiceImpl implements EnterpriseApiService {
}
LOGGER.info("编辑资源数据:{}", resources);
List<EnterpriseResourceRelDTO> list = JSON.parseArray(resources, EnterpriseResourceRelDTO.class);
for (EnterpriseResourceRelDTO res : list) {
enterpriseResourceRelService.deleteResource(enterpriseId, res.getResourceCode());
EnterpriseResourceRelDTO enterpriseResourceRel = new EnterpriseResourceRelDTO();
enterpriseResourceRel.setEnterpriseId(enterpriseId);
enterpriseResourceRel.setResourceCode(res.getResourceCode());
enterpriseResourceRel.setResourceName(res.getResourceName());
enterpriseResourceRel.setResourceSwitch(res.getResourceSwitch());
enterpriseResourceRelService.saveResource(enterpriseResourceRel);
}
saveBusinessResource(list, enterpriseId);
return ServiceResponse.success(tabEnterprise.getEnterpriseName());
}
......@@ -724,4 +685,63 @@ public class EnterpriseApiServiceImpl implements EnterpriseApiService {
return null;
}
/**
* 覆盖商户前置资源
* @param list
* @param enterpriseId
*/
private void saveBusinessResource(List<EnterpriseResourceRelDTO> list, Integer enterpriseId) {
for (EnterpriseResourceRelDTO res : list) {
enterpriseResourceRelService.deleteResource(enterpriseId, res.getResourceCode());
EnterpriseResourceRelDTO enterpriseResourceRel = new EnterpriseResourceRelDTO();
enterpriseResourceRel.setEnterpriseId(enterpriseId);
enterpriseResourceRel.setResourceCode(res.getResourceCode());
enterpriseResourceRel.setResourceName(res.getResourceName());
enterpriseResourceRel.setResourceSwitch(res.getResourceSwitch());
enterpriseResourceRelService.saveResource(enterpriseResourceRel);
}
}
/**
* 新增/编辑参数校验
* @param enterpriseDTO
* @param isAdd
* @return null表示正确
*/
private String validParam(EnterpriseDTO enterpriseDTO, boolean isAdd) {
Integer enterpriseId = enterpriseDTO.getEnterpriseId();
TabEnterprise tabEnterprise = enterpriseService.getEnterpriseById(enterpriseId);
ServiceResponse paramResult;
//新增情况
if (isAdd) {
//为了分库指定主键ID
if (enterpriseId == null) {
return "商户ID不能为空";
}
if (tabEnterprise != null) {
return "商户ID已存在,请更换";
}
paramResult = ValidUtil.allCheckValidate(enterpriseDTO,
EnterpriseDTO.SaveEnterpriseValid.class);
} else {
//valid param
paramResult = ValidUtil.allCheckValidate(enterpriseDTO, EnterpriseDTO.BasicInfoEditValid.class,
EnterpriseDTO.EditEnterpriseValid.class);
if (tabEnterprise == null) {
return "商户ID错误,查询不到数据";
}
}
if (!paramResult.isSuccess()) {
return paramResult.getMessage();
}
if (enterpriseService.isRepeatEnterpriseName(enterpriseDTO.getEnterpriseName(), enterpriseId)) {
return "商户名称不能重复";
}
if (enterpriseService.isRepeatCompanyName(enterpriseDTO.getCompanyName(), enterpriseId)) {
return "公司名称不能重复";
}
return null;
}
}
......@@ -40,7 +40,7 @@
#{isInitComplete,jdbcType=INTEGER}, #{auditTime,jdbcType=TIMESTAMP}, #{versionCode,jdbcType=VARCHAR},
#{versionName,jdbcType=VARCHAR}, #{serviceStatus,jdbcType=INTEGER}, #{creatorId,jdbcType=INTEGER})
</insert>
<insert id="insertSelective" parameterType="com.gic.enterprise.entity.TabEnterprise" useGeneratedKeys="true" keyProperty="enterpriseId">
<insert id="insertSelective" parameterType="com.gic.enterprise.entity.TabEnterprise">
insert into tab_enterprise
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="enterpriseId != null">
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment