Commit d86b52a2 by 陶光胜

Merge branch 'developer' into 'master'

Developer

See merge request !19
parents e057689a 183f69b0
......@@ -65,5 +65,5 @@ public interface TabStoreDictMapper {
List<String> listStoreField(Integer enterpriseId);
void deleteStoreField(@Param("enterpriseId") Integer enterpriseId, @Param("value")String value);
void deleteStoreDict(@Param("enterpriseId") Integer enterpriseId, @Param("value")String value, @Param("type") String type);
}
\ No newline at end of file
......@@ -40,5 +40,5 @@ public interface StoreDictService {
void saveStoreField(TabStoreDict tabStoreDict);
void deleteStoreField(Integer enterpriseId, String value);
void deleteStoreDict(Integer enterpriseId, String value, String type);
}
......@@ -46,7 +46,7 @@ public class StoreDictServiceImpl implements StoreDictService {
}
@Override
public void deleteStoreField(Integer enterpriseId, String value) {
this.tabStoreDictMapper.deleteStoreField(enterpriseId, value);
public void deleteStoreDict(Integer enterpriseId, String value, String type) {
this.tabStoreDictMapper.deleteStoreDict(enterpriseId, value, type);
}
}
......@@ -192,6 +192,7 @@ public class StoreServiceImpl implements StoreService {
// storeDTO.getErpStatus() != null &&
StringUtils.isNotBlank(storeDTO.getConactsPhone()) &&
CollectionUtils.isNotEmpty(storeDTO.getBusinessTimeList()) &&
StringUtils.isNotBlank(storeDTO.getBusinessTimeList().get(0).getWeekday()) &&
storeDTO.getStoreGroupId() != null &&
StringUtils.isNotBlank(storeDTO.getBrandIds()) &&
StringUtils.isNotBlank(storeDTO.getProvinces()) &&
......
......@@ -720,8 +720,8 @@ public class ClerkApiServiceImpl implements ClerkApiService {
@Override
public ServiceResponse<Void> syncClerkToWeimob(Integer wmMallStoreId, String clerkIds, Integer enterpriseId) {
if (StringUtils.isBlank(clerkIds)) {
return ServiceResponse.success();
if (StringUtils.isBlank(clerkIds) || StringUtils.isBlank(clerkIds.replaceAll(",", ""))) {
return ServiceResponse.failure(ErrorCode.PARAMETER_ERROR.getCode(), "参数不存在");
}
List<TabClerk> clerkList = clerkService.listClerkByIds(enterpriseId, clerkIds);
if (CollectionUtils.isNotEmpty(clerkList)) {
......@@ -751,7 +751,7 @@ public class ClerkApiServiceImpl implements ClerkApiService {
});
}
return ServiceResponse.success();
return ServiceResponse.failure(ErrorCode.PARAMETER_ERROR.getCode(), "参数错误,导购数据不存在");
}
@Override
......
......@@ -1595,7 +1595,7 @@ public class StoreApiServiceImpl implements StoreApiService {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("HH:mm");
List<StoreBusinessTimeDTO> businessTimeList = storeDTO.getBusinessTimeList();
if (CollectionUtils.isNotEmpty(businessTimeList)) {
businessTimeList.stream().filter(e -> e != null).map(e -> {
businessTimeList.stream().filter(e -> e != null && StringUtils.isNotBlank(e.getWeekday())).map(e -> {
String businessHours = simpleDateFormat.format(e.getOpenTime()) + "-" + simpleDateFormat.format(e.getCloseTime());
return e.getWeekdayShow() + businessHours;
}).forEach(businessTime::append);
......
......@@ -107,6 +107,11 @@ public class StoreDictApiServiceImpl implements StoreDictApiService {
return ServiceResponse.failure(ErrorCode.MISS_PARAMETER.getCode(), ErrorCode.MISS_PARAMETER.getMsg());
}
List<String> listSelected = this.storeDictService.listStoreType(enterpriseId);
List<String> list = Arrays.asList(storeTypeArr);
List<String> delList = listSelected.stream().filter(s -> !list.contains(s)).collect(Collectors.toList());
delList.forEach(s ->{
this.storeDictService.deleteStoreDict(enterpriseId, s, "storeType");
});
for(String storeType : storeTypeArr){
boolean isExist = false;
for(String s : listSelected){
......@@ -131,6 +136,11 @@ public class StoreDictApiServiceImpl implements StoreDictApiService {
return ServiceResponse.failure(ErrorCode.MISS_PARAMETER.getCode(), ErrorCode.MISS_PARAMETER.getMsg());
}
List<String> listSelected = this.storeDictService.listStoreStatus(enterpriseId);
List<String> list = Arrays.asList(storeStatusArr);
List<String> delList = listSelected.stream().filter(s -> !list.contains(s)).collect(Collectors.toList());
delList.forEach(s ->{
this.storeDictService.deleteStoreDict(enterpriseId, s, "storeStatus");
});
for(String storeStatus : storeStatusArr){
boolean isExist = false;
for(String s : listSelected){
......@@ -235,7 +245,7 @@ public class StoreDictApiServiceImpl implements StoreDictApiService {
return;
}
String key = StoreRedisKeyUtils.getStoreFieldKey(enterpriseId, Integer.valueOf(s));
this.storeDictService.deleteStoreField(enterpriseId, s);
this.storeDictService.deleteStoreDict(enterpriseId, s, "storeField");
Object c = RedisUtil.getCache(key);
String storeListSourceKey = StoreRedisKeyUtils.getStoreListSourceKey(enterpriseId, userId);
if(c != null){
......
......@@ -104,11 +104,11 @@
where store_dict_id = #{storeDictId,jdbcType=INTEGER}
</update>
<update id="deleteStoreField" >
<update id="deleteStoreDict" >
update tab_store_dict
set status=0
where enterprise_id = #{enterpriseId,jdbcType=INTEGER}
and type = 'storeField'
and type = #{type}
and value = #{value,jdbcType=VARCHAR}
</update>
<select id="listStoreType" parameterType="java.lang.Integer" resultType="java.lang.String">
......
......@@ -16,6 +16,7 @@ import com.gic.enterprise.utils.UserDetailUtils;
import com.gic.redis.data.util.RedisUtil;
import com.gic.store.constant.StoreESFieldsEnum;
import com.gic.store.dto.StoreDictDTO;
import com.gic.store.service.StoreApiService;
import com.gic.store.service.StoreDictApiService;
import com.gic.store.web.vo.StoreDictVO;
import org.apache.commons.lang.StringUtils;
......@@ -39,6 +40,8 @@ public class StoreDictController {
private EnterpriseInitApiService enterpriseInitApiService;
@Autowired
private AuditLogApiService auditLogApiService;
@Autowired
private StoreApiService storeApiService;
@RequestMapping("list-all-businesscategory")
......@@ -136,7 +139,7 @@ public class StoreDictController {
@RequestMapping("save-status-type")
@ResponseBody
public RestResponse saveStoreStatusAndStoreType(String storeStatus, String storeType){
AuditLogDTO auditLogDTO = new AuditLogDTO();
/* AuditLogDTO auditLogDTO = new AuditLogDTO();
// 商户id
auditLogDTO.setEnterpriseId(UserDetailUtils.getUserDetail().getEnterpriseId());
// 申请人id
......@@ -151,16 +154,23 @@ public class StoreDictController {
jsonObject.put("storeType", storeType);
auditLogDTO.setExtraInfo(jsonObject.toJSONString());
ServiceResponse<Void> serviceResponse = auditLogApiService.apply(auditLogDTO);
return ResultControllerUtils.commonResult(serviceResponse);
// Integer enterpriseId = UserDetailUtils.getUserDetail().getEnterpriseId();
// ServiceResponse serviceResponse = this.storeDictApiService.saveStoreStatusAndStoreType(enterpriseId, storeStatus.split(","), storeType.split(","));
// if(serviceResponse.isSuccess()){
// LogUtils.createLog("配置商户门店类型和门店状态", "门店状态和门店类型");
// this.enterpriseInitApiService.setStoreStatusAndType(enterpriseId);
// return RestResponse.success();
// }else {
// return RestResponse.failure(serviceResponse.getCode(), serviceResponse.getMessage());
// }
return ResultControllerUtils.commonResult(serviceResponse);*/
Integer enterpriseId = UserDetailUtils.getUserDetail().getEnterpriseId();
String key = "storeStatusAndType:"+enterpriseId;
Object cache = RedisUtil.getCache(key);
if(cache != null){
return RestResponse.failure(ErrorCode.SYSTEM_ERROR.getCode(), "请稍后重试,修改间隔为24个小时");
}
RedisUtil.setCache(key, 1, 24l, TimeUnit.HOURS);
ServiceResponse serviceResponse = this.storeDictApiService.saveStoreStatusAndStoreType(enterpriseId, storeStatus.split(","), storeType.split(","));
if(serviceResponse.isSuccess()){
LogUtils.createLog("配置商户门店类型和门店状态", "门店状态和门店类型");
this.enterpriseInitApiService.setStoreStatusAndType(enterpriseId);
this.storeApiService.bulkAddStoreToIndex(enterpriseId);
return RestResponse.success();
}else {
return RestResponse.failure(serviceResponse.getCode(), serviceResponse.getMessage());
}
}
......@@ -178,7 +188,7 @@ public class StoreDictController {
String key = "relevanceStorefield:"+enterpriseId;
Object cache = RedisUtil.getCache(key);
if(cache != null){
return RestResponse.failure(ErrorCode.SYSTEM_ERROR.getCode(), "请稍后重试");
return RestResponse.failure(ErrorCode.SYSTEM_ERROR.getCode(), "请稍后重试,修改间隔为24个小时");
}
/*AuditLogDTO auditLogDTO = new AuditLogDTO();
auditLogDTO.setEnterpriseId(1129);
......@@ -191,7 +201,7 @@ public class StoreDictController {
jsonObject.put("userId", userId);
auditLogDTO.setExtraInfo(jsonObject.toJSONString());
auditLogApiService.apply(auditLogDTO);*/
RedisUtil.setCache(key, 1, 12l, TimeUnit.HOURS);
RedisUtil.setCache(key, 1, 24l, TimeUnit.HOURS);
ServiceResponse serviceResponse = this.storeDictApiService.saveStoreField(enterpriseId, values, userId);
if(serviceResponse.isSuccess()){
LogUtils.createLog("自定义字段列表支持筛选配置", "自定义字段");
......
package com.gic.store.web.controller;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.gic.download.utils.OperationResultUtils;
import com.gic.enterprise.service.EnterpriseInitApiService;
import org.apache.commons.lang3.StringUtils;
......@@ -60,23 +59,28 @@ public class StoreStrategyController {
if (regionId == null) {
return RestResponse.failure(ErrorCode.PARAMETER_ERROR.getCode(), "regionId:门店域ID不能为空");
}
Map<String, String> result = new HashMap<>(16);
for (StrategyStoreFieldEnum fieldEnum : StrategyStoreFieldEnum.values()) {
result.put(fieldEnum.getCode(), fieldEnum.getMessage());
}
//有序
List<Map<String, String>> result = new ArrayList<>(16);
Arrays.stream(StrategyStoreFieldEnum.values()).forEach(e -> {
Map<String, String> temp = new HashMap<>(2);
temp.put(e.getCode(), e.getMessage());
result.add(temp);
});
//单选或者多选的,也需要
ServiceResponse<List<StoreFieldDTO>> storeFieldDTOServiceResponse = storeFieldApiService
.listStoreFieldByRegionId(regionId);
if (storeFieldDTOServiceResponse.isSuccess()) {
List<StoreFieldDTO> storeFieldDTOList = storeFieldDTOServiceResponse.getResult();
for (StoreFieldDTO storeFieldDTO : storeFieldDTOList) {
int storeFieldType = storeFieldDTO.getStoreFieldType();
boolean isRadioOrCheck = storeFieldType == StoreFieldTypeEnum.RADIO.getCode()
|| storeFieldType == StoreFieldTypeEnum.CHECK.getCode();
if (isRadioOrCheck) {
result.put(storeFieldDTO.getStoreFieldId().toString(), storeFieldDTO.getStoreFieldName());
}
}
storeFieldDTOList
.stream()
.filter(e -> e != null)
.filter(e -> e.getStoreFieldType().intValue() == StoreFieldTypeEnum.RADIO.getCode()
|| e.getStoreFieldType().intValue() == StoreFieldTypeEnum.CHECK.getCode())
.forEach(e -> {
Map<String, String> temp = new HashMap<>(2);
temp.put(e.getStoreFieldId().toString(), e.getStoreFieldName());
result.add(temp);
});
}
return RestResponse.success(result);
}
......
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