Commit 37b02333 by zhiwj

修改锁

parent b5225361
......@@ -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 (clerkService.isRepeatByClerkName(clerkDTO.getStoreInfoId(), clerkDTO.getClerkName(),
// clerkDTO.getClerkId())) {
// return ServiceResponse.failure(ErrorCode.PARAMETER_ERROR.getCode(), "门店下导购名称重复");
// }
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());
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
......
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