| | |
| | | public static final String SHARES_FILE = "SHARES_FILE"; |
| | | public static final String NEWS_FILE = "NEWS_FILE"; |
| | | public static final String USER_LABEL = "USER_LABEL"; |
| | | public static final String USERS_MANAGE_CODE = "USERS_MANAGE_CODE"; |
| | | //发送会议开始 定时提前多少分钟发送 |
| | | |
| | | public static final String SYSTEM ="SYSTEM"; |
| | |
| | | } |
| | | |
| | | public static String desensitizationPhone(String phone) { |
| | | return phone.replaceAll("(d{3})d{4}(d{4})", "$1****$2"); |
| | | if (phone == null || phone.length() != 11) { |
| | | return phone; |
| | | } |
| | | return phone.substring(0, 3) + "****" + phone.substring(7); |
| | | } |
| | | |
| | | |
| | |
| | | @ApiModelProperty(value = "门店城市") |
| | | @TableField(exist = false) |
| | | private String shopCity; |
| | | @ApiModelProperty(value = "是否可管理门店") |
| | | @TableField(exist = false) |
| | | private Boolean manageShop; |
| | | |
| | | @ApiModelProperty(value = "C端用户手机号",notes = "用于查询用户绑定的导购",hidden = true) |
| | | @TableField(exist = false) |
| | |
| | | */ |
| | | AccountResponse wxLogin(String code,String iamId); |
| | | |
| | | AccountResponse testLogin(String openid); |
| | | |
| | | /** |
| | | * 获取手机号 |
| | | * @param wxPhoneRequest |
| | |
| | | model.setZtStatus(Constants.ONE); |
| | | model.setZtInfo("crm同步"); |
| | | model.setIamUserId(data.getUserId()); |
| | | model.setMemberId(member==null?null:member.getId()); |
| | | model.setUserId(user== null?null:user.getId()); |
| | | model.setCreationDate(data.getCreationDate()); |
| | | addList.add(model); |
| | |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"获取openid失败!请联系管理员"); |
| | | } |
| | | // String openId = code; |
| | | Member member = memberMapper.selectOne(new QueryWrapper<Member>().eq("OPENID", openId).isNotNull("phone")); |
| | | Users users = new Users(); |
| | | Member member = memberMapper.selectOne(new QueryWrapper<Member>().eq("OPENID", openId).last(" limit 1 ")); |
| | | Users users = null; |
| | | if(StringUtils.isNotBlank(userId)){ |
| | | users = usersMapper.selectById(userId); |
| | | } |
| | |
| | | e.printStackTrace(); |
| | | } |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"微信登录异常!请联系管理员"); |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public AccountResponse testLogin(String openid){ |
| | | String openId = openid; |
| | | Member member = memberMapper.selectOne(new QueryWrapper<Member>().eq("OPENID", openId).isNotNull("phone")); |
| | | |
| | | if (member == null) { |
| | | member = new Member(); |
| | | member.setNickname("微信用户"+ CodeVerifyUtils.createVerificationCode(4)); |
| | | member.setCreateDate(new Date()); |
| | | member.setIsdeleted(Constants.ZERO); |
| | | member.setOpenid(openId); |
| | | member.setType(Constants.ZERO); |
| | | //如果绑定了导购 则直接使用已绑定导购信息 跳过手机号绑定的状态 |
| | | member.setAuthStatus(Constants.ZERO); |
| | | ZTUserGetTokenResponse ztUserGetTokenResponse = this.syncZhongTaiUser(member); |
| | | if(!Objects.isNull(ztUserGetTokenResponse)){ |
| | | member.setToken(ztUserGetTokenResponse.getToken()); |
| | | } |
| | | memberMapper.insert(member); |
| | | }else{ |
| | | ZTUserGetTokenResponse ztUserGetTokenResponse = this.syncZhongTaiUser(member); |
| | | if(!Objects.isNull(ztUserGetTokenResponse)){ |
| | | member.setToken(ztUserGetTokenResponse.getToken()); |
| | | memberMapper.updateById(member); |
| | | } |
| | | member = this.getMemberInfo(member.getId()); |
| | | } |
| | | String token = JwtTokenUtil.generateTokenForZb(member.getId(),ZTConstants.CUSTOMER, JSONObject.toJSON(member).toString(),redisTemplate); |
| | | AccountResponse accountResponse = new AccountResponse(); |
| | | accountResponse.setToken(token); |
| | | accountResponse.setMember(member); |
| | | return accountResponse; |
| | | } |
| | | |
| | | public static void saveCustomerUser(ZbomZhongTaiService zbomZhongTaiService,CustomerUserMapper customerUserMapper,Users users,Long memberId,String openId){ |
| | |
| | | Member memberDto = new Member(); |
| | | BeanUtils.copyProperties(editMemberRequest,memberDto); |
| | | memberDto.setOpenid(member.getOpenid()); |
| | | // ZTUserGetTokenResponse ztUserGetTokenResponse = this.syncZhongTaiUser(memberDto); |
| | | // if(Objects.isNull(ztUserGetTokenResponse)){ |
| | | // throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"中台服务调起失败!"); |
| | | // }else{ |
| | | // member.setToken(ztUserGetTokenResponse.getToken()); |
| | | // } |
| | | memberMapper.updateById(memberDto); |
| | | return this.getMemberInfo(member.getId()); |
| | | } |
| | |
| | | String prefix = systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE, Constants.RESOURCE_PATH).getCode() + |
| | | 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){ |
| | | if( customerUserMapper.selectCount(new QueryWrapper<CustomerUser>() |
| | | .lambda().eq(CustomerUser::getIsdeleted,Constants.ZERO).eq(CustomerUser::getMemberId,member.getId()))>0){ |
| | | member.setAuthStatus(Constants.TWO); |
| | | }else{ |
| | | if(StringUtils.isBlank(member.getPhone())){ |
| | |
| | | .eq(News::getType,Constants.ZERO) |
| | | .eq(News::getStatus,Constants.ZERO) |
| | | .eq(News::getFileType,Constants.ZERO) |
| | | .apply(" now() >= t.PUBLISH_DATE ") |
| | | .apply(" now() >= PUBLISH_DATE ") |
| | | .last( "limit 3" ) |
| | | .orderByDesc(News::getCreateDate) |
| | | ); |
| | |
| | | } |
| | | IPage<Shop> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); |
| | | MPJLambdaWrapper<Shop> queryWrapper = new MPJLambdaWrapper<>(); |
| | | queryWrapper.select("ID,NAME,ADDRESS,PROVINCE_NAME,CITY_NAME,AREA_NAME,TOWN,AREA_NAME,LEGAL_PHONE " + |
| | | queryWrapper.select("ID,NAME,LINK_PHONE,ADDRESS,PROVINCE_NAME,CITY_NAME,AREA_NAME,TOWN,AREA_NAME,LEGAL_PHONE " + |
| | | " , (6371 * ACOS(COS(RADIANS("+pageWrap.getModel().getLatitude()+")) * COS(RADIANS(latitude)) * COS(RADIANS(longitude) - RADIANS("+pageWrap.getModel().getLongitude()+")) + SIN(RADIANS("+pageWrap.getModel().getLatitude()+")) * SIN(RADIANS(latitude)) ) ) as distance " ) |
| | | .eq("isdeleted",Constants.ZERO) |
| | | .isNotNull("LATITUDE") |
| | |
| | | if(distanceM.compareTo(new BigDecimal(100))<0){ |
| | | shop.setDistanceStr("<100米"); |
| | | }else{ |
| | | shop.setDistanceStr(distanceM.divide(BigDecimal.valueOf(1)).setScale(2,BigDecimal.ROUND_HALF_UP) + "m"); |
| | | shop.setDistanceStr(distanceM.divide(BigDecimal.valueOf(1)).setScale(0,BigDecimal.ROUND_HALF_UP) + "m"); |
| | | } |
| | | }else{ |
| | | shop.setDistanceStr(shop.getDistance().divide(BigDecimal.valueOf(1)).setScale(2,BigDecimal.ROUND_HALF_UP) + "km"); |
| | |
| | | if(Objects.isNull(userShop)){ |
| | | return new ArrayList<>(); |
| | | } |
| | | Boolean manageShop = true; |
| | | if(users.getRoleCodes().indexOf(StringUtils.trimToNull(systemDictDataBiz.queryByCode(Constants.ZBOM_CUSTOMIZED,Constants.USERS_MANAGE_CODE).getCode()))>=0){ |
| | | users.setManageShop(false); |
| | | } |
| | | List<Shop> shopList = shopMapper.selectList(new QueryWrapper<Shop>() |
| | | .lambda() |
| | | .eq(Shop::getScode,userShop.getScode()) |
| | | .eq(Shop::getType,Constants.TWO) |
| | | .eq(Shop::getSecondType,Constants.THREE) |
| | | .apply(manageShop,"1=2") |
| | | ); |
| | | //查询经营范围信息 |
| | | List<CategorySeg> categorySegAllList = categorySegMapper.selectList(new QueryWrapper<CategorySeg>().lambda() |
| | |
| | | if(StringUtils.isBlank(users.getSlogans())){ |
| | | users.setSlogans(StringUtils.trimToNull(systemDictDataBiz.queryByCode(Constants.ZBOM_CUSTOMIZED,Constants.USER_LABEL).getCode())); |
| | | } |
| | | users.setManageShop(false); |
| | | if(StringUtils.isNotBlank(users.getRoleCodes())){ |
| | | if(users.getRoleCodes().indexOf(StringUtils.trimToNull(systemDictDataBiz.queryByCode(Constants.ZBOM_CUSTOMIZED,Constants.USERS_MANAGE_CODE).getCode()))>=0){ |
| | | users.setManageShop(true); |
| | | } |
| | | } |
| | | if(Objects.nonNull(users.getDepartmentId())){ |
| | | Shop shop = shopMapper.selectById(users.getDepartmentId()); |
| | | if(Objects.nonNull(shop)){ |
| | |
| | | return ApiResponse.success(memberService.wxLogin(code,iamId)); |
| | | } |
| | | |
| | | @ApiOperation(value = "test客户端小程序登陆", notes = "客户端小程序") |
| | | @GetMapping("/testWxLoginCustomer") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(paramType = "query", dataType = "String", name = "openid", value = "微信code", required = true), |
| | | }) |
| | | public ApiResponse<AccountResponse> testWxLoginCustomer(@RequestParam String openid) { |
| | | return ApiResponse.success(memberService.testLogin(openid)); |
| | | } |
| | | |
| | | |
| | | @LoginRequired |
| | | @ApiOperation(value = "获取手机号", notes = "客户端小程序") |
| | |
| | | @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true), |
| | | }) |
| | | public ApiResponse<PageData<Shop>> shopPage (@RequestBody PageWrap<Shop> pageWrap) { |
| | | return ApiResponse.success(shopService.queryShopByLL(pageWrap)); |
| | | PageData<Shop> pageData = shopService.queryShopByLL(pageWrap); |
| | | if(Objects.nonNull(pageWrap.getModel().getLatitude())&&Objects.nonNull(pageWrap.getModel().getLongitude())){ |
| | | //更新人员经纬度信息 |
| | | EditMemberRequest editMemberRequest = new EditMemberRequest(); |
| | | editMemberRequest.setId(getMemberId()); |
| | | editMemberRequest.setLatitude(pageWrap.getModel().getLatitude()); |
| | | editMemberRequest.setLongitude(pageWrap.getModel().getLongitude()); |
| | | memberService.updMemberDetail(editMemberRequest); |
| | | } |
| | | return ApiResponse.success(pageData); |
| | | } |
| | | |
| | | |