k94314517
2024-07-31 686f53edd64c21516001942d0265a55fefd1be15
代码提交
已修改15个文件
220 ■■■■■ 文件已修改
server/service/src/main/java/com/doumee/biz/zbom/model/crm/response/CRMDaogouBindListResponse.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/biz/zbom/model/zhongtai/ZTConstants.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/core/utils/Constants.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/dao/business/model/Users.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/dao/web/response/AccountResponse.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/service/business/UsersService.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/service/business/impl/CustomerUserServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/service/business/impl/GetZhongTaiDataServiceImpl.java 40 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java 88 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/service/business/impl/NewsServiceImpl.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/service/business/impl/ShopServiceImpl.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/service/business/impl/UsersServiceImpl.java 30 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/web/src/main/java/com/doumee/api/web/CustomerApi.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/web/src/main/java/com/doumee/api/web/CustomerManageApi.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/web/src/main/java/com/doumee/api/web/PersonnelApi.java 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/biz/zbom/model/crm/response/CRMDaogouBindListResponse.java
@@ -20,5 +20,6 @@
    private String customerName;//    客户手机号
    private String  address    ;//地址详情
    private String  creationDate    ;//时间 yyyy-MM-dd
    private String  iamId    ;//iam主键
}
server/service/src/main/java/com/doumee/biz/zbom/model/zhongtai/ZTConstants.java
@@ -79,7 +79,7 @@
        String REALCASE_INFO_URL ="/content/api/realCaseDetail";
        String FAVORITES_PAGE_URL ="/behavior/api/favoritesPageList";
        String BATCH_ADD_LIKE_URL ="/content/api/batchAddLike";
        String CUSTOMER_BINDING_USERS ="/api/bind";
        String CUSTOMER_BINDING_USERS ="/customer/api/bind";
    }
server/service/src/main/java/com/doumee/core/utils/Constants.java
@@ -688,6 +688,7 @@
        if(env_version.equals("release")&&StringUtils.isNotBlank(page)){
            body.put("page", page);
        }
//        body.put("page", "pages/index/index");
        // 透明,根据你的场景自行设置body参数
        body.put("is_hyaline", true);
        OkHttpClient client = new OkHttpClient().newBuilder().build();
server/service/src/main/java/com/doumee/dao/business/model/Users.java
@@ -211,6 +211,11 @@
    @TableField(exist = false)
    private String memberPhone;
    @ApiModelProperty(value = "C端用户主键",notes = "用于查询用户绑定的导购",hidden = true)
    @TableField(exist = false)
    private Long memberId;
    @ApiModelProperty(value = "企业二维码图片完整地址")
    @TableField(exist = false)
    private String companyQrcodeImgFull;
server/service/src/main/java/com/doumee/dao/web/response/AccountResponse.java
@@ -24,6 +24,9 @@
    @ApiModelProperty(value = "微信sessionKey")
    private String sessionKey;
    @ApiModelProperty(value = "openid")
    private String openid;
    @ApiModelProperty(value = "手机号")
    private String phone;
server/service/src/main/java/com/doumee/service/business/UsersService.java
@@ -105,11 +105,11 @@
     */
    long count(Users users);
    AccountResponse phoneLogin(String phone, String code);
    AccountResponse phoneLogin(String phone, String code,String openid);
    AccountResponse wxLogin(String code);
    void bindingOpenid(String code,Long userId);
    void bindingOpenid(String openid,Long userId);
    String importBatch(MultipartFile file);
