Commit aecb7d8d by guojuxing

Merge remote-tracking branch 'origin/developer' into developer

parents 11b8d4bd 2281f0ce
......@@ -63,4 +63,6 @@ public interface TabStoreExtendMapper {
int countExtendByValue(@Param("storeFieldId") Integer storeFieldId, @Param("value") String value, @Param("storeExtendId") Integer storeExtendId);
void delete(@Param("enterpriseId") Integer enterpriseId, @Param("storeInfoId") Integer storeInfoId);
void insertNotRepeat(TabStoreExtend tabStoreExtend);
}
\ No newline at end of file
......@@ -73,6 +73,8 @@ public interface TabStoreMapper {
List<Integer> listStoreInfoIdByStoreIds(@Param("ids") List<Integer> ids, @Param("enterpriseId") Integer enterpriseId);
List<Integer> listStoredByStoreInfoList(@Param("ids") List<Integer> storeInfoIdList, @Param("enterpriseId") Integer enterpriseId);
List<String> listAllCityId(@Param("enterpriseId") Integer enterpriseId,
@Param("storeBrandId") Integer storeBrandId);
......
package com.gic.store.service;
import com.gic.enterprise.qo.PageQO;
import com.gic.store.dto.StoreLogDTO;
import com.gic.store.entity.TabStoreLog;
import com.github.pagehelper.Page;
......@@ -39,10 +38,10 @@ public interface StoreLogService {
*/
Page<TabStoreLog> listStoreLog(StoreLogDTO storeLogDTO, Integer currentPage, Integer pageSize);
void saveBulkStoreInfoLog(List<Integer> storeIdList, Integer enterpriseId, Integer operatorId, String operatorName, String content);
void saveBulkStoreInfoLog(List<Integer> storeInfoIdList, Integer enterpriseId, Integer operatorId, String operatorName, String content);
void saveBulkStoreStatusLog(List<Integer> storeIdList, Integer enterpriseId, Integer operatorId, String operatorName, String content);
void saveBulkStoreStatusLog(List<Integer> storeInfoIdList, Integer enterpriseId, Integer operatorId, String operatorName, String content);
void saveBulkStoreGroupLog(List<Integer> storeIdList, Integer enterpriseId, Integer operatorId, String operatorName, String content);
void saveBulkStoreGroupLog(List<Integer> storeInfoIdList, Integer enterpriseId, Integer operatorId, String operatorName, String content);
}
\ No newline at end of file
......@@ -118,7 +118,8 @@ public interface StoreService {
String listStoreInfoIdByStoreIds(String storeIds, Integer enterpriseId);
List<Integer> listStoredByStoreInfoList(List<Integer> storeInfoIdList, Integer enterpriseId);
/** @Description: 查询企业下所有城市id,门店数量从多到少排序
* @author taogs
* @Date 17:39 2019/12/4
......
......@@ -13,7 +13,6 @@ import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Collections;
import java.util.Date;
......@@ -33,7 +32,6 @@ public class StoreExtendServiceImpl implements StoreExtendService {
private StoreFieldService storeFieldService;
@Override
@Transactional(rollbackFor = Exception.class)
public String saveOrUpdate(Integer enterpriseId, Integer storeInfoId, List<StoreExtendDTO> storeExtendList) {
if (CollectionUtils.isNotEmpty(storeExtendList)) {
......@@ -44,25 +42,21 @@ public class StoreExtendServiceImpl implements StoreExtendService {
TabStoreField field = storeFieldService.getStoreFieldById(tabStoreExtend.getStoreFieldId());
String fieldDetail = field.getStoreFieldDetail();
FieldBase fieldBase = JSON.parseObject(fieldDetail, FieldBase.class);
tabStoreExtend.setEnterpriseId(enterpriseId);
tabStoreExtend.setStoreInfoId(storeInfoId);
tabStoreExtend.setCreateTime(new Date());
if (!fieldBase.getAllowRepeat()) {
// 不允许重复
if (StringUtils.isNotBlank(tabStoreExtend.getValue())) {
int count = tabStoreExtendMapper.countExtendByValue(field.getStoreFieldId(), tabStoreExtend.getValue(), tabStoreExtend.getStoreExtendId());
if (count > 0) {
return field.getStoreFieldName() + "不允许重复";
}
// int count = tabStoreExtendMapper.countExtendByValue(field.getStoreFieldId(), tabStoreExtend.getValue(), tabStoreExtend.getStoreExtendId());
// if (count > 0) {
// return field.getStoreFieldName() + "不允许重复";
// }
tabStoreExtendMapper.insertNotRepeat(tabStoreExtend);
}
} else {
tabStoreExtendMapper.insertSelective(tabStoreExtend);
}
tabStoreExtend.setEnterpriseId(enterpriseId);
tabStoreExtend.setStoreInfoId(storeInfoId);
// if (tabStoreExtend.getStoreExtendId() == null) {
tabStoreExtend.setCreateTime(new Date());
tabStoreExtendMapper.insertSelective(tabStoreExtend);
// } else {
// tabStoreExtendMapper.updateByPrimaryKeySelective(tabStoreExtend);
// }
}
}
return null;
......
......@@ -2,13 +2,13 @@ package com.gic.store.service.impl;
import com.gic.commons.util.EntityUtil;
import com.gic.commons.util.GlobalInfo;
import com.gic.enterprise.qo.PageQO;
import com.gic.store.constant.StoreLogReasonEnum;
import com.gic.store.constant.StoreLogTypeEnum;
import com.gic.store.dao.mapper.TabStoreLogMapper;
import com.gic.store.dto.StoreLogDTO;
import com.gic.store.entity.TabStoreLog;
import com.gic.store.service.StoreLogService;
import com.gic.store.service.StoreService;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -28,6 +28,8 @@ public class StoreLogServiceImpl implements StoreLogService {
@Autowired
private TabStoreLogMapper tabStoreLogMapper;
@Autowired
private StoreService storeService;
@Override
public Integer saveStoreLog(StoreLogDTO storeLog) {
......@@ -44,7 +46,7 @@ public class StoreLogServiceImpl implements StoreLogService {
}
@Override
public void saveBulkStoreInfoLog(List<Integer> storeIdList, Integer enterpriseId, Integer operatorId, String operatorName, String content) {
public void saveBulkStoreInfoLog(List<Integer> storeInfoIdList, Integer enterpriseId, Integer operatorId, String operatorName, String content) {
TabStoreLog storeLog = new TabStoreLog();
storeLog.setEnterpriseId(enterpriseId);
storeLog.setReason(StoreLogReasonEnum.WEB.getCode());
......@@ -53,6 +55,9 @@ public class StoreLogServiceImpl implements StoreLogService {
storeLog.setOperatorId(operatorId);
storeLog.setOperatorName(operatorName);
storeLog.setContent(content);
storeLog.setCreateTime(new Date());
storeLog.setStatus(1);
List<Integer> storeIdList = storeService.listStoredByStoreInfoList(storeInfoIdList, enterpriseId);
for (Integer storeId : storeIdList) {
storeLog.setStoreId(storeId);
tabStoreLogMapper.insertSelective(storeLog);
......@@ -60,7 +65,7 @@ public class StoreLogServiceImpl implements StoreLogService {
}
@Override
public void saveBulkStoreStatusLog(List<Integer> storeIdList, Integer enterpriseId, Integer operatorId, String operatorName, String content) {
public void saveBulkStoreStatusLog(List<Integer> storeInfoIdList, Integer enterpriseId, Integer operatorId, String operatorName, String content) {
TabStoreLog storeLog = new TabStoreLog();
storeLog.setEnterpriseId(enterpriseId);
storeLog.setReason(StoreLogReasonEnum.WEB.getCode());
......@@ -69,14 +74,16 @@ public class StoreLogServiceImpl implements StoreLogService {
storeLog.setOperatorId(operatorId);
storeLog.setOperatorName(operatorName);
storeLog.setContent(content);
for (Integer storeId : storeIdList) {
storeLog.setCreateTime(new Date());
storeLog.setStatus(1);
for (Integer storeId : storeInfoIdList) {
storeLog.setStoreId(storeId);
tabStoreLogMapper.insertSelective(storeLog);
}
}
@Override
public void saveBulkStoreGroupLog(List<Integer> storeIdList, Integer enterpriseId, Integer operatorId, String operatorName, String content) {
public void saveBulkStoreGroupLog(List<Integer> storeInfoIdList, Integer enterpriseId, Integer operatorId, String operatorName, String content) {
TabStoreLog storeLog = new TabStoreLog();
storeLog.setEnterpriseId(enterpriseId);
storeLog.setReason(StoreLogReasonEnum.WEB.getCode());
......@@ -85,7 +92,7 @@ public class StoreLogServiceImpl implements StoreLogService {
storeLog.setOperatorId(operatorId);
storeLog.setOperatorName(operatorName);
storeLog.setContent(content);
for (Integer storeId : storeIdList) {
for (Integer storeId : storeInfoIdList) {
storeLog.setStoreId(storeId);
tabStoreLogMapper.insertSelective(storeLog);
}
......
......@@ -489,6 +489,11 @@ public class StoreServiceImpl implements StoreService {
}
@Override
public List<Integer> listStoredByStoreInfoList(List<Integer> storeInfoIdList, Integer enterpriseId) {
return tabStoreMapper.listStoredByStoreInfoList(storeInfoIdList, enterpriseId);
}
@Override
public List<String> listAllCityId(Integer enterpriseId, Integer storeBrandId) {
return this.tabStoreMapper.listAllCityId(enterpriseId, storeBrandId);
}
......
......@@ -43,6 +43,7 @@ import java.util.*;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
import java.util.stream.Stream;
/**
* @author zhiwj
......@@ -244,9 +245,13 @@ public class StoreApiServiceImpl implements StoreApiService {
if (currCount + storeIds.split(",").length > upperLimit) {
return EnterpriseServiceResponse.failure(ErrorCode.UNKNOWN_ERROR.getCode(), String.format("本商户剩余门店数量为%s家, 请重新勾选正确的数量!", upperLimit));
}
String[] storeIdArr = storeIds.split(",");
for (String storeIdStr : storeIdArr) {
Integer storeId = Integer.valueOf(storeIdStr);
List<Integer> storeIdList;
if ("all".equals(storeIds)) {
storeIdList = this.storeService.listAllStoreId(enterpriseId);
} else {
storeIdList = Stream.of(storeIds.split(",")).map(Integer::valueOf).collect(Collectors.toList());
}
for (Integer storeId : storeIdList) {
StoreDTO store = this.getStoreById(enterpriseId, storeId).getResult();
if (store != null) {
store.setOverflowStatus(1);
......@@ -1162,6 +1167,7 @@ public class StoreApiServiceImpl implements StoreApiService {
this.bulkAddStoreToIndex(enterpriseId, storeIdList);
}
}
// bulkUpdateLog(storeIds, value, enterpriseId, type, operatorId, operatorName);
} catch (Exception e) {
logger.error("", e);
}
......@@ -1169,6 +1175,37 @@ public class StoreApiServiceImpl implements StoreApiService {
return ServiceResponse.success();
}
// private void bulkUpdateLog(String storeIds, String value, Integer enterpriseId, int type, Integer operatorId, String operatorName) {
// //type表示操作的类型,1更新门店启用状态,2门店电话,3营业时间,4门店照片(替换),5关联品牌,6批量上传图片(原有基础上新增)
// //7批量修改门店分组
// List<Integer> storeIdList;
// if ("all".equals(storeIds)) {
// storeIdList = this.storeService.listAllStoreId(enterpriseId);
// } else {
// storeIdList = Stream.of(storeIds.split(",")).map(Integer::valueOf).collect(Collectors.toList());
// }
// for (Integer storeId : storeIdList) {
// StoreLogDTO storeLogDTO = new StoreLogDTO();
// storeLogDTO.setEnterpriseId(enterpriseId);
// storeLogDTO.setStoreId(storeId);
// storeLogDTO.setReason(StoreLogReasonEnum.WEB.getCode());
// storeLogDTO.setRemark("批量编辑");
// storeLogDTO.setOperatorId(operatorId);
// storeLogDTO.setOperatorName(operatorName);
//
// if (type == 1) {
// storeLogDTO.setLogType(StoreLogTypeEnum.STATUS_UPDATE.getCode());
// } else if (type == 7) {
// storeLogDTO.setLogType(StoreLogTypeEnum.GROUP_UPDATE.getCode());
// } else {
// storeLogDTO.setLogType(StoreLogTypeEnum.INFO_UPDATE.getCode());
// }
// storeLogDTO.setContent("门店新增");
//
// this.storeLogService.saveStoreLog(storeLogDTO);
// }
// }
@Override
public ServiceResponse<StoreDTO> getByStoreNameAndStoreCode(Integer enterpriseId, String storeName, String storeCode) {
StoreDTO store = this.storeService.getByStoreNameAndStoreCode(enterpriseId, storeName, storeCode);
......@@ -1315,6 +1352,8 @@ public class StoreApiServiceImpl implements StoreApiService {
replaceAll(":", "").replaceAll(" ", "");
}
jsonObject.put(existObj.toString(), value == null ? 0l : Long.valueOf(value));
} else if (extendDTO.getStoreFieldType().intValue() == StoreFieldTypeEnum.CHECK.getCode()) {
jsonObject.put(existObj.toString(), StringUtils.isBlank(extendDTO.getValue()) ? 0 : Stream.of(extendDTO.getValue().split(",")).map(Long::valueOf).collect(Collectors.toList()));
} else {
jsonObject.put(existObj.toString(), StringUtils.isBlank(extendDTO.getValue()) ? 0 : Long.valueOf(extendDTO.getValue()));
}
......
......@@ -30,7 +30,7 @@ public class StoreStatusStrategyImpl implements BulkUpdateStoreStrtegy {
storeInfoIdList.add(Integer.valueOf(s));
}
}
storeLogService.saveBulkStoreInfoLog(storeInfoIdList, enterpriseId, operatorId, operatorName, "门店状态变更为【" + StoreStatusEnum.parseCode(Integer.parseInt(value)) + "】");
storeLogService.saveBulkStoreStatusLog(storeInfoIdList, enterpriseId, operatorId, operatorName, "门店状态变更为【" + StoreStatusEnum.parseCode(Integer.parseInt(value)) + "】");
}
return i;
}
......
......@@ -168,4 +168,76 @@
<delete id="delete">
delete from tab_store_extend where enterprise_id = #{enterpriseId} and store_info_id = #{storeInfoId}
</delete>
<insert id="insertNotRepeat">
insert into tab_store_extend
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="storeExtendId != null">
store_extend_id,
</if>
<if test="storeInfoId != null">
store_info_id,
</if>
<if test="enterpriseId != null">
enterprise_id,
</if>
<if test="storeFieldId != null">
store_field_id,
</if>
<if test="value != null">
value,
</if>
<if test="sort != null">
sort,
</if>
<if test="createTime != null">
create_time,
</if>
<if test="updateTime != null">
update_time,
</if>
<if test="isSearch != null">
is_search,
</if>
</trim>
<trim prefix="select " suffix="" suffixOverrides=",">
<if test="storeExtendId != null">
#{storeExtendId,jdbcType=INTEGER},
</if>
<if test="storeInfoId != null">
#{storeInfoId,jdbcType=INTEGER},
</if>
<if test="enterpriseId != null">
#{enterpriseId,jdbcType=INTEGER},
</if>
<if test="storeFieldId != null">
#{storeFieldId,jdbcType=INTEGER},
</if>
<if test="value != null">
#{value,jdbcType=VARCHAR},
</if>
<if test="sort != null">
#{sort,jdbcType=DOUBLE},
</if>
<if test="createTime != null">
#{createTime,jdbcType=TIMESTAMP},
</if>
<if test="updateTime != null">
#{updateTime,jdbcType=TIMESTAMP},
</if>
<if test="isSearch != null">
#{isSearch,jdbcType=INTEGER},
</if>
</trim>
from dual
where not exists(
select
1
from
tab_store_extend
where store_field_id = #{storeFieldId} and value = #{value}
<if test="storeExtendId != null">
and store_extend_id &lt;&gt; #{storeExtendId}
</if>
)
</insert>
</mapper>
\ No newline at end of file
......@@ -220,6 +220,17 @@
</foreach>
</if>
</select>
<select id="listStoredByStoreInfoList" resultType="java.lang.Integer">
select store_id
from tab_store where own_type = 0 and enterprise_id = #{enterpriseId}
<if test="null != ids and ids.size &gt; 0">
and store_info_id in
<foreach close=")" collection="ids" index="index" item="item" open="(" separator=",">
#{item}
</foreach>
</if>
</select>
<select id="listAllCityId" resultType="java.lang.String">
select city_id
from tab_store t1,tab_store_info t2
......
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