k94314517
2024-07-17 c72c6591a15800e1e75fdc9c08f4f427ff60ba69
代码提交
已添加2个文件
已修改13个文件
477 ■■■■■ 文件已修改
server/service/src/main/java/com/doumee/biz/zbom/impl/ZbomZhongTaiServiceImpl.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/biz/zbom/model/crm/response/CRMBaseResponse.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/dao/business/model/CustomerLog.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/service/business/GetCrmDataService.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/service/business/GetZhongTaiDataService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/service/business/UsersService.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/service/business/impl/BjParamServiceImpl.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/service/business/impl/CustomerLogServiceImpl.java 118 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/service/business/impl/CustomerServiceImpl.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/service/business/impl/GetCrmDataServiceImpl.java 70 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java 50 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/service/business/impl/UsersServiceImpl.java 26 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/web/src/main/java/com/doumee/api/web/CustomerApi.java 140 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/web/src/main/java/com/doumee/api/web/PersonnelApi.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/biz/zbom/impl/ZbomZhongTaiServiceImpl.java
@@ -95,9 +95,9 @@
        ZTBaseResponse<ZTUserGetTokenResponse> result = sendHttpRequest(
                ZTConstants.IntegerUrl.USER_UPDATE_URL,
                ZTConstants.IntegerName.USER_UPDATE_NAME,
                param.getToken(),
                param.getUserType(),
                JSONObject.toJSONString(param ),
                null,
                null,
                JSONObject.toJSONString(param),
                new TypeReference<ZTBaseResponse<ZTUserGetTokenResponse>>(){});
//        if(result!=null){
//            return result.getData();
server/service/src/main/java/com/doumee/biz/zbom/model/crm/response/CRMBaseResponse.java
@@ -16,6 +16,7 @@
     */
    private String msg;
    private  int total;
    private  Boolean hasMore;
    /**
     *  æ•°æ®
     */
server/service/src/main/java/com/doumee/biz/zbom/model/zhongtai/ZTConstants.java
@@ -25,7 +25,7 @@
        String JIADE_ID ="zb_deco_jdid";
    }
    public interface IntegerUrl{
        String USER_UPDATE_URL ="customer/api/sync";
        String USER_UPDATE_URL ="/customer/api/sync";
        String USER_GET_TOKEN_URL ="/customer/api/login";
        String USER_LOGOUT_URL ="/customer/api/disable";
        String CATALOG_LIST_URL ="/content/api/catalog";
server/service/src/main/java/com/doumee/dao/business/model/CustomerLog.java
@@ -155,4 +155,8 @@
    @TableField(exist = false)
    private String openid;
    @ApiModelProperty(value = "C端用户主键")
    @TableField(exist = false)
    private Long memberId;
}
server/service/src/main/java/com/doumee/service/business/GetCrmDataService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,26 @@
package com.doumee.service.business;
import com.doumee.biz.zbom.model.crm.CrmCustomerListRequest;
import com.doumee.biz.zbom.model.crm.response.CRMBaseResponse;
import com.doumee.biz.zbom.model.crm.response.CRMCustomerListResponse;
import com.doumee.biz.zbom.model.zhongtai.ZTCatalogListRequest;
import com.doumee.biz.zbom.model.zhongtai.ZTContentListRequest;
import com.doumee.biz.zbom.model.zhongtai.response.*;
import java.util.List;
/**
 * ç”¨æˆ·è¡Œä¸ºæ•°æ®ä¿¡æ¯è¡¨Service定义
 * @author æ±Ÿè¹„蹄
 * @date 2024/07/04 14:40
 */
