diff --git a/src/main/java/com/kiisoo/ic/customer/CustomerService.java b/src/main/java/com/kiisoo/ic/customer/CustomerService.java index f843fe6..5894318 100644 --- a/src/main/java/com/kiisoo/ic/customer/CustomerService.java +++ b/src/main/java/com/kiisoo/ic/customer/CustomerService.java @@ -176,7 +176,11 @@ public class CustomerService { if (!turnBackDTOS.getEaCode().equals("") && !turnBackDTOS.getEaCode().equals("0")) { //导购信息 QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("staff_code", turnBackDTOS.getEaCode()).eq("status","1").eq("store_id", poiStore.getStoreId()).last("limit 1"); + if (turnBackDTOS.getEaCode().matches("导购(.*)")){ + wrapper.eq("staff_code", turnBackDTOS.getEaCode()).eq("status","1").last("limit 1"); + }else{ + wrapper.eq("staff_code", turnBackDTOS.getEaCode()).eq("status","1").eq("store_id", poiStore.getStoreId()).last("limit 1"); + } poiStoreStaff = poiStoreStaffDOMapper.selectOne(wrapper); } @@ -186,10 +190,17 @@ public class CustomerService { insertCustomer.setName(EmployeeService.filterEmoji(turnBackDTOS.getName())); insertCustomer.setAvatarUrl(turnBackDTOS.getWxData().getAvatarUrl()); insertCustomer.setPhone(turnBackDTOS.getPhone()); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + insertCustomer.setCreateTime(sdf.parse(turnBackDTOS.getJoinTime())); if (null != opCustomer) { //更新一下 insertCustomer.setId(opCustomer.getId()); - opCustomerDOMapper.updateById(insertCustomer); + try { + opCustomerDOMapper.updateById(insertCustomer); + }catch (Exception e) { + System.out.println(insertCustomer.toString()); + return; + } if (poiStoreStaff != null) { //存在--1.处理客户导购关系。 sellerCustomerRelation(opCustomer, turnBackDTOS.getEaCode(), poiStore.getStoreId(), poiStoreStaff.getId()); @@ -199,7 +210,13 @@ public class CustomerService { } else { insertCustomer.setCreateBy(Constants.SYS_OPERATION); //不存在 - opCustomerDOMapper.insert(insertCustomer); + try { + opCustomerDOMapper.insert(insertCustomer); + }catch (Exception e) { + System.out.println(insertCustomer.toString()); + return; + } + if (poiStoreStaff != null) { //添加关系 sellerCustomerRelation(insertCustomer, turnBackDTOS.getEaCode(), poiStore.getStoreId(), poiStoreStaff.getId()); diff --git a/src/main/java/com/kiisoo/ic/customer/entity/OpCustomer.java b/src/main/java/com/kiisoo/ic/customer/entity/OpCustomer.java index 2b92c2b..0fe0071 100644 --- a/src/main/java/com/kiisoo/ic/customer/entity/OpCustomer.java +++ b/src/main/java/com/kiisoo/ic/customer/entity/OpCustomer.java @@ -123,4 +123,28 @@ public class OpCustomer { private String externalUserid; + @Override + public String toString() { + return "OpCustomer{" + + "wechatOpenId='" + wechatOpenId + '\'' + + ", wechatUniId='" + wechatUniId + '\'' + + ", wechatXxxId='" + wechatXxxId + '\'' + + ", memberId=" + memberId + + ", type=" + type + + ", name='" + name + '\'' + + ", phone='" + phone + '\'' + + ", desc='" + desc + '\'' + + ", mail='" + mail + '\'' + + ", brandId=" + brandId + + ", createTime=" + createTime + + ", updateTime=" + updateTime + + ", createBy='" + createBy + '\'' + + ", updateBy='" + updateBy + '\'' + + ", registerTime=" + registerTime + + ", shopId=" + shopId + + ", validType=" + validType + + ", avatarUrl='" + avatarUrl + '\'' + + ", externalUserid='" + externalUserid + '\'' + + '}'; + } } diff --git a/src/main/java/com/kiisoo/ic/employee/service/EmployeeService.java b/src/main/java/com/kiisoo/ic/employee/service/EmployeeService.java index cddb229..9e7773f 100644 --- a/src/main/java/com/kiisoo/ic/employee/service/EmployeeService.java +++ b/src/main/java/com/kiisoo/ic/employee/service/EmployeeService.java @@ -452,15 +452,25 @@ public class EmployeeService { if (CollectionUtils.isNotEmpty(privilageCpUserStoreDOS)){ for (PrivilageCpUserStoreDO privilageCpUserStoreDO:privilageCpUserStoreDOS){ String cpUserId = privilageCpUserStoreDOMapper.selectCpUserIdByStoreId(privilageCpUserStoreDO.getStoreId()); - List customers = qwMailListManageService.getCustomer(cpUserId); + if (StringUtils.isBlank(cpUserId)){ + continue; + } + List customers = null; + try { + customers = qwMailListManageService.getCustomer(cpUserId); + }catch (Exception e) { + System.out.println("查询联系人失败:"+cpUserId); + continue; + } + if (CollectionUtils.isNotEmpty(customers)){ for (WxCpUserExternalContactInfo customer:customers){ - System.out.println(customer.toString()); TurnBackDTO turnBackDTO = new TurnBackDTO(); WxCpUserExternalContactInfo.ExternalContact externalContact = customer.getExternalContact(); List followedUsers = customer.getFollowedUsers(); + turnBackDTO.setEaCode(""); if (CollectionUtils.isNotEmpty(followedUsers)){ for (WxCpUserExternalContactInfo.FollowedUser followedUser:followedUsers){ if (cpUserId.equals(followedUser.getUserId())){ @@ -481,7 +491,9 @@ public class EmployeeService { } } Long joinTimeL = followedUser.getCreateTime(); - turnBackDTO.setJoinTime(sdf.format(new Date(joinTimeL))); + Long time=new Long(joinTimeL); + String joinTime = sdf.format(time*1000); + turnBackDTO.setJoinTime(joinTime); } } } @@ -495,7 +507,7 @@ public class EmployeeService { wxDataDTO.setUnionId(externalContact.getUnionId()); turnBackDTO.setWxData(wxDataDTO); -// customerService.turnBack(turnBackDTO); + customerService.turnBack(turnBackDTO); } } } diff --git a/src/main/java/com/kiisoo/ic/store/service/PoiStoreStaffService.java b/src/main/java/com/kiisoo/ic/store/service/PoiStoreStaffService.java index dcd745d..49e5d83 100644 --- a/src/main/java/com/kiisoo/ic/store/service/PoiStoreStaffService.java +++ b/src/main/java/com/kiisoo/ic/store/service/PoiStoreStaffService.java @@ -243,11 +243,13 @@ public class PoiStoreStaffService { if (CollectionUtils.isNotEmpty(staffs)){ return "0002"; } - QueryWrapper mobileUserQw = new QueryWrapper<>(); - mobileUserQw.eq("mobil",mobil).eq("status", "1"); - List mobileUsers = privilageUserDOMapper.selectList(mobileUserQw); - if (CollectionUtils.isNotEmpty(mobileUsers)){ - return "0003"; + if (StringUtils.isNotBlank(mobil)){ + QueryWrapper mobileUserQw = new QueryWrapper<>(); + mobileUserQw.eq("mobil",mobil).eq("status", "1"); + List mobileUsers = privilageUserDOMapper.selectList(mobileUserQw); + if (CollectionUtils.isNotEmpty(mobileUsers)){ + return "0003"; + } } QueryWrapper loginUserQw = new QueryWrapper<>(); loginUserQw.eq("login",mobil).eq("type", "1").eq("status", "1"); diff --git a/src/main/resources/mapper/OpCustomerDOMapper.xml b/src/main/resources/mapper/OpCustomerDOMapper.xml index 44ec27d..0b8a69d 100644 --- a/src/main/resources/mapper/OpCustomerDOMapper.xml +++ b/src/main/resources/mapper/OpCustomerDOMapper.xml @@ -6,7 +6,7 @@ SELECT t2.id,t2.`name`, t2.member_id as idCard,t0.name as shopName,t0.code as shopCode, t4.name as sellerName, t3.birthday, t2.phone, - t3.name as vipName,t3.phone as vipPhone, t5.staff_code as sellerCode, t1.create_time as createTime + t3.name as vipName,t3.phone as vipPhone, t5.staff_code as sellerCode, t2.create_time as createTime from op_seller_customer_relation t1 left join poi_store t0 on t0.id = t1.store_id left join poi_store_staff t5 ON t5.store_id = t0.id and t1.user_id = t5.id @@ -25,18 +25,18 @@ - and t1.create_time >= #{startDate} + and t2.create_time >= #{startDate} - and t1.create_time #{endDate} + and t2.create_time #{endDate} - order by t1.create_time desc,t2.id desc,t1.user_id desc + order by t2.create_time desc,t2.id desc,t1.user_id desc @@ -95,10 +95,10 @@ and t2.type = #{type} - and t2.create_time = ]]> #{startDate} + and t1.create_time = ]]> #{startDate} - and t2.create_time #{endDate} + and t1.create_time #{endDate} diff --git a/src/main/resources/mapper/OpSellerCustomerRelationDOMapper.xml b/src/main/resources/mapper/OpSellerCustomerRelationDOMapper.xml index f0e19f7..e4e5523 100644 --- a/src/main/resources/mapper/OpSellerCustomerRelationDOMapper.xml +++ b/src/main/resources/mapper/OpSellerCustomerRelationDOMapper.xml @@ -9,7 +9,7 @@ IFNULL(t3.phone,'') AS mobile, t5.NAME AS inviteSellerName, t4.id AS inviteSellerId, - t1.create_time AS addTime, + t2.create_time AS addTime, t2.avatar_url as avatar, t3.level as vipFlag FROM @@ -37,12 +37,12 @@ LIKE CONCAT('%',#{search},'%') - and DATE_FORMAT(t1.create_time,'%Y-%m-%d') >= DATE_FORMAT(#{startDate},'%Y-%m-%d') + and DATE_FORMAT(t2.create_time,'%Y-%m-%d') >= DATE_FORMAT(#{startDate},'%Y-%m-%d') - and DATE_FORMAT(t1.create_time,'%Y-%m-%d') <= DATE_FORMAT(#{endDate},'%Y-%m-%d') + and DATE_FORMAT(t2.create_time,'%Y-%m-%d') <= DATE_FORMAT(#{endDate},'%Y-%m-%d') - GROUP BY t4.id order by t1.create_time desc + GROUP BY t4.id order by t2.create_time desc