server/service/src/main/java/com/doumee/service/business/impl/CustomerUserServiceImpl.java
@@ -239,7 +239,7 @@
                    .eq(Member::getIsdeleted,Constants.ZERO)
                    .last("limit 1" ));
            Users user = usersMapper.selectOne(new QueryWrapper<Users>().lambda()
                    .eq(Users::getIamId,data.getUserId() )
                    .eq(Users::getIamId,data.getIamId() )
                    .last("limit 1" ));
            if(member == null){
                continue;
server/service/src/main/java/com/doumee/service/business/impl/GetZhongTaiDataServiceImpl.java
@@ -285,13 +285,17 @@
        ztContentListRequest.setUserType(ztBaseInfoResponse.getUserType());
        ztContentListRequest.setId(id);
        ZTProductInfoResponse response = zbomZhongTaiService.getProductInfo(ztContentListRequest);
        if(Objects.nonNull(response)&&userType.equals(ZTConstants.CUSTOMER)){
        if(Objects.nonNull(response)){
            //查询导购信息 进行信息绑定与返回
            if(StringUtils.isNotBlank(salesId)){
            if(StringUtils.isNotBlank(salesId)&&userType.equals(ZTConstants.CUSTOMER)){
                Users users = usersMapper.selectById(salesId);
                Member member = memberMapper.selectById(userId);
                if(StringUtils.isNotBlank(member.getImgurl())){
                    member.setImgurl(systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE, Constants.RESOURCE_PATH).getCode() +
                            systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE, Constants.MEMBER).getCode() + member.getImgurl());
                }
                if(Objects.nonNull(users)&&Objects.nonNull(member)&&StringUtils.isNotBlank(member.getOpenid())){
                    MemberServiceImpl.saveCustomerUser(zbomZhongTaiService,customerUserMapper,users,userId,member.getOpenid());
                    MemberServiceImpl.saveCustomerUser(zbomZhongTaiService,customerUserMapper,users,member);
                    String prefix = StringUtils.trimToNull(systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE,Constants.RESOURCE_PATH).getCode()) +
                            StringUtils.trimToNull(systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE,Constants.USERS_FILE).getCode());
                    if(StringUtils.isNotBlank(users.getImgurl())){
@@ -338,13 +342,17 @@
        ztContentListRequest.setUserType(ztBaseInfoResponse.getUserType());
        ztContentListRequest.setId(id);
        ZTCaseInfoResponse response = zbomZhongTaiService.getWholecaseInfo(ztContentListRequest);
        if(Objects.nonNull(response)&&userType.equals(ZTConstants.CUSTOMER)){
        if(Objects.nonNull(response)){
            //查询导购信息 进行信息绑定与返回
            if(StringUtils.isNotBlank(salesId)){
            if(StringUtils.isNotBlank(salesId)&&userType.equals(ZTConstants.CUSTOMER)){
                Users users = usersMapper.selectById(salesId);
                Member member = memberMapper.selectById(userId);
                if(StringUtils.isNotBlank(member.getImgurl())){
                    member.setImgurl(systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE, Constants.RESOURCE_PATH).getCode() +
                            systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE, Constants.MEMBER).getCode() + member.getImgurl());
                }
                if(Objects.nonNull(users)&&Objects.nonNull(member)&&StringUtils.isNotBlank(member.getOpenid())){
                    MemberServiceImpl.saveCustomerUser(zbomZhongTaiService,customerUserMapper,users,userId,member.getOpenid());
                    MemberServiceImpl.saveCustomerUser(zbomZhongTaiService,customerUserMapper,users,member);
                    String prefix = StringUtils.trimToNull(systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE,Constants.RESOURCE_PATH).getCode()) +
                            StringUtils.trimToNull(systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE,Constants.USERS_FILE).getCode());
                    if(StringUtils.isNotBlank(users.getImgurl())){
@@ -385,13 +393,17 @@
        ztContentListRequest.setUserType(ztBaseInfoResponse.getUserType());
        ztContentListRequest.setId(id);
        ZTProductNewsInfoResponse response = zbomZhongTaiService.getProductNewsInfo(ztContentListRequest);
        if(Objects.nonNull(response)&&userType.equals(ZTConstants.CUSTOMER)){
        if(Objects.nonNull(response)){
            //查询导购信息 进行信息绑定与返回
            if(StringUtils.isNotBlank(salesId)){
            if(StringUtils.isNotBlank(salesId)&&userType.equals(ZTConstants.CUSTOMER)){
                Users users = usersMapper.selectById(salesId);
                Member member = memberMapper.selectById(userId);
                if(StringUtils.isNotBlank(member.getImgurl())){
                    member.setImgurl(systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE, Constants.RESOURCE_PATH).getCode() +
                            systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE, Constants.MEMBER).getCode() + member.getImgurl());
                }
                if(Objects.nonNull(users)&&Objects.nonNull(member)&&StringUtils.isNotBlank(member.getOpenid())){
                    MemberServiceImpl.saveCustomerUser(zbomZhongTaiService,customerUserMapper,users,userId,member.getOpenid());
                    MemberServiceImpl.saveCustomerUser(zbomZhongTaiService,customerUserMapper,users,member);
                    String prefix = StringUtils.trimToNull(systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE,Constants.RESOURCE_PATH).getCode()) +
                            StringUtils.trimToNull(systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE,Constants.USERS_FILE).getCode());
                    if(StringUtils.isNotBlank(users.getImgurl())){
@@ -437,13 +449,17 @@
        ztContentListRequest.setUserType(ztBaseInfoResponse.getUserType());
        ztContentListRequest.setId(id);
        ZTRealcaseInfoResponse response = zbomZhongTaiService.getRealcaseInfo(ztContentListRequest);
        if(Objects.nonNull(response)&&userType.equals(ZTConstants.CUSTOMER)){
        if(Objects.nonNull(response)){
            //查询导购信息 进行信息绑定与返回
            if(StringUtils.isNotBlank(salesId)){
            if(StringUtils.isNotBlank(salesId)&&userType.equals(ZTConstants.CUSTOMER)){
                Users users = usersMapper.selectById(salesId);
                Member member = memberMapper.selectById(userId);
                if(Objects.nonNull(users)&&Objects.nonNull(member)&&StringUtils.isNotBlank(member.getOpenid())){
                    MemberServiceImpl.saveCustomerUser(zbomZhongTaiService,customerUserMapper,users,userId,member.getOpenid());
                    if(StringUtils.isNotBlank(member.getImgurl())){
                        member.setImgurl(systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE, Constants.RESOURCE_PATH).getCode() +
                                systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE, Constants.MEMBER).getCode() + member.getImgurl());
                    }
                    MemberServiceImpl.saveCustomerUser(zbomZhongTaiService,customerUserMapper,users,member);
                    String prefix = StringUtils.trimToNull(systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE,Constants.RESOURCE_PATH).getCode()) +
                            StringUtils.trimToNull(systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE,Constants.USERS_FILE).getCode());
                    if(StringUtils.isNotBlank(users.getImgurl())){
server/service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
@@ -300,14 +300,14 @@
                    member.setToken(ztUserGetTokenResponse.getToken());
                }
                memberMapper.insert(member);
                MemberServiceImpl.saveCustomerUser(zbomZhongTaiService,customerUserMapper,users,member.getId(),member.getOpenid());
                MemberServiceImpl.saveCustomerUser(zbomZhongTaiService,customerUserMapper,users,member);
            }else{
                ZTUserGetTokenResponse ztUserGetTokenResponse = this.syncZhongTaiUser(member);
                if(!Objects.isNull(ztUserGetTokenResponse)){
                    member.setToken(ztUserGetTokenResponse.getToken());
                ZTBaseInfoResponse ztBaseInfoResponse = MemberServiceImpl.getZTToken(zbomZhongTaiService,memberMapper,usersMapper,systemDictDataBiz,member.getId(),ZTConstants.CUSTOMER);
                if(!Objects.isNull(ztBaseInfoResponse)){
                    member.setToken(ztBaseInfoResponse.getToken());
                    memberMapper.updateById(member);
                }
                MemberServiceImpl.saveCustomerUser(zbomZhongTaiService,customerUserMapper,users,member.getId(),member.getOpenid());
                MemberServiceImpl.saveCustomerUser(zbomZhongTaiService,customerUserMapper,users,member);
                member = this.getMemberInfo(member.getId());
            }
            String token = JwtTokenUtil.generateTokenForZb(member.getId(),ZTConstants.CUSTOMER, JSONObject.toJSON(member).toString(),redisTemplate);
@@ -326,7 +326,7 @@
    @Override
    public AccountResponse testLogin(String openid){
            String openId = openid;
            Member member = memberMapper.selectOne(new QueryWrapper<Member>().eq("OPENID", openId).isNotNull("phone"));
            Member member = memberMapper.selectOne(new QueryWrapper<Member>().eq("OPENID", openId));
            if (member == null) {
                member = new Member();
@@ -357,32 +357,59 @@
            return accountResponse;
    }
    public static void saveCustomerUser(ZbomZhongTaiService zbomZhongTaiService,CustomerUserMapper customerUserMapper,Users users,Long memberId,String openId){
        if(Objects.nonNull(users)&&Objects.nonNull(memberId)) {
    public static void saveCustomerUser(ZbomZhongTaiService zbomZhongTaiService,CustomerUserMapper customerUserMapper,Users users,Member member){
        if(Objects.nonNull(users)&&Objects.nonNull(member.getId())) {
            CustomerUser customerUser = null;
            if (customerUserMapper.selectCount(new QueryWrapper<CustomerUser>().lambda()
                    .eq(CustomerUser::getIsdeleted, Constants.ZERO)
                    .eq(CustomerUser::getUserId, users.getId())
                    .eq(CustomerUser::getMemberId, memberId)) <= Constants.ZERO) {
                CustomerUser customerUser = new CustomerUser();
                    .eq(CustomerUser::getMemberId, member.getId())) <= Constants.ZERO) {
                customerUser = new CustomerUser();
                customerUser.setIsdeleted(Constants.ZERO);
                customerUser.setUserId(users.getId());
                customerUser.setCreateDate(new Date());
                customerUser.setMemberId(memberId);
                customerUser.setMemberId(member.getId());
                customerUser.setPhone(users.getPhone());
                customerUser.setIamUserId(users.getIamId());
                customerUser.setName(users.getName());
                customerUser.setUsername(users.getIamUsername());
                customerUser.setAddr(users.getShopAddress());
                customerUserMapper.insert(customerUser);
            }
                //等待调起中台接口
                ZTCustomerBindingUsersRequest ztCustomerBindingUsersRequest = new ZTCustomerBindingUsersRequest();
                ztCustomerBindingUsersRequest.setOpenId(openId);
                ztCustomerBindingUsersRequest.setSourceCustomerId(memberId.toString());
                ztCustomerBindingUsersRequest.setDaoGouUserId(users.getId().toString());
            ztCustomerBindingUsersRequest.setName(member.getName());
            ztCustomerBindingUsersRequest.setNickName(member.getNickname());
            ztCustomerBindingUsersRequest.setPhone(member.getPhone());
            ztCustomerBindingUsersRequest.setAvatarUrl(member.getImgurl());
            ztCustomerBindingUsersRequest.setUptown(member.getDistrict());
            ztCustomerBindingUsersRequest.setFullAddress(member.getAddress());
            if(Objects.nonNull(member.getHousearea())){
                ztCustomerBindingUsersRequest.setHouseArea(member.getHousearea().toString());
            }
            ztCustomerBindingUsersRequest.setOpenId(member.getOpenid());
            ztCustomerBindingUsersRequest.setToken(member.getToken());
            ztCustomerBindingUsersRequest.setUserType(ZTConstants.CUSTOMER);
            ztCustomerBindingUsersRequest.setSourceCustomerId(member.getId().toString());
            ztCustomerBindingUsersRequest.setDaoGouUserId(users.getIamId());
                ztCustomerBindingUsersRequest.setDaoGouAccount(users.getIamUsername());
                ztCustomerBindingUsersRequest.setDaoGouType(users.getUserTypes());
                ztCustomerBindingUsersRequest.setUserName(users.getIamId());
                ztCustomerBindingUsersRequest.setPlatSource(ZTConstants.PLATFORM_MP_WX);
                zbomZhongTaiService.customerBinDingUsers(ztCustomerBindingUsersRequest);
            ztCustomerBindingUsersRequest.setPlatSource("2");
            ZTBaseResponse ztBaseResponse = zbomZhongTaiService.customerBinDingUsers(ztCustomerBindingUsersRequest);
            if(Objects.nonNull(customerUser)){
                if(Objects.nonNull(ztBaseResponse)){
                    if(ztBaseResponse.getSuccess()){
                        customerUser.setZtStatus(1);
                        customerUser.setZtDate(new Date());
                    }else{
                        customerUser.setZtStatus(2);
                        customerUser.setZtDate(new Date());
                        customerUser.setZtInfo(JSONObject.toJSONString(ztBaseResponse));
                    }
                } else{
                    customerUser.setZtStatus(2);
                    customerUser.setZtDate(new Date());
                    customerUser.setZtInfo(JSONObject.toJSONString(ztBaseResponse));
                }
                customerUserMapper.insert(customerUser);
            }
        }
    }
@@ -415,20 +442,26 @@
        if(Objects.isNull(editMemberRequest)){
            throw new BusinessException(ResponseStatus.BAD_REQUEST);
        }
        Member memberDto = new Member();
        BeanUtils.copyProperties(editMemberRequest,memberDto);
        memberDto.setOpenid(member.getOpenid());
        memberMapper.updateById(memberDto);
        BeanUtils.copyProperties(editMemberRequest,member);
        memberMapper.updateById(member);
        //同步中台用户信息
        ZTUserGetTokenResponse ztUserGetTokenResponse = this.syncZhongTaiUser(member);
        if(!Objects.isNull(ztUserGetTokenResponse)){
            member.setToken(ztUserGetTokenResponse.getToken());
        }
        return this.getMemberInfo(member.getId());
    }
    @Override
    public Member updMemberPhone(EditMemberRequest editMemberRequest){
        if(Objects.isNull(editMemberRequest)||StringUtils.isBlank(editMemberRequest.getPhone())){
            throw new BusinessException(ResponseStatus.BAD_REQUEST);
        }
        memberMapper.update(null,new UpdateWrapper<Member>().lambda().set(Member::getPhone,null)
                .set(Member::getEditDate,new Date())
                .ne(Member::getId,editMemberRequest.getId())
                .eq(Member::getPhone,editMemberRequest.getPhone()));
        Member member = memberMapper.selectById(editMemberRequest.getId());
        if(Objects.isNull(member)){
            throw new BusinessException(ResponseStatus.DATA_EMPTY);
@@ -454,7 +487,8 @@
        ztUserInfoUpdateRequest.setAppId(appId);
        ztUserInfoUpdateRequest.setPlatform(Constants.PLATFORM);
        ztUserInfoUpdateRequest.setPhone(member.getPhone());
        ztUserInfoUpdateRequest.setName(member.getNickname());
        ztUserInfoUpdateRequest.setName(member.getName());
        ztUserInfoUpdateRequest.setNickname(member.getNickname());
//        ztUserInfoUpdateRequest.setAddress(member.getProvinceName()+member.getCityName()+member.getAreaName());
        ztUserInfoUpdateRequest.setFullAddress(member.getAddress());
        String prefix = systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE, Constants.RESOURCE_PATH).getCode() +
@@ -485,7 +519,7 @@
                systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE, Constants.MEMBER).getCode();
        member.setPrefix(prefix);
        if( customerUserMapper.selectCount(new QueryWrapper<CustomerUser>()
                .lambda().eq(CustomerUser::getIsdeleted,Constants.ZERO).eq(CustomerUser::getMemberId,member.getId()))>0){
                .lambda().eq(CustomerUser::getIsdeleted,Constants.ZERO).eq(CustomerUser::getZtStatus,Constants.ONE).eq(CustomerUser::getMemberId,member.getId()))>0){
            member.setAuthStatus(Constants.TWO);
        }else{
            if(StringUtils.isBlank(member.getPhone())){
server/service/src/main/java/com/doumee/service/business/impl/NewsServiceImpl.java
@@ -389,6 +389,7 @@
                newsMapper.selectCount(new QueryWrapper<News>().lambda()
                .eq(News::getIsdeleted,Constants.ZERO)
                .like(News::getCreateDate, DateUtil.getDateLong(new Date()))
                .apply(" now() >= PUBLISH_DATE ")
                .eq(News::getType,Constants.ZERO)
        ));
        dailyUpdatesResponse.setShareNum(
server/service/src/main/java/com/doumee/service/business/impl/ShopServiceImpl.java
@@ -974,7 +974,7 @@
            Member member = memberMapper.selectById(memberId);
            //如果人员没有经纬度信息,则不查询距离
            if(Objects.nonNull(member)&&Objects.nonNull(member.getLatitude())&&Objects.nonNull(member.getLongitude())){
                queryWrapper.select("ID,NAME,ADDRESS,PROVINCE_NAME,CITY_NAME,AREA_NAME,TOWN,AREA_NAME,LEGAL_PHONE " +
                queryWrapper.select(" * " +
                        " ,  (6371 * ACOS(COS(RADIANS("+member.getLatitude()+")) * COS(RADIANS(latitude)) * COS(RADIANS(longitude) - RADIANS("+member.getLongitude()+")) + SIN(RADIANS("+member.getLatitude()+")) * SIN(RADIANS(latitude)) ) ) as distance  " );
            }
        }
@@ -997,7 +997,7 @@
        }
        shop.setUsersList(usersList);
        //查询经营范围信息
        List<CategorySeg> categorySegList = categorySegMapper.selectList(new QueryWrapper<CategorySeg>().lambda().eq(CategorySeg::getOrgId,shop.getOrgId()).eq(CategorySeg::getIsdeleted,Constants.ZERO));
        List<CategorySeg> categorySegList = categorySegMapper.selectList(new QueryWrapper<CategorySeg>().lambda().eq(CategorySeg::getScode,shop.getScode()).eq(CategorySeg::getIsdeleted,Constants.ZERO));
        if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(categorySegList)){
            List<UnitCodeVo> unitCodeVoList =systemDictDataBiz.getUnitList();
            List<String> seqNameList = new ArrayList<>();
@@ -1007,7 +1007,8 @@
                    seqNameList.add(seqName);
                }
            }
            shop.setSeqNameList(seqNameList);
            Set<String> hs = new HashSet<String>(seqNameList);
            shop.setSeqNameList(new ArrayList<String>(hs));
        }
        return shop;
    }
@@ -1044,7 +1045,7 @@
        }
        Boolean manageShop = true;
        if(users.getRoleCodes().indexOf(StringUtils.trimToNull(systemDictDataBiz.queryByCode(Constants.ZBOM_CUSTOMIZED,Constants.USERS_MANAGE_CODE).getCode()))>=0){
            users.setManageShop(false);
            manageShop = false;
        }
        List<Shop> shopList = shopMapper.selectList(new QueryWrapper<Shop>()
                .lambda()
@@ -1062,7 +1063,7 @@
                if(StringUtils.isBlank(shop.getOrgId())){
                    continue;
                }
                List<CategorySeg> categorySegList = categorySegAllList.stream().filter(i->i.getOrgId().equals(shop.getOrgId())).collect(Collectors.toList());
                List<CategorySeg> categorySegList = categorySegAllList.stream().filter(i->i.getScode().equals(shop.getScode())).collect(Collectors.toList());
                List<UnitCodeVo> unitCodeVoList =systemDictDataBiz.getUnitList();
                List<String> seqNameList = new ArrayList<>();
                for(CategorySeg model : categorySegList){
@@ -1071,7 +1072,8 @@
                        seqNameList.add(seqName);
                    }
                }
                shop.setSeqNameList(seqNameList);
                Set<String> hs = new HashSet<String>(seqNameList);
                shop.setSeqNameList(new ArrayList<String>(hs));
            }
        }
        return shopList;
server/service/src/main/java/com/doumee/service/business/impl/UsersServiceImpl.java
@@ -176,7 +176,10 @@
                .selectAll(Users.class);
        Utils.MP.blankToNull(pageWrap.getModel());
        if (StringUtils.isNotBlank(pageWrap.getModel().getPhone())) {
            queryWrapper.apply(" t.id in ( select c.USER_ID from customer_user c where c.phone = '"+pageWrap.getModel().getPhone()+"'  ) ");
            queryWrapper.apply(" t.id in ( select c.USER_ID from customer_user c where  c.isdeleted = 0 and  c.phone = '"+pageWrap.getModel().getPhone()+"'  ) ");
        }
        if (Objects.nonNull(pageWrap.getModel().getMemberId())) {
            queryWrapper.apply(" t.id in ( select c.USER_ID from customer_user c where c.isdeleted = 0 and  c.member_id = '"+pageWrap.getModel().getMemberId()+"'  ) ");
        }
        if (pageWrap.getModel().getId() != null) {
            queryWrapper.eq(Users::getId, pageWrap.getModel().getId());
@@ -335,7 +338,7 @@
    @Override
    public AccountResponse phoneLogin(String phone,String code){
    public AccountResponse phoneLogin(String phone,String code,String openid){
        if(StringUtils.isEmpty(phone)||StringUtils.isEmpty(code)){
            throw new BusinessException(ResponseStatus.BAD_REQUEST);
        }
@@ -348,6 +351,12 @@
        }
        if(StringUtils.equals(users.getStatus(),Constants.ZERO+"")){
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"当前账户已停用,请联系管理员");
        }
        if(StringUtils.isNotBlank(openid)){
            usersMapper.update(null,new UpdateWrapper<Users>().lambda().set(Users::getOpenid,null).eq(Users::getOpenid,openid).ne(Users::getId,users.getId()));
            users.setOpenid(openid);
            users.setEditDate(new Date());
            usersMapper.updateById(users);
        }
        //验证短信
//        SmsEmail model = smsEmailMapper.selectOne(new QueryWrapper<SmsEmail>().lambda()
@@ -394,6 +403,7 @@
            accountResponse.setSessionKey(session.getSessionKey());
            Users users = usersMapper.selectOne(new QueryWrapper<Users>().lambda().eq(Users::getOpenid,openId).last("limit 1"));
            if(Objects.isNull(users)){
                accountResponse.setOpenid(openId);
                accountResponse.setSessionKey(session.getSessionKey());
                return accountResponse;
            }
@@ -449,22 +459,12 @@
    @Override
    public void bindingOpenid(String code,Long userId){
        try {
            //获取微信敏感数据
            WxMaJscode2SessionResult session = WxMiniConfig.wxPersonnelService.getUserService().getSessionInfo(code);
            String openId = session.getOpenid();
            if (com.baomidou.mybatisplus.core.toolkit.StringUtils.isBlank(openId)) {
                throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"获取openid失败!请联系管理员");
            }
            usersMapper.update(new UpdateWrapper<Users>().lambda().set(Users::getOpenid,null).eq(Users::getOpenid,openId));
    public void bindingOpenid(String openid,Long userId){
        usersMapper.update(new UpdateWrapper<Users>().lambda().set(Users::getOpenid,null).eq(Users::getOpenid,openid));
            Users users = usersMapper.selectById(userId);
            users.setOpenid(openId);
        users.setOpenid(openid);
            users.setEditDate(new Date());
            usersMapper.updateById(users);
        } catch (WxErrorException e) {
            e.printStackTrace();
        }
    }
    @Override
server/web/src/main/java/com/doumee/api/web/CustomerApi.java
@@ -88,10 +88,10 @@
    @GetMapping("/wxLoginCustomer")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "query", dataType = "String", name = "code", value = "微信code", required = true),
            @ApiImplicitParam(paramType = "query", dataType = "String", name = "iamId", value = "导购主键", required = false),
            @ApiImplicitParam(paramType = "query", dataType = "String", name = "userId", value = "导购主键", required = false),
    })
    public ApiResponse<AccountResponse> wxLoginCustomer(@RequestParam String code,String iamId) {
        return  ApiResponse.success(memberService.wxLogin(code,iamId));
    public ApiResponse<AccountResponse> wxLoginCustomer(@RequestParam String code,String userId) {
        return  ApiResponse.success(memberService.wxLogin(code,userId));
    }
    @ApiOperation(value = "test客户端小程序登陆", notes = "客户端小程序")
@@ -137,11 +137,12 @@
    })
    public ApiResponse<Member> binDingPhone(@RequestBody EditMemberRequest editMemberRequest) {
        editMemberRequest.setId(getMemberId());
        Member member = memberService.updMemberPhone(editMemberRequest);
        //同步导购绑定信息
        if(StringUtils.isNotBlank(editMemberRequest.getPhone())){
            customerUserService.syncByPhone(editMemberRequest.getPhone());
        }
        return  ApiResponse.success("更新成功",memberService.updMemberPhone(editMemberRequest));
        return  ApiResponse.success("更新成功",member);
    }
