Commit 7d01e62c by guojuxing

年龄配置接口

parent 0d5bb673
......@@ -67,6 +67,11 @@ public class DataGenerationConfigDTO implements Serializable{
*/
private Date updateTime;
/**
* 会员卡ID
*/
private Long memberCardId;
public Integer getGenerationConfigId() {
return generationConfigId;
}
......@@ -166,6 +171,15 @@ public class DataGenerationConfigDTO implements Serializable{
return this;
}
public Long getMemberCardId() {
return memberCardId;
}
public DataGenerationConfigDTO setMemberCardId(Long memberCardId) {
this.memberCardId = memberCardId;
return this;
}
@Override
public String toString() {
return "DataGenerationConfigDTO{" +
......@@ -180,6 +194,7 @@ public class DataGenerationConfigDTO implements Serializable{
", status=" + status +
", createTime=" + createTime +
", updateTime=" + updateTime +
", memberCardId=" + memberCardId +
'}';
}
}
......@@ -223,12 +223,26 @@ public interface DataConfigApiService {
* @Title: listGenerationConfig

* @Description:

* @author guojuxing
* @param enterpriseId

* @param memberCardId

* @return com.gic.api.base.commons.ServiceResponse<java.util.List<com.gic.enterprise.dto.data.DataGenerationConfigDTO>>


*/
ServiceResponse<List<DataGenerationConfigDTO>> listGenerationConfig(Long memberCardId);
/**
* 查询年龄段配置信息,默认查询商户最早新建的会员卡ID的配置
* @param enterpriseId
* @return
*/
ServiceResponse<List<DataGenerationConfigDTO>> listGenerationConfig(Integer enterpriseId);
/**
* 查询所有的会员卡
* @param enterpriseId
* @return
*/
ServiceResponse<Object> listAllMemberCard(Integer enterpriseId);
/**
* 新增商户初始化年龄段配置数据
* @Title: initGenerationConfig

* @Description:
......@@ -236,6 +250,7 @@ public interface DataConfigApiService {
* @param enterpriseId

* @return com.gic.api.base.commons.ServiceResponse<java.lang.Void>


*/
@Deprecated
ServiceResponse<Void> initGenerationConfig(Integer enterpriseId);
}
package com.gic.enterprise.dao.mapper;
import com.gic.enterprise.entity.TabDataGenerationConfig;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
......@@ -57,19 +58,17 @@ public interface TabDataGenerationConfigMapper {
* @Title: deleteGenerationConfig
* @Description:
* @author taogs
* @param enterpriseId
* @param enterpriseId 自有商户ID
* @param memberCardId
* @return void
* @throws
*/
void deleteGenerationConfig(Integer enterpriseId);
void deleteGenerationConfig(@Param("enterpriseId") Integer enterpriseId, @Param("memberCardId") Long memberCardId);
/**
* listGenerationByEnterpriseId
* @Title: listGenerationByEnterpriseId
* @Description:
* @author taogs
* @param enterpriseId
* @return java.util.List<com.gic.enterprise.entity.TabDataGenerationConfig>
* @throws
* 查询配置信息
* @param memberCardId
* @return
*/
List<TabDataGenerationConfig> listGenerationByEnterpriseId(Integer enterpriseId);
List<TabDataGenerationConfig> listGenerationByMemberCardId(@Param("memberCardId") Long memberCardId);
}
\ No newline at end of file
......@@ -65,6 +65,11 @@ public class TabDataGenerationConfig {
*/
private Date updateTime;
/**
* 会员卡ID
*/
private Long memberCardId;
public Integer getGenerationConfigId() {
return generationConfigId;
}
......@@ -163,4 +168,13 @@ public class TabDataGenerationConfig {
this.updateTime = updateTime;
return this;
}
public Long getMemberCardId() {
return memberCardId;
}
public TabDataGenerationConfig setMemberCardId(Long memberCardId) {
this.memberCardId = memberCardId;
return this;
}
}
\ No newline at end of file
......@@ -27,18 +27,19 @@ public interface DataGenerationConfigService {
* @Title: deleteGenerationConfig

* @Description:

* @author guojuxing
* @param enterpriseId
* @param enterpriseId 自有商户ID
* @param memberCardId
* @return void


*/
void deleteGenerationConfig(Integer enterpriseId);
void deleteGenerationConfig(Integer enterpriseId, Long memberCardId);
/**
* 查询年龄段配置数据
* @Title: listGenerationByEnterpriseId

* @Description:

* @author guojuxing
* @param enterpriseId

* @param memberCardId

* @return java.util.List<com.gic.enterprise.entity.TabDataGenerationConfig>


*/
List<TabDataGenerationConfig> listGenerationByEnterpriseId(Integer enterpriseId);
List<TabDataGenerationConfig> listGenerationByMemberCardId(Long memberCardId);
}
......@@ -33,12 +33,12 @@ public class DataGenerationConfigServiceImpl implements DataGenerationConfigServ
}
@Override
public void deleteGenerationConfig(Integer enterpriseId) {
tabDataGenerationConfigMapper.deleteGenerationConfig(enterpriseId);
public void deleteGenerationConfig(Integer enterpriseId, Long memberCardId) {
tabDataGenerationConfigMapper.deleteGenerationConfig(enterpriseId, memberCardId);
}
@Override
public List<TabDataGenerationConfig> listGenerationByEnterpriseId(Integer enterpriseId) {
return tabDataGenerationConfigMapper.listGenerationByEnterpriseId(enterpriseId);
public List<TabDataGenerationConfig> listGenerationByMemberCardId(Long memberCardId) {
return tabDataGenerationConfigMapper.listGenerationByMemberCardId(memberCardId);
}
}
package com.gic.enterprise.service.outer.impl;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;
import com.gic.enterprise.exception.CommonException;
import com.gic.enterprise.utils.UserDetailUtils;
import com.gic.member.config.api.dto.AreaSearchDTO;
import com.gic.member.config.api.dto.ChannelAreaInfoDTO;
import com.gic.member.config.api.dto.OwnerMemberCardDTO;
import com.gic.member.config.api.enums.ChannelChangeCodeEnum;
import com.gic.member.config.api.service.MemberCardApiService;
import com.gic.member.config.api.service.UserListFieldApiService;
import com.gic.platform.member.constant.enums.CuTypeEnum;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang.StringUtils;
import org.apache.logging.log4j.LogManager;
......@@ -41,6 +50,10 @@ public class DataConfigApiServiceImpl implements DataConfigApiService {
private DataPerformanceConfigService dataPerformanceConfigService;
@Autowired
private DataGenerationConfigService dataGenerationConfigService;
@Autowired
private MemberCardApiService memberCardApiService;
@Autowired
private UserListFieldApiService userListFieldApiService;
@Override
public ServiceResponse<Void> monitorMemberCardNew(String params) {
......@@ -317,26 +330,90 @@ public class DataConfigApiServiceImpl implements DataConfigApiService {
if (CollectionUtils.isEmpty(dtoList)) {
return ServiceResponse.failure(ErrorCode.PARAMETER_ERROR.getCode(), "年龄段配置内容为空");
}
dataGenerationConfigService.deleteGenerationConfig(dtoList.get(0).getEnterpriseId());
Integer enterpriseId = dtoList.get(0).getEnterpriseId();
Long memberCardId = dtoList.get(0).getMemberCardId();
checkShareMemberCard(enterpriseId, memberCardId);
checkUpdateTime(memberCardId);
dataGenerationConfigService.deleteGenerationConfig(enterpriseId, memberCardId);
dtoList.stream()
.forEach(e -> dataGenerationConfigService.saveGenerationConfig(e));
return ServiceResponse.success();
}
@Override
public ServiceResponse<List<DataGenerationConfigDTO>> listGenerationConfig(Integer enterpriseId) {
List<TabDataGenerationConfig> list = dataGenerationConfigService.listGenerationByEnterpriseId(enterpriseId);
public ServiceResponse<List<DataGenerationConfigDTO>> listGenerationConfig(Long memberCardId) {
List<TabDataGenerationConfig> list = dataGenerationConfigService.listGenerationByMemberCardId(memberCardId);
return ServiceResponse.success(CollectionUtils.isEmpty(list) ?
EntityUtil.changeEntityListNew(DataGenerationConfigDTO.class, dataGenerationConfigService.listGenerationByEnterpriseId(-1)) :
EntityUtil.changeEntityListNew(DataGenerationConfigDTO.class, dataGenerationConfigService.listGenerationByMemberCardId(-1L)) :
EntityUtil.changeEntityListNew(DataGenerationConfigDTO.class, list));
}
@Override
public ServiceResponse<List<DataGenerationConfigDTO>> listGenerationConfig(Integer enterpriseId) {
List<ChannelAreaInfoDTO> list = listMemberCard(enterpriseId);
return listGenerationConfig(getOriginalMemberCard(list));
}
@Override
public ServiceResponse<Object> listAllMemberCard(Integer enterpriseId) {
return ServiceResponse.success(listMemberCard(enterpriseId));
}
@Override
public ServiceResponse<Void> initGenerationConfig(Integer enterpriseId) {
List<DataGenerationConfigDTO> dtoList = EntityUtil.changeEntityListNew(DataGenerationConfigDTO.class,
dataGenerationConfigService.listGenerationByEnterpriseId(-1));
dataGenerationConfigService.listGenerationByMemberCardId(-1L));
saveGenerationConfig(dtoList.stream().map(e -> e.setEnterpriseId(enterpriseId))
.map(e -> e.setGenerationConfigId(null)).collect(Collectors.toList()));
return ServiceResponse.success();
}
private void checkShareMemberCard(Integer enterpriseId, Long memberCardId) {
List<ChannelAreaInfoDTO> list = listMemberCard(enterpriseId);
if (!list.stream().anyMatch(e -> Objects.equals(e.getOwnerEntId(), e.getEnterpriseId()) && Objects.equals(memberCardId, e.getAreaId()))) {
throw new CommonException(ErrorCode.PARAMETER_ERROR.getCode(), "共享卡不能设置");
}
}
private void checkUpdateTime(Long memberCardId) {
List<TabDataGenerationConfig> list = dataGenerationConfigService.listGenerationByMemberCardId(memberCardId);
if (CollectionUtils.isNotEmpty(list)) {
//如果查询到,则查看创建时间,是否是当天,如果不是,则需要间隔30天才能update
Date createTime = list.get(0).getCreateTime();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
if (!sdf.format(new Date()).equals(sdf.format(createTime))) {
//如果不是当天
Calendar time = Calendar.getInstance();
time.setTime(createTime);
time.add(Calendar.DAY_OF_YEAR, 30);
if (sdf.format(new Date()).compareTo(sdf.format(time.getTime())) > 0) {
throw new CommonException(ErrorCode.PARAMETER_ERROR.getCode(), "30天内不能调整");
}
}
}
}
private List<ChannelAreaInfoDTO> listMemberCard(Integer enterpriseId) {
AreaSearchDTO param = new AreaSearchDTO();
param.setEnterpriseId(enterpriseId);
List<CuTypeEnum> cuTypes = new ArrayList<>();
cuTypes.add(CuTypeEnum.MCU);
param.setCuTypes(cuTypes);
ServiceResponse<List<ChannelAreaInfoDTO>> response = userListFieldApiService.queryCustomAreaInfo(param);
if (!response.isSuccess() || CollectionUtils.isEmpty(response.getResult())) {
throw new CommonException(ErrorCode.PARAMETER_ERROR.getCode(), "没有会员卡数据");
}
return response.getResult();
}
private Long getOriginalMemberCard(List<ChannelAreaInfoDTO> list) {
List<Long> memberCardIdList = list.stream().filter(e -> Objects.equals(e.getOwnerEntId(), e.getEnterpriseId()))
.mapToLong(e -> e.getAreaId()).boxed().collect(Collectors.toList());
return Collections.min(memberCardIdList);
}
}
......@@ -156,8 +156,7 @@ public class EnterpriseApiServiceImpl implements EnterpriseApiService {
dataConfigApiService.initSingleEffectConfig(enterpriseId);
//业绩指标配置默认数据
dataConfigApiService.initPerformanceConfig(enterpriseId);
//年龄段配置
dataConfigApiService.initGenerationConfig(enterpriseId);
sceneCrowdGroupApiService.initSceneCrowdGroup(enterpriseId);
//观云台字典初始化
......
......@@ -155,4 +155,7 @@
<dubbo:reference interface="com.gic.store.service.StoreWidgetApiService" id="storeWidgetApiService" timeout="6000" />
<dubbo:reference interface="com.gic.store.service.StoreAuthorizationApiService" id="storeAuthorizationApiService" timeout="6000" />
<dubbo:reference interface="com.gic.member.config.api.service.AuthorizationEnterConfApiService" id="authorizationEnterConfApiService" timeout="6000" />
<dubbo:reference interface="com.gic.member.config.api.service.MemberCardApiService" id="memberCardApiService" timeout="6000"/>
<dubbo:reference interface="com.gic.member.config.api.service.UserListFieldApiService" id="userListFieldApiService" timeout="6000"/>
</beans>
......@@ -13,10 +13,11 @@
<result column="delete_flag" jdbcType="INTEGER" property="deleteFlag" />
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
<result column="member_card_id" jdbcType="BIGINT" property="memberCardId" />
</resultMap>
<sql id="Base_Column_List">
generation_config_id, enterprise_id, age_level, first_sign, age_first_value, second_sign,
age_second_value, description, delete_flag, create_time, update_time
age_second_value, description, delete_flag, create_time, update_time, member_card_id
</sql>
<select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap">
select
......@@ -29,12 +30,13 @@
insert into tab_data_generation_config (generation_config_id, enterprise_id,
age_level, first_sign, age_first_value,
second_sign, age_second_value, description,
delete_flag, create_time, update_time
delete_flag, create_time, update_time, member_card_id
)
values (#{generationConfigId,jdbcType=INTEGER}, #{enterpriseId,jdbcType=INTEGER},
#{ageLevel,jdbcType=INTEGER}, #{firstSign,jdbcType=INTEGER}, #{ageFirstValue,jdbcType=INTEGER},
#{secondSign,jdbcType=INTEGER}, #{ageSecondValue,jdbcType=INTEGER}, #{description,jdbcType=VARCHAR},
#{deleteFlag,jdbcType=INTEGER}, #{createTime,jdbcType=TIMESTAMP}, #{updateTime,jdbcType=TIMESTAMP}
#{deleteFlag,jdbcType=INTEGER}, #{createTime,jdbcType=TIMESTAMP}, #{updateTime,jdbcType=TIMESTAMP},
#{memberCardId,jdbcType=BIGINT}
)
</insert>
<insert id="insertSelective" parameterType="com.gic.enterprise.entity.TabDataGenerationConfig">
......@@ -73,6 +75,9 @@
<if test="updateTime != null">
update_time,
</if>
<if test="memberCardId != null">
member_card_id,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="generationConfigId != null">
......@@ -108,6 +113,9 @@
<if test="updateTime != null">
#{updateTime,jdbcType=TIMESTAMP},
</if>
<if test="memberCardId != null">
#{memberCardId,jdbcType=BIGINT},
</if>
</trim>
</insert>
<update id="updateByPrimaryKeySelective" parameterType="com.gic.enterprise.entity.TabDataGenerationConfig">
......@@ -143,6 +151,9 @@
<if test="updateTime != null">
update_time = #{updateTime,jdbcType=TIMESTAMP},
</if>
<if test="memberCardId != null">
member_card_id = #{memberCardId,jdbcType=BIGINT},
</if>
</set>
where generation_config_id = #{generationConfigId,jdbcType=INTEGER}
</update>
......@@ -157,20 +168,22 @@
description = #{description,jdbcType=VARCHAR},
delete_flag = #{deleteFlag,jdbcType=INTEGER},
create_time = #{createTime,jdbcType=TIMESTAMP},
update_time = #{updateTime,jdbcType=TIMESTAMP}
update_time = #{updateTime,jdbcType=TIMESTAMP},
member_card_id = #{memberCardId,jdbcType=BIGINT}
where generation_config_id = #{generationConfigId,jdbcType=INTEGER}
</update>
<update id="deleteGenerationConfig">
update tab_data_generation_config set delete_flag = 1
where enterprise_id = #{enterpriseId}
and member_card_id = #{memberCardId}
and delete_flag = 0
</update>
<select id="listGenerationByEnterpriseId" resultMap="BaseResultMap">
<select id="listGenerationByMemberCardId" resultMap="BaseResultMap">
select <include refid="Base_Column_List"></include>
from tab_data_generation_config
where enterprise_id = #{enterpriseId}
where member_card_id = #{memberCardId}
and delete_flag = 0
order by age_level
</select>
......
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