Commit ffb1d513 by 墨竹

fix:是否展示会员工具bug修改

parent f2c032d5
......@@ -433,7 +433,7 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
String wxEnterpriseId = dto.getWxEnterpriseId();
String name = dto.getExternalName();
String createTime = dto.getAddCreateTime();
String externalUserId = dto.getExternalUserid();
String externalUserid = dto.getExternalUserid();
String avatar = dto.getAvatar();
//好友不开卡 发送欢迎语
if (wxEnterpriseRelated.getMemberOpenCardFlag() == 1) {
......@@ -473,20 +473,23 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
log.info("生产会员memnerid失败:{}", unionId);
return;
}
String clerkId = staffClerkRelationDTO.getClerkId();
List<TabHaobanExternalClerkRelated> externalClerkRelateds = externalClerkRelatedService
.listByExTernalUseridAndWxUserIdAllStatus(wxEnterpriseId, dto.getExternalUserid(), dto.getWxUserId());
.listByExTernalUseridAndWxUserIdAllStatus(wxEnterpriseId, externalUserid, dto.getWxUserId());
String relationKey = SecureUtil.md5(clerkId + externalUserid);
if (CollectionUtils.isEmpty(externalClerkRelateds)) {
log.info("新增TabHaobanExternalClerkRelated");
TabHaobanExternalClerkRelated related = new TabHaobanExternalClerkRelated();
related.setAddCreateTime(createTime);
related.setClerkId(staffClerkRelationDTO.getClerkId());
related.setClerkId(clerkId);
related.setEnterpriseId(staffClerkRelationDTO.getEnterpriseId());
related.setExternalName(name);
related.setExternalUserId(externalUserId);
related.setExternalUserId(externalUserid);
related.setStaffId(staffId);
related.setHeadUrl(dto.getAvatar());
related.setMemberUnionidRelatedId(dto.getMemberUnionidRelatedId());
related.setStoreId(staffClerkRelationDTO.getStoreId());
related.setRelationKey(relationKey);
related.setUnionid(unionId);
related.setWxEnterpriseId(wxEnterpriseId);
related.setWxUserId(wxUserId);
......@@ -497,12 +500,13 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
TabHaobanExternalClerkRelated exsitDTO = externalClerkRelateds.get(0);
exsitDTO.setMemberId(member.getMemberId());
exsitDTO.setMemberUnionidRelatedId(dto.getMemberUnionidRelatedId());
exsitDTO.setExternalUserId(externalUserId);
exsitDTO.setExternalUserId(externalUserid);
exsitDTO.setUnionid(unionId);
exsitDTO.setRelationKey(relationKey);
exsitDTO.setHeadUrl(dto.getAvatar());
exsitDTO.setStoreId(staffClerkRelationDTO.getStoreId());
exsitDTO.setEnterpriseId(staffClerkRelationDTO.getEnterpriseId());
exsitDTO.setClerkId(staffClerkRelationDTO.getClerkId());
exsitDTO.setClerkId(clerkId);
exsitDTO.setStatusFlag(1);
externalClerkRelatedService.update(exsitDTO);
}
......
......@@ -75,57 +75,58 @@ public class ClerkController extends WebBaseController {
@Autowired
private ExternalClerkRelatedApiService externalClerkRelatedApiService;
@Autowired
private OperationSettingApiService operationSettingApiService;
@Autowired
private WxEnterpriseApiService wxEnterpriseApiService;
//选择成员列表
@RequestMapping("/staff-list")
public HaobanResponse staffList(String storeId) {
if(StringUtils.isAnyBlank(storeId)){
if (StringUtils.isAnyBlank(storeId)) {
return resultResponse(HaoBanErrCode.ERR_2);
}
List<StaffClerkRelationDTO> list = staffClerkRelationApiService.listByStoreId(storeId);
List<String> staffIds = list.stream().map(s->s.getStaffId()).collect(Collectors.toList());
List<StaffDTO> resultlist= staffApiService.listByIds(staffIds);
Map<String,StaffDTO> map = com.gic.commons.util.CollectionUtil.toMap(resultlist, "staffId");
List<String> staffIds = list.stream().map(s -> s.getStaffId()).collect(Collectors.toList());
List<StaffDTO> resultlist = staffApiService.listByIds(staffIds);
Map<String, StaffDTO> map = com.gic.commons.util.CollectionUtil.toMap(resultlist, "staffId");
int size = 0;
if(resultlist != null){
if (resultlist != null) {
size = resultlist.size();
}
List<StaffDTO> resultList = new ArrayList<>();
for(StaffClerkRelationDTO staffClerkRelationDTO : list){
for (StaffClerkRelationDTO staffClerkRelationDTO : list) {
StaffDTO dto = map.get(staffClerkRelationDTO.getStaffId());
ClerkDTO clerk = clerkService.getClerkByClerkCode(staffClerkRelationDTO.getEnterpriseId(), staffClerkRelationDTO.getClerkCode());
if(clerk != null){
if (clerk != null) {
long memberCount = distributeApiService.getClerkMemberCount(staffClerkRelationDTO.getEnterpriseId(), clerk.getClerkId(), storeId);
logger.info("【获取会员数】enterpriseId={},clerkId={},storeId={},count={}",staffClerkRelationDTO.getEnterpriseId(),clerk.getClerkId(),storeId,memberCount);
logger.info("【获取会员数】enterpriseId={},clerkId={},storeId={},count={}", staffClerkRelationDTO.getEnterpriseId(), clerk.getClerkId(), storeId, memberCount);
dto.setMemberCount(memberCount);
dto.setClerkId(clerk.getClerkId());
resultList.add(dto);
}
}
return resultResponse(HaoBanErrCode.ERR_1,resultlist);
return resultResponse(HaoBanErrCode.ERR_1, resultlist);
}
//门店成员列表
@RequestMapping("/store-clerks")
public HaobanResponse storeClerks(String wxEnterpriseId, String storeId, String version) {
if(StringUtils.isAnyBlank(storeId)){
if (StringUtils.isAnyBlank(storeId)) {
return resultResponse(HaoBanErrCode.ERR_2);
}
StoreDTO storeDTO = storeService.getStore(storeId);
if(storeDTO == null){
if (storeDTO == null) {
return resultResponse(HaoBanErrCode.ERR_10009);
}
List<ClerkListDTO> list = clerkService.getClerkByStoreId(storeDTO.getEnterpriseId(), storeId);
Set<String> clerkCodeList = list.stream().map(ClerkListDTO::getClerkCode).collect(Collectors.toSet());
List<StaffClerkRelationDTO> bindRelationList = staffClerkRelationApiService.listBindCode(storeDTO.getEnterpriseId(),clerkCodeList);
Map<String,StaffClerkRelationDTO> bindCodeMap = bindRelationList.stream().collect(Collectors.toMap(StaffClerkRelationDTO::getClerkCode, s->s));
List<StaffClerkRelationDTO> bindRelationList = staffClerkRelationApiService.listBindCode(storeDTO.getEnterpriseId(), clerkCodeList);
Map<String, StaffClerkRelationDTO> bindCodeMap = bindRelationList.stream().collect(Collectors.toMap(StaffClerkRelationDTO::getClerkCode, s -> s));
List<StoreClerkVO> resultList = new ArrayList<>();
for(ClerkListDTO dto :list){
for (ClerkListDTO dto : list) {
String clerkCode = dto.getClerkCode();
StoreClerkVO vo = new StoreClerkVO();
vo.setClerkCode(clerkCode);
......@@ -134,10 +135,10 @@ public class ClerkController extends WebBaseController {
vo.setClerkImg(dto.getImageUrl());
vo.setClerkName(dto.getClerkName());
StaffClerkRelationDTO related = bindCodeMap.get(clerkCode);
if(related != null){
if (related != null) {
vo.setStaffId(related.getStaffId());
vo.setBindFlag(1);
}else{
} else {
vo.setBindFlag(0);
}
resultList.add(vo);
......@@ -174,7 +175,7 @@ public class ClerkController extends WebBaseController {
@RequestMapping("/get-audit-setting")
@IgnoreLogin
public HaobanResponse getAuditSetting(String wxEnterpriseId) {
if(StringUtils.isAnyBlank(wxEnterpriseId)){
if (StringUtils.isAnyBlank(wxEnterpriseId)) {
return resultResponse(HaoBanErrCode.ERR_2);
}
AuditSettingDTO auditSetting = auditSettingApiService.findSettingByWxEnterpriseId(wxEnterpriseId);
......@@ -194,7 +195,7 @@ public class ClerkController extends WebBaseController {
AuditSettingVO auditSettingVO = new AuditSettingVO();
ClerkMainStoreRelatedDTO mainStore = clerkMainStoreRelatedApiService.getWxEnterpriseIdAndStaffId(wxEnterpriseId, staffId);
if (mainStore == null){
if (mainStore == null) {
logger.info("该门店不存在");
return resultResponse(HaoBanErrCode.ERR_5);
}
......@@ -209,8 +210,20 @@ public class ClerkController extends WebBaseController {
logger.info("该企业未关联");
return resultResponse(HaoBanErrCode.ERR_5);
}
//auditSettingVO.setMemberOpenCardFlag(enterpriseBindInfo.getMemberOpenCardFlag());
WxEnterpriseDTO wxEnterpriseDTO = wxEnterpriseApiService.getOne(wxEnterpriseId);
if (null == wxEnterpriseDTO) {
logger.info("该企业未关联");
return resultResponse(HaoBanErrCode.ERR_8);
}
Integer agreeExternalUseridFlag = wxEnterpriseDTO.getAgreeExternalUseridFlag();
int memberOpenCardFlag = enterpriseBindInfo.getMemberOpenCardFlag();
if (memberOpenCardFlag == 1 && agreeExternalUseridFlag != null && agreeExternalUseridFlag == 1) {
auditSettingVO.setMemberOpenCardFlag(1);
} else if (memberOpenCardFlag == 0) {
auditSettingVO.setMemberOpenCardFlag(1);
} else {
auditSettingVO.setMemberOpenCardFlag(0);
}
auditSettingVO.setWxEnterpriseType(enterpriseBindInfo.getWxEnterpriseType());
auditSettingVO.setFreshFriendFlag(mainStore.getFreshFriendFlag());
return resultResponse(HaoBanErrCode.ERR_1, auditSettingVO);
......@@ -242,7 +255,7 @@ public class ClerkController extends WebBaseController {
//新增店员
@HttpLimit
@RequestMapping("/staff-add")
public HaobanResponse staffAdd(StaffDTO staffDTO,String storeId,String clerkCode,String commitName,Integer version) {
public HaobanResponse staffAdd(StaffDTO staffDTO, String storeId, String clerkCode, String commitName, Integer version) {
String wxEnterpriseId = staffDTO.getWxEnterpriseId();
String staffName = staffDTO.getStaffName();
......@@ -250,23 +263,23 @@ public class ClerkController extends WebBaseController {
String nationcode = staffDTO.getNationCode();
String postion = staffDTO.getPostion();
Integer sex = staffDTO.getSex();
if(StringUtils.isAnyBlank(staffName, commitName)) {
if (StringUtils.isAnyBlank(staffName, commitName)) {
return resultResponse(HaoBanErrCode.ERR_10004);
}
if (StringUtils.isEmpty(clerkCode)) {
return resultResponse(HaoBanErrCode.ERR_111116);
}
if(StringUtils.isNotEmpty(phoneNumber) &&
!GooglePhoneNumberUtil.checkPhoneNumber(phoneNumber, nationcode)){
if (StringUtils.isNotEmpty(phoneNumber) &&
!GooglePhoneNumberUtil.checkPhoneNumber(phoneNumber, nationcode)) {
return resultResponse(HaoBanErrCode.ERR_10012);
}
// 导购code校验-字母和数字
if (!clerkCode.matches("[a-zA-Z0-9]+")) {
return resultResponse(HaoBanErrCode.ERR_10023);
}
if(version == null){
StaffDTO staff = staffApiService.selectByNationcodeAndPhoneNumber(wxEnterpriseId,nationcode,phoneNumber);
if(staff != null) {
if (version == null) {
StaffDTO staff = staffApiService.selectByNationcodeAndPhoneNumber(wxEnterpriseId, nationcode, phoneNumber);
if (staff != null) {
return resultResponse(HaoBanErrCode.ERR_10005);
}
}
......@@ -277,25 +290,25 @@ public class ClerkController extends WebBaseController {
}
String enterpriseId = store.getEnterpriseId();
boolean b = auditApiService.judgeHavePhoneNumberOrCode(enterpriseId, clerkCode, phoneNumber);
if(b){
if (b) {
//待审核中存在code或该手机号
return resultResponse(HaoBanErrCode.ERR_10021);
}
ClerkDTO clerk = clerkService.getClerkByCodeNoDel(store.getEnterpriseId(), clerkCode);
logger.info("【新增店员】clerk={}",JSON.toJSONString(clerk));
if(clerk != null){
logger.info("【新增店员】clerk={}", JSON.toJSONString(clerk));
if (clerk != null) {
return resultResponse(HaoBanErrCode.ERR_10013);
}
AuditSettingDTO dto = auditSettingApiService.findSettingByWxEnterpriseId(wxEnterpriseId);
// 企业绑定详情-导购编辑权限
WxEnterpriseRelationDetailDTO enterpriseBindInfo = wxEnterpriseRelatedApiService
.getEnterpriseBindInfo(wxEnterpriseId, enterpriseId);
if(dto.getAuditFlag() == 1
if (dto.getAuditFlag() == 1
&& dto.getClerkChangeFlag() == 1
&& enterpriseBindInfo.getClerkEditFlag() == 1) {
AuditDTO auditDTO =auditApiService.findByBindRelatedIdAndAuditType(clerkCode, AuditType.CLERK_ADD.getCode());
if(auditDTO !=null){
logger.info("已经存在了审核记录,待审核{}",clerkCode);
AuditDTO auditDTO = auditApiService.findByBindRelatedIdAndAuditType(clerkCode, AuditType.CLERK_ADD.getCode());
if (auditDTO != null) {
logger.info("已经存在了审核记录,待审核{}", clerkCode);
return resultResponse(HaoBanErrCode.ERR_10018);
}
//需要审核
......@@ -326,7 +339,7 @@ public class ClerkController extends WebBaseController {
audit.setRelatedId(clerkCode);
auditApiService.insert(audit);
return resultResponse(HaoBanErrCode.ERR_1);
}else{
} else {
//不用审核
StaffDTO staff = staffApiService.selectById(staffDTO.getStaffId());
AuditDTO audit = new AuditDTO();
......@@ -358,7 +371,7 @@ public class ClerkController extends WebBaseController {
}
//只新增gic那边的,不新增好办这边
boolean flag = syncHaobanToGicServiceApi.syncClerkToGicClerkAdd(storeId, clerkCode, sex, staffName, phoneNumber, nationcode, postion);
if(!flag){
if (!flag) {
return resultResponse(HaoBanErrCode.ERR_10010);
}
return resultResponse(HaoBanErrCode.ERR_1);
......@@ -367,8 +380,8 @@ public class ClerkController extends WebBaseController {
//删除店员
@HttpLimit
@RequestMapping("/staff-del")
public HaobanResponse staffDel(String wxEnterpriseId,String storeId,Integer version,String clerkIds,String staffId) {
if(StringUtils.isAnyBlank(clerkIds)) {
public HaobanResponse staffDel(String wxEnterpriseId, String storeId, Integer version, String clerkIds, String staffId) {
if (StringUtils.isAnyBlank(clerkIds)) {
return resultResponse(HaoBanErrCode.ERR_2);
}
com.gic.enterprise.api.dto.StoreDTO store = storeService.getStoreByIdNoStatus(storeId);
......@@ -377,18 +390,18 @@ public class ClerkController extends WebBaseController {
return resultResponse(HaoBanErrCode.ERR_400001);
}
AuditSettingDTO dto = auditSettingApiService.findSettingByWxEnterpriseId(wxEnterpriseId);
if(dto.getClerkChangeFlag() == 1){
if (dto.getClerkChangeFlag() == 1) {
//需要审核
String[] clerkIdArr = clerkIds.split(",");
for (String clerkId : clerkIdArr) {
AuditDTO auditDTO =auditApiService.findByBindRelatedIdAndAuditType(clerkId, AuditType.CLERK_DEL.getCode());
if(auditDTO !=null){
logger.info("已经存在了审核记录,待审核{}",clerkId);
AuditDTO auditDTO = auditApiService.findByBindRelatedIdAndAuditType(clerkId, AuditType.CLERK_DEL.getCode());
if (auditDTO != null) {
logger.info("已经存在了审核记录,待审核{}", clerkId);
continue;
}
ClerkDTO clerkDTO = clerkService.getClerkByClerkId(clerkId);
if(clerkDTO ==null){
logger.info("导购不存在",clerkId);
if (clerkDTO == null) {
logger.info("导购不存在", clerkId);
continue;
}
StaffDTO staff = staffApiService.selectById(staffId);
......@@ -415,18 +428,18 @@ public class ClerkController extends WebBaseController {
audit.setAuditType(AuditType.CLERK_DEL.getCode());
auditApiService.insert(audit);
}
}else{
} else {
//无需审核
String[] clerkIdArr = clerkIds.split(",");
for (String clerkId : clerkIdArr) {
ClerkDTO clerkDTO = clerkService.getClerkByClerkId(clerkId);
if(clerkDTO == null){
logger.info("导购不存在:{}",clerkId);
if (clerkDTO == null) {
logger.info("导购不存在:{}", clerkId);
continue;
}
if(distributeApiService.getClerkMemberCount(clerkDTO.getEnterpriseId(), clerkId, storeId) == 0){
if(clerkDTO.getClerkType() == 1){
logger.info("店长不能删除:{}",clerkId);
if (distributeApiService.getClerkMemberCount(clerkDTO.getEnterpriseId(), clerkId, storeId) == 0) {
if (clerkDTO.getClerkType() == 1) {
logger.info("店长不能删除:{}", clerkId);
continue;
}
}
......@@ -496,7 +509,7 @@ public class ClerkController extends WebBaseController {
public HaobanResponse setMainStore(String staffId, String storeId, String wxEnterpriseId, String dateStr) {
StaffDTO staff = staffApiService.selectById(staffId);
Date curDate = new Date();
if(staff == null){
if (staff == null) {
return resultResponse(HaoBanErrCode.ERR_10006);
}
//给测试使用
......@@ -506,10 +519,10 @@ public class ClerkController extends WebBaseController {
int i = cn.hutool.core.date.DateUtil.weekOfYear(curDate);
String key = "haoban_set_main_store_" + i + ":" + staffId;
Object hasSet = RedisUtil.getCache(key);
if(hasSet == null){
if (hasSet == null) {
RedisUtil.setCache(key, true, 7 * 24 * 60 * 60L);
clerkMainStoreRelatedApiService.setMainStore(staffId,storeId,wxEnterpriseId);
}else{
clerkMainStoreRelatedApiService.setMainStore(staffId, storeId, wxEnterpriseId);
} else {
return resultResponse(HaoBanErrCode.ERR_10031);
}
return resultResponse(HaoBanErrCode.ERR_1);
......@@ -548,21 +561,21 @@ public class ClerkController extends WebBaseController {
, @RequestParam(defaultValue = "0") Integer flushType) {
StaffDTO staff = staffApiService.selectById(staffId);
String yyyyMM = DateUtil.dateToStr(new Date(), "yyyyMMdd");
if(staff == null){
if (staff == null) {
return resultResponse(HaoBanErrCode.ERR_10006);
}
String key = "haoban_fresh_wx_friend" + yyyyMM + staffId;
Integer count = RedisUtil.getCache(key) == null ? 0 : (Integer)RedisUtil.getCache(key);
Integer count = RedisUtil.getCache(key) == null ? 0 : (Integer) RedisUtil.getCache(key);
if (count != null && count > 0) {
logger.info("次数超出限制:{}", staffId);
return resultResponse(HaoBanErrCode.ERR_10011);
}
if (flushType == 0) {
String taskName = "刷新企业微信好友("+staff.getStaffName()+")";
String taskName = "刷新企业微信好友(" + staff.getStaffName() + ")";
String taskId = dealSyncOperationApiService.createWxFriendTaskSingle(wxEnterpriseId, taskName, staffId, staff.getStaffName(), SyncTaskTypeEnum.FRIEND_SINGLE.getType());
if(StringUtils.isNotBlank(taskId)){
dealSyncOperationApiService.dealWxFriendClerkSingle(taskId,wxUserId,staffId,wxEnterpriseId);
}else{
if (StringUtils.isNotBlank(taskId)) {
dealSyncOperationApiService.dealWxFriendClerkSingle(taskId, wxUserId, staffId, wxEnterpriseId);
} else {
return resultResponse(HaoBanErrCode.ERR_10022);
}
} else {
......@@ -626,29 +639,29 @@ public class ClerkController extends WebBaseController {
//精确查,根据手机号或者code,查找
@RequestMapping("query-clerk-list-by-code")
public HaobanResponse queryClerkListByCode(String keyword,String wxEnterpriseId){
if(StringUtils.isAnyBlank(keyword,wxEnterpriseId)){
public HaobanResponse queryClerkListByCode(String keyword, String wxEnterpriseId) {
if (StringUtils.isAnyBlank(keyword, wxEnterpriseId)) {
return resultResponse(HaoBanErrCode.ERR_2);
}
List<EnterpriseDetailDTO> list = wxEnterpriseRelatedApiService.listEnterpriseByWxEnterpriseId(wxEnterpriseId);
if(list == null || list.isEmpty()){
if (list == null || list.isEmpty()) {
return resultResponse(HaoBanErrCode.ERR_1);
}
List<String> enterpriseIdList = list.stream().filter(s->{
List<String> enterpriseIdList = list.stream().filter(s -> {
boolean over = isEnterpriseOver(s.getEnterpriseId());
return !over;
}).map(s->s.getEnterpriseId()).collect(Collectors.toList());
}).map(s -> s.getEnterpriseId()).collect(Collectors.toList());
List<String> storeIds = wxEnterpriseRelatedApiService.listStoreIdByWxEnterpriseId(wxEnterpriseId);
List<ClerkDTO> clerkList = clerkNewService.listClerkByEnterpriseIdAndSearch(enterpriseIdList, storeIds, keyword);
List<ClerkStoreVO> clerkStoreList = new ArrayList<>();
if(CollectionUtil.isEmpty(clerkList)){
return resultResponse(HaoBanErrCode.ERR_1,clerkStoreList);
if (CollectionUtil.isEmpty(clerkList)) {
return resultResponse(HaoBanErrCode.ERR_1, clerkStoreList);
}
List<EnterpriseDTO> enterpriselist = enterpriseService.listEnterpriseByIds(enterpriseIdList);
Map<String,EnterpriseDTO> map = com.gic.commons.util.CollectionUtil.toMap(enterpriselist,"enterpriseId");
List<String> clerkIds = clerkList.stream().map(s->s.getClerkId()).collect(Collectors.toList());
Map<String, EnterpriseDTO> map = com.gic.commons.util.CollectionUtil.toMap(enterpriselist, "enterpriseId");
List<String> clerkIds = clerkList.stream().map(s -> s.getClerkId()).collect(Collectors.toList());
List<StaffClerkRelationDTO> clerkRelations = staffClerkRelationApiService.listByClerkIds(clerkIds);
Map<String,StaffClerkRelationDTO> clerkBindMap = com.gic.commons.util.CollectionUtil.toMap(clerkRelations, "clerkId");
Map<String, StaffClerkRelationDTO> clerkBindMap = com.gic.commons.util.CollectionUtil.toMap(clerkRelations, "clerkId");
for (ClerkDTO clerk : clerkList) {
String enterpriseId = clerk.getEnterpriseId();
......@@ -660,47 +673,48 @@ public class ClerkController extends WebBaseController {
vo.setClerkCode(clerk.getClerkCode());
vo.setClerkName(clerk.getClerkName());
vo.setClerkType(clerk.getClerkType());
vo.setEnterpriseName(enterpriseDTO == null?"":enterpriseDTO.getEnterpriseName());
vo.setEnterpriseName(enterpriseDTO == null ? "" : enterpriseDTO.getEnterpriseName());
vo.setHeadImg(clerk.getHeadImgUrl());
vo.setPhoneNumber(clerk.getPhoneNumber());
vo.setNationCode(clerk.getNationcode());
StoreDTO store = storeService.getStore(clerk.getStoreId());
vo.setStoreName(store == null?"":store.getStoreName());
vo.setStoreAddress(store == null?"":store.getStoreAddress());
vo.setBindFlag(staffClerkRelationDTO==null ? 0:1);
vo.setStaffId(staffClerkRelationDTO==null ? "":staffClerkRelationDTO.getStaffId());
vo.setStoreName(store == null ? "" : store.getStoreName());
vo.setStoreAddress(store == null ? "" : store.getStoreAddress());
vo.setBindFlag(staffClerkRelationDTO == null ? 0 : 1);
vo.setStaffId(staffClerkRelationDTO == null ? "" : staffClerkRelationDTO.getStaffId());
vo.setStoreId(clerk.getStoreId());
clerkStoreList.add(vo);
}
if(CollectionUtil.isNotEmpty(clerkStoreList)){
clerkStoreList = clerkStoreList.stream().filter(s->org.apache.commons.lang.StringUtils.isNotBlank(s.getStoreId())).collect(Collectors.toList());
if (CollectionUtil.isNotEmpty(clerkStoreList)) {
clerkStoreList = clerkStoreList.stream().filter(s -> org.apache.commons.lang.StringUtils.isNotBlank(s.getStoreId())).collect(Collectors.toList());
}
return resultResponse(HaoBanErrCode.ERR_1,clerkStoreList);
return resultResponse(HaoBanErrCode.ERR_1, clerkStoreList);
}
//绑定
@HttpLimit
@RequestMapping("bind-staff")
public HaobanResponse bindStaff(String clerkId,String staffId ,Integer auditType){
if(StringUtils.isAnyBlank(clerkId,staffId)){
public HaobanResponse bindStaff(String clerkId, String staffId, Integer auditType) {
if (StringUtils.isAnyBlank(clerkId, staffId)) {
return resultResponse(HaoBanErrCode.ERR_2);
}
if(auditType == null ){
if (auditType == null) {
return resultResponse(HaoBanErrCode.ERR_2);
}
ClerkDTO clerk = clerkService.getclerkById(clerkId);
if(clerk == null){
if (clerk == null) {
return resultResponse(HaoBanErrCode.ERR_10016);
}
StaffDTO staff = staffApiService.selectById(staffId);
if(staff == null){
if (staff == null) {
return resultResponse(HaoBanErrCode.ERR_10006);
}
AuditDTO auditDTO = auditApiService.findByBindRelatedIdAndAuditType(clerkId,AuditType.CLERK_BIND.getCode());
if(auditDTO != null){
AuditDTO auditDTO = auditApiService.findByBindRelatedIdAndAuditType(clerkId, AuditType.CLERK_BIND.getCode());
if (auditDTO != null) {
return resultResponse(HaoBanErrCode.ERR_10018);
}
StaffClerkRelationDTO haveclekCode = staffClerkRelationApiService.getOneByStoreIdAndStaffId(clerk.getStoreId(), staffId);
if(haveclekCode !=null){
if (haveclekCode != null) {
return resultResponse(HaoBanErrCode.ERR_10020);
}
......@@ -708,13 +722,13 @@ public class ClerkController extends WebBaseController {
String clerkCode = clerk.getClerkCode();
String wxEnterpriseId = staff.getWxEnterpriseId();
String wxUserId = staff.getWxUserId();
StaffClerkRelationDTO staffClerkRelation = staffClerkRelationApiService.getByCodeAndEnterpriseId(clerkCode,store.getEnterpriseId());
StaffClerkRelationDTO staffClerkRelation = staffClerkRelationApiService.getByCodeAndEnterpriseId(clerkCode, store.getEnterpriseId());
// if(staffClerkRelation != null){
// return resultResponse(HaoBanErrCode.ERR_111117);
// }
if(auditType == 2){
if (auditType == 2) {
//无需审核
if(staffClerkRelation == null){
if (staffClerkRelation == null) {
staffClerkRelation = new StaffClerkRelationDTO();
}
staffClerkRelation.setClerkId(clerkId);
......@@ -725,7 +739,7 @@ public class ClerkController extends WebBaseController {
staffClerkRelation.setWxUserId(wxUserId);
staffClerkRelation.setStaffId(staffId);
staffClerkRelationApiService.delAndInsert(staffClerkRelation,staffId,ChannelCodeEnum.SELF_BIND.getCode());
staffClerkRelationApiService.delAndInsert(staffClerkRelation, staffId, ChannelCodeEnum.SELF_BIND.getCode());
//无需审核
AuditDTO audit = new AuditDTO();
......@@ -755,8 +769,8 @@ public class ClerkController extends WebBaseController {
auditApiService.insert(audit);
//返回一个dto给陈大爷
StaffClerkRelationDTO resultDTO = staffClerkRelationApiService.getByCodeAndEnterpriseId(clerkCode, clerk.getEnterpriseId());
return resultResponse(HaoBanErrCode.ERR_1,resultDTO);
}else{
return resultResponse(HaoBanErrCode.ERR_1, resultDTO);
} else {
//需要审核
AuditDTO audit = new AuditDTO();
......@@ -786,12 +800,12 @@ public class ClerkController extends WebBaseController {
//TODO huang 发送店长,门店关联记录列表
String messageTitle = "门店账号申请";
String messageContent = staff.getStaffName()+"申请关联导购code("+clerkCode+")";
String messageContent = staff.getStaffName() + "申请关联导购code(" + clerkCode + ")";
JSONObject jsonObject = new JSONObject();
jsonObject.put("storeId", clerk.getStoreId());
String data = jsonObject.toJSONString();
ClerkDTO gicClerk = clerkService.getClerkLeaderByStoreId(clerk.getStoreId());
if(gicClerk == null){
if (gicClerk == null) {
//店长不存在,直接返回
return resultResponse(HaoBanErrCode.ERR_1);
}
......@@ -801,24 +815,25 @@ public class ClerkController extends WebBaseController {
return resultResponse(HaoBanErrCode.ERR_1);
}
}
//解绑
@RequestMapping("unbind-staff")
public HaobanResponse unBindStaff(String clerkId,String clerkCode,String staffId,String storeId){
logger.info("解绑 操作人:{},备操作人:{},操作门店:{}",staffId,clerkId,storeId);
if(StringUtils.isAnyBlank(clerkId,clerkCode,staffId)){
public HaobanResponse unBindStaff(String clerkId, String clerkCode, String staffId, String storeId) {
logger.info("解绑 操作人:{},备操作人:{},操作门店:{}", staffId, clerkId, storeId);
if (StringUtils.isAnyBlank(clerkId, clerkCode, staffId)) {
return resultResponse(HaoBanErrCode.ERR_2);
}
ClerkDTO clerk = clerkService.getclerkById(clerkId);
if(clerk == null){
if (clerk == null) {
return resultResponse(HaoBanErrCode.ERR_10016);
}
StaffDTO staff = staffApiService.selectById(staffId);
if(staff == null){
if (staff == null) {
return resultResponse(HaoBanErrCode.ERR_10006);
}
StoreDTO store = storeService.getStore(clerk.getStoreId());
StaffClerkRelationDTO staffClerkRelation = staffClerkRelationApiService.getByCodeAndEnterpriseId(clerkCode,store.getEnterpriseId());
if(staffClerkRelation == null){
StaffClerkRelationDTO staffClerkRelation = staffClerkRelationApiService.getByCodeAndEnterpriseId(clerkCode, store.getEnterpriseId());
if (staffClerkRelation == null) {
return resultResponse(HaoBanErrCode.ERR_111145);
}
......@@ -852,24 +867,24 @@ public class ClerkController extends WebBaseController {
staffClerkRelationApiService.delByStoreIdAndCode(storeId, clerkCode);
//加入日志
staffClerkRelationApiService.pushToBindLog(staffClerkRelation.getStaffId(),staffId, BindTypeEnum.UNBIND.getVal(), ChannelCodeEnum.SELF_UNBIND.getCode(),staffClerkRelation.getStaffClerkRelationId());
staffClerkRelationApiService.pushToBindLog(staffClerkRelation.getStaffId(), staffId, BindTypeEnum.UNBIND.getVal(), ChannelCodeEnum.SELF_UNBIND.getCode(), staffClerkRelation.getStaffClerkRelationId());
return resultResponse(HaoBanErrCode.ERR_1);
}
//门店导购列表
@RequestMapping("store-clerk-list")
public HaobanResponse storeClerkList(String storeId,String wxEnterpriseId){
if(StringUtils.isAnyBlank(storeId,wxEnterpriseId)){
public HaobanResponse storeClerkList(String storeId, String wxEnterpriseId) {
if (StringUtils.isAnyBlank(storeId, wxEnterpriseId)) {
return resultResponse(HaoBanErrCode.ERR_2);
}
StoreDTO store = storeService.getStore(storeId);
if(store == null){
if (store == null) {
return resultResponse(HaoBanErrCode.ERR_10009);
}
List<ClerkListDTO> list = clerkService.getClerkByStoreId(store.getEnterpriseId(), storeId);
Set<String> clerkCodeList = list.stream().map(ClerkListDTO::getClerkCode).collect(Collectors.toSet());
List<StaffClerkRelationDTO> bindRelationList = staffClerkRelationApiService.listBindCode(store.getEnterpriseId(),clerkCodeList);
Map<String,StaffClerkRelationDTO> bindCodeMap = bindRelationList.stream().collect(Collectors.toMap(StaffClerkRelationDTO::getClerkCode, s->s));
List<StaffClerkRelationDTO> bindRelationList = staffClerkRelationApiService.listBindCode(store.getEnterpriseId(), clerkCodeList);
Map<String, StaffClerkRelationDTO> bindCodeMap = bindRelationList.stream().collect(Collectors.toMap(StaffClerkRelationDTO::getClerkCode, s -> s));
List<BindClerkVO> bindList = new ArrayList<>();
List<BindClerkVO> unBindList = new ArrayList<>();
for (ClerkListDTO clerkListDTO : list) {
......@@ -886,17 +901,17 @@ public class ClerkController extends WebBaseController {
unBindList.add(vo);
}
}
Map<String,Object> map = new HashMap<>();
Map<String, Object> map = new HashMap<>();
map.put("bindList", bindList);
map.put("unBindList", unBindList);
return resultResponse(HaoBanErrCode.ERR_1,map);
return resultResponse(HaoBanErrCode.ERR_1, map);
}
//门店列表
@RequestMapping("staff-store-list")
public HaobanResponse staffStoreList(String staffId,String wxEnterpriseId){
if(StringUtils.isAnyBlank(staffId,wxEnterpriseId)){
public HaobanResponse staffStoreList(String staffId, String wxEnterpriseId) {
if (StringUtils.isAnyBlank(staffId, wxEnterpriseId)) {
return resultResponse(HaoBanErrCode.ERR_2);
}
List<StaffStoreVO> list = new ArrayList<>();
......@@ -905,16 +920,16 @@ public class ClerkController extends WebBaseController {
List<StaffClerkRelationDTO> bindRelationList = staffClerkRelationApiService.listBindCodeByStaffId(enterpriseIdList, staffId);
//主门店
ClerkMainStoreRelatedDTO mainDTO = clerkMainStoreRelatedApiService.getWxEnterpriseIdAndStaffId(wxEnterpriseId, staffId);
String storeId = mainDTO == null?"":mainDTO.getStoreId();
String storeId = mainDTO == null ? "" : mainDTO.getStoreId();
for (StaffClerkRelationDTO staffClerkRelationDTO : bindRelationList) {
ClerkDTO clerk = clerkService.getClerkByClerkCode(staffClerkRelationDTO.getEnterpriseId(), staffClerkRelationDTO.getClerkCode());
if(clerk != null){
if (clerk != null) {
StoreDTO store = storeService.getStore(clerk.getStoreId());
//主门店标志
int mainStoreFlag = 0;
if(StringUtils.isEmpty(storeId)){
if (StringUtils.isEmpty(storeId)) {
mainStoreFlag = 0;
}else if(storeId.equals(store.getStoreId())){
} else if (storeId.equals(store.getStoreId())) {
mainStoreFlag = 1;
}
staffDepartmentRelatedApiService.listByStaffId(staffId);
......@@ -934,13 +949,13 @@ public class ClerkController extends WebBaseController {
list.add(vo);
}
}
return resultResponse(HaoBanErrCode.ERR_1,list);
return resultResponse(HaoBanErrCode.ERR_1, list);
}
//刷新导购信息
@RequestMapping("/fresh-clerk-info")
public HaobanResponse freshClerkInfo(String clerkId,String wxEnterpriseId) {
public HaobanResponse freshClerkInfo(String clerkId, String wxEnterpriseId) {
StaffClerkRelationDTO staffRelation = staffClerkRelationApiService.getByClerkId(clerkId);
if (staffRelation == null) {
return resultResponse(HaoBanErrCode.ERR_10006);
......@@ -973,10 +988,10 @@ public class ClerkController extends WebBaseController {
}
clerk.setPhoneNumber(phoneNumber);
}
if(StringUtils.isNotBlank(nationCode)){
if (StringUtils.isNotBlank(nationCode)) {
clerk.setNationcode(nationCode);
}
if(sex != null){
if (sex != null) {
clerk.setClerkGender(sex.toString());
}
clerkService.updateClerk(clerk);
......@@ -986,12 +1001,13 @@ public class ClerkController extends WebBaseController {
/**
* 导购详情
*
* @param clerkId
* @param wxEnterpriseId
* @return
*/
@RequestMapping("/clerk-detail")
public HaobanResponse clerkDetail(String clerkId,String wxEnterpriseId) {
public HaobanResponse clerkDetail(String clerkId, String wxEnterpriseId) {
// StaffClerkRelationDTO staffRelation = staffClerkRelationApiService.getByClerkId(clerkId);
// if(staffRelation == null){
// return resultResponse(HaoBanErrCode.ERR_10006);
......@@ -1000,55 +1016,56 @@ public class ClerkController extends WebBaseController {
return resultResponse(HaoBanErrCode.ERR_5);
}
ClerkDTO clerk = clerkService.getClerkByClerkId(clerkId);
if(clerk == null){
if (clerk == null) {
return resultResponse(HaoBanErrCode.ERR_10006);
}
return resultResponse(HaoBanErrCode.ERR_1,EntityUtil.changeEntityByJSON(ClerkDetailVo.class,clerk));
return resultResponse(HaoBanErrCode.ERR_1, EntityUtil.changeEntityByJSON(ClerkDetailVo.class, clerk));
}
/**
* 更新导购
*
* @param clerkId
* @param fieldType
* @return
*/
@RequestMapping("/save-clerk")
public HaobanResponse clerkSave(String clerkId,String fieldValue,Integer fieldType) {
public HaobanResponse clerkSave(String clerkId, String fieldValue, Integer fieldType) {
// StaffClerkRelationDTO staffRelation = staffClerkRelationApiService.getByClerkId(clerkId);
// if(staffRelation == null){
// return resultResponse(HaoBanErrCode.ERR_10006);
// }
if (StringUtils.isBlank(clerkId)||StringUtils.isBlank(fieldValue)|| null == fieldType) {
if (StringUtils.isBlank(clerkId) || StringUtils.isBlank(fieldValue) || null == fieldType) {
return resultResponse(HaoBanErrCode.ERR_5);
}
ClerkDTO clerk = clerkService.getClerkByClerkId(clerkId);
if(clerk == null){
if (clerk == null) {
return resultResponse(HaoBanErrCode.ERR_10006);
}
if (fieldType==0) {
if (fieldType == 0) {
clerk.setClerkName(fieldValue);
}else if (fieldType == 1) {
} else if (fieldType == 1) {
clerk.setClerkGender(fieldValue);
}else if (fieldType == 2) {
} else if (fieldType == 2) {
String[] split = fieldValue.split("-");
if (split.length==2) {
if (split.length == 2) {
clerk.setPhoneNumber(split[1]);
clerk.setNationcode(split[0]);
}else{
logger.info("手机号不争取:{}",fieldValue);
} else {
logger.info("手机号不争取:{}", fieldValue);
return resultResponse(HaoBanErrCode.ERR_5);
}
}else if (fieldType == 3) {
} else if (fieldType == 3) {
clerk.setHeadImgUrl(fieldValue);
}
String res = clerkService.updateClerk(clerk);
if(StringUtils.isBlank(res)){
if (StringUtils.isBlank(res)) {
return resultResponse(HaoBanErrCode.ERR_1);
}
return resultResponse(HaoBanErrCode.ERR_0,res,null,res);
return resultResponse(HaoBanErrCode.ERR_0, res, null, res);
}
......
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