Commit acad7a73 by 陶光胜

Merge branch 'developer' into 'master'

Developer

See merge request !36
parents f6f887f5 914990c0
......@@ -34,6 +34,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.*;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
import java.util.stream.Stream;
......@@ -84,7 +85,7 @@ public class ClerkApiServiceImpl implements ClerkApiService {
}
try {
RedisUtil.lock("enterprise:clerk:position:" + clerkDTO.getStoreInfoId(), 1L);
RedisUtil.lock("enterprise:clerk:position:" + clerkDTO.getStoreInfoId(), 3L, TimeUnit.SECONDS, 3L);
if (clerkService.isRepeatByClerkCode(clerkDTO.getStoreInfoId(), clerkDTO.getClerkCode(), clerkDTO.getClerkId())) {
return ServiceResponse.failure(ErrorCode.PARAMETER_ERROR.getCode(), "门店下导购代码重复");
}
......@@ -101,56 +102,56 @@ public class ClerkApiServiceImpl implements ClerkApiService {
} else if (clerkLeader == null) {
clerkDTO.setPositionId(com.gic.store.constant.Constants.CLERK_LEADER_POSITION_ID);
}
}finally {
RedisUtil.unlock("enterprise:clerk:position:" + clerkDTO.getStoreInfoId());
}
if (StringUtils.isNotBlank(clerkDTO.getPhoneNumber())) {
String nationcode = clerkDTO.getNationcode();
if (StringUtils.isBlank(nationcode)) {
nationcode = Constants.NATION_CODE;
}
//默认加上+
if (!nationcode.contains("+")) {
nationcode = "+" + nationcode;
}
clerkDTO.setNationcode(nationcode);
if (StringUtils.isNotBlank(clerkDTO.getPhoneNumber())) {
String nationcode = clerkDTO.getNationcode();
if (StringUtils.isBlank(nationcode)) {
nationcode = Constants.NATION_CODE;
}
//默认加上+
if (!nationcode.contains("+")) {
nationcode = "+" + nationcode;
}
clerkDTO.setNationcode(nationcode);
if (clerkService.isRepeatByPhoneNumber(clerkDTO.getStoreInfoId(), clerkDTO.getPhoneNumber(),
clerkDTO.getClerkId(), clerkDTO.getNationcode())) {
return ServiceResponse.failure(ErrorCode.PARAMETER_ERROR.getCode(), "门店下导购手机号重复");
if (clerkService.isRepeatByPhoneNumber(clerkDTO.getStoreInfoId(), clerkDTO.getPhoneNumber(),
clerkDTO.getClerkId(), clerkDTO.getNationcode())) {
return ServiceResponse.failure(ErrorCode.PARAMETER_ERROR.getCode(), "门店下导购手机号重复");
}
}
}
// if (clerkService.isRepeatByClerkName(clerkDTO.getStoreInfoId(), clerkDTO.getClerkName(),
// clerkDTO.getClerkId())) {
// return ServiceResponse.failure(ErrorCode.PARAMETER_ERROR.getCode(), "门店下导购名称重复");
// }
if (clerkDTO.getPositionId() == null) {
clerkDTO.setPositionId(com.gic.store.constant.Constants.CLERK_POSITION_ID);
}
String positionName = this.clerkPositionService.getByClerkPositionId(clerkDTO.getPositionId()).getPositionName();
clerkDTO.setPositionName(positionName);
if (clerkDTO.getClerkId() == null) {
// Integer saveClerkLogBySaveClerk(Integer reason, Integer enterpriseId, Integer clerkId, String remark, Integer operatorId, String operatorName);
Integer id = clerkService.save(clerkDTO);
clerkDTO.setClerkId(id);
clerkLogService.saveClerkLogBySaveClerk(clerkDTO.getEnterpriseId(), id, clerkDTO.getReason(),
clerkDTO.getRemark(), clerkDTO.getOperatorId(), clerkDTO.getOperatorName());
storeLogByAddClerk(clerkDTO);
// if (clerkService.isRepeatByClerkName(clerkDTO.getStoreInfoId(), clerkDTO.getClerkName(),
// clerkDTO.getClerkId())) {
// return ServiceResponse.failure(ErrorCode.PARAMETER_ERROR.getCode(), "门店下导购名称重复");
// }
synClerkInfoToWeimobMQ(clerkDTO);
} else {
TabClerk oldClerk = this.clerkService.getById(clerkDTO.getClerkId());
clerkService.update(clerkDTO);
clerkLogService.saveClerkLogByUpdateClerk(oldClerk, clerkDTO, clerkDTO.getEnterpriseId(),
clerkDTO.getClerkId(), clerkDTO.getReason(), clerkDTO.getRemark(), clerkDTO.getOperatorId(),
clerkDTO.getOperatorName());
if (clerkDTO.getPositionId() == null) {
clerkDTO.setPositionId(com.gic.store.constant.Constants.CLERK_POSITION_ID);
}
String positionName = this.clerkPositionService.getByClerkPositionId(clerkDTO.getPositionId()).getPositionName();
clerkDTO.setPositionName(positionName);
if (clerkDTO.getClerkId() == null) {
// Integer saveClerkLogBySaveClerk(Integer reason, Integer enterpriseId, Integer clerkId, String remark, Integer operatorId, String operatorName);
Integer id = clerkService.save(clerkDTO);
clerkDTO.setClerkId(id);
clerkLogService.saveClerkLogBySaveClerk(clerkDTO.getEnterpriseId(), id, clerkDTO.getReason(),
clerkDTO.getRemark(), clerkDTO.getOperatorId(), clerkDTO.getOperatorName());
storeLogByAddClerk(clerkDTO);
synClerkInfoToWeimobMQ(clerkDTO);
} else {
TabClerk oldClerk = this.clerkService.getById(clerkDTO.getClerkId());
clerkService.update(clerkDTO);
clerkLogService.saveClerkLogByUpdateClerk(oldClerk, clerkDTO, clerkDTO.getEnterpriseId(),
clerkDTO.getClerkId(), clerkDTO.getReason(), clerkDTO.getRemark(), clerkDTO.getOperatorId(),
clerkDTO.getOperatorName());
synClerkInfoToWeimobMQ(clerkDTO);
synClerkInfoToWeimobMQ(clerkDTO);
}
return ServiceResponse.success(clerkDTO.getClerkId());
}finally {
RedisUtil.unlock("enterprise:clerk:position:" + clerkDTO.getStoreInfoId());
}
return ServiceResponse.success(clerkDTO.getClerkId());
}
@Override
......@@ -177,17 +178,16 @@ public class ClerkApiServiceImpl implements ClerkApiService {
@Override
public ServiceResponse<Integer> saveClerkForPosMember(String clerkName, String clerkCode, Integer storeInfoId, Integer enterpriseId, String cardNO) {
ServiceResponse<StoreDTO> storeResponse = storeApiService.getStoreByStoreInfoId(enterpriseId, storeInfoId);
if (storeResponse.getResult() != null) {
StoreDTO store = storeResponse.getResult();
Integer storeId = storeService.getStoreIdByStoreInfoId(enterpriseId, storeInfoId);
if (storeId != null) {
ClerkDTO clerkDTO = new ClerkDTO();
clerkDTO.setClerkName(clerkName);
clerkDTO.setClerkCode(clerkCode);
clerkDTO.setEnterpriseId(enterpriseId);
clerkDTO.setStoreInfoId(store.getStoreInfoId());
clerkDTO.setStoreInfoId(storeInfoId);
clerkDTO.setReason(ClerkLogReasonEnum.MEMBER.getCode());
clerkDTO.setRemark("卡号:" + cardNO);
clerkDTO.setStoreName(store.getStoreName());
// clerkDTO.setStoreName(store.getStoreName());
ServiceResponse serviceResponse = this.saveOrUpdate(clerkDTO);
return serviceResponse;
} else {
......@@ -198,17 +198,16 @@ public class ClerkApiServiceImpl implements ClerkApiService {
@Override
public ServiceResponse<Integer> saveClerkForPosMember(PosAddClerkDTO posAddClerkDTO) {
ServiceResponse<StoreDTO> storeResponse = storeApiService.getStoreByStoreInfoId(posAddClerkDTO.getEnterpriseId(), posAddClerkDTO.getStoreInfoId());
if (storeResponse.getResult() != null) {
StoreDTO store = storeResponse.getResult();
Integer storeId = storeService.getStoreIdByStoreInfoId(posAddClerkDTO.getEnterpriseId(), posAddClerkDTO.getStoreInfoId());
if (storeId != null) {
ClerkDTO clerkDTO = new ClerkDTO();
clerkDTO.setClerkName(posAddClerkDTO.getClerkName());
clerkDTO.setClerkCode(posAddClerkDTO.getClerkCode());
clerkDTO.setEnterpriseId(posAddClerkDTO.getEnterpriseId());
clerkDTO.setStoreInfoId(store.getStoreInfoId());
clerkDTO.setStoreInfoId(posAddClerkDTO.getStoreInfoId());
clerkDTO.setReason(ClerkLogReasonEnum.MEMBER.getCode());
clerkDTO.setRemark("卡号:" + posAddClerkDTO.getCardNO());
clerkDTO.setStoreName(store.getStoreName());
// clerkDTO.setStoreName(store.getStoreName());
clerkDTO.setStatus((posAddClerkDTO.getOpenCardTime().getTime() + 15552000000L) > new Date().getTime() ? 1 : 0);
......
......@@ -15,6 +15,7 @@ import org.apache.commons.collections.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
......@@ -105,6 +106,11 @@ public class ClerkPositionApiServiceImpl implements ClerkPositionApiService {
if (clerkPosition == null) {
return EnterpriseServiceResponse.failure(ErrorCode.PARAMETER_ERROR.getCode(), "数据不存在或已删除");
}
Map<Integer, Integer> map = clerkService.countMapByPosition(clerkPosition.getEnterpriseId(), Collections.singletonList(clerkPosition.getClerkPositionId()));
Integer count = map.get(clerkPosition.getClerkPositionId());
if (count > 0) {
return EnterpriseServiceResponse.failure(ErrorCode.PARAMETER_ERROR.getCode(), "角色正在被使用中,无法删除");
}
this.clerkPositionService.deleteById(clerkPositionId);
return EnterpriseServiceResponse.success();
}
......
......@@ -568,12 +568,12 @@ public class StoreApiServiceImpl implements StoreApiService {
@Override
public ServiceResponse<Page<StoreDTO>> listStore(StoreSearchDTO storeSearchDTO, Integer pageNum, Integer pageSize, String returnFileds) {
if (storeSearchDTO.getEnterpriseId() == null) {
/*if (storeSearchDTO.getEnterpriseId() == null) {
return EnterpriseServiceResponse.failure(ErrorCode.ENTERPRISE_EMPTY);
}
}*/
JSONObject enterpriseJson = this.buildSearchJSON(storeSearchDTO);
if(enterpriseJson == null){ //null表示没有权限
return ServiceResponse.success();
return ServiceResponse.success(new Page<>(pageNum, pageSize));
}
JSONObject sortJson = null;
if(StringUtils.isNotBlank(storeSearchDTO.getLatitude()) && StringUtils.isNotBlank(storeSearchDTO.getLatitude())){
......@@ -603,7 +603,7 @@ public class StoreApiServiceImpl implements StoreApiService {
page.setResult(result);
return ServiceResponse.success(page);
}
return ServiceResponse.success();
return ServiceResponse.success(new Page<>(pageNum, pageSize));
}
@Override
......
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