@@ -218,6 +219,9 @@
    @LoginRequired
    @ApiOperation(value = "用户注销", notes = "客户端小程序")
    @GetMapping("/logOff")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true),
    })
    public ApiResponse logOff() {
        ZTBaseRequst ztBaseRequst = memberService.logOff(getUserId(),getToken());
        if(Objects.nonNull(ztBaseRequst)){
@@ -228,7 +232,8 @@
    @LoginRequired
    @ApiOperation(value = "门店列表", notes = "客户端小程序")
    @PostMapping("/shopPage")   @ApiImplicitParams({
    @PostMapping("/shopPage")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true),
    })
    public ApiResponse<PageData<Shop>> shopPage (@RequestBody PageWrap<Shop> pageWrap) {
@@ -264,6 +269,7 @@
            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true)
    })
    public ApiResponse<PageData<Users>> myUserPage (@RequestBody PageWrap<Users> pageWrap) {
        pageWrap.getModel().setMemberId(getMemberId());
        return ApiResponse.success(usersService.findPage(pageWrap));
    }
server/web/src/main/java/com/doumee/api/web/CustomerManageApi.java
@@ -112,6 +112,7 @@
    })
    public ApiResponse<PageData<News>> newsPage (@RequestBody PageWrap<News> pageWrap) {
        pageWrap.getModel().setIsPublish(Constants.ONE);
        pageWrap.getModel().setStatus(Constants.ZERO);
        return ApiResponse.success(newsService.findPage(pageWrap));
    }