public interface GetCrmDataService {
    /**
     * èŽ·å–CRM å®¢æˆ·åˆ—表/潜客列表
     * @param crmCustomerListRequest
     * @return
     */
    CRMBaseResponse<List<CRMCustomerListResponse>> getCrmCustomerList(CrmCustomerListRequest crmCustomerListRequest);
}
server/service/src/main/java/com/doumee/service/business/GetZhongTaiDataService.java
@@ -59,7 +59,7 @@
    void collectContent(Long userId,String userType,String articleId);
    /**
     * æ”¶è—ä¸šåŠ¡
     * å–œæ¬¢ä¸šåŠ¡
     * @param userId
     * @param userType
     * @param articleId
server/service/src/main/java/com/doumee/service/business/UsersService.java
@@ -109,12 +109,13 @@
    String importBatch(MultipartFile file);
    Users usersDetail(Long userId);
    Users usersDetailByIamId(String iamId);
    Users usersDetailById(Long id);
    String getUserCard(Users users);
    void editUserInfo(EditUsersRequest editUsersRequest);
    String getContentShareImg(Users loginUserInfo, ContentShareImgDto param);
}
server/service/src/main/java/com/doumee/service/business/impl/BjParamServiceImpl.java
@@ -20,10 +20,12 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
/**
@@ -216,8 +218,26 @@
        List<BjParam> bjParamList =  bjParamMapper.selectList(new QueryWrapper<BjParam>()
               .lambda().eq(BjParam::getIsdeleted,Constants.ZERO));
        if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(bjParamList)){
            List<BjParam> roughList = bjParamList.stream().filter(i->i.getType().equals(Constants.ZERO+"")).collect(Collectors.toList());
            List<BjParam> exquisiteList = bjParamList.stream().filter(i->i.getType().equals(Constants.ONE+"")).collect(Collectors.toList());
            List<BjParam> roughList = bjParamList.stream().filter(i->i.getType().equals(Constants.ZERO+"")&& StringUtils.isEmpty(i.getParentId())).collect(Collectors.toList());
            if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(roughList)){
                for (BjParam bjParam:roughList) {
                    bjParam.setChildren(
                            bjParamList.stream().filter(i->i.getType().equals(Constants.ZERO+"")
                                    && Objects.nonNull(i.getParentId())
                                    && i.getParentId().equals(bjParam.getId())).collect(Collectors.toList())
                    );
                }
            }
            List<BjParam> exquisiteList = bjParamList.stream().filter(i->i.getType().equals(Constants.ONE+"")&& StringUtils.isEmpty(i.getParentId())).collect(Collectors.toList());
            if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(exquisiteList)){
                for (BjParam bjParam:exquisiteList) {
                    bjParam.setChildren(
                            bjParamList.stream().filter(i->i.getType().equals(Constants.ONE+"")
                                    && Objects.nonNull(i.getParentId())
                                    && i.getParentId().equals(bjParam.getId())).collect(Collectors.toList())
                    );
                }
            }
            bjParamConfigResponse.setRoughList(roughList);
            bjParamConfigResponse.setExquisiteList(exquisiteList);
        }
server/service/src/main/java/com/doumee/service/business/impl/CustomerLogServiceImpl.java
@@ -2,21 +2,22 @@
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.core.utils.Constants;
import com.doumee.core.utils.Utils;
import com.doumee.dao.business.CustomerLogMapper;
import com.doumee.dao.business.model.CustomerLog;
import com.doumee.dao.business.model.IamInterfaceLog;
import com.doumee.dao.business.model.InterfaceLog;
import com.doumee.dao.business.model.*;
import com.doumee.service.business.CustomerLogService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.List;
import java.util.Objects;
/**
 * å®¢æˆ·ç•™èµ„记录信息表Service实现
@@ -89,106 +90,21 @@
    @Override
    public PageData<CustomerLog> findPage(PageWrap<CustomerLog> pageWrap) {
        IPage<CustomerLog> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
        QueryWrapper<CustomerLog> queryWrapper = new QueryWrapper<>();
        MPJLambdaWrapper<CustomerLog> queryWrapper = new MPJLambdaWrapper<>();
        Utils.MP.blankToNull(pageWrap.getModel());
        if (pageWrap.getModel().getId() != null) {
            queryWrapper.lambda().eq(CustomerLog::getId, pageWrap.getModel().getId());
        queryWrapper.selectAll(CustomerLog.class)
                .leftJoin(Customer.class,Customer::getId,CustomerLog::getCostomerId)
                            .eq(CustomerLog::getIsdeleted, Constants.ZERO)
                .eq(Objects.nonNull(pageWrap.getModel().getType()),CustomerLog::getType, pageWrap.getModel().getType())
                .eq(Objects.nonNull(pageWrap.getModel().getMemberId()),Customer::getMemberId, pageWrap.getModel().getMemberId());
        queryWrapper.orderByDesc(CustomerLog::getCreateDate);
        PageData<CustomerLog> pageData = PageData.from(customerLogMapper.selectJoinPage(page,CustomerLog.class, queryWrapper));
        for (CustomerLog customerLog:pageData.getRecords()) {
            customerLog.setPhone(
                    customerLog.getPhone().replaceAll("(\\d{3})\\d{4}(\\d{4})", "$1****$2")
            );
        }
        if (pageWrap.getModel().getCreator() != null) {
            queryWrapper.lambda().eq(CustomerLog::getCreator, pageWrap.getModel().getCreator());
        }
        if (pageWrap.getModel().getCreateDate() != null) {
            queryWrapper.lambda().ge(CustomerLog::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate()));
            queryWrapper.lambda().le(CustomerLog::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate()));
        }
        if (pageWrap.getModel().getEditor() != null) {
            queryWrapper.lambda().eq(CustomerLog::getEditor, pageWrap.getModel().getEditor());
        }
        if (pageWrap.getModel().getEditDate() != null) {
            queryWrapper.lambda().ge(CustomerLog::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate()));
            queryWrapper.lambda().le(CustomerLog::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate()));
        }
        if (pageWrap.getModel().getIsdeleted() != null) {
            queryWrapper.lambda().eq(CustomerLog::getIsdeleted, pageWrap.getModel().getIsdeleted());
        }
        if (pageWrap.getModel().getRemark() != null) {
            queryWrapper.lambda().eq(CustomerLog::getRemark, pageWrap.getModel().getRemark());
        }
        if (pageWrap.getModel().getOrderDate() != null) {
            queryWrapper.lambda().eq(CustomerLog::getOrderDate, pageWrap.getModel().getOrderDate());
        }
        if (pageWrap.getModel().getPlaDate() != null) {
            queryWrapper.lambda().eq(CustomerLog::getPlaDate, pageWrap.getModel().getPlaDate());
        }
        if (pageWrap.getModel().getDesignType() != null) {
            queryWrapper.lambda().eq(CustomerLog::getDesignType, pageWrap.getModel().getDesignType());
        }
        if (pageWrap.getModel().getHouseStatus() != null) {
            queryWrapper.lambda().eq(CustomerLog::getHouseStatus, pageWrap.getModel().getHouseStatus());
        }
        if (pageWrap.getModel().getDistrict() != null) {
            queryWrapper.lambda().eq(CustomerLog::getDistrict, pageWrap.getModel().getDistrict());
        }
        if (pageWrap.getModel().getArea() != null) {
            queryWrapper.lambda().eq(CustomerLog::getArea, pageWrap.getModel().getArea());
        }
        if (pageWrap.getModel().getInfo() != null) {
            queryWrapper.lambda().eq(CustomerLog::getInfo, pageWrap.getModel().getInfo());
        }
        if (pageWrap.getModel().getCostomerId() != null) {
            queryWrapper.lambda().eq(CustomerLog::getCostomerId, pageWrap.getModel().getCostomerId());
        }
        if (pageWrap.getModel().getHouseType() != null) {
            queryWrapper.lambda().eq(CustomerLog::getHouseType, pageWrap.getModel().getHouseType());
        }
        if (pageWrap.getModel().getSex() != null) {
            queryWrapper.lambda().eq(CustomerLog::getSex, pageWrap.getModel().getSex());
        }
        if (pageWrap.getModel().getAgeInfo() != null) {
            queryWrapper.lambda().eq(CustomerLog::getAgeInfo, pageWrap.getModel().getAgeInfo());
        }
        if (pageWrap.getModel().getStyleInfo() != null) {
            queryWrapper.lambda().eq(CustomerLog::getStyleInfo, pageWrap.getModel().getStyleInfo());
        }
        if (pageWrap.getModel().getProvinceName() != null) {
            queryWrapper.lambda().like(CustomerLog::getProvinceName, pageWrap.getModel().getProvinceName());
        }
        if (pageWrap.getModel().getCityName() != null) {
            queryWrapper.lambda().like(CustomerLog::getCityName, pageWrap.getModel().getCityName());
        }
        if (pageWrap.getModel().getProvicneCode() != null) {
            queryWrapper.lambda().eq(CustomerLog::getProvicneCode, pageWrap.getModel().getProvicneCode());
        }
        if (pageWrap.getModel().getCityCode() != null) {
            queryWrapper.lambda().eq(CustomerLog::getCityCode, pageWrap.getModel().getCityCode());
        }
        if (pageWrap.getModel().getPhone() != null) {
            queryWrapper.lambda().like(CustomerLog::getPhone, pageWrap.getModel().getPhone());
        }
        if (pageWrap.getModel().getType() != null) {
            queryWrapper.lambda().eq(CustomerLog::getType, pageWrap.getModel().getType());
        }
        if (pageWrap.getModel().getBudget() != null) {
            queryWrapper.lambda().eq(CustomerLog::getBudget, pageWrap.getModel().getBudget());
        }
        if (pageWrap.getModel().getCrmStatus() != null) {
            queryWrapper.lambda().eq(CustomerLog::getCrmStatus, pageWrap.getModel().getCrmStatus());
        }
        if (pageWrap.getModel().getCrmDate() != null) {
            queryWrapper.lambda().ge(CustomerLog::getCrmDate, Utils.Date.getStart(pageWrap.getModel().getCrmDate()));
            queryWrapper.lambda().le(CustomerLog::getCrmDate, Utils.Date.getEnd(pageWrap.getModel().getCrmDate()));
        }
        if (pageWrap.getModel().getCrmInfo() != null) {
            queryWrapper.lambda().eq(CustomerLog::getCrmInfo, pageWrap.getModel().getCrmInfo());
        }
        if (pageWrap.getModel().getQueryStartDate() != null) {
            queryWrapper.lambda().ge(CustomerLog::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getQueryStartDate()));
        }
        if (pageWrap.getModel().getQueryEndDate() != null) {
            queryWrapper.lambda().le(CustomerLog::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getQueryEndDate()));
        }
        queryWrapper.lambda().orderByDesc(CustomerLog::getCreateDate);
        return PageData.from(customerLogMapper.selectPage(page, queryWrapper));
        return pageData;
    }
    @Override
server/service/src/main/java/com/doumee/service/business/impl/CustomerServiceImpl.java
@@ -245,6 +245,7 @@
        customerLog.setIsdeleted(Constants.ZERO);
        customerLog.setType(Constants.TWO);
        customerLog.setCrmStatus(Constants.ZERO);
        customerLog.setName(StringUtils.isEmpty(member.getName())?member.getNickname():member.getName());
        customerLog.setPhone(customer.getPhone());
        customerLog.setBudget(renovationCalculatorDTO.getBudget().multiply(new BigDecimal(10000)).toString());
        customerLog.setHouseStatus(renovationCalculatorDTO.getHouseStatus());
server/service/src/main/java/com/doumee/service/business/impl/GetCrmDataServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,70 @@
package com.doumee.service.business.impl;
import com.doumee.biz.system.SystemDictDataBiz;
import com.doumee.biz.zbom.ZbomCRMService;
import com.doumee.biz.zbom.ZbomZhongTaiService;
import com.doumee.biz.zbom.model.crm.CrmCustomerListRequest;
import com.doumee.biz.zbom.model.crm.response.CRMBaseResponse;
import com.doumee.biz.zbom.model.crm.response.CRMCustomerListResponse;
import com.doumee.biz.zbom.model.zhongtai.*;
import com.doumee.biz.zbom.model.zhongtai.response.*;
import com.doumee.core.constants.ResponseStatus;
import com.doumee.core.exception.BusinessException;
import com.doumee.dao.business.MemberMapper;
import com.doumee.dao.business.UsersMapper;
import com.doumee.dao.web.response.ZTBaseInfoResponse;
import com.doumee.service.business.GetCrmDataService;
import com.doumee.service.business.GetZhongTaiDataService;
import com.github.xiaoymin.knife4j.core.util.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
/**
 * Created by IntelliJ IDEA.
 *
 * @Author : Rk
 * @create 2024/7/15 14:12
 */
