server/admin/src/main/java/com/doumee/timer/WeixinTokenJobBiz.java
@@ -29,6 +29,7 @@ systemDictService.updWxMiniToken(); log.info("\n ======== 定时任务已执行:weixinTokenJob.========"+module); } catch (Exception e) { log.error("\n ======== 定时任务已执行:weixinTokenJob.========发生异常:"+e.getMessage()); e.printStackTrace(); } } server/service/src/main/java/com/doumee/biz/zbom/model/crm/response/CRMCustomerListResponse.java
@@ -23,6 +23,7 @@ private String creationDate ;//创建时间 private String customerId ;//客户 id private String platSourceId ;//传递平台 id private String headPortrait ;//用户头像地址 private String platSource ;//平台类型 1 pad 端 2 小程序端 } server/service/src/main/java/com/doumee/biz/zbom/model/zhongtai/ZTBaseRequst.java
@@ -18,4 +18,7 @@ @ApiModelProperty(value = "用户主键" , hidden = true) private String userId; @ApiModelProperty(value = "中台用户主键(针对C端)" , hidden = true) private String ztUserId; } server/service/src/main/java/com/doumee/biz/zbom/model/zhongtai/ZTUserInfoUpdateRequest.java
@@ -80,7 +80,7 @@ /** * 昵称 */ private String nickname; private String nickName; /** * OpenID,微信用户的OpenID */ server/service/src/main/java/com/doumee/biz/zbom/model/zhongtai/response/ZTUserGetTokenResponse.java
@@ -11,6 +11,10 @@ */ private String token; /** *用户临时票据 */ private String ztUserId; /** * 有效期 秒 */ private Long expire; server/service/src/main/java/com/doumee/core/utils/Constants.java
@@ -495,15 +495,15 @@ StringBuffer stringBuffer = new StringBuffer(); for (int i = 0; i < arr.length; i++) { if(i==0){ stringBuffer.append( i + "室"); stringBuffer.append( arr[i] + "室"); }else if(i==1){ stringBuffer.append( i + "厅"); stringBuffer.append( arr[i] + "厅"); }else if(i==2){ stringBuffer.append( i + "厨"); stringBuffer.append( arr[i] + "厨"); }else if(i==3){ stringBuffer.append( i + "卫"); stringBuffer.append( arr[i] + "卫"); }else if(i==4){ stringBuffer.append( i + "阳"); stringBuffer.append( arr[i] + "阳"); }else { break; } server/service/src/main/java/com/doumee/dao/business/model/Member.java
@@ -91,6 +91,9 @@ @ApiModelProperty(value = "中台临时票据") @ExcelColumn(name="中台临时票据") private String token; @ApiModelProperty(value = "中台用户主键") @ExcelColumn(name="中台用户主键") private String ztUserId; @ApiModelProperty(value = "性别 1男 2女", example = "1") @ExcelColumn(name="性别 1男 2女") server/service/src/main/java/com/doumee/service/business/CustomerUserService.java
@@ -3,6 +3,8 @@ import com.doumee.core.model.PageData; import com.doumee.core.model.PageWrap; import com.doumee.dao.business.model.CustomerUser; import com.doumee.dao.business.model.Member; import java.util.List; /** @@ -97,5 +99,5 @@ void syncYesterday(String date); void syncByPhone(String phone); void syncByPhone(Member member); } server/service/src/main/java/com/doumee/service/business/MemberService.java
@@ -132,7 +132,6 @@ Member getMemberInfo(Long memberId); /** * 用户注销 * @param memberId server/service/src/main/java/com/doumee/service/business/impl/CustomerUserServiceImpl.java
@@ -182,21 +182,24 @@ request.setPageSize(100); request.setTiming(Constants.ONE+""); request.setCreationDate(date); this.syncData(request); this.syncData(request,null); } @Override @Transactional public void syncByPhone(String phone) { public void syncByPhone(Member member) { if(member ==null){ return; } CrmDaogouBindListRequest request = new CrmDaogouBindListRequest(); request.setPage(0); request.setPageSize(100); request.setTiming(Constants.ZERO+""); request.setKeyWords(phone); this.syncData(request); request.setKeyWords(member.getPhone()); this.syncData(request,member); } public void syncData(CrmDaogouBindListRequest request){ public void syncData(CrmDaogouBindListRequest request,Member member){ boolean hasMore = true; int currentNum = 0; Date cdate = new Date(); @@ -221,29 +224,33 @@ hasMore = false; } } dealSyncDataBiz(cdate,allList); dealSyncDataBiz(cdate,allList,member); } private void dealSyncDataBiz(Date date,List<CRMDaogouBindListResponse> list) { private void dealSyncDataBiz(Date date,List<CRMDaogouBindListResponse> list,Member member) { if(list ==null && list.size()==0){ return; } List<CustomerUser> addList = new ArrayList<>(); List<String> phoneList = new ArrayList<>(); List<Long> memberIds = new ArrayList<>(); for(CRMDaogouBindListResponse data : list){ if(StringUtils.isBlank(data.getCustomerPhone())){ continue; } Member member = memberMapper.selectOne(new QueryWrapper<Member>().lambda() if(member == null){ member = memberMapper.selectOne(new QueryWrapper<Member>().lambda() .eq(Member::getPhone,data.getCustomerPhone() ) .eq(Member::getIsdeleted,Constants.ZERO) .last("limit 1" )); } Users user = usersMapper.selectOne(new QueryWrapper<Users>().lambda() .eq(Users::getIamId,data.getIamId() ) .last("limit 1" )); if(member == null){ continue; } memberIds.add(member.getId()); phoneList.add(data.getCustomerPhone()); CustomerUser model = new CustomerUser(); @@ -288,6 +295,13 @@ customerUserMapper.insert(addList.subList(temp,index)); temp = index; } Member update = new Member(); update.setAuthStatus(Constants.TWO); update.setEditDate(new Date()); memberMapper.update(null,new UpdateWrapper<Member>().lambda(). set(Member::getAuthStatus,Constants.TWO). set(Member::getEditDate,new Date()) .in(Member::getId,memberIds)); } } } server/service/src/main/java/com/doumee/service/business/impl/GetZhongTaiDataServiceImpl.java
@@ -295,7 +295,8 @@ 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,member); //更新导购绑定信息 MemberServiceImpl.saveCustomerUser(zbomZhongTaiService,customerUserMapper,memberMapper,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())){ @@ -352,7 +353,7 @@ 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,member); MemberServiceImpl.saveCustomerUser(zbomZhongTaiService,customerUserMapper,memberMapper,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())){ @@ -403,7 +404,7 @@ 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,member); MemberServiceImpl.saveCustomerUser(zbomZhongTaiService,customerUserMapper,memberMapper,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())){ @@ -459,7 +460,7 @@ 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); MemberServiceImpl.saveCustomerUser(zbomZhongTaiService,customerUserMapper,memberMapper,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
@@ -291,23 +291,31 @@ member.setOpenid(openId); member.setType(Constants.ZERO); //如果绑定了导购 则直接使用已绑定导购信息 跳过手机号绑定的状态 if(Objects.nonNull(users)){ member.setAuthStatus(Constants.TWO); }else{ member.setAuthStatus(Constants.ZERO); } // if(Objects.nonNull(users)){ // member.setAuthStatus(Constants.TWO); // }else{ // member.setAuthStatus(Constants.ZERO); // } ZTUserGetTokenResponse ztUserGetTokenResponse = this.syncZhongTaiUser(member); if(!Objects.isNull(ztUserGetTokenResponse)){ member.setToken(ztUserGetTokenResponse.getToken()); member.setZtUserId(StringUtils.defaultString(ztUserGetTokenResponse.getZtUserId(),ztUserGetTokenResponse.getToken())); MemberServiceImpl.saveCustomerUser(zbomZhongTaiService,customerUserMapper,null,users,member); } memberMapper.insert(member); MemberServiceImpl.saveCustomerUser(zbomZhongTaiService,customerUserMapper,users,member); }else{ ZTUserGetTokenResponse ztUserGetTokenResponse = this.syncZhongTaiUser(member); if(!Objects.isNull(ztUserGetTokenResponse)){ member.setToken(ztUserGetTokenResponse.getToken()); member.setZtUserId(StringUtils.defaultString(ztUserGetTokenResponse.getZtUserId(),ztUserGetTokenResponse.getToken())); Member update = new Member(); update.setZtUserId(StringUtils.defaultString(ztUserGetTokenResponse.getZtUserId(),ztUserGetTokenResponse.getToken())); update.setToken(member.getToken()); update.setId(member.getId()); update.setAuthStatus(member.getAuthStatus()); MemberServiceImpl.saveCustomerUser(zbomZhongTaiService,customerUserMapper,null,users,member); memberMapper.updateById(update);//缓存中台token信息 } MemberServiceImpl.saveCustomerUser(zbomZhongTaiService,customerUserMapper,users,member); member = this.getMemberInfo(member.getId()); } String token = JwtTokenUtil.generateTokenForZb(member.getId(),ZTConstants.CUSTOMER, JSONObject.toJSON(member).toString(),redisTemplate); @@ -340,12 +348,14 @@ ZTUserGetTokenResponse ztUserGetTokenResponse = this.syncZhongTaiUser(member); if(!Objects.isNull(ztUserGetTokenResponse)){ member.setToken(ztUserGetTokenResponse.getToken()); member.setZtUserId(StringUtils.defaultString(ztUserGetTokenResponse.getZtUserId(),ztUserGetTokenResponse.getToken())); } memberMapper.insert(member); }else{ ZTUserGetTokenResponse ztUserGetTokenResponse = this.syncZhongTaiUser(member); if(!Objects.isNull(ztUserGetTokenResponse)){ member.setToken(ztUserGetTokenResponse.getToken()); member.setZtUserId(StringUtils.defaultString(ztUserGetTokenResponse.getZtUserId(),ztUserGetTokenResponse.getToken())); memberMapper.updateById(member); } member = this.getMemberInfo(member.getId()); @@ -416,7 +426,7 @@ // } public static void saveCustomerUser(ZbomZhongTaiService zbomZhongTaiService, CustomerUserMapper customerUserMapper, Users users, Member member) { public static void saveCustomerUser(ZbomZhongTaiService zbomZhongTaiService, CustomerUserMapper customerUserMapper, MemberMapper memberMapper,Users users, Member member) { if (Objects.nonNull(users) && Objects.nonNull(member.getId())) { CustomerUser customerUser = customerUserMapper.selectOne(new QueryWrapper<CustomerUser>().lambda() .eq(CustomerUser::getIsdeleted, Constants.ZERO) @@ -437,45 +447,37 @@ customerUser.setUsername(users.getIamUsername()); customerUser.setAddr(users.getShopAddress()); } ZTBaseResponse ztBaseResponse = null; if ( !Constants.equalsInteger(customerUser.getZtStatus(),Constants.ONE)) { ztBaseResponse = syncZtCustomerUserSendRequest(zbomZhongTaiService,memberMapper,member, users,customerUser); } //未绑定过 if (Objects.isNull(customerUser.getId())) { ZTBaseResponse ztBaseResponse = MemberServiceImpl.syncZtCustomerUser(zbomZhongTaiService,member, users); 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); } else { if (!Constants.equalsInteger(customerUser.getZtStatus(),Constants.ONE)) { ZTBaseResponse ztBaseResponse = MemberServiceImpl.syncZtCustomerUser(zbomZhongTaiService,member, users); 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)); } } else if(ztBaseResponse !=null) { customerUserMapper.updateById(customerUser); } } } private static ZTBaseResponse syncZtCustomerUserSendRequest(ZbomZhongTaiService zbomZhongTaiService,MemberMapper memberMapper, Member member, Users users,CustomerUser customerUser) { ZTBaseResponse ztBaseResponse = MemberServiceImpl.syncZtCustomerUser(zbomZhongTaiService,member, users); customerUser.setZtStatus(2); customerUser.setZtInfo(JSONObject.toJSONString(ztBaseResponse)); if (Objects.nonNull(ztBaseResponse) && ztBaseResponse.getSuccess()) { customerUser.setZtStatus(1);//同步成功 member.setAuthStatus(Constants.TWO);//用户导购绑定状态 if(memberMapper!=null){ //如果需要更新用户绑定导购状态 Member update = new Member(); update.setAuthStatus(Constants.TWO); update.setEditDate(new Date()); update.setId(member.getId()); memberMapper.updateById(update);//更新用户同步状态 } } return ztBaseResponse; } @@ -530,12 +532,13 @@ throw new BusinessException(ResponseStatus.BAD_REQUEST); } BeanUtils.copyProperties(editMemberRequest,member); memberMapper.updateById(member); //同步中台用户信息 ZTUserGetTokenResponse ztUserGetTokenResponse = this.syncZhongTaiUser(member); if(!Objects.isNull(ztUserGetTokenResponse)){ member.setToken(ztUserGetTokenResponse.getToken()); member.setZtUserId(StringUtils.defaultString(ztUserGetTokenResponse.getZtUserId(),ztUserGetTokenResponse.getToken())); } memberMapper.updateById(member); return this.getMemberInfo(member.getId()); } @@ -556,12 +559,13 @@ Member memberDto = new Member(); BeanUtils.copyProperties(editMemberRequest,memberDto); memberDto.setOpenid(member.getOpenid()); // ZTUserGetTokenResponse ztUserGetTokenResponse = this.syncZhongTaiUser(memberDto); // if(Objects.isNull(ztUserGetTokenResponse)){ ZTUserGetTokenResponse ztUserGetTokenResponse = this.syncZhongTaiUser(memberDto); if(Objects.isNull(ztUserGetTokenResponse)){ // throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"中台服务调起失败!"); // }else{ // member.setToken(ztUserGetTokenResponse.getToken()); // } }else{ member.setToken(ztUserGetTokenResponse.getToken()); member.setToken(StringUtils.defaultString(ztUserGetTokenResponse.getZtUserId(),ztUserGetTokenResponse.getToken())); } memberMapper.updateById(memberDto); return this.getMemberInfo(member.getId()); } @@ -575,7 +579,7 @@ ztUserInfoUpdateRequest.setPlatform(Constants.PLATFORM); ztUserInfoUpdateRequest.setPhone(member.getPhone()); ztUserInfoUpdateRequest.setName(member.getName()); ztUserInfoUpdateRequest.setNickname(member.getNickname()); 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() + @@ -603,7 +607,7 @@ ztUserInfoUpdateRequest.setPlatform(Constants.PLATFORM); ztUserInfoUpdateRequest.setPhone(member.getPhone()); ztUserInfoUpdateRequest.setName(member.getName()); ztUserInfoUpdateRequest.setNickname(member.getNickname()); 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() + @@ -633,7 +637,7 @@ 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>() /* if( customerUserMapper.selectCount(new QueryWrapper<CustomerUser>() .lambda().eq(CustomerUser::getIsdeleted,Constants.ZERO).eq(CustomerUser::getZtStatus,Constants.ONE).eq(CustomerUser::getMemberId,member.getId()))>0){ member.setAuthStatus(Constants.TWO); }else{ @@ -642,7 +646,7 @@ }else{ member.setAuthStatus(Constants.ONE); } } }*/ return member; } @@ -660,19 +664,27 @@ ztBaseInfoResponse.setUserType(ZTConstants.CUSTOMER); ztBaseInfoResponse.setOpenId(member.getOpenid()); //如果无有效期/已过期 重新获取 if(Objects.isNull(member.getTokenDate()) || member.getTokenDate().getTime()<=System.currentTimeMillis() ){ if(Objects.isNull(member.getZtUserId()) ||Objects.isNull(member.getTokenDate()) || member.getTokenDate().getTime()<=System.currentTimeMillis() ){ ZTUserGetTokenRequest param = new ZTUserGetTokenRequest(); //查询APPID String appId = systemDictDataBiz.queryByCode(Constants.WX_MINI_CONFIG,Constants.WX_APPID_CUSTOMER).getCode(); param.setAppId(appId); param.setOpenId(member.getOpenid()); ZTUserGetTokenResponse ztUserGetTokenResponse = syncZhongTaiUserNew(member,systemDictDataBiz,zbomZhongTaiService); // ZTUserGetTokenResponse ztUserGetTokenResponse = zbomZhongTaiService.getUserToken(param); ZTUserGetTokenResponse ztUserGetTokenResponse =null; if(StringUtils.isNotBlank(member.getZtUserId())){ //如果是已同步的用户 ztUserGetTokenResponse = zbomZhongTaiService.getUserToken(param); } if(ztUserGetTokenResponse == null){ //如果获取失败,尝试重新同步重新获取 ztUserGetTokenResponse = syncZhongTaiUserNew(member,systemDictDataBiz,zbomZhongTaiService); } if(Objects.nonNull(ztUserGetTokenResponse)){ // Date date =new Date(System.currentTimeMillis()+(Constants.formatLongNum(ztUserGetTokenResponse.getExpire())<=0?2*60*60*1000:ztUserGetTokenResponse.getExpire()*1000)); member.setToken(ztUserGetTokenResponse.getToken()); memberMapper.update(new UpdateWrapper<Member>().lambda() .set(Member::getToken,ztUserGetTokenResponse.getToken()) .set(Member::getZtUserId,StringUtils.defaultString(ztUserGetTokenResponse.getZtUserId(),ztUserGetTokenResponse.getToken())) // .set(Member::getTokenDate,date)//默认有效期为两小时 .eq(Member::getId,member.getId())); ztBaseInfoResponse.setToken(ztUserGetTokenResponse.getToken()); server/web/src/main/java/com/doumee/api/web/CustomerApi.java
@@ -122,11 +122,16 @@ }) public ApiResponse<Member> editMember(@RequestBody EditMemberRequest editMemberRequest) { editMemberRequest.setId(getMemberId()); String phone = editMemberRequest.getPhone(); // if(StringUtils.isNotBlank(editMemberRequest.getPhone())){ // customerUserService.syncByPhone(editMemberRequest.getPhone()); // } //同步导购绑定信息 if(StringUtils.isNotBlank(editMemberRequest.getPhone())){ customerUserService.syncByPhone(editMemberRequest.getPhone()); Member member =memberService.updMemberDetail(editMemberRequest); if(StringUtils.isNotBlank(phone)){ customerUserService.syncByPhone(member); } return ApiResponse.success("更新成功",memberService.updMemberDetail(editMemberRequest)); return ApiResponse.success("更新成功",member); } @LoginRequired @@ -137,10 +142,11 @@ }) public ApiResponse<Member> binDingPhone(@RequestBody EditMemberRequest editMemberRequest) { editMemberRequest.setId(getMemberId()); String phone =editMemberRequest.getPhone(); Member member = memberService.updMemberPhone(editMemberRequest); //同步导购绑定信息 if(StringUtils.isNotBlank(editMemberRequest.getPhone())){ customerUserService.syncByPhone(editMemberRequest.getPhone()); if(StringUtils.isNotBlank(phone)){ customerUserService.syncByPhone(member); } return ApiResponse.success("更新成功",member); } @@ -154,7 +160,9 @@ @ApiImplicitParam(paramType = "query", dataType = "String", name = "phone", value = "手机号信息", required = true), }) public ApiResponse syncCustomerUser(@RequestParam String phone) { customerUserService.syncByPhone(phone); if(StringUtils.isNotBlank(getLoginMemberInfo().getPhone())){ customerUserService.syncByPhone(getLoginMemberInfo()); } return ApiResponse.success("同步成功"); } wechat_jiaxuan/pages/userinfo/favorite.wxml
@@ -21,9 +21,9 @@ </view> <view class="name">{{ item.displayName }}</view> <view class="info"> <image wx:if="{{ false }}" class="icon" src="../../static/icon/detail_nav_collect.png" mode="widthFix"></image> <image wx:if="{{ !item.isCollection }}" class="icon" src="../../static/icon/detail_nav_collect.png" mode="widthFix"></image> <image wx:else="" class="icon" src="../../static/icon/detail_nav_collected.png" mode="widthFix"></image> <text class="num {{true ? 'primary' : ''}}">{{ item.collectCount }}</text> <text class="num {{item.isCollection? 'primary' : ''}}">{{ item.collectCount }}</text> <image class="icon" src="../../static/icon/zixun_ic_liulan.png" mode="widthFix"></image> <text>{{ math.formarCount(item.viewCount) }}</text> </view> wechat_staff/pages/kefu/select.wxml
@@ -25,7 +25,7 @@ <view class="checked_wrap"> <image data-item="{{ item }}" bindtap="itemCheck" wx:if="{{ customer.platSourceId == item.platSourceId }}" class="icon" src="../../static/icon/ic_video@2x.png" mode="widthFix"></image> <image wx:else data-item="{{ item }}" bindtap="itemCheck" class="icon" src="../../static/icon/ic_select@2x.png" mode="widthFix"></image> <image class="avatar" src="{{ item.headPortrait ? item.headPortrait : '../../static/images/default_avatar.png' }}"></image> <image class="avatar" src="{{item.headPortrait || '../../static/images/default_avatar.png'}}"></image> </view> <!-- --> <view class="content">