Commit 2d43f52b by 陶光胜

Merge branch 'developer' of http://115.159.76.241/base_platform_enterprise/gic-store into developer

parents 127cc2f0 792fb5a8
......@@ -94,7 +94,7 @@ public class ClerkDTO implements Serializable {
}
public void setClerkName(String clerkName) {
this.clerkName = clerkName.trim();
this.clerkName = clerkName == null ? null : clerkName.trim();
}
public String getClerkCode() {
......@@ -102,7 +102,7 @@ public class ClerkDTO implements Serializable {
}
public void setClerkCode(String clerkCode) {
this.clerkCode = clerkCode.trim();
this.clerkCode = clerkCode == null ? null : clerkCode.trim();
}
public Integer getEnterpriseId() {
......
......@@ -135,7 +135,7 @@ public class StoreInfoDTO implements Serializable {
}
public void setStoreName(String storeName) {
this.storeName = storeName.trim();
this.storeName = storeName == null ? null : storeName.trim();
}
public String getStoreCode() {
......@@ -143,7 +143,7 @@ public class StoreInfoDTO implements Serializable {
}
public void setStoreCode(String storeCode) {
this.storeCode = storeCode.trim();
this.storeCode = storeCode == null ? null : storeCode.trim();
}
public Integer getRegionId() {
......
......@@ -90,7 +90,7 @@ public class ClerkPositionServiceImpl implements ClerkPositionService {
// 相当于置顶
sortTopping(enterpriseId, clerkPositionId);
} else {
int start = seq - 2;
int start = seq - 4;
int size = 2;
List<TabClerkPosition> list = tabClerkPositionMapper.listTwoElementExceptId(enterpriseId, start, size, clerkPositionId);
......
......@@ -14,6 +14,7 @@ import com.gic.enterprise.response.EnterpriseServiceResponse;
import com.gic.enterprise.service.EnterpriseApiService;
import com.gic.enterprise.service.WmStoreSyncLogApiService;
import com.gic.mq.sdk.GicMQClient;
import com.gic.redis.data.util.RedisUtil;
import com.gic.spark.api.service.SparkJobApiService;
import com.gic.store.constant.ClerkLogReasonEnum;
import com.gic.store.constant.ImportClerkBatchResultEnum;
......@@ -79,10 +80,32 @@ public class ClerkApiServiceImpl implements ClerkApiService {
return ServiceResponse.failure(ErrorCode.PARAMETER_ERROR.getCode(), "权限不足");
}
// 校验参数
if (clerkService.isRepeatByClerkCode(clerkDTO.getStoreInfoId(), clerkDTO.getClerkCode(),
clerkDTO.getClerkId())) {
return ServiceResponse.failure(ErrorCode.PARAMETER_ERROR.getCode(), "门店下导购代码重复");
if (StringUtils.isBlank(clerkDTO.getClerkCode())) {
return ServiceResponse.failure(ErrorCode.PARAMETER_ERROR.getCode(), "门店下导购代码不能为空");
}
try {
RedisUtil.lock("enterprise:clerk:position:" + clerkDTO.getStoreInfoId(), 1L);
if (clerkService.isRepeatByClerkCode(clerkDTO.getStoreInfoId(), clerkDTO.getClerkCode(), clerkDTO.getClerkId())) {
return ServiceResponse.failure(ErrorCode.PARAMETER_ERROR.getCode(), "门店下导购代码重复");
}
// 店长逻辑
// 如果门店下已经存在有导购是店长, 并且当前导购是店长 则做替换
// 如果门店下没有导购是店长,将当前导购设置成店长
// 这里并发会出错 加个锁
TabClerk clerkLeader = clerkService.getClerkLeaderByStoreInfoId(clerkDTO.getEnterpriseId(), clerkDTO.getStoreInfoId());
if (clerkLeader != null && com.gic.store.constant.Constants.CLERK_LEADER_POSITION_ID.equals(clerkDTO.getPositionId())) {
clerkLeader.setPositionId(com.gic.store.constant.Constants.CLERK_POSITION_ID);
clerkLeader.setPositionName("导购");
clerkService.update(clerkLeader);
clerkDTO.setPositionId(com.gic.store.constant.Constants.CLERK_LEADER_POSITION_ID);
} 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)) {
......@@ -107,19 +130,6 @@ public class ClerkApiServiceImpl implements ClerkApiService {
if (clerkDTO.getPositionId() == null) {
clerkDTO.setPositionId(com.gic.store.constant.Constants.CLERK_POSITION_ID);
}
// 店长逻辑
// 如果门店下已经存在有导购是店长, 并且当前导购是店长 则做替换
// 如果门店下没有导购是店长,将当前导购设置成店长
TabClerk clerkLeader = clerkService.getClerkLeaderByStoreInfoId(clerkDTO.getEnterpriseId(), clerkDTO.getStoreInfoId());
if (clerkLeader != null && com.gic.store.constant.Constants.CLERK_LEADER_POSITION_ID.equals(clerkDTO.getPositionId())) {
clerkLeader.setPositionId(com.gic.store.constant.Constants.CLERK_POSITION_ID);
clerkLeader.setPositionName("导购");
clerkService.update(clerkLeader);
clerkDTO.setPositionId(com.gic.store.constant.Constants.CLERK_LEADER_POSITION_ID);
} else if (clerkLeader == null) {
clerkDTO.setPositionId(com.gic.store.constant.Constants.CLERK_LEADER_POSITION_ID);
}
String positionName = this.clerkPositionService.getByClerkPositionId(clerkDTO.getPositionId()).getPositionName();
clerkDTO.setPositionName(positionName);
......
......@@ -360,7 +360,7 @@ public class ClerkImportController {
String positionName = row.get(6);
if (validate) {
if (StringUtils.isNotBlank(positionName) && this.lengthValidate(storeCode, 20)) {
bean.setErrorMessage("岗位超过20个字");
bean.setErrorMessage("角色超过20个字");
validate = false;
}
}
......@@ -370,7 +370,7 @@ public class ClerkImportController {
if (validate) {
ClerkPositionDTO positionDTO = positionResp.getResult();
if (positionDTO == null) {
bean.setErrorMessage("职位不存在");
bean.setErrorMessage("角色不存在");
validate = false;
}
}
......
......@@ -22,7 +22,9 @@ import com.gic.enterprise.utils.LicenseUtils;
import com.gic.enterprise.utils.ResultControllerUtils;
import com.gic.enterprise.utils.UserDetailUtils;
import com.gic.log.api.service.LogApiService;
import com.gic.member.api.dto.BatchTaskOperaInfDTO;
import com.gic.member.api.dto.StoreBatchUpdateDTO;
import com.gic.member.api.service.BatchOperationApiService;
import com.gic.member.api.service.StoreUpdateApiService;
import com.gic.redis.data.util.RedisUtil;
import com.gic.store.constant.*;
......@@ -52,9 +54,7 @@ import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;
import java.text.ParseException;
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;
......@@ -97,6 +97,8 @@ public class StoreController extends DownloadUtils {
private EnterpriseApiService enterpriseApiService;
@Autowired
private StoreTransferApiService storeTransferApiService;
@Autowired
private BatchOperationApiService batchOperationApiService;
private Map<Integer, SimpleDateFormat> map = new ConcurrentHashMap<>();
......@@ -613,6 +615,23 @@ public class StoreController extends DownloadUtils {
return EnterpriseRestResponse.failure(response);
}
@RequestMapping("process-store-member")
public RestResponse transferStoreMember(){
ServiceResponse<List<BatchTaskOperaInfDTO>> resp = batchOperationApiService.queryUnderwayTask(UserDetailUtils.getUserDetail().getEnterpriseId());
if (!resp.isSuccess()) {
return ResultControllerUtils.commonResult(resp);
}
List<BatchTaskOperaInfDTO> list = resp.getResult();
if (CollectionUtils.isNotEmpty(list)) {
List<BatchTaskOperaInfDTO> processList = list.stream().filter(e -> e.getTaskType() == 17).collect(Collectors.toList());
return RestResponse.success(processList);
}
return RestResponse.success(Collections.emptyList());
}
private List<StoreListSourceVO> getStoreAllListSource(Integer enterpriseId) {
List<StoreListSourceVO> list = new ArrayList<>();
ServiceResponse<List<StoreDictDTO>> serviceResponse = this.storeDictApiService.listStoreField(enterpriseId);
......
......@@ -63,5 +63,6 @@
<dubbo:reference interface="com.gic.enterprise.service.AuditLogApiService" id="auditLogApiService" timeout="6000"/>
<dubbo:reference interface="com.gic.enterprise.service.EnterpriseApiService" id="enterpriseApiService" timeout="6000"/>
<dubbo:reference interface="com.gic.store.service.DictApiService" id="dictApiService" timeout="6000"/>
<dubbo:reference interface="com.gic.member.api.service.BatchOperationApiService" id="batchOperationApiService" timeout="6000"/>
</beans>
\ No newline at end of file
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