@Service
public class GetCrmDataServiceImpl implements GetCrmDataService {
    @Autowired
    private ZbomCRMService zbomCRMService;
    @Autowired
    private MemberMapper memberMapper;
    @Autowired
    private UsersMapper usersMapper;
    @Autowired
    private SystemDictDataBiz systemDictDataBiz;
    @Override
    public CRMBaseResponse<List<CRMCustomerListResponse>> getCrmCustomerList(CrmCustomerListRequest crmCustomerListRequest){
        if(Objects.isNull(crmCustomerListRequest)
         || Objects.isNull(crmCustomerListRequest.getPage())
         || Objects.isNull(crmCustomerListRequest.getPageSize())
         || StringUtils.isBlank(crmCustomerListRequest.getFlag())
        ){
            throw new BusinessException(ResponseStatus.BAD_REQUEST);
        }
        CRMBaseResponse<List<CRMCustomerListResponse>> crmBaseResponse = zbomCRMService.getCustomerList(crmCustomerListRequest);
        if(Objects.isNull(crmBaseResponse)){
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"CRM接口请求失败!");
        }
        return crmBaseResponse;
    }
}
server/service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
@@ -277,15 +277,15 @@
    @Override
    public AccountResponse wxLogin(String code){
        try {
//        try {
            //获取微信敏感数据
            WxMaJscode2SessionResult session = WxMiniConfig.wxCustomerService.getUserService().getSessionInfo(code);
            String openId = session.getOpenid();
            if (com.baomidou.mybatisplus.core.toolkit.StringUtils.isBlank(openId)) {
                throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"获取openid失败!请联系管理员");
            }
//            WxMaJscode2SessionResult session = WxMiniConfig.wxCustomerService.getUserService().getSessionInfo(code);
//            String openId = session.getOpenid();
//            if (com.baomidou.mybatisplus.core.toolkit.StringUtils.isBlank(openId)) {
//                throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"获取openid失败!请联系管理员");
//            }
            String openId = code;
            Member member = memberMapper.selectOne(new QueryWrapper<Member>().eq("OPENID", openId));
            String appId = systemDictDataBiz.queryByCode(Constants.WX_MINI_CONFIG,Constants.WX_APPID_CUSTOMER).getCode();
            if (member == null) {
                member = new Member();
                member.setNickname("微信用户"+ CodeVerifyUtils.createVerificationCode(4));
@@ -294,21 +294,21 @@
                member.setOpenid(openId);
                member.setType(Constants.ZERO);
                member.setAuthStatus(Constants.ZERO);
        //        ZTUserGetTokenResponse ztUserGetTokenResponse = this.syncZhongTaiUser(memberDto);
        //        if(Objects.isNull(ztUserGetTokenResponse)){
        //            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"中台服务调起失败!");
        //        }else{
        //            member.setToken(ztUserGetTokenResponse.getToken());
        //        }
                ZTUserGetTokenResponse ztUserGetTokenResponse = this.syncZhongTaiUser(member);
                if(Objects.isNull(ztUserGetTokenResponse)){
                    throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"中台服务调起失败!");
                }else{
                    member.setToken(ztUserGetTokenResponse.getToken());
                }
                memberMapper.insert(member);
                member =  this.getMemberInfo(member.getId());
            }else{
        //        ZTUserGetTokenResponse ztUserGetTokenResponse = this.syncZhongTaiUser(memberDto);
        //        if(Objects.isNull(ztUserGetTokenResponse)){
        //            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"中台服务调起失败!");
        //        }else{
        //            member.setToken(ztUserGetTokenResponse.getToken());
        //        }
                ZTUserGetTokenResponse ztUserGetTokenResponse = this.syncZhongTaiUser(member);
                if(Objects.isNull(ztUserGetTokenResponse)){
                    throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"中台服务调起失败!");
                }else{
                    member.setToken(ztUserGetTokenResponse.getToken());
                }
                member = this.getMemberInfo(member.getId());
            }
            //创建token