@@ -147,7 +148,6 @@
        String token = DigestUtils.md5Hex(timestamp+interfaceKey);
        if(!token.equals(sign)){
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"token已失效!");
        }
        try{
            response.setHeader("Cache-Control", "no-store, no-cache");
server/web/src/main/java/com/doumee/api/web/PersonnelApi.java
@@ -92,9 +92,10 @@
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "query", dataType = "String", name = "phone", value = "手机号", required = true),
            @ApiImplicitParam(paramType = "query", dataType = "String", name = "code", value = "短信验证码", required = true),
            @ApiImplicitParam(paramType = "query", dataType = "String", name = "openid", value = "openid", required = false),
    })
    public ApiResponse<AccountResponse> loginByPhone(@RequestParam String phone,@RequestParam String code) {
        return  ApiResponse.success(usersService.phoneLogin(phone,code));
    public ApiResponse<AccountResponse> loginByPhone(@RequestParam String phone,@RequestParam String code,String openid) {
        return  ApiResponse.success(usersService.phoneLogin(phone,code,openid));
    }
@@ -103,10 +104,10 @@
    @GetMapping("/bindingOpenid")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true),
            @ApiImplicitParam(paramType = "query", dataType = "String", name = "code", value = "微信code", required = true),
            @ApiImplicitParam(paramType = "query", dataType = "String", name = "openid", value = "openid", required = true),
    })
    public ApiResponse bindingOpenid(@RequestParam String code) {
        usersService.bindingOpenid(code,getUserId());
    public ApiResponse bindingOpenid(@RequestParam String openid) {
        usersService.bindingOpenid(openid,getUserId());
        return  ApiResponse.success("操作成功");
    }