Commit a55ba9c6 by 陶光胜

Merge branch 'developer' into 'master'

Developer

See merge request !9
parents d6ac7a3e d7e97af5
......@@ -34,6 +34,8 @@ public enum StoreESFieldsEnum {
LOCATION("location", "经纬度"),
SCORE("score", "分数"),
EVALUATECOUNT("evaluateCount", "评价分数"),
CONACTSPHONE("conactsPhone", "联系电话"),
UPDATETIME("updateTime", "更新时间"),
C1("c1", "自定义字段1"),
C2("c2", "自定义字段2"),
C3("c3", "自定义字段3"),
......
......@@ -65,6 +65,15 @@ public class ClerkDTO implements Serializable {
private Integer status;
/**
* 1店长 0店员
*/
private Integer clerkType;
/**
* 头像
*/
private String headImg;
/**
* 事由 1:web后台操作 2:外部触发 3:订单同步 4:会员同步 5:系统配置触发
*/
private Integer reason;
......@@ -210,4 +219,20 @@ public class ClerkDTO implements Serializable {
public String getHaobanStatusName() {
return haobanStatusName;
}
public Integer getClerkType() {
return clerkType;
}
public void setClerkType(Integer clerkType) {
this.clerkType = clerkType;
}
public String getHeadImg() {
return headImg;
}
public void setHeadImg(String headImg) {
this.headImg = headImg;
}
}
package com.gic.store.dto;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
public class StoreEsDTO implements Serializable {
......@@ -35,6 +36,7 @@ public class StoreEsDTO implements Serializable {
private Double score;
private Integer evaluateCount;
private String conactsPhone;
private Long updateTime;
public Integer getStoreId() {
return storeId;
......@@ -283,4 +285,12 @@ public class StoreEsDTO implements Serializable {
public String getConactsPhone() {
return conactsPhone;
}
public Long getUpdateTime() {
return updateTime;
}
public void setUpdateTime(Long updateTime) {
this.updateTime = updateTime;
}
}
......@@ -33,7 +33,15 @@ public interface ClerkApiService {
* @Param
* @return
*/
ServiceResponse<Integer> saveClerkForOrder(String clerkName, String clerkCode, Integer storeId, Integer enterpriseId, String orderNum);
ServiceResponse<Integer> saveClerkForOrder(String clerkName, String clerkCode, Integer storeInfoId, Integer enterpriseId, String orderNum);
/** @Description: 同步pos会员途经保存导购
* @author taogs
* @Date 19:52 2020/1/8
* @Param
* @return
*/
ServiceResponse<Integer> saveClerkForPosMember(String clerkName, String clerkCode, Integer storeInfoId, Integer enterpriseId, String cardNO);
ServiceResponse<Integer> saveClerkByStoreInfoIdForOrder(String clerkName, String clerkCode, Integer storeInfoId, Integer enterpriseId, String orderNum);
......
......@@ -31,6 +31,20 @@ public interface StoreApiService {
* @return
*/
ServiceResponse<Integer> saveStoreForOrder(Integer enterpriseId, String storeCode, String storeName, Integer regionId, String orderNum);
/**
* @Title: saveStoreForPosMember
* @Description: 同步pos会员创建门店
* @author zhiwj
* @param enterpriseId
* @param storeCode
* @param storeName
* @param regionId
* @param posMember
* @return com.gic.api.base.commons.ServiceResponse<java.lang.Integer>
* @throws
*/
ServiceResponse<Integer> saveStoreForPosMember(Integer enterpriseId, String storeCode, String storeName, Integer regionId, String cardNO);
/**
* @Title: listStore
* @Description: 分页门店列表 查es
......
......@@ -64,5 +64,5 @@ public interface TabStoreBusinessTimeMapper {
int deleteAllByEnterpriseId(@Param("enterpriseId") Integer enterpriseId);
int deleteBystoreInfoIds(@Param("enterpriseId") Integer enterpriseId, @Param("storeInfoIdList") List<Integer> storeIdList);
int deleteBystoreInfoIds(@Param("enterpriseId") Integer enterpriseId, @Param("storeInfoIdList") List<Integer> storeInfoIdList);
}
\ No newline at end of file
......@@ -79,7 +79,7 @@ public interface TabStoreInfoMapper {
int updateAllStoreBrand(@Param("enterpriseId") Integer enterpriseId, @Param("value") String value);
int updateStoreBrandBystoreInfoIds(@Param("enterpriseId") Integer enterpriseId, @Param("value") String value, @Param("storeInfoIdList") List<Integer> storeIdList);
int updateStoreBrandBystoreInfoIds(@Param("enterpriseId") Integer enterpriseId, @Param("value") String value, @Param("storeInfoIdList") List<Integer> storeInfoIdList);
StoreDTO getByStoreNameAndStoreCode(@Param("enterpriseId") Integer enterpriseId,@Param("storeName") String storeName, @Param("storeCode") String storeCode);
......
......@@ -60,7 +60,7 @@ public interface TabStoreMapper {
int updateStoreGroupBystoreInfoIds(@Param("enterpriseId") Integer enterpriseId,
@Param("value") Integer value,
@Param("storeIdList") List<Integer> storeIdList);
@Param("storeInfoIdList") List<Integer> storeInfoIdList);
List<TabStore> getStoreNoStatus(@Param("enterpriseId") Integer enterpriseId, @Param("storeInfoId") Integer storeInfoId);
......
......@@ -58,7 +58,7 @@ public interface TabStorePhotoMapper {
int updateAllStorePhoto(@Param("imageCode") String imageCode, @Param("imageUrl")String imageUrl, @Param("sort") int sort, @Param("enterpriseId") Integer enterpriseId);
int updatePhotoBystoreInfoIds(@Param("imageCode") String imageCode, @Param("imageUrl")String imageUrl, @Param("sort") int sort, @Param("storeIdList") List<Integer> storeIdList);
int updatePhotoBystoreInfoIds(@Param("imageCode") String imageCode, @Param("imageUrl")String imageUrl, @Param("sort") int sort, @Param("storeInfoIds") List<Integer> storeInfoIds);
int deleteAllByEnterpriseId(@Param("enterpriseId") Integer enterpriseId);
......@@ -66,6 +66,6 @@ public interface TabStorePhotoMapper {
int addAllStorePhoto(@Param("imageCode") String imageCode, @Param("imageUrl")String imageUrl, @Param("sort") int sort, @Param("enterpriseId") Integer enterpriseId);
int addPhotoBystoreInfoIds(@Param("imageCode") String imageCode, @Param("imageUrl")String imageUrl, @Param("sort") int sort, @Param("storeIdList") List<Integer> storeIdList);
int addPhotoBystoreInfoIds(@Param("imageCode") String imageCode, @Param("imageUrl")String imageUrl, @Param("sort") int sort, @Param("storeInfoIdList") List<Integer> storeIdInfoList);
}
\ No newline at end of file
......@@ -71,6 +71,16 @@ public class TabClerk {
*/
private Integer status;
/**
* 1店长 0店员
*/
private Integer clerkType;
/**
* 头像
*/
private String headImg;
public Integer getClerkId() {
return clerkId;
}
......@@ -174,4 +184,20 @@ public class TabClerk {
public void setStatus(Integer status) {
this.status = status;
}
public Integer getClerkType() {
return clerkType;
}
public void setClerkType(Integer clerkType) {
this.clerkType = clerkType;
}
public String getHeadImg() {
return headImg;
}
public void setHeadImg(String headImg) {
this.headImg = headImg;
}
}
\ No newline at end of file
......@@ -72,13 +72,13 @@ public interface StoreService {
int bulkUpdateStoreBusinessTime(String storeIds, Integer enterpriseId, String value);
int bulkUpdateStorePhoto(String storeIds, Integer enterpriseId, String value);
int bulkUpdateStorePhoto(String storeInfoIds, Integer enterpriseId, String value);
int bulkAddStorePhoto(String storeIds, Integer enterpriseId, String value);
int bulkUpdateStoreBrands(String storeIds, Integer enterpriseId, String value);
int bulkUpdateStoreGroup(String storeIds, Integer enterpriseId, Integer value);
int bulkUpdateStoreGroup(String storeInfoIds, Integer enterpriseId, Integer value);
StoreDTO getByStoreNameAndStoreCode(Integer enterpriseId, String storeName, String storeCode);
......
......@@ -272,14 +272,14 @@ public class StoreServiceImpl implements StoreService {
}
@Override
public int bulkUpdateStorePhoto(String storeIds, Integer enterpriseId, String value) {
public int bulkUpdateStorePhoto(String storeInfoIds, Integer enterpriseId, String value) {
try {
JSONArray array = JSON.parseArray(value);
List<Integer> list = new ArrayList<>();
if ("all".equals(storeIds)) {
if ("all".equals(storeInfoIds)) {
this.tabStorePhotoMapper.deleteAllByEnterpriseId(enterpriseId);
} else {
String[] storeIdArr = storeIds.split(",");
String[] storeIdArr = storeInfoIds.split(",");
for (String s : storeIdArr) {
list.add(Integer.valueOf(s));
}
......@@ -289,7 +289,7 @@ public class StoreServiceImpl implements StoreService {
JSONObject json = array.getJSONObject(i);
String imageCode = json.getString("imageCode");
String imageUrl = json.getString("imageUrl");
if ("all".equals(storeIds)) {
if ("all".equals(storeInfoIds)) {
this.tabStorePhotoMapper.updateAllStorePhoto(imageCode, imageUrl, i, enterpriseId);
} else {
this.tabStorePhotoMapper.updatePhotoBystoreInfoIds(imageCode, imageUrl, i, list);
......@@ -303,7 +303,7 @@ public class StoreServiceImpl implements StoreService {
}
@Override
public int bulkAddStorePhoto(String storeIds, Integer enterpriseId, String value) {
public int bulkAddStorePhoto(String storeInfoIds, Integer enterpriseId, String value) {
try {
JSONArray array = JSON.parseArray(value);
List<Integer> list = new ArrayList<>();
......@@ -311,10 +311,10 @@ public class StoreServiceImpl implements StoreService {
JSONObject json = array.getJSONObject(i);
String imageCode = json.getString("imageCode");
String imageUrl = json.getString("imageUrl");
if ("all".equals(storeIds)) {
if ("all".equals(storeInfoIds)) {
this.tabStorePhotoMapper.addAllStorePhoto(imageCode, imageUrl, i, enterpriseId);
} else {
String[] storeIdArr = storeIds.split(",");
String[] storeIdArr = storeInfoIds.split(",");
for (String s : storeIdArr) {
list.add(Integer.valueOf(s));
}
......@@ -348,13 +348,13 @@ public class StoreServiceImpl implements StoreService {
}
@Override
public int bulkUpdateStoreGroup(String storeIds, Integer enterpriseId, Integer value) {
public int bulkUpdateStoreGroup(String storeInfoIds, Integer enterpriseId, Integer value) {
try {
List<Integer> list = new ArrayList<>();
if ("all".equals(storeIds)) {
if ("all".equals(storeInfoIds)) {
return this.tabStoreMapper.updateAllStoreGroup(enterpriseId, value);
} else {
String[] storeIdArr = storeIds.split(",");
String[] storeIdArr = storeInfoIds.split(",");
for (String s : storeIdArr) {
list.add(Integer.valueOf(s));
}
......
......@@ -103,9 +103,30 @@ public class ClerkApiServiceImpl implements ClerkApiService {
}
@Override
public ServiceResponse<Integer> saveClerkForOrder(String clerkName, String clerkCode, Integer storeId,
public ServiceResponse<Integer> saveClerkForOrder(String clerkName, String clerkCode, Integer storeInfoId,
Integer enterpriseId, String orderNum) {
ServiceResponse<StoreDTO> storeResponse = storeApiService.getStoreById(enterpriseId, storeId);
// ServiceResponse<StoreDTO> storeResponse = storeApiService.getStoreById(enterpriseId, storeInfoId);
// if (storeResponse.getResult() != null) {
// StoreDTO store = storeResponse.getResult();
ClerkDTO clerkDTO = new ClerkDTO();
clerkDTO.setClerkName(clerkName);
clerkDTO.setClerkCode(clerkCode);
clerkDTO.setEnterpriseId(enterpriseId);
clerkDTO.setStoreInfoId(storeInfoId);
clerkDTO.setReason(ClerkLogReasonEnum.ORDER.getCode());
clerkDTO.setRemark("订单号:" + orderNum);
// clerkDTO.setStoreName(store.getStoreName());
ServiceResponse serviceResponse = this.saveOrUpdate(clerkDTO);
return serviceResponse;
// } else {
// logger.warn("门店不存在 enterpriseId:{}, storeId:{}", enterpriseId, storeInfoId);
// return EnterpriseServiceResponse.failure(ErrorCode.NOTEXISTS.getCode(), "门店不存在");
// }
}
@Override
public ServiceResponse<Integer> saveClerkForPosMember(String clerkName, String clerkCode, Integer storeInfoId, Integer enterpriseId, String cardNO) {
ServiceResponse<StoreDTO> storeResponse = storeApiService.getStoreById(enterpriseId, storeInfoId);
if (storeResponse.getResult() != null) {
StoreDTO store = storeResponse.getResult();
ClerkDTO clerkDTO = new ClerkDTO();
......@@ -113,21 +134,21 @@ public class ClerkApiServiceImpl implements ClerkApiService {
clerkDTO.setClerkCode(clerkCode);
clerkDTO.setEnterpriseId(enterpriseId);
clerkDTO.setStoreInfoId(store.getStoreInfoId());
clerkDTO.setReason(ClerkLogReasonEnum.ORDER.getCode());
clerkDTO.setRemark("订单号:" + orderNum);
clerkDTO.setReason(ClerkLogReasonEnum.MEMBER.getCode());
clerkDTO.setRemark("卡号:" + cardNO);
clerkDTO.setStoreName(store.getStoreName());
ServiceResponse serviceResponse = this.saveOrUpdate(clerkDTO);
return serviceResponse;
} else {
logger.warn("门店不存在 enterpriseId:{}, storeId:{}", enterpriseId, storeId);
logger.warn("门店不存在 enterpriseId:{}, storeId:{}", enterpriseId, storeInfoId);
return EnterpriseServiceResponse.failure(ErrorCode.NOTEXISTS.getCode(), "门店不存在");
}
}
@Override
public ServiceResponse<Integer> saveClerkByStoreInfoIdForOrder(String clerkName, String clerkCode, Integer storeInfoId, Integer enterpriseId, String orderNum) {
Integer storeId = this.storeService.getStoreIdByStoreInfoId(enterpriseId, storeInfoId);
if (storeId != null) {
// Integer storeId = this.storeService.getStoreIdByStoreInfoId(enterpriseId, storeInfoId);
// if (storeId != null) {
ClerkDTO clerkDTO = new ClerkDTO();
clerkDTO.setClerkName(clerkName);
clerkDTO.setClerkCode(clerkCode);
......@@ -137,10 +158,10 @@ public class ClerkApiServiceImpl implements ClerkApiService {
clerkDTO.setRemark("订单号:" + orderNum);
ServiceResponse serviceResponse = this.saveOrUpdate(clerkDTO);
return serviceResponse;
} else {
logger.warn("门店不存在 enterpriseId:{}, storeInfoId:{}", enterpriseId, storeInfoId);
return EnterpriseServiceResponse.failure(ErrorCode.NOTEXISTS.getCode(), "门店不存在");
}
// } else {
// logger.warn("门店不存在 enterpriseId:{}, storeInfoId:{}", enterpriseId, storeInfoId);
// return EnterpriseServiceResponse.failure(ErrorCode.NOTEXISTS.getCode(), "门店不存在");
// }
}
@Override
......
......@@ -214,6 +214,21 @@ public class StoreApiServiceImpl implements StoreApiService {
}
@Override
public ServiceResponse<Integer> saveStoreForPosMember(Integer enterpriseId, String storeCode, String storeName, Integer regionId, String cardNO) {
StoreDTO storeDTO = new StoreDTO();
storeDTO.setEnterpriseId(enterpriseId);
storeDTO.setStoreCode(storeCode);
storeDTO.setStoreName(storeName);
storeDTO.setRegionId(regionId);
storeDTO.setCreateType(CreateTypeEnum.MEMBER.getCode());
ServiceResponse<StoreDTO> response = this.saveOrUpdate(storeDTO);
if(response.isSuccess()){
return ServiceResponse.success(response.getResult().getStoreInfoId());
}
return EnterpriseServiceResponse.failure(response.getCode(), response.getMessage());
}
@Override
public void refreshCache(Integer enterpriseId, Integer storeId) {
String key = Constants.STORE_KEY + enterpriseId + ":" + storeId;
RedisUtil.delCache(key);
......@@ -425,7 +440,7 @@ public class StoreApiServiceImpl implements StoreApiService {
sortJson = QueryConditionAssemblyUtil.createSortNodeByLocation(StoreESFieldsEnum.LOCATION.getField(), QueryConditionAssemblyUtil.SORT_RULE_ASC,
Double.valueOf(storeSearchDTO.getLatitude()), Double.valueOf(storeSearchDTO.getLongitude()));
}else {
sortJson = QueryConditionAssemblyUtil.createSortNode(StoreESFieldsEnum.STORECODE.getField(), QueryConditionAssemblyUtil.SORT_RULE_ASC);
sortJson = QueryConditionAssemblyUtil.createSortNode(StoreESFieldsEnum.UPDATETIME.getField(), QueryConditionAssemblyUtil.SORT_RULE_DESC);
}
ServiceResponse<ESResponseQueryBatchDTO> response = this.queryStoreFromES(enterpriseJson, pageNum, pageSize, sortJson, returnFileds);
if (response.isSuccess()) {
......@@ -1235,6 +1250,7 @@ public class StoreApiServiceImpl implements StoreApiService {
esDTO.setScore(dto.getScore());
esDTO.setEvaluateCount(dto.getEvaluateCount());
esDTO.setConactsPhone(dto.getConactsPhone());
esDTO.setUpdateTime(dto.getUpdateTime().getTime());
Double[] location = {Double.valueOf(StringUtils.isBlank(dto.getLongitude())? "0" : dto.getLongitude()),Double.valueOf(StringUtils.isBlank(dto.getLatitude())? "0":dto.getLatitude())};
JSONObject jsonObject = JSON.parseObject(JSON.toJSONString(esDTO));
jsonObject.put("location", location);
......
......@@ -213,11 +213,11 @@ public class StoreImportApiServiceImpl implements StoreImportApiService {
public ServiceResponse<List<List<String>>> listImportTitle(Integer enterpriseId, Integer regionId) {
List<List<String>> list = new ArrayList<>();
String[] rowName = { "序号", "门店名称", "门店代码", "门店类型", "门店状态", "门店电话", "门店所属分组", "店招品牌", "省", "市", "区县", "门店地址(不包括省市区)", "经度", "纬度" };
String[] rowName = { "序号", "门店名称", "门店代码", "门店类型", "门店状态", "门店电话", "门店在GIC的所属分组", "门店在GIC的所属店招品牌", "省", "市", "区县", "门店地址(不包括省市区)", "经度", "纬度" };
List<String> rowNameList = new ArrayList<>();
Collections.addAll(rowNameList, rowName);
String[] description = { "", "不能超过20个字", "必填,不能超过20个字符,为erp系统中门店唯一识别码", "门店类型描述", "门店状态描述", "门店电话描述", "门店所属分组描述", "店招品牌", "省描述", "市描述", "区县描述", "门店地址(不包括省市区)描述", "", "" };
String[] description = { "", "不能超过20个字", "必填,不能超过20个字符,为erp系统中门店唯一识别码", "门店类型描述", "门店状态描述", "门店电话描述", "门店在GIC的所属分组描述", "门店在GIC的所属店招品牌", "省描述", "市描述", "区县描述", "门店地址(不包括省市区)描述", "", "" };
List<String> descriptionList = new ArrayList<>();
Collections.addAll(descriptionList, description);
......
......@@ -252,6 +252,7 @@ public class StoreTaskServiceImpl extends AbstractTaskAllocationOperation implem
// }
// }
logger.info("storeDTO:{}", JSON.toJSONString(storeDTO));
// 启用策略
String hitStrategy = storeStrategyService.isHitStrategy(storeDTO, StoreGroupConstant.STORE_STRATEGY_TYPE);
storeDTO.setStatus(StringUtils.isNotBlank(hitStrategy) ? Integer.valueOf(hitStrategy) : StoreEnableOrDisAbleEnum.DISABLE.getCode());
......
......@@ -22,20 +22,20 @@ public class StoreBrandUpdateStrategyImpl implements BulkUpdateStoreStrtegy {
private StoreBrandService storeBrandService;
@Override
public int bulkUpdateStore(String storeIds, Integer enterpriseId, String value, StoreService storeService, Integer operatorId, String operatorName) {
int i = storeService.bulkUpdateStoreBrands(storeIds, enterpriseId, value);
public int bulkUpdateStore(String storeInfoIds, Integer enterpriseId, String value, StoreService storeService, Integer operatorId, String operatorName) {
int i = storeService.bulkUpdateStoreBrands(storeInfoIds, enterpriseId, value);
if (i > 0) {
List<Integer> storeIdList;
if ("all".equals(storeIds)) {
if ("all".equals(storeInfoIds)) {
storeIdList = storeService.listAllStoreId(enterpriseId);
} else {
storeIdList = new ArrayList<>();
String[] storeIdArr = storeIds.split(",");
String[] storeIdArr = storeInfoIds.split(",");
for (String s : storeIdArr) {
storeIdList.add(Integer.valueOf(s));
}
}
List<TabStoreBrand> storeBrandList = storeBrandService.listStoreBrandByIds(storeIds);
List<TabStoreBrand> storeBrandList = storeBrandService.listStoreBrandByIds(storeInfoIds);
String content = Optional.ofNullable(storeBrandList).orElse(Collections.emptyList()).stream().map(TabStoreBrand::getStoreBrandName).reduce((x, y) -> x + "," + y).orElse("");
storeLogService.saveBulkStoreInfoLog(storeIdList, enterpriseId, operatorId, operatorName, "门店品牌变更为【" + content + "】");
}
......
......@@ -20,15 +20,15 @@ public class StoreGroupStrategyImpl implements BulkUpdateStoreStrtegy {
private StoreGroupService storeGroupService;
@Override
public int bulkUpdateStore(String storeIds, Integer enterpriseId, String value, StoreService storeService, Integer operatorId, String operatorName) {
int i = storeService.bulkUpdateStoreGroup(storeIds, enterpriseId, Integer.valueOf(value));
public int bulkUpdateStore(String storeInfoIds, Integer enterpriseId, String value, StoreService storeService, Integer operatorId, String operatorName) {
int i = storeService.bulkUpdateStoreGroup(storeInfoIds, enterpriseId, Integer.valueOf(value));
if (i > 0) {
List<Integer> storeIdList;
if ("all".equals(storeIds)) {
if ("all".equals(storeInfoIds)) {
storeIdList = storeService.listAllStoreId(enterpriseId);
} else {
storeIdList = new ArrayList<>();
String[] storeIdArr = storeIds.split(",");
String[] storeIdArr = storeInfoIds.split(",");
for (String s : storeIdArr) {
storeIdList.add(Integer.valueOf(s));
}
......
......@@ -16,20 +16,20 @@ public class StorePhotoAddStrategyImpl implements BulkUpdateStoreStrtegy {
private StoreLogService storeLogService;
@Override
public int bulkUpdateStore(String storeIds, Integer enterpriseId, String value, StoreService storeService, Integer operatorId, String operatorName) {
int i = storeService.bulkAddStorePhoto(storeIds, enterpriseId, value);
public int bulkUpdateStore(String storeInfoIds, Integer enterpriseId, String value, StoreService storeService, Integer operatorId, String operatorName) {
int i = storeService.bulkAddStorePhoto(storeInfoIds, enterpriseId, value);
if (i > 0) {
List<Integer> storeIdList;
if ("all".equals(storeIds)) {
storeIdList = storeService.listAllStoreId(enterpriseId);
List<Integer> storeInfoIdList;
if ("all".equals(storeInfoIds)) {
storeInfoIdList = storeService.listAllStoreId(enterpriseId);
} else {
storeIdList = new ArrayList<>();
String[] storeIdArr = storeIds.split(",");
storeInfoIdList = new ArrayList<>();
String[] storeIdArr = storeInfoIds.split(",");
for (String s : storeIdArr) {
storeIdList.add(Integer.valueOf(s));
storeInfoIdList.add(Integer.valueOf(s));
}
}
storeLogService.saveBulkStoreInfoLog(storeIdList, enterpriseId, operatorId, operatorName, "门店照片添加");
storeLogService.saveBulkStoreInfoLog(storeInfoIdList, enterpriseId, operatorId, operatorName, "门店照片添加");
}
return i;
}
......
......@@ -15,15 +15,15 @@ public class StorePhotoUpdateStrategyImpl implements BulkUpdateStoreStrtegy {
private StoreLogService storeLogService;
@Override
public int bulkUpdateStore(String storeIds, Integer enterpriseId, String value, StoreService storeService, Integer operatorId, String operatorName) {
int i = storeService.bulkUpdateStorePhoto(storeIds, enterpriseId, value);
public int bulkUpdateStore(String storeInfoIds, Integer enterpriseId, String value, StoreService storeService, Integer operatorId, String operatorName) {
int i = storeService.bulkUpdateStorePhoto(storeInfoIds, enterpriseId, value);
if (i > 0) {
List<Integer> storeIdList;
if ("all".equals(storeIds)) {
if ("all".equals(storeInfoIds)) {
storeIdList = storeService.listAllStoreId(enterpriseId);
} else {
storeIdList = new ArrayList<>();
String[] storeIdArr = storeIds.split(",");
String[] storeIdArr = storeInfoIds.split(",");
for (String s : storeIdArr) {
storeIdList.add(Integer.valueOf(s));
}
......
......@@ -15,10 +15,13 @@
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
<result column="status" jdbcType="INTEGER" property="status" />
<result column="clerk_type" jdbcType="INTEGER" property="clerkType" />
<result column="head_img" jdbcType="VARCHAR" property="headImg" />
</resultMap>
<sql id="Base_Column_List">
clerk_id, clerk_name, clerk_code, enterprise_id, store_info_id, position_name, clerk_gender,
nationcode, phone_number, haoban_status, create_time, update_time, status
nationcode, phone_number, haoban_status, create_time, update_time, status, clerk_type,
head_img
</sql>
<select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap">
select
......@@ -35,17 +38,16 @@
enterprise_id, store_info_id, position_name,
clerk_gender, nationcode, phone_number,
haoban_status, create_time, update_time,
status)
status, clerk_type, head_img
)
values (#{clerkId,jdbcType=INTEGER}, #{clerkName,jdbcType=VARCHAR}, #{clerkCode,jdbcType=VARCHAR},
#{enterpriseId,jdbcType=INTEGER}, #{storeInfoId,jdbcType=INTEGER}, #{positionName,jdbcType=VARCHAR},
#{clerkGender,jdbcType=INTEGER}, #{nationcode,jdbcType=VARCHAR}, #{phoneNumber,jdbcType=VARCHAR},
#{haobanStatus,jdbcType=INTEGER}, #{createTime,jdbcType=TIMESTAMP}, #{updateTime,jdbcType=TIMESTAMP},
#{status,jdbcType=INTEGER})
#{status,jdbcType=INTEGER}, #{clerkType,jdbcType=INTEGER}, #{headImg,jdbcType=VARCHAR}
)
</insert>
<insert id="insertSelective" parameterType="com.gic.store.entity.TabClerk">
<selectKey keyProperty="clerkId" order="AFTER" resultType="java.lang.Integer">
SELECT LAST_INSERT_ID()
</selectKey>
insert into tab_clerk
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="clerkId != null">
......@@ -87,6 +89,12 @@
<if test="status != null">
status,
</if>
<if test="clerkType != null">
clerk_type,
</if>
<if test="headImg != null">
head_img,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="clerkId != null">
......@@ -128,6 +136,12 @@
<if test="status != null">
#{status,jdbcType=INTEGER},
</if>
<if test="clerkType != null">
#{clerkType,jdbcType=INTEGER},
</if>
<if test="headImg != null">
#{headImg,jdbcType=VARCHAR},
</if>
</trim>
</insert>
<update id="updateByPrimaryKeySelective" parameterType="com.gic.store.entity.TabClerk">
......@@ -169,6 +183,12 @@
<if test="status != null">
status = #{status,jdbcType=INTEGER},
</if>
<if test="clerkType != null">
clerk_type = #{clerkType,jdbcType=INTEGER},
</if>
<if test="headImg != null">
head_img = #{headImg,jdbcType=VARCHAR},
</if>
</set>
where clerk_id = #{clerkId,jdbcType=INTEGER}
</update>
......@@ -185,9 +205,12 @@
haoban_status = #{haobanStatus,jdbcType=INTEGER},
create_time = #{createTime,jdbcType=TIMESTAMP},
update_time = #{updateTime,jdbcType=TIMESTAMP},
status = #{status,jdbcType=INTEGER}
status = #{status,jdbcType=INTEGER},
clerk_type = #{clerkType,jdbcType=INTEGER},
head_img = #{headImg,jdbcType=VARCHAR}
where clerk_id = #{clerkId,jdbcType=INTEGER}
</update>
<select id="countByClerkCode" resultType="java.lang.Integer">
select count(1)
from tab_clerk
......@@ -291,9 +314,9 @@
<if test="enterpriseId != null ">
and enterprise_id = #{enterpriseId}
</if>
<if test="null != ids and ids.size > 0">
<if test="null != ids and ids.size &gt; 0">
and clerk_id in
<foreach collection="ids" index="index" item="item" open="(" separator="," close=")">
<foreach close=")" collection="ids" index="index" item="item" open="(" separator=",">
#{item}
</foreach>
</if>
......
......@@ -34,7 +34,7 @@
</sql>
<sql id="Base_Column_List_Enterprise">
a.store_field_id, a.store_field_name, a.store_field_code, a.store_field_type, b.enterprise_id,
a.status, a.create_time, a.update_time, a.store_field_detail, a.erp_rel_code, a.sort, b.own_type
a.status, a.create_time, a.update_time, a.store_field_detail, a.erp_rel_code, a.sort, b.own_type,c.region_id
</sql>
<sql id="Base_Column_List_Region">
a.store_field_id, a.store_field_name, a.store_field_code, a.store_field_type, b.region_id,
......@@ -238,7 +238,10 @@
from tab_store_field a
left join tab_store_field_rel b
on a.store_field_id = b.store_field_id
left join tab_store_field_region_rel c
on b.store_field_id = c.store_field_id
and b.status = 1
and c.status=1
where a.status = 1
<if test="enterpriseId != null ">
and b.enterprise_id = #{enterpriseId}
......
......@@ -176,11 +176,11 @@
update tab_store set store_group_id = #{newStoreGroupId} where store_group_id = #{oldStoreGroupId}
</update>
<update id="updateAllStoreGroup">
update tab_store_info set store_group_id = #{value},is_edit_store_group=1 where enterprise_id = #{enterpriseId} and overflow_status=0
update tab_store set store_group_id = #{value},is_edit_store_group=1 where enterprise_id = #{enterpriseId}
</update>
<update id="updateStoreGroupBystoreInfoIds">
update tab_store_info set store_group_id = #{value},is_edit_store_group=1 where enterprise_id = #{enterpriseId} and overflow_status=0
update tab_store set store_group_id = #{value},is_edit_store_group=1 where enterprise_id = #{enterpriseId}
and store_info_id in
<foreach close=")" collection="storeInfoIdList" index="index" item="storeInfoId" open="(" separator=",">
#{storeInfoId}
......
......@@ -158,9 +158,9 @@
insert into tab_store_photo(
store_info_id,enterprise_id,image_code,image_url,sort,status,create_time,update_time
)
select store_info_id,enterprise_id,#{imageCode},#{imageUrl},#{sort},1,now(),now() from tab_store where overflow_status=0
and store_info_id in
<foreach collection="storeInfoIdList" index="index" item="storeInfoId" open="(" separator="," close=")">
select store_info_id,enterprise_id,#{imageCode},#{imageUrl},#{sort},1,now(),now() from tab_store where
store_info_id in
<foreach collection="storeInfoIds" index="index" item="storeInfoId" open="(" separator="," close=")">
#{storeInfoId}
</foreach>
</insert>
......@@ -189,8 +189,8 @@
insert into tab_store_photo(
store_info_id,enterprise_id,image_code,image_url,sort,status,create_time,update_time
)
select store_info_id,enterprise_id,#{imageCode},#{imageUrl},(select count(1) from tab_store_photo where store_info_id=a.store_info_id and status=1) sort,1,now(),now() from tab_store a where overflow_status=0
and store_info_id in
select store_info_id,enterprise_id,#{imageCode},#{imageUrl},(select count(1) from tab_store_photo where store_info_id=a.store_info_id and status=1) sort,1,now(),now() from tab_store a
where store_info_id in
<foreach collection="storeInfoIdList" index="index" item="storeInfoId" open="(" separator="," close=")">
#{storeInfoId}
</foreach>
......
......@@ -51,8 +51,8 @@ import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.concurrent.ConcurrentHashMap;
import java.util.stream.Collectors;
/**
* @author zhiwj
......@@ -95,7 +95,7 @@ public class StoreController extends DownloadUtils {
@RequestMapping("/save-store")
public RestResponse saveOrUpdate(@Validated({StoreQO.SaveValidView.class}) StoreQO storeQO) {
logger.info("门店参数:{}", JSON.toJSONString(storeQO));
Integer enterpriseId = UserDetailUtils.getUserDetail().getEnterpriseId();
StoreDTO storeDTO = EntityUtil.changeEntityByOrika(StoreDTO.class, storeQO);
storeDTO.setEnterpriseId(enterpriseId);
......@@ -459,20 +459,37 @@ public class StoreController extends DownloadUtils {
return RestResponse.success();
}
@RequestMapping("has-store-member")
public RestResponse hasStoreMember(Integer storeId) {
Integer enterpriseId = UserDetailUtils.getUserDetail().getEnterpriseId();
Integer storeInfoId = storeApiService.getStoreById(enterpriseId, storeId).getResult().getStoreInfoId();
ServiceResponse<Boolean> serviceResponse = storeUpdateApiService.hasMemberByMainStore(enterpriseId, storeInfoId);
return ResultControllerUtils.commonResult(serviceResponse);
}
@RequestMapping("transfer-store-member")
public RestResponse transferStoreMember(Integer storeId, Integer toStoreId){
public RestResponse transferStoreMember(String storeId, Integer toStoreId){
// 把参数改成storeInfoId
StoreSearchDTO storeSearchDTO = new StoreSearchDTO();
storeSearchDTO.setStoreIds(storeId.replace(',', ' '));
List<String> list = this.storeApiService.listStore(storeSearchDTO, 1, 1000, "storeInfoId").getResult().getResult()
.stream().map(e -> e.getStoreInfoId().toString()).collect(Collectors.toList());
Integer storeInfoId = storeApiService.getStoreById(UserDetailUtils.getUserDetail().getEnterpriseId(), toStoreId).getResult().getStoreInfoId();
// List<String> list = Arrays.asList(storeId.split(","));
StoreBatchUpdateDTO storeBatchUpdateDTO = new StoreBatchUpdateDTO();
storeBatchUpdateDTO.setEnterpriseId(UserDetailUtils.getUserDetail().getEnterpriseId());
storeBatchUpdateDTO.setSourceStoreIdList(Arrays.asList(storeId+""));
storeBatchUpdateDTO.setTargetStoreId(toStoreId+"");
storeBatchUpdateDTO.setSourceStoreInfoIdList(list);
storeBatchUpdateDTO.setTargetStoreInfoId(storeInfoId+"");
storeBatchUpdateDTO.setUserId(UserDetailUtils.getUserDetail().getUserId());
logger.info("transfer-store-member:{}", JSON.toJSONString(storeBatchUpdateDTO));
ServiceResponse<Void> response = this.storeUpdateApiService.storeBatchUpdate(storeBatchUpdateDTO);
logger.info("transfer-store-member-result:{}", JSON.toJSONString(response));
StoreDTO storeDTO = storeApiService.getStoreById(UserDetailUtils.getUserDetail().getEnterpriseId(), storeId).getResult();
if (storeDTO != null) {
LogUtils.createLog("会员处理", storeDTO.getStoreName());
for (String store : list) {
StoreDTO storeDTO = storeApiService.getStoreById(UserDetailUtils.getUserDetail().getEnterpriseId(), Integer.valueOf(store)).getResult();
if (storeDTO != null) {
LogUtils.createLog("会员处理", storeDTO.getStoreName());
}
}
return EnterpriseRestResponse.failure(response);
}
......
......@@ -81,7 +81,7 @@ public class StoreImportController {
ServiceResponse<List<List<String>>> titleServiceResponse = storeImportApiService.listImportTitle(enterpriseId, Integer.parseInt(regionIdStr));
// 测试数据
List<String> list3 = new ArrayList<>();
Collections.addAll(list3, "1", "杭州测试总店", "A001", "自营", "上线", "12345678912", "杭州门店", "品牌1、品牌2", "浙江省", "杭州市", "西湖区", "华星时代广场", "经度", "纬度");
Collections.addAll(list3, "1", "杭州测试总店", "A001", "自营", "上线", "12345678912", "杭州门店", "品牌1", "浙江省", "杭州市", "西湖区", "华星时代广场", "经度", "纬度");
Collections.addAll(list, list3);
int size = list3.size();
for (int i = 0; i < titleServiceResponse.getResult().get(0).size() - size; i++) {
......@@ -530,6 +530,9 @@ public class StoreImportController {
}
private String brandsValidate(Integer enterpriseId, String brands) {
if (brands.split("、").length > 1) {
return "不能导入多个品牌";
}
ServiceResponse<List<String>> response = storeImportApiService.listBrandByNotExist(enterpriseId, brands);
if (response.isSuccess()) {
List<String> brandList = response.getResult();
......
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