@@ -316,13 +316,13 @@
            String token = JwtTokenUtil.generateToken(payLoad);
            AccountResponse accountResponse = new AccountResponse();
            accountResponse.setToken(token);
            accountResponse.setSessionKey(session.getSessionKey());
//            accountResponse.setSessionKey(session.getSessionKey());
            accountResponse.setMember(member);
            return accountResponse;
        } catch (WxErrorException e) {
            e.printStackTrace();
        }
        throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"微信登录异常!请联系管理员");
//        } catch (WxErrorException e) {
//            e.printStackTrace();
//        }
//        throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"微信登录异常!请联系管理员");
    }
    @Override
@@ -398,7 +398,7 @@
        ztUserInfoUpdateRequest.setPlatform(Constants.PLATFORM);
        ztUserInfoUpdateRequest.setPhone(member.getPhone());
        ztUserInfoUpdateRequest.setName(member.getNickname());
        ztUserInfoUpdateRequest.setAddress(member.getProvinceName()+member.getCityName()+member.getAreaName());
//        ztUserInfoUpdateRequest.setAddress(member.getProvinceName()+member.getCityName()+member.getAreaName());
        ztUserInfoUpdateRequest.setFullAddress(member.getAddress());
        String prefix = systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE, Constants.RESOURCE_PATH).getCode() +
                systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE, Constants.MEMBER).getCode();
