Commit dfdf31e6 by guojuxing

新增企业

parent 6ed3903c
package com.gic.enterprise.constant;
/**
* @author guojx
* @date 2019/7/16 4:49 PM
*/
public enum EnterpriseStatusTypeEnum {
EFFECTIVE(1, "有效"),
INVALID(0, "无效"),
DISABLE(2, "停用");
private int code;
private String message;
private EnterpriseStatusTypeEnum(int code, String message) {
this.code = code;
this.message = message;
}
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
}
package com.gic.enterprise.dto;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;
......@@ -10,34 +12,48 @@ import java.util.Date;
public class EnterpriseDTO implements Serializable{
private static final long serialVersionUID = -2344967926907229689L;
public interface SaveEnterpriseValid {
}
public interface EditEnterpriseValid {
}
/**
* 企业主键
*/
@NotNull(message = "主键不能改为空", groups = {EditEnterpriseValid.class})
private Integer enterpriseId;
/**
* 商户名称
*/
@NotBlank(message = "商户名称不能为空", groups = {SaveEnterpriseValid.class})
private String enterpriseName;
/**
* 公司名称
*/
@NotBlank(message = "公司名称不能为空", groups = {SaveEnterpriseValid.class})
private String companyName;
/**
*
*/
@NotBlank(message = "logo不能为空", groups = {SaveEnterpriseValid.class})
private String logo;
/**
*
*/
@NotBlank(message = "区号ID不能为空", groups = {SaveEnterpriseValid.class})
private String areaId;
/**
* 详细地址
*/
@NotBlank(message = "详细地址不能为空", groups = {SaveEnterpriseValid.class})
private String address;
/**
......
......@@ -15,4 +15,12 @@ public interface EnterpriseApiService {
* @return 主键ID
*/
ServiceResponse<Integer> saveEnterprise(EnterpriseDTO enterpriseDTO);
/**
* 编辑保存
* @param enterpriseDTO
* @return
*/
ServiceResponse<Integer> editEnterprise(EnterpriseDTO enterpriseDTO);
}
package com.gic.enterprise.dao.mapper;
import com.gic.enterprise.entity.TabEnterprise;
import org.apache.ibatis.annotations.Param;
public interface TabEnterpriseMapper {
/**
......@@ -50,4 +51,13 @@ public interface TabEnterpriseMapper {
* @return 更新条目数
*/
int updateByPrimaryKey(TabEnterprise record);
/**
* 根据企业名称相同的个数
* @param enterpriseName
* @param enterpriseId
* @return
*/
int countByEnterpriseName(@Param("enterpriseName") String enterpriseName,
@Param("enterpriseId") Integer enterpriseId);
}
\ No newline at end of file
package com.gic.enterprise.service;
import com.gic.enterprise.dto.EnterpriseDTO;
import com.gic.enterprise.entity.TabEnterprise;
/**
......@@ -8,5 +9,31 @@ import com.gic.enterprise.entity.TabEnterprise;
*/
public interface EnterpriseService {
TabEnterprise saveEnterprise();
/**
* 新增商户
* @param enterpriseDTO
* @return
*/
int saveEnterprise(EnterpriseDTO enterpriseDTO);
/**
* 编辑保存
* @param enterpriseDTO
*/
void editEnterprise(EnterpriseDTO enterpriseDTO);
/**
* 根据主键获取数据
* @param enterpriseId
* @return
*/
TabEnterprise getEnterpriseById(Integer enterpriseId);
/**
* 企业名称是否重复
* @param enterpriseName
* @param enterpriseId
* @return
*/
boolean isRepeatEnterpriseName(String enterpriseName, Integer enterpriseId);
}
package com.gic.enterprise.service.impl;
import com.gic.commons.util.EntityUtil;
import com.gic.enterprise.dao.mapper.TabEnterpriseMapper;
import com.gic.enterprise.dto.EnterpriseDTO;
import com.gic.enterprise.entity.TabEnterprise;
import com.gic.enterprise.service.EnterpriseService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
......@@ -10,8 +14,33 @@ import org.springframework.stereotype.Service;
*/
@Service("enterpriseService")
public class EnterpriseServiceImpl implements EnterpriseService{
@Autowired
private TabEnterpriseMapper tabEnterpriseMapper;
@Override
public int saveEnterprise(EnterpriseDTO enterpriseDTO) {
TabEnterprise tabEnterprise = EntityUtil.changeEntityNew(TabEnterprise.class, enterpriseDTO);
tabEnterpriseMapper.insert(tabEnterprise);
return tabEnterprise.getEnterpriseId();
}
@Override
public void editEnterprise(EnterpriseDTO enterpriseDTO) {
TabEnterprise tabEnterprise = EntityUtil.changeEntityNew(TabEnterprise.class, enterpriseDTO);
tabEnterpriseMapper.updateByPrimaryKeySelective(tabEnterprise);
}
@Override
public TabEnterprise getEnterpriseById(Integer enterpriseId) {
return tabEnterpriseMapper.selectByPrimaryKey(enterpriseId);
}
@Override
public TabEnterprise saveEnterprise() {
return null;
public boolean isRepeatEnterpriseName(String enterpriseName, Integer enterpriseId) {
int count = tabEnterpriseMapper.countByEnterpriseName(enterpriseName, enterpriseId);
if (count > 0) {
return true;
}
return false;
}
}
package com.gic.enterprise.service.outer;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.enterprise.constant.EnterpriseStatusTypeEnum;
import com.gic.enterprise.dto.EnterpriseDTO;
import com.gic.enterprise.entity.TabEnterprise;
import com.gic.enterprise.error.ErrorCode;
import com.gic.enterprise.service.EnterpriseApiService;
import com.gic.enterprise.service.EnterpriseService;
import com.gic.store.utils.valid.ValidUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Date;
/**
* @author guojx
* @date 2019/7/16 4:33 PM
*/
public class EnterpriseApiServiceImpl {
@Service("enterpriseApiService")
public class EnterpriseApiServiceImpl implements EnterpriseApiService {
@Autowired
private EnterpriseService enterpriseService;
@Override
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)) {
ServiceResponse.failure(ErrorCode.PARAMETER_ERROR.getCode(), "商户名称不能重复");
}
enterpriseDTO.setCreateTime(new Date());
enterpriseDTO.setUpdateTime(new Date());
enterpriseDTO.setIsInitComplete(0);
enterpriseDTO.setStatus(EnterpriseStatusTypeEnum.EFFECTIVE.getCode());
int enterpriseId = enterpriseService.saveEnterprise(enterpriseDTO);
//todo 新增商户初始化配置信息
return ServiceResponse.success(enterpriseId);
}
@Override
public ServiceResponse<Integer> editEnterprise(EnterpriseDTO enterpriseDTO) {
//valid param
ServiceResponse paramResult = ValidUtil.allCheckValidate(enterpriseDTO,
EnterpriseDTO.SaveEnterpriseValid.class, EnterpriseDTO.EditEnterpriseValid.class);
if (!paramResult.isSuccess()) {
return paramResult;
}
TabEnterprise tabEnterprise = enterpriseService.getEnterpriseById(enterpriseDTO.getEnterpriseId());
if (tabEnterprise == null) {
ServiceResponse.failure(ErrorCode.PARAMETER_ERROR.getCode(), "企业ID错误,查询不到数据");
}
if (enterpriseService.isRepeatEnterpriseName(enterpriseDTO.getEnterpriseName(), null)) {
ServiceResponse.failure(ErrorCode.PARAMETER_ERROR.getCode(), "商户名称不能重复");
}
enterpriseDTO.setUpdateTime(new Date());
enterpriseService.editEnterprise(enterpriseDTO);
return ServiceResponse.success();
}
}
......@@ -14,31 +14,8 @@
<dubbo:application name="gic-platform-enterprise-service"/>
<dubbo:protocol name="dubbo" port="20310"/>
<!--门店域-->
<dubbo:service interface="com.gic.store.service.StoreRegionApiService" ref="storeRegionApiService" timeout="60000" />
<!--门店品牌-->
<dubbo:service interface="com.gic.store.service.StoreBrandApiService" ref="storeBrandApiService" timeout="60000" />
<dubbo:service interface="com.gic.store.service.StoreDictApiService" ref="storeDictApiService" timeout="6000" />
<dubbo:reference interface="com.gic.bizdict.api.service.BizdictService" id="bizdictService " timeout="6000" retries="0"/>
<!--分组-->
<dubbo:service interface="com.gic.store.service.StoreGroupApiService" ref="storeGroupApiService" timeout="60000" />
<!--自定义域字段-->
<dubbo:service interface="com.gic.store.service.StoreFieldApiService" ref="storeFieldApiService" timeout="60000" />
<dubbo:service interface="com.gic.store.service.StoreFieldSelectApiService" ref="storeFieldSelectApiService" timeout="60000" />
<!--门店-->
<dubbo:service interface="com.gic.store.service.StoreApiService" ref="storeApiService" timeout="60000" />
<dubbo:service interface="com.gic.store.service.ProvincesApiService" ref="provincesApiService" timeout="60000" />
<!--分组策略-->
<dubbo:service interface="com.gic.store.service.StoreStrategyApiService" ref="storeStrategyApiService" timeout="60000"/>
<!--门店导入-->
<dubbo:service interface="com.gic.store.service.StoreImportApiService" ref="storeImportApiService" timeout="60000" />
<dubbo:service interface="com.gic.store.service.StoreTaskApiService" ref="storeTaskApiService" timeout="60000" />
<dubbo:service interface="com.gic.store.service.StoreStatusSettingApiService" ref="storeStatusSettingApiService" timeout="60000" />
<dubbo:reference interface="com.gic.log.api.service.LogApiService" id="logApiService" timeout="60000" />
<dubbo:service interface="com.gic.enterprise.service.EnterpriseApiService" ref="enterpriseApiService" timeout="60000" />
</beans>
......@@ -27,7 +27,7 @@
delete from tab_enterprise
where enterprise_id = #{enterpriseId,jdbcType=INTEGER}
</delete>
<insert id="insert" parameterType="com.gic.enterprise.entity.TabEnterprise">
<insert id="insert" parameterType="com.gic.enterprise.entity.TabEnterprise" useGeneratedKeys="true" keyProperty="enterpriseId">
insert into tab_enterprise (enterprise_id, enterprise_name, company_name,
logo, area_id, address,
status, create_time, update_time,
......@@ -150,4 +150,13 @@
is_init_complete = #{isInitComplete,jdbcType=INTEGER}
where enterprise_id = #{enterpriseId,jdbcType=INTEGER}
</update>
<select id="countByEnterpriseName" resultType="int">
select count(1) from tab_enterprise
where status <![CDATA[ <> ]]> 0
and enterprise_name = #{enterpriseName}
<if test="enterpriseId != null">
enterprise_id <![CDATA[ <> ]]> #{enterpriseId}
</if>
</select>
</mapper>
\ No newline at end of file
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