Commit abe73a27 by guojuxing

自定义域字段-新增服务

parent 1f63619a
package com.gic.store.constant;
/**
* @author guojx
* @date 2019/7/1 9:20 AM
*/
public enum StoreFieldTextEnum {
Chinese(1, "中文"),
Number(2, "数字"),
ABC(3, "字母"),
Mark(4, "符号");
private int code;
private String message;
private StoreFieldTextEnum(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;
}
}
......@@ -36,4 +36,13 @@ public enum StoreFieldTypeEnum {
public void setMessage(String message) {
this.message = message;
}
public static StoreFieldTypeEnum getByCode(int code){
for(StoreFieldTypeEnum transactType : values()){
if (transactType.getCode() == code) {
return transactType;
}
}
return null;
}
}
......@@ -38,7 +38,7 @@ public class StoreFieldDTO implements Serializable {
/**
* 门店域id
*/
private Integer storeRegionId;
private String storeRegionId;
/**
*
......@@ -105,11 +105,11 @@ public class StoreFieldDTO implements Serializable {
this.enterpriseId = enterpriseId;
}
public Integer getStoreRegionId() {
public String getStoreRegionId() {
return storeRegionId;
}
public void setStoreRegionId(Integer storeRegionId) {
public void setStoreRegionId(String storeRegionId) {
this.storeRegionId = storeRegionId;
}
......
......@@ -45,6 +45,11 @@ public class StoreFieldSelectDTO implements Serializable {
*/
private Date updateTime;
/**
* 自定义属性字段ID
*/
private Integer storeFieldId;
public Integer getStoreFieldSelectId() {
return storeFieldSelectId;
}
......@@ -100,4 +105,12 @@ public class StoreFieldSelectDTO implements Serializable {
public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}
public Integer getStoreFieldId() {
return storeFieldId;
}
public void setStoreFieldId(Integer storeFieldId) {
this.storeFieldId = storeFieldId;
}
}
package com.gic.store.exception;
/**
* @author guojx
* @date 2019/6/28 11:16 AM
*/
public class ServiceException extends RuntimeException{
private String errorCode;
public ServiceException(String errorCode, String message) {
super(message);
this.errorCode = errorCode;
}
public String getErrorCode() {
return errorCode;
}
}
package com.gic.store.exception;
/**
* @author guojx
* @date 2019/6/28 11:17 AM
*/
public class StoreFieldException extends ServiceException{
public StoreFieldException(String errorCode, String message) {
super(errorCode, message);
}
}
package com.gic.store.service;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.store.dto.StoreFieldDTO;
/**
......@@ -13,6 +14,6 @@ public interface StoreFieldApiService {
* @param storeFieldDTO
* @return
*/
int save(StoreFieldDTO storeFieldDTO);
ServiceResponse<Integer> save(StoreFieldDTO storeFieldDTO);
}
package com.gic.store.service;
import com.gic.api.base.commons.Page;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.store.dto.StoreFieldSelectDTO;
import java.util.List;
/**
* @author zhiwj
* @date 2019/6/24
*/
public interface StoreFieldSelectApiService {
/**
* 分页查列表
* @param enterpriseId
* @param storeFieldId
* @param search 属性值或名称
* @param pageNum
* @param pageSize
* @return
*/
ServiceResponse<Page<StoreFieldSelectDTO>> listStoreFieldSelect(Integer enterpriseId, Integer storeFieldId, String search, Integer pageNum, Integer pageSize);
ServiceResponse<List<StoreFieldSelectDTO>> listStoreFieldSelect(Integer enterpriseId, Integer storeFieldId);
ServiceResponse<Integer> saveOrUpdateStoreFieldSelect(StoreFieldSelectDTO storeFieldSelectDTO);
// 排序
// ServiceResponse<> sortStoreFieldSelect
/**
* 批量删除
* @param enterpriseId 企业id 用来判断授权
* @param ids
* @return
* 新增
* @param storeFieldSelectDTO
* @return 主键ID
*/
ServiceResponse<Integer> deleteByIds(Integer enterpriseId, String ids);
ServiceResponse<Integer> save(StoreFieldSelectDTO storeFieldSelectDTO);
}
......@@ -34,7 +34,7 @@ public class TabStoreField {
/**
* 门店域id
*/
private Integer storeRegionId;
private String storeRegionId;
/**
*
......@@ -101,11 +101,11 @@ public class TabStoreField {
this.enterpriseId = enterpriseId;
}
public Integer getStoreRegionId() {
public String getStoreRegionId() {
return storeRegionId;
}
public void setStoreRegionId(Integer storeRegionId) {
public void setStoreRegionId(String storeRegionId) {
this.storeRegionId = storeRegionId;
}
......
......@@ -27,9 +27,9 @@ public class TabStoreFieldSelect {
private Integer enterpriseId;
/**
*
* 排序字段
*/
private Integer sort;
private Double sort;
/**
*
......@@ -41,6 +41,11 @@ public class TabStoreFieldSelect {
*/
private Date updateTime;
/**
* 自定义属性字段ID
*/
private Integer storeFieldId;
public Integer getStoreFieldSelectId() {
return storeFieldSelectId;
}
......@@ -73,11 +78,11 @@ public class TabStoreFieldSelect {
this.enterpriseId = enterpriseId;
}
public Integer getSort() {
public Double getSort() {
return sort;
}
public void setSort(Integer sort) {
public void setSort(Double sort) {
this.sort = sort;
}
......@@ -96,4 +101,12 @@ public class TabStoreFieldSelect {
public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}
public Integer getStoreFieldId() {
return storeFieldId;
}
public void setStoreFieldId(Integer storeFieldId) {
this.storeFieldId = storeFieldId;
}
}
\ No newline at end of file
package com.gic.store.service;
import com.gic.store.dto.StoreFieldSelectDTO;
/**
* @author guojx
* @date 2019/7/1 2:47 PM
*/
public interface StoreFieldSelectService {
/**
* 新增
* @param storeFieldSelectDTO
* @return
*/
int save(StoreFieldSelectDTO storeFieldSelectDTO);
}
package com.gic.store.service;
import com.gic.store.dto.StoreFieldDTO;
/**
* @author guojx
* @date 2019/7/1 9:12 AM
*/
public interface StoreFieldService {
/**
* 新增
* @param storeFieldDTO
* @return
*/
int save(StoreFieldDTO storeFieldDTO);
/**
*
* @param storeFieldCode
* @param enterpriseId
* @return
*/
boolean isStoreFieldCodeRepeat(String storeFieldCode, int enterpriseId);
}
package com.gic.store.service.impl;
import com.gic.commons.util.EntityUtil;
import com.gic.store.dao.mapper.TabStoreFieldSelectMapper;
import com.gic.store.dto.StoreFieldSelectDTO;
import com.gic.store.entity.TabStoreFieldSelect;
import com.gic.store.service.StoreFieldSelectService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
* @author guojx
* @date 2019/7/1 2:48 PM
*/
@Service("storeFieldSelectService")
public class StoreFieldSelectServiceImpl implements StoreFieldSelectService{
@Autowired
private TabStoreFieldSelectMapper tabStoreFieldSelectMapper;
@Override
public int save(StoreFieldSelectDTO storeFieldSelectDTO) {
return tabStoreFieldSelectMapper.insert(EntityUtil.changeEntityNew(TabStoreFieldSelect.class, storeFieldSelectDTO));
}
}
package com.gic.store.service.impl;
import com.gic.commons.util.EntityUtil;
import com.gic.store.dao.mapper.TabStoreFieldMapper;
import com.gic.store.dto.StoreFieldDTO;
import com.gic.store.entity.TabStoreField;
import com.gic.store.service.StoreFieldService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
* @author guojx
* @date 2019/7/1 9:13 AM
*/
@Service("storeFieldService")
public class StoreFieldServiceImpl implements StoreFieldService{
@Autowired
private TabStoreFieldMapper tabStoreFieldMapper;
@Override
public int save(StoreFieldDTO storeFieldDTO) {
return tabStoreFieldMapper.insert(EntityUtil.changeEntityNew(TabStoreField.class, storeFieldDTO));
}
@Override
public boolean isStoreFieldCodeRepeat(String storeFieldCode, int enterpriseId) {
return false;
}
}
package com.gic.store.service.outer;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.store.dto.StoreFieldDTO;
import com.gic.store.service.StoreFieldApiService;
import com.gic.store.service.StoreFieldService;
import com.gic.store.utils.ErrorCode;
import com.gic.store.utils.StoreFieldValidParamUtil;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
......@@ -10,8 +16,24 @@ import org.springframework.stereotype.Service;
*/
@Service("storeFieldApiService")
public class StoreFieldApiServiceImpl implements StoreFieldApiService{
@Autowired
private StoreFieldService storeFieldService;
@Override
public int save(StoreFieldDTO storeFieldDTO) {
return 0;
public ServiceResponse<Integer> save(StoreFieldDTO storeFieldDTO) {
ServiceResponse validParamResult = StoreFieldValidParamUtil.validStoreFieldDetail(storeFieldDTO.getStoreFieldType(), storeFieldDTO.getStoreFieldDetail());
if (!validParamResult.isSuccess()) {
return validParamResult;
}
if (StringUtils.isBlank(storeFieldDTO.getStoreFieldName())) {
return ServiceResponse.failure(ErrorCode.ERR_5.getCode(), "属性名称参数值错误");
}
if (storeFieldDTO.getStoreFieldType() == null) {
return ServiceResponse.failure(ErrorCode.ERR_5.getCode(), "字段类型参数值错误");
}
if (StringUtils.isBlank(storeFieldDTO.getStoreRegionId())) {
return ServiceResponse.failure(ErrorCode.ERR_5.getCode(), "所属域参数值错误");
}
return ServiceResponse.success(storeFieldService.save(storeFieldDTO));
}
}
package com.gic.store.service.outer;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.store.dto.StoreFieldSelectDTO;
import com.gic.store.service.StoreFieldSelectApiService;
import com.gic.store.service.StoreFieldSelectService;
import com.gic.store.utils.ErrorCode;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Date;
/**
* @author guojx
* @date 2019/7/1 2:52 PM
*/
@Service("storeFieldSelectApiService")
public class StoreFieldSelectApiServiceImpl implements StoreFieldSelectApiService{
@Autowired
private StoreFieldSelectService storeFieldSelectService;
@Override
public ServiceResponse<Integer> save(StoreFieldSelectDTO storeFieldSelectDTO) {
if (StringUtils.isBlank(storeFieldSelectDTO.getStoreFieldSelectName())) {
return ServiceResponse.failure(ErrorCode.ERR_5.getCode(), "属性值名称不能为空");
}
if (StringUtils.isBlank(storeFieldSelectDTO.getStoreFieldSelectCode())) {
return ServiceResponse.failure(ErrorCode.ERR_5.getCode(), "属性值code不能为空");
}
if (storeFieldSelectDTO.getStoreFieldId() == null) {
return ServiceResponse.failure(ErrorCode.ERR_5.getCode(), "自定义字段值不能为空");
}
if (storeFieldSelectDTO.getEnterpriseId() == null) {
return ServiceResponse.failure(ErrorCode.ERR_5.getCode(), "企业ID不能为空");
}
storeFieldSelectDTO.setCreateTime(new Date());
storeFieldSelectDTO.setUpdateTime(new Date());
return ServiceResponse.success(storeFieldSelectService.save(storeFieldSelectDTO));
}
}
package com.gic.store.utils;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.store.constant.StoreFieldTypeEnum;
import org.apache.commons.lang3.StringUtils;
/**
* @author guojx
* @date 2019/7/1 9:55 AM
*/
public class StoreFieldValidParamUtil {
/**
* 文本类型
*/
public final static String TEXT_TYPE = "textType";
/**
* 小数点位数
*/
public final static String FLOAT_DIGITS = "floatDigits";
/**
* 时间精度
*/
public final static String DATE_TYPe = "dateType";
/**
* 最大位数
*/
public final static String MAX_DIGITS = "maxDigits";
public final static String MIN_DIGITS = "minDigits";
/**
* 最大长度
*/
public final static String MAX_LENGTH = "maxLength";
public final static String MIN_LENGTH = "minLength";
/**
* 提示信息
*/
public final static String TIP_MESSAEG = "tipMessage";
/**
* 是否必须
*/
public final static String IS_MUST = "isMust";
/**
* 允许重复
*/
public final static String ALLOW_REPEAT = "allowRepeat";
/**
* 允许修改
*/
public final static String ALLOW_EDIT = "allowEdit";
public final static String FIELD_NAME = "storeFieldDetail";
public final static String ERROR_MESSAGE = FIELD_NAME + "参数值错误";
public static ServiceResponse validStoreFieldDetail(Integer fieldType, String json) {
StoreFieldTypeEnum typeEnum = StoreFieldTypeEnum.getByCode(fieldType);
switch (typeEnum) {
case TEXT:
return validCheckTypeParam(json);
case DATE:
return validDateTypeParam(json);
case CHECK:
return validCheckTypeParam(json);
case RADIO:
return validRadioTypeParam(json);
case REAL_NUMBER:
return validRealNumberTypeParam(json);
default:
return ServiceResponse.failure(ErrorCode.ERR_5.getCode(), "字段类型参数值错误");
}
}
public static ServiceResponse validTextTypeParam(String json) {
JSONObject fieldDetail = (JSONObject) JSON.parse(json);
if (fieldDetail.containsKey(TEXT_TYPE)) {
String textType = fieldDetail.getString(TEXT_TYPE);
if (StringUtils.isBlank(textType)) {
return ServiceResponse.failure(ErrorCode.ERR_5.getCode(), ERROR_MESSAGE);
}
} else {
return ServiceResponse.failure(ErrorCode.ERR_5.getCode(), ERROR_MESSAGE);
}
if (!fieldDetail.containsKey(MAX_LENGTH)) {
return ServiceResponse.failure(ErrorCode.ERR_5.getCode(), ERROR_MESSAGE);
}
if (!fieldDetail.containsKey(MIN_LENGTH)) {
return ServiceResponse.failure(ErrorCode.ERR_5.getCode(), ERROR_MESSAGE);
}
return validCommon(fieldDetail);
}
public static ServiceResponse validRadioTypeParam(String json) {
JSONObject fieldDetail = (JSONObject) JSON.parse(json);
return validCommon(fieldDetail);
}
public static ServiceResponse validCheckTypeParam(String json) {
JSONObject fieldDetail = (JSONObject) JSON.parse(json);
return validCommon(fieldDetail);
}
public static ServiceResponse validRealNumberTypeParam(String json) {
JSONObject fieldDetail = (JSONObject) JSON.parse(json);
if (fieldDetail.containsKey(FLOAT_DIGITS)) {
Integer floatDigits = fieldDetail.getInteger(FLOAT_DIGITS);
if (floatDigits == null) {
return ServiceResponse.failure(ErrorCode.ERR_5.getCode(), ERROR_MESSAGE);
}
} else {
return ServiceResponse.failure(ErrorCode.ERR_5.getCode(), ERROR_MESSAGE);
}
if (!fieldDetail.containsKey(MAX_DIGITS)) {
return ServiceResponse.failure(ErrorCode.ERR_5.getCode(), ERROR_MESSAGE);
}
if (!fieldDetail.containsKey(MIN_DIGITS)) {
return ServiceResponse.failure(ErrorCode.ERR_5.getCode(), ERROR_MESSAGE);
}
return validCommon(fieldDetail);
}
public static ServiceResponse validDateTypeParam(String json) {
JSONObject fieldDetail = (JSONObject) JSON.parse(json);
if (fieldDetail.containsKey(DATE_TYPe)) {
String floatDigits = fieldDetail.getString(DATE_TYPe);
if (StringUtils.isBlank(floatDigits)) {
return ServiceResponse.failure(ErrorCode.ERR_5.getCode(), ERROR_MESSAGE);
}
} else {
return ServiceResponse.failure(ErrorCode.ERR_5.getCode(), ERROR_MESSAGE);
}
return validCommon(fieldDetail);
}
private static ServiceResponse validCommon(JSONObject fieldDetail) {
if (!fieldDetail.containsKey(TIP_MESSAEG)) {
return ServiceResponse.failure(ErrorCode.ERR_5.getCode(), ERROR_MESSAGE);
}
if (!fieldDetail.containsKey(IS_MUST)) {
return ServiceResponse.failure(ErrorCode.ERR_5.getCode(), ERROR_MESSAGE);
}
if (!fieldDetail.containsKey(ALLOW_EDIT)) {
return ServiceResponse.failure(ErrorCode.ERR_5.getCode(), ERROR_MESSAGE);
}
if (!fieldDetail.containsKey(ALLOW_REPEAT)) {
return ServiceResponse.failure(ErrorCode.ERR_5.getCode(), ERROR_MESSAGE);
}
return ServiceResponse.success();
}
}
......@@ -25,5 +25,6 @@
<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" />
</beans>
......@@ -7,7 +7,7 @@
<result column="store_field_code" jdbcType="VARCHAR" property="storeFieldCode" />
<result column="store_field_type" jdbcType="INTEGER" property="storeFieldType" />
<result column="enterprise_id" jdbcType="INTEGER" property="enterpriseId" />
<result column="store_region_id" jdbcType="INTEGER" property="storeRegionId" />
<result column="store_region_id" jdbcType="VARCHAR" property="storeRegionId" />
<result column="status" jdbcType="INTEGER" property="status" />
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
......@@ -28,13 +28,13 @@
delete from tab_store_field
where store_field_id = #{storeFieldId,jdbcType=INTEGER}
</delete>
<insert id="insert" parameterType="com.gic.store.entity.TabStoreField">
<insert id="insert" parameterType="com.gic.store.entity.TabStoreField" useGeneratedKeys="true" keyProperty="storeFieldId">
insert into tab_store_field (store_field_id, store_field_name, store_field_code,
store_field_type, enterprise_id, store_region_id,
status, create_time, update_time,
store_field_detail, erp_rel_code)
values (#{storeFieldId,jdbcType=INTEGER}, #{storeFieldName,jdbcType=VARCHAR}, #{storeFieldCode,jdbcType=VARCHAR},
#{storeFieldType,jdbcType=INTEGER}, #{enterpriseId,jdbcType=INTEGER}, #{storeRegionId,jdbcType=INTEGER},
#{storeFieldType,jdbcType=INTEGER}, #{enterpriseId,jdbcType=INTEGER}, #{storeRegionId,jdbcType=VARCHAR},
#{status,jdbcType=INTEGER}, #{createTime,jdbcType=TIMESTAMP}, #{updateTime,jdbcType=TIMESTAMP},
#{storeFieldDetail,jdbcType=VARCHAR}, #{erpRelCode,jdbcType=VARCHAR})
</insert>
......@@ -92,7 +92,7 @@
#{enterpriseId,jdbcType=INTEGER},
</if>
<if test="storeRegionId != null">
#{storeRegionId,jdbcType=INTEGER},
#{storeRegionId,jdbcType=VARCHAR},
</if>
<if test="status != null">
#{status,jdbcType=INTEGER},
......@@ -127,7 +127,7 @@
enterprise_id = #{enterpriseId,jdbcType=INTEGER},
</if>
<if test="storeRegionId != null">
store_region_id = #{storeRegionId,jdbcType=INTEGER},
store_region_id = #{storeRegionId,jdbcType=VARCHAR},
</if>
<if test="status != null">
status = #{status,jdbcType=INTEGER},
......@@ -153,7 +153,7 @@
store_field_code = #{storeFieldCode,jdbcType=VARCHAR},
store_field_type = #{storeFieldType,jdbcType=INTEGER},
enterprise_id = #{enterpriseId,jdbcType=INTEGER},
store_region_id = #{storeRegionId,jdbcType=INTEGER},
store_region_id = #{storeRegionId,jdbcType=VARCHAR},
status = #{status,jdbcType=INTEGER},
create_time = #{createTime,jdbcType=TIMESTAMP},
update_time = #{updateTime,jdbcType=TIMESTAMP},
......
......@@ -6,13 +6,14 @@
<result column="store_field_select_name" jdbcType="VARCHAR" property="storeFieldSelectName" />
<result column="store_field_select_code" jdbcType="VARCHAR" property="storeFieldSelectCode" />
<result column="enterprise_id" jdbcType="INTEGER" property="enterpriseId" />
<result column="sort" jdbcType="INTEGER" property="sort" />
<result column="sort" jdbcType="DOUBLE" property="sort" />
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
<result column="store_field_id" jdbcType="INTEGER" property="storeFieldId" />
</resultMap>
<sql id="Base_Column_List">
store_field_select_id, store_field_select_name, store_field_select_code, enterprise_id,
sort, create_time, update_time
sort, create_time, update_time, store_field_id
</sql>
<select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap">
select
......@@ -24,13 +25,15 @@
delete from tab_store_field_select
where store_field_select_id = #{storeFieldSelectId,jdbcType=INTEGER}
</delete>
<insert id="insert" parameterType="com.gic.store.entity.TabStoreFieldSelect">
<insert id="insert" parameterType="com.gic.store.entity.TabStoreFieldSelect" useGeneratedKeys="true" keyProperty="storeFieldSelectId">
insert into tab_store_field_select (store_field_select_id, store_field_select_name,
store_field_select_code, enterprise_id, sort,
create_time, update_time)
create_time, update_time, store_field_id
)
values (#{storeFieldSelectId,jdbcType=INTEGER}, #{storeFieldSelectName,jdbcType=VARCHAR},
#{storeFieldSelectCode,jdbcType=VARCHAR}, #{enterpriseId,jdbcType=INTEGER}, #{sort,jdbcType=INTEGER},
#{createTime,jdbcType=TIMESTAMP}, #{updateTime,jdbcType=TIMESTAMP})
#{storeFieldSelectCode,jdbcType=VARCHAR}, #{enterpriseId,jdbcType=INTEGER}, #{sort,jdbcType=DOUBLE},
#{createTime,jdbcType=TIMESTAMP}, #{updateTime,jdbcType=TIMESTAMP}, #{storeFieldId,jdbcType=INTEGER}
)
</insert>
<insert id="insertSelective" parameterType="com.gic.store.entity.TabStoreFieldSelect">
insert into tab_store_field_select
......@@ -56,6 +59,9 @@
<if test="updateTime != null">
update_time,
</if>
<if test="storeFieldId != null">
store_field_id,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="storeFieldSelectId != null">
......@@ -71,7 +77,7 @@
#{enterpriseId,jdbcType=INTEGER},
</if>
<if test="sort != null">
#{sort,jdbcType=INTEGER},
#{sort,jdbcType=DOUBLE},
</if>
<if test="createTime != null">
#{createTime,jdbcType=TIMESTAMP},
......@@ -79,6 +85,9 @@
<if test="updateTime != null">
#{updateTime,jdbcType=TIMESTAMP},
</if>
<if test="storeFieldId != null">
#{storeFieldId,jdbcType=INTEGER},
</if>
</trim>
</insert>
<update id="updateByPrimaryKeySelective" parameterType="com.gic.store.entity.TabStoreFieldSelect">
......@@ -94,7 +103,7 @@
enterprise_id = #{enterpriseId,jdbcType=INTEGER},
</if>
<if test="sort != null">
sort = #{sort,jdbcType=INTEGER},
sort = #{sort,jdbcType=DOUBLE},
</if>
<if test="createTime != null">
create_time = #{createTime,jdbcType=TIMESTAMP},
......@@ -102,6 +111,9 @@
<if test="updateTime != null">
update_time = #{updateTime,jdbcType=TIMESTAMP},
</if>
<if test="storeFieldId != null">
store_field_id = #{storeFieldId,jdbcType=INTEGER},
</if>
</set>
where store_field_select_id = #{storeFieldSelectId,jdbcType=INTEGER}
</update>
......@@ -110,9 +122,10 @@
set store_field_select_name = #{storeFieldSelectName,jdbcType=VARCHAR},
store_field_select_code = #{storeFieldSelectCode,jdbcType=VARCHAR},
enterprise_id = #{enterpriseId,jdbcType=INTEGER},
sort = #{sort,jdbcType=INTEGER},
sort = #{sort,jdbcType=DOUBLE},
create_time = #{createTime,jdbcType=TIMESTAMP},
update_time = #{updateTime,jdbcType=TIMESTAMP}
update_time = #{updateTime,jdbcType=TIMESTAMP},
store_field_id = #{storeFieldId,jdbcType=INTEGER}
where store_field_select_id = #{storeFieldSelectId,jdbcType=INTEGER}
</update>
</mapper>
\ No newline at end of file
package com.gic.store.web.controller;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.commons.util.EntityUtil;
import com.gic.commons.webapi.reponse.RestResponse;
import com.gic.store.constant.StoreFieldTextEnum;
import com.gic.store.constant.StoreFieldTypeEnum;
import com.gic.store.constant.StoreGroupConstant;
import com.gic.store.dto.StoreFieldDTO;
import com.gic.store.dto.StoreFieldSelectDTO;
import com.gic.store.service.StoreFieldApiService;
import com.gic.store.service.StoreFieldSelectApiService;
import com.gic.store.web.qo.storefield.StoreFieldQO;
import com.gic.store.web.qo.storefield.StoreFieldSelectQO;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.HashMap;
import java.util.Map;
/**
* @author guojx
* @date 2019/6/28 2:01 PM
*/
@RestController
@RequestMapping("/store-field")
public class StoreFieldController {
private static final Logger logger = LoggerFactory.getLogger(StoreFieldController.class);
@Autowired
private StoreFieldApiService storeFieldApiService;
@Autowired
private StoreFieldSelectApiService storeFieldSelectApiService;
@RequestMapping("/list-store-field-type")
public RestResponse listStoreFieldType() {
Map<Integer, String> result = new HashMap<>(16);
for (StoreFieldTypeEnum typeEnum : StoreFieldTypeEnum.values()) {
result.put(typeEnum.getCode(), typeEnum.getMessage());
}
return RestResponse.success(result);
}
/**
* 文本类型
* @return
*/
@RequestMapping("/list-store-field-text-type")
public RestResponse listStoreFieldTextType() {
Map<Integer, String> result = new HashMap<>(16);
for (StoreFieldTextEnum typeEnum : StoreFieldTextEnum.values()) {
result.put(typeEnum.getCode(), typeEnum.getMessage());
}
return RestResponse.success(result);
}
@RequestMapping("/save")
public RestResponse save(@Validated({StoreFieldQO.SaveValidView.class}) StoreFieldQO storeFieldQO) {
String regions = storeFieldQO.getStoreRegionIds();
String[] regionArr = regions.split(",");
StringBuilder region = new StringBuilder("_");
for (String str : regionArr) {
region.append(str);
region.append("_");
}
storeFieldQO.setStoreRegionId(region.toString());
ServiceResponse result = storeFieldApiService.save(transferQoToDTO(storeFieldQO));
if (!result.isSuccess()) {
return RestResponse.failure(result.getCode(), result.getMessage());
}
return RestResponse.success(result.getResult());
}
@RequestMapping("/save-select")
public RestResponse saveFieldValue(@Validated({StoreFieldSelectQO.SaveValidView.class}) StoreFieldSelectQO storeFieldSelectQO) {
ServiceResponse result = storeFieldSelectApiService.save(transferSelectQoToDTO(storeFieldSelectQO));
if (result.isSuccess()) {
return RestResponse.failure(result.getCode(), result.getMessage());
} else {
RestResponse.success(result.getResult());
}
}
private StoreFieldDTO transferQoToDTO(StoreFieldQO storeFieldQO) {
StoreFieldDTO storeFieldDTO = EntityUtil.changeEntityNew(StoreFieldDTO.class, storeFieldQO);
storeFieldDTO.setEnterpriseId(StoreGroupConstant.TEST_ENTERPRISE_ID);
return storeFieldDTO;
}
private StoreFieldSelectDTO transferSelectQoToDTO(StoreFieldSelectQO storeFieldSelectQO) {
StoreFieldSelectDTO storeFieldDTO = EntityUtil.changeEntityNew(StoreFieldSelectDTO.class, storeFieldSelectQO);
storeFieldDTO.setEnterpriseId(StoreGroupConstant.TEST_ENTERPRISE_ID);
return storeFieldDTO;
}
}
package com.gic.store.web.qo.storefield;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;
/**
* @author guojx
* @date 2019/6/28 2:16 PM
*/
public class StoreFieldQO implements Serializable{
private static final long serialVersionUID = -5639381511903060879L;
public interface SaveValidView {
}
/**
*
*/
private Integer storeFieldId;
/**
* 属性名称
*/
@NotBlank(message = "属性名称不能为空", groups = {SaveValidView.class})
private String storeFieldName;
/**
* 属性code
*/
private String storeFieldCode;
/**
* 字段类型;1文本 2单选 3多选 4实数 5时间
*/
@NotNull(message = "字段类型不能为空", groups = {SaveValidView.class})
private Integer storeFieldType;
/**
*
*/
private Integer enterpriseId;
/**
* 门店域id
*/
private String storeRegionId;
/**
* 域多选,英文逗号隔开
*/
@NotBlank(message = "所属域不能为空", groups = {SaveValidView.class})
private String storeRegionIds;
/**
*
*/
private Integer status;
/**
*
*/
private Date createTime;
/**
*
*/
private Date updateTime;
/**
* 字段详细配置
*/
@NotBlank(message = "配置值不能为空", groups = {SaveValidView.class})
private String storeFieldDetail;
/**
* 与ERP映射的门店字段
*/
private String erpRelCode;
public Integer getStoreFieldId() {
return storeFieldId;
}
public void setStoreFieldId(Integer storeFieldId) {
this.storeFieldId = storeFieldId;
}
public String getStoreFieldName() {
return storeFieldName;
}
public void setStoreFieldName(String storeFieldName) {
this.storeFieldName = storeFieldName;
}
public String getStoreFieldCode() {
return storeFieldCode;
}
public void setStoreFieldCode(String storeFieldCode) {
this.storeFieldCode = storeFieldCode;
}
public Integer getStoreFieldType() {
return storeFieldType;
}
public void setStoreFieldType(Integer storeFieldType) {
this.storeFieldType = storeFieldType;
}
public Integer getEnterpriseId() {
return enterpriseId;
}
public void setEnterpriseId(Integer enterpriseId) {
this.enterpriseId = enterpriseId;
}
public String getStoreRegionId() {
return storeRegionId;
}
public void setStoreRegionId(String storeRegionId) {
this.storeRegionId = storeRegionId;
}
public Integer getStatus() {
return status;
}
public void setStatus(Integer status) {
this.status = status;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public Date getUpdateTime() {
return updateTime;
}
public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}
public String getStoreFieldDetail() {
return storeFieldDetail;
}
public void setStoreFieldDetail(String storeFieldDetail) {
this.storeFieldDetail = storeFieldDetail;
}
public String getErpRelCode() {
return erpRelCode;
}
public void setErpRelCode(String erpRelCode) {
this.erpRelCode = erpRelCode;
}
public String getStoreRegionIds() {
return storeRegionIds;
}
public void setStoreRegionIds(String storeRegionIds) {
this.storeRegionIds = storeRegionIds;
}
}
package com.gic.store.web.qo.storefield;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;
/**
* @author guojx
* @date 2019/7/1 3:54 PM
*/
public class StoreFieldSelectQO implements Serializable{
private static final long serialVersionUID = -6020468544326658511L;
public interface SaveValidView {
}
/**
*
*/
private Integer storeFieldSelectId;
/**
* 属性名称
*/
@NotBlank(message = "属性值名称不能为空", groups = {SaveValidView.class})
private String storeFieldSelectName;
/**
* 属性code
*/
@NotBlank(message = "属性值code不能为空", groups = {SaveValidView.class})
private String storeFieldSelectCode;
/**
*
*/
private Integer enterpriseId;
/**
*
*/
private Integer sort;
/**
*
*/
private Date createTime;
/**
*
*/
private Date updateTime;
/**
* 自定义属性字段ID
*/
@NotNull(message = "字段值不能为空", groups = {SaveValidView.class})
private Integer storeFieldId;
public Integer getStoreFieldSelectId() {
return storeFieldSelectId;
}
public void setStoreFieldSelectId(Integer storeFieldSelectId) {
this.storeFieldSelectId = storeFieldSelectId;
}
public String getStoreFieldSelectName() {
return storeFieldSelectName;
}
public void setStoreFieldSelectName(String storeFieldSelectName) {
this.storeFieldSelectName = storeFieldSelectName;
}
public String getStoreFieldSelectCode() {
return storeFieldSelectCode;
}
public void setStoreFieldSelectCode(String storeFieldSelectCode) {
this.storeFieldSelectCode = storeFieldSelectCode;
}
public Integer getEnterpriseId() {
return enterpriseId;
}
public void setEnterpriseId(Integer enterpriseId) {
this.enterpriseId = enterpriseId;
}
public Integer getSort() {
return sort;
}
public void setSort(Integer sort) {
this.sort = sort;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public Date getUpdateTime() {
return updateTime;
}
public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}
public Integer getStoreFieldId() {
return storeFieldId;
}
public void setStoreFieldId(Integer storeFieldId) {
this.storeFieldId = storeFieldId;
}
}
......@@ -22,5 +22,6 @@
<dubbo:reference interface="com.gic.store.service.StoreGroupApiService" id="storeGroupApiService" timeout="60000" retries="0"/>
<!--自定义域字段-->
<dubbo:reference interface="com.gic.store.service.StoreFieldApiService" id="storeFieldApiService" timeout="60000" retries="0"/>
<dubbo:reference interface="com.gic.store.service.StoreFieldSelectApiService" id="storeFieldSelectApiService" timeout="60000" retries="0"/>
</beans>
\ 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