server/service/src/main/java/com/doumee/service/business/impl/UsersServiceImpl.java
@@ -738,11 +738,32 @@
    }
    @Override
    public Users usersDetail(Long userId){
        Users users = usersMapper.selectById(userId);
    public Users usersDetailByIamId(String iamId){
        Users users = usersMapper.selectOne(new QueryWrapper<Users>().lambda().eq(Users::getIamId,iamId).last("limit 1"));
        if(Objects.isNull(users)){
            throw new BusinessException(ResponseStatus.DATA_EMPTY);
        }
        if(Constants.equalsInteger(users.getIsdeleted(),Constants.ZERO)){
            throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"用户已禁用");
        }
        getUsersDetail(users);
        return users;
    }
    @Override
    public Users usersDetailById(Long id){
        Users users = usersMapper.selectById(id);
        if(Objects.isNull(users)){
            throw new BusinessException(ResponseStatus.DATA_EMPTY);
        }
        if(Constants.equalsInteger(users.getIsdeleted(),Constants.ZERO)){
            throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"用户已禁用");
        }
        getUsersDetail(users);
        return users;
    }
    public void getUsersDetail(Users users){
        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())){
@@ -769,7 +790,6 @@
                }
            }
        }
        return users;
    }
server/web/src/main/java/com/doumee/api/web/CustomerApi.java
@@ -2,6 +2,9 @@
import com.doumee.biz.system.SystemDictDataBiz;
import com.doumee.biz.zbom.ZbomCRMService;
import com.doumee.biz.zbom.model.zhongtai.ZTCatalogListRequest;
import com.doumee.biz.zbom.model.zhongtai.ZTContentListRequest;
import com.doumee.biz.zbom.model.zhongtai.response.*;
import com.doumee.config.annotation.LoginRequired;
import com.doumee.core.annotation.trace.Trace;
import com.doumee.core.model.ApiResponse;
@@ -31,6 +34,7 @@
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import java.io.InputStream;
import java.util.List;
/**
 * Created by IntelliJ IDEA.
@@ -46,6 +50,8 @@
public class CustomerApi extends ApiController{
    @Autowired
    private MemberService memberService;
@@ -56,7 +62,7 @@
    private CustomerService customerService;
    @Autowired
    private ZbomCRMService zbomCRMService;
    private GetZhongTaiDataService getZhongTaiDataService;
    @Autowired
    private ShopService shopService;
@@ -68,6 +74,9 @@
    private CustomerUserService customerUserService;
    @Autowired
    private SystemDictDataBiz systemDictDataBiz;
    @Autowired
    private CustomerLogService customerLogService;
    @ApiOperation(value = "客户端小程序登陆", notes = "客户端小程序")
    @GetMapping("/wxLoginCustomer")
@@ -232,13 +241,13 @@
    @LoginRequired
    @ApiOperation(value = "导购详情", notes = "客户端小程序")
    @GetMapping("/usersDetail")
    @GetMapping("/usersDetailByIamId")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true),
            @ApiImplicitParam(paramType = "query", dataType = "Long", name = "userId", value = "导购主键", required = true)
            @ApiImplicitParam(paramType = "query", dataType = "String", name = "iamId", value = "导购IAM编码", required = true)
    })
    public ApiResponse<Users> usersDetail (@RequestParam Long userId) {
        return ApiResponse.success(usersService.usersDetail(userId));
    public ApiResponse<Users> usersDetailByIamId (@RequestParam String iamId) {
        return ApiResponse.success(usersService.usersDetailByIamId(iamId));
    }
@@ -274,7 +283,128 @@
        }
    }
    @LoginRequired
    @ApiOperation(value = "我的预约分页查询",notes = "客户端小程序")
    @PostMapping("/customerLogPage")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true)
    })
    public ApiResponse<PageData<CustomerLog>> customerLogPage(@RequestBody PageWrap<CustomerLog> pageWrap) {
        pageWrap.getModel().setCostomerId(getMemberId().toString());
        return ApiResponse.success(customerLogService.findPage(pageWrap));
    }
    @LoginRequired
    @ApiOperation(value = "分类数据 - ä¸­å°", notes = "客户端小程序")
    @PostMapping("/getCatalogList")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true)
    })
    public ApiResponse<List<ZTCatalogInfoResponse>> getCatalogList (@RequestBody ZTCatalogListRequest ztCatalogListRequest ) {
        List<ZTCatalogInfoResponse> ztCatalogInfoResponseList = getZhongTaiDataService.getCatalogList(ztCatalogListRequest);
        return ApiResponse.success("查询成功",ztCatalogInfoResponseList);
    }
    @LoginRequired
    @ApiOperation(value = "标签数据 - ä¸­å°", notes = "客户端小程序")
    @PostMapping("/getCataLogTagList")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true)
    })
    public ApiResponse<List<ZTTagInfoResponse>> getCataLogTagList(@RequestBody ZTCatalogListRequest ztCatalogListRequest ) {
        List<ZTTagInfoResponse> ztTagInfoResponseList = getZhongTaiDataService.getCataLogTagList(ztCatalogListRequest);
        return ApiResponse.success("查询成功",ztTagInfoResponseList);
    }
    @LoginRequired
    @ApiOperation(value = "标签数据 - ä¸­å°", notes = "客户端小程序")
    @PostMapping("/getZTCatalogInfoResponse")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true)
    })
    public ApiResponse<List<ZTCatalogInfoResponse>> getZTCatalogInfoResponse(@RequestBody ZTCatalogListRequest ztCatalogListRequest) {
        List<ZTCatalogInfoResponse> ztCatalogInfoResponse = getZhongTaiDataService.getZTCatalogInfoResponse(ztCatalogListRequest);
        return ApiResponse.success("查询成功",ztCatalogInfoResponse);
    }
    @LoginRequired
    @ApiOperation(value = "内容分页 - ä¸­å°", notes = "客户端小程序")
    @PostMapping("/pageContentList")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true)
    })
    public ApiResponse<ZTBasePageResponse<ZTContentListResponse>> pageContentList(@RequestBody ZTContentListRequest ztContentListRequest) {
        ZTBasePageResponse<ZTContentListResponse>  ztBasePageResponse= getZhongTaiDataService.pageContentList(ztContentListRequest);
        return ApiResponse.success("查询成功",ztBasePageResponse);
    }
    @LoginRequired
    @ApiOperation(value = "内容详情 - ä¸­å°", notes = "客户端小程序")
    @GetMapping("/getContentInfo")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true),
            @ApiImplicitParam(paramType = "query", dataType = "String", name = "id", value = "内容主键", required = true),
    })
    public ApiResponse<ZTContentInfoResponse> getContentInfo(@RequestParam String id) {
        ZTContentInfoResponse ztContentInfoResponse= getZhongTaiDataService.getContentInfo(id,Constants.CUSTOMER,getMemberId());
        return ApiResponse.success("查询成功",ztContentInfoResponse);
    }
    @LoginRequired
    @ApiOperation(value = "内容收藏 - ä¸­å°", notes = "客户端小程序")
    @GetMapping("/collectContent")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true),
            @ApiImplicitParam(paramType = "query", dataType = "String", name = "id", value = "内容主键", required = true),
    })
    public ApiResponse collectContent(@RequestParam String id) {
        getZhongTaiDataService.collectContent(getMemberId(),Constants.CUSTOMER,id);
        return ApiResponse.success("操作成功");
    }
    @LoginRequired
    @ApiOperation(value = "内容喜欢 - ä¸­å°", notes = "客户端小程序")
    @GetMapping("/likeContent")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true),
            @ApiImplicitParam(paramType = "query", dataType = "String", name = "id", value = "内容主键", required = true),
    })
    public ApiResponse likeContent(@RequestParam String id) {
        getZhongTaiDataService.likeContent(getMemberId(),Constants.CUSTOMER,id);
        return ApiResponse.success("操作成功");
    }
    @LoginRequired
    @ApiOperation(value = "内容分享 - ä¸­å°", notes = "客户端小程序")
    @GetMapping("/shareContent")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true),
            @ApiImplicitParam(paramType = "query", dataType = "String", name = "id", value = "内容主键", required = true),
    })
    public ApiResponse shareContent(@RequestParam String id) {
        getZhongTaiDataService.shareContent(getMemberId(),Constants.CUSTOMER,id);
        return ApiResponse.success("操作成功");
    }
    @LoginRequired
    @ApiOperation(value = "内容浏览 - ä¸­å°", notes = "客户端小程序")
    @GetMapping("/viewContent")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true),
            @ApiImplicitParam(paramType = "query", dataType = "String", name = "id", value = "内容主键", required = true),
    })
    public ApiResponse viewContent(@RequestParam String id) {
        getZhongTaiDataService.viewContent(getMemberId(),Constants.CUSTOMER,id);
        return ApiResponse.success("操作成功");
    }
}
server/web/src/main/java/com/doumee/api/web/PersonnelApi.java
@@ -103,7 +103,7 @@
            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true)
    })
    public ApiResponse getUserDetail() {
        usersService.usersDetail(getMemberId());
        usersService.usersDetailById(getMemberId());
        return  ApiResponse.success("操作成功");
    }