k94314517
2024-07-12 f911989f59778b11e9f60d400c3434f4dc6a18fb
代码提交
已修改15个文件
276 ■■■■■ 文件已修改
server/service/src/main/java/com/doumee/biz/zbom/ZbomCRMService.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/biz/zbom/impl/ZbomCRMServiceImpl.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/biz/zbom/impl/ZbomSMSServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/biz/zbom/impl/ZbomZhongTaiServiceImpl.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/core/utils/Constants.java 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/dao/business/model/CustomerLog.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/dao/web/reqeust/RenovationCalculatorDTO.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/service/business/CustomerService.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/service/business/MemberService.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/service/business/impl/CustomerServiceImpl.java 15 ●●●●● 补丁 | 查看 | 原始文档 | 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/SmsEmailServiceImpl.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/service/business/impl/UsersServiceImpl.java 34 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/web/src/main/java/com/doumee/api/web/CustomerApi.java 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/web/src/main/java/com/doumee/api/web/PersonnelApi.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/biz/zbom/ZbomCRMService.java
@@ -3,6 +3,7 @@
import com.doumee.biz.zbom.model.CrmCustomerSubmmitModel;
import com.doumee.biz.zbom.model.IamUpateShopModel;
import com.doumee.biz.zbom.model.IamUpateUserModel;
import com.doumee.dao.business.model.CustomerLog;
import org.springframework.stereotype.Service;
import java.util.List;
@@ -15,5 +16,7 @@
@Service
public interface ZbomCRMService {
    void dealCustomerLogData(CustomerLog customerLog);
    int postDataToCrm(CrmCustomerSubmmitModel entity );
}
server/service/src/main/java/com/doumee/biz/zbom/impl/ZbomCRMServiceImpl.java
@@ -6,6 +6,7 @@
import com.doumee.biz.zbom.model.CrmCustomerInfoModel;
import com.doumee.biz.zbom.model.CrmCustomerSubmmitModel;
import com.doumee.core.utils.Constants;
import com.doumee.core.utils.DateUtil;
import com.doumee.core.utils.HttpsUtil;
import com.doumee.dao.business.CrmInterfaceLogMapper;
import com.doumee.dao.business.CustomerLogMapper;
@@ -15,6 +16,7 @@
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
import java.util.*;
@@ -34,6 +36,30 @@
    @Autowired
    private RedisTemplate<String, Object> redisTemplate;
    @Override
    @Async
    public void dealCustomerLogData(CustomerLog customerLog){
        CrmCustomerSubmmitModel entity = new CrmCustomerSubmmitModel();
        List<CrmCustomerInfoModel> cusInfo = new ArrayList();
        CrmCustomerInfoModel crmCustomerInfoModel = new CrmCustomerInfoModel();
        crmCustomerInfoModel.setId(customerLog.getId());
        crmCustomerInfoModel.setName(customerLog.getName());
        crmCustomerInfoModel.setPhone(customerLog.getPhone());
        crmCustomerInfoModel.setAreaname(customerLog.getAreaName());
        crmCustomerInfoModel.setAreacode(customerLog.getAreaCode());
        crmCustomerInfoModel.setOpenid(customerLog.getOpenid());
        crmCustomerInfoModel.setSource(Constants.CrmSources.SOURCE_ZBJX);
        crmCustomerInfoModel.setChannel(crmCustomerInfoModel.getSource()+"00");
        crmCustomerInfoModel.setDate(DateUtil.dateToString(customerLog.getCreateDate(),"yyyy/MM/dd HH:mm"));
        cusInfo.add(crmCustomerInfoModel);
        entity.setCusInfo(cusInfo);
        this.postDataToCrm(entity);
    }
    /**
     * 志邦客户信息提交接口
@@ -98,6 +124,7 @@
                .set(CustomerLog::getCrmDate,new Date() ));// 更新状态
        return status;// 默认失败
    }
    public  void  saveInterfaceLog(String url,String name,String  param,Integer success,String respone){
            if(crmInterfaceLogMapper ==null){
                return;
server/service/src/main/java/com/doumee/biz/zbom/impl/ZbomSMSServiceImpl.java
@@ -45,7 +45,7 @@
    public static void main(String[] args) {
        ZbomSMSServiceImpl obj = new ZbomSMSServiceImpl();
        obj.sendMessage("您的验证码是765412,此验证码用于重置密码。3分钟内有效。","15345690849");
        obj.sendMessage("您的验证码是765412,此验证码用于重置密码。3分钟内有效。","18156091665");
    }
    /**
     * 志邦客户信息提交接口
server/service/src/main/java/com/doumee/biz/zbom/impl/ZbomZhongTaiServiceImpl.java
@@ -109,6 +109,7 @@
        }
        return null;
    }
    /**
     * 获取内容列表分页
     * @param param
server/service/src/main/java/com/doumee/core/utils/Constants.java
@@ -38,6 +38,9 @@
    public static final String HK_ROOTORG_CODE ="HK_ROOTORG_CODE" ;
    public static final String HK_ROOTORG_NAME ="HK_ROOTORG_NAME" ;
    public static final String REDIS_TOKEN_KEY = "token_";
    public static final String CUSTOMER = "CUSTOMER";
    public static final String BUSINESS = "BUSINESS";
    //被拜访人信息校验方式(0手机号单独校验 1手机号和姓名组合校验)
    public static final String BEVISITED_USER_VALID = "BEVISITED_USER_VALID";
@@ -53,6 +56,7 @@
    public static final String FILE_DIR = "";
    public static final String INITIAL_PASSWORD = "INITIAL_PASSWORD";
    public static final String VALIDATE_VISIT = "VALIDATE_VISIT";
    public static final String PLATFORM = "mp-weixin";
    // 访客来访配置
    public static final String VISIT_CONFIG = "VISIT_CONFIG";
@@ -449,6 +453,39 @@
    int otherDeal = 4;//他人已处理
}
    /**
     * 根据配置处理房屋户型信息
     * @param layout
     * @return
     */
    public static String getHouseLayout(String layout){
        if(StringUtils.isBlank(layout)){
            return null;
        }
        String [] arr = layout.split("-");
        StringBuffer stringBuffer = new StringBuffer();
        for (int i = 0; i < arr.length; i++) {
            if(i==0){
                stringBuffer.append( i + "室");
            }else if(i==1){
                stringBuffer.append( i + "厅");
            }else if(i==2){
                stringBuffer.append( i + "厨");
            }else if(i==3){
                stringBuffer.append( i + "卫");
            }else if(i==4){
                stringBuffer.append( i + "阳");
            }else {
                break;
            }
        }
        return stringBuffer.toString();
}
    /**
     * 获取车牌类型信息
     *
server/service/src/main/java/com/doumee/dao/business/model/CustomerLog.java
@@ -1,5 +1,6 @@
package com.doumee.dao.business.model;
import com.baomidou.mybatisplus.annotation.TableField;
import com.doumee.core.annotation.excel.ExcelColumn;
import com.doumee.dao.business.dto.BaseQueryDto;
import io.swagger.annotations.ApiModel;
@@ -150,4 +151,8 @@
    @ExcelColumn(name="姓名")
    private String name;
    @ApiModelProperty(value = "openid")
    @TableField(exist = false)
    private String openid;
}
server/service/src/main/java/com/doumee/dao/web/reqeust/RenovationCalculatorDTO.java
@@ -31,6 +31,4 @@
    @ApiModelProperty(value = "装修预算(万元)")
    private BigDecimal budget;
}
server/service/src/main/java/com/doumee/service/business/CustomerService.java
@@ -3,6 +3,7 @@
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.dao.business.model.Customer;
import com.doumee.dao.business.model.CustomerLog;
import com.doumee.dao.web.reqeust.FreeCustomizationDTO;
import com.doumee.dao.web.reqeust.RenovationCalculatorDTO;
import com.doumee.dao.web.reqeust.TestTrimStyleDTO;
@@ -103,17 +104,17 @@
     * 房屋装修计算器信息存储
     * @param renovationCalculatorDTO
     */
    void saveRenovationCalculator(RenovationCalculatorDTO renovationCalculatorDTO);
    CustomerLog saveRenovationCalculator(RenovationCalculatorDTO renovationCalculatorDTO);
    /**
     * 0元定制信息
     * @param freeCustomizationDTO
     */
    void saveFreeCustomizationApply(FreeCustomizationDTO freeCustomizationDTO);
    CustomerLog saveFreeCustomizationApply(FreeCustomizationDTO freeCustomizationDTO);
    /**
     * 测试装修风格
     * @param testTrimStyleDTO
     */
    void saveTestTrimStyle(TestTrimStyleDTO testTrimStyleDTO);
    CustomerLog saveTestTrimStyle(TestTrimStyleDTO testTrimStyleDTO);
}
server/service/src/main/java/com/doumee/service/business/MemberService.java
@@ -123,4 +123,9 @@
    Member getMemberInfo(Long memberId);
    /**
     * 用户注销
     * @param memberId
     */
    void logOff(Long memberId);
}
server/service/src/main/java/com/doumee/service/business/impl/CustomerServiceImpl.java
@@ -207,11 +207,8 @@
        return customerMapper.selectCount(wrapper);
    }
    @Override
    public void saveRenovationCalculator(RenovationCalculatorDTO renovationCalculatorDTO){
    public CustomerLog saveRenovationCalculator(RenovationCalculatorDTO renovationCalculatorDTO){
        if(Objects.isNull(renovationCalculatorDTO)
            || Objects.isNull(renovationCalculatorDTO.getMemberId())
            || Objects.isNull(renovationCalculatorDTO.getHouseStatus())
@@ -255,11 +252,13 @@
        customerLog.setHouseType(renovationCalculatorDTO.getHouseType());
        customerLog.setCostomerId(customer.getId().toString());
        customerLogMapper.insert(customerLog);
        customerLog.setOpenid(member.getOpenid());
        return  customerLog;
    }
    @Override
    public void saveFreeCustomizationApply(FreeCustomizationDTO freeCustomizationDTO){
    public CustomerLog saveFreeCustomizationApply(FreeCustomizationDTO freeCustomizationDTO){
        if(Objects.isNull(freeCustomizationDTO)
                || Objects.isNull(freeCustomizationDTO.getMemberId())
                || StringUtils.isEmpty(freeCustomizationDTO.getName())
@@ -320,10 +319,12 @@
        customerLog.setName(freeCustomizationDTO.getName());
        customerLog.setPhone(freeCustomizationDTO.getPhone());
        customerLogMapper.insert(customerLog);
        customerLog.setOpenid(member.getOpenid());
        return  customerLog;
    }
    @Override
    public void saveTestTrimStyle(TestTrimStyleDTO testTrimStyleDTO){
    public CustomerLog saveTestTrimStyle(TestTrimStyleDTO testTrimStyleDTO){
        if(Objects.isNull(testTrimStyleDTO)
                || Objects.isNull(testTrimStyleDTO.getMemberId())
@@ -388,6 +389,8 @@
        customerLog.setAgeInfo(testTrimStyleDTO.getAgeInfo());
        customerLog.setPhone(testTrimStyleDTO.getPhone());
        customerLogMapper.insert(customerLog);
        customerLog.setOpenid(member.getOpenid());
        return  customerLog;
    }
server/service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
@@ -4,6 +4,11 @@
import cn.binarywang.wx.miniapp.bean.WxMaPhoneNumberInfo;
import com.alibaba.fastjson.JSONObject;
import com.doumee.biz.system.SystemDictDataBiz;
import com.doumee.biz.zbom.ZbomZhongTaiService;
import com.doumee.biz.zbom.model.zhongtai.ZTBaseRequst;
import com.doumee.biz.zbom.model.zhongtai.ZTUserGetTokenRequest;
import com.doumee.biz.zbom.model.zhongtai.ZTUserInfoUpdateRequest;
import com.doumee.biz.zbom.model.zhongtai.response.ZTUserGetTokenResponse;
import com.doumee.config.Jwt.JwtPayLoad;
import com.doumee.config.Jwt.JwtTokenUtil;
import com.doumee.core.constants.ResponseStatus;
@@ -54,6 +59,9 @@
    @Autowired
    private SystemDictDataBiz systemDictDataBiz;
    @Autowired
    private ZbomZhongTaiService zbomZhongTaiService;
    @Autowired
    private RedisTemplate<String,Object> redisTemplate;
@@ -301,6 +309,28 @@
    @Override
    public void updMemberDetail(EditMemberRequest editMemberRequest){
        Member member = memberMapper.selectById(editMemberRequest.getMemberId());
        ZTUserInfoUpdateRequest ztUserInfoUpdateRequest = new  ZTUserInfoUpdateRequest();
        ztUserInfoUpdateRequest.setOpenid(member.getOpenid());
        String appId = systemDictDataBiz.queryByCode(Constants.WX_MINI_CONFIG,Constants.WX_APPID_CUSTOMER).getCode();
        ztUserInfoUpdateRequest.setAppId(appId);
        ztUserInfoUpdateRequest.setPlatform(Constants.PLATFORM);
        ztUserInfoUpdateRequest.setPhone(editMemberRequest.getPhone());
        ztUserInfoUpdateRequest.setName(editMemberRequest.getName());
        ztUserInfoUpdateRequest.setAddress(editMemberRequest.getProvinceName()+editMemberRequest.getCityName()+editMemberRequest.getAreaName());
        ztUserInfoUpdateRequest.setFullAddress(editMemberRequest.getAddress());
        String prefix = systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE, Constants.RESOURCE_PATH).getCode() +
                systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE, Constants.MEMBER).getCode();
        if(StringUtils.isNotBlank(editMemberRequest.getImgurl())){
            ztUserInfoUpdateRequest.setAvatarUrl(prefix + editMemberRequest.getImgurl());
        }
        ztUserInfoUpdateRequest.setUptown(editMemberRequest.getDistrict());
        ztUserInfoUpdateRequest.setHouseArea(editMemberRequest.getHousearea().toString());
        ztUserInfoUpdateRequest.setHouseLayout(Constants.getHouseLayout(editMemberRequest.getHousetype()));
        ZTUserGetTokenResponse userUpdateInfo = zbomZhongTaiService.userUpdateInfo(ztUserInfoUpdateRequest);
        if(Objects.isNull(userUpdateInfo)){
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"中台信息更新失败,请联系管理员");
        }
        memberMapper.update(new UpdateWrapper<Member>()
                .lambda()
                .set(StringUtils.isNotBlank(editMemberRequest.getImgurl()),Member::getImgurl,editMemberRequest.getImgurl())
@@ -318,8 +348,8 @@
                .set(StringUtils.isNotBlank(editMemberRequest.getHousetype()),Member::getHousetype,editMemberRequest.getHousetype())
                .set(Objects.nonNull(editMemberRequest.getLatitude()),Member::getLatitude,editMemberRequest.getLatitude())
                .set(Objects.nonNull(editMemberRequest.getLongitude()),Member::getLongitude,editMemberRequest.getLongitude())
                .set(Member::getToken,userUpdateInfo.getToken())
                .eq(Member::getId,editMemberRequest.getMemberId()));
    }
    @Override
@@ -334,4 +364,60 @@
        return member;
    }
    /**
     * 更新中台token信息
     * @param member
     */
    public void updUserZTToken(Member member){
        //如果无有效期/已过期 重新获取
        if(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 = zbomZhongTaiService.getUserToken(param);
            if(Objects.nonNull(ztUserGetTokenResponse)){
                member.setToken(ztUserGetTokenResponse.getToken());
                //TODO 暂无过期日期
                memberMapper.update(new UpdateWrapper<Member>().lambda().set(Member::getToken,ztUserGetTokenResponse.getToken())
                        .eq(Member::getId,member.getId()));
            }else{
                throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"中台TOKEN获取失败,请联系管理员");
            }
        };
    }
    @Override
    public void logOff(Long memberId){
        Member member = memberMapper.selectById(memberId);
        if(Objects.isNull(member)){
            throw new BusinessException(ResponseStatus.DATA_EMPTY);
        }
        if(StringUtils.isBlank(member.getPhone())){
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"用户已注销");
        }
        //校验用户token信息
        this.updUserZTToken(member);
        //调起中台注销接口
        ZTBaseRequst ztBaseRequst = new ZTBaseRequst();
        ztBaseRequst.setUserType(Constants.CUSTOMER);
        ztBaseRequst.setOpenid(member.getOpenid());
        ztBaseRequst.setToken(member.getToken());
        Boolean logoutFlag = zbomZhongTaiService.userLogout(ztBaseRequst);
        if(logoutFlag){
            memberMapper.update(new UpdateWrapper<Member>().lambda()
                    .set(Member::getPhone,null)
                    .set(Member::getEditDate,new Date())
                    .eq(Member::getId,member.getId())
            );
            return;
        }
        throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"中台注销失败,请联系管理员");
    }
}
server/service/src/main/java/com/doumee/service/business/impl/SmsEmailServiceImpl.java
@@ -5,6 +5,7 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.doumee.biz.system.SystemDictDataBiz;
import com.doumee.biz.zbom.ZbomSMSService;
import com.doumee.core.constants.ResponseStatus;
import com.doumee.core.exception.BusinessException;
import com.doumee.core.model.LoginUserInfo;
@@ -39,6 +40,9 @@
    @Autowired
    private SystemDictDataBiz systemDictDataBiz;
    @Autowired
    private ZbomSMSService zbomSMSService;
    public static void isCaptcheValide(SmsEmailMapper smsEmailMapper, String phone, String captche) {
@@ -89,10 +93,8 @@
        String code = Constants.getRandom6Num();
        String content = //systemDictDataBiz.queryByCode(Constants.SMS,Constants.SMS_COMNAME).getCode()+
                "验证码为:"+code+",此验证码有效为3分钟。请勿泄露";
        zbomSMSService.sendMessage(content,smsEmail.getPhone());
        smsEmail.setRemark(code);
        smsEmail.setIsdeleted(Constants.ZERO);
        smsEmail.setCreateDate(new Date());
server/service/src/main/java/com/doumee/service/business/impl/UsersServiceImpl.java
@@ -18,12 +18,9 @@
import com.doumee.dao.admin.request.UserImport;
import com.doumee.dao.business.ShopMapper;
import com.doumee.core.wx.WxMiniConfig;
import com.doumee.dao.business.SmsEmailMapper;
import com.doumee.dao.business.UsersMapper;
import com.doumee.dao.business.model.Multifile;
import com.doumee.dao.business.model.News;
import com.doumee.dao.business.model.Shop;
import com.doumee.dao.business.model.Member;
import com.doumee.dao.business.model.Users;
import com.doumee.dao.business.model.*;
import com.doumee.dao.system.model.SystemUser;
import com.doumee.dao.web.response.AccountResponse;
import com.doumee.service.business.UsersService;
@@ -68,6 +65,8 @@
    private UsersMapper usersMapper;
    @Autowired
    private ShopMapper shopMapper;
    @Autowired
    private SmsEmailMapper smsEmailMapper;
    @Autowired
    private SystemDictDataBiz systemDictDataBiz;
@@ -293,6 +292,8 @@
    }
    @Override
    public AccountResponse phoneLogin(String phone,String code){
        if(StringUtils.isEmpty(phone)||StringUtils.isEmpty(code)){
@@ -308,10 +309,27 @@
        if(!StringUtils.equals(users.getStatus(),Constants.ZERO+"")){
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"当前账户已停用,请联系管理员");
        }
        //TODO 验证短信信息
        if(!StringUtils.equals(code,"123456")){
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"验证码错误");
        //验证短信
        SmsEmail model = smsEmailMapper.selectOne(new QueryWrapper<SmsEmail>().lambda()
                .eq(SmsEmail::getType, Constants.ZERO)
                .eq(SmsEmail::getPhone, phone)
                .eq(SmsEmail::getRemark, code)
                .eq(SmsEmail::getIsdeleted, Constants.ZERO)
        );
        if(model == null){
            throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,验证码不正确,请重新发送再试!");
        }
        if(!Constants.equalsInteger(model.getStatus(),Constants.ZERO)){
            throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,验证码已失效,请重新发送再试!");
        }
        model.setStatus(Constants.ONE);
        model.setEditDate(new Date());
        if(model.getCreateDate() !=null &&
                System.currentTimeMillis() - model.getCreateDate().getTime() > 3*60*1000){
            smsEmailMapper.updateById(model);
            throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,验证码已失效,请重新发送再试~");
        }
        smsEmailMapper.updateById(model);
        //创建token
        JwtPayLoad payLoad = new JwtPayLoad(users.getId(),Constants.ONE);
        String token = JwtTokenUtil.generateToken(payLoad);
server/web/src/main/java/com/doumee/api/web/CustomerApi.java
@@ -1,8 +1,10 @@
package com.doumee.api.web;
import com.doumee.biz.zbom.ZbomCRMService;
import com.doumee.config.annotation.LoginRequired;
import com.doumee.core.annotation.trace.Trace;
import com.doumee.core.model.ApiResponse;
import com.doumee.dao.business.model.CustomerLog;
import com.doumee.dao.business.model.Member;
import com.doumee.dao.web.reqeust.*;
import com.doumee.dao.web.response.AccountResponse;
@@ -15,6 +17,7 @@
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.checkerframework.checker.units.qual.A;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@@ -43,6 +46,8 @@
    @Autowired
    private CustomerService customerService;
    @Autowired
    private ZbomCRMService zbomCRMService;
    @ApiOperation(value = "客户端小程序登陆", notes = "客户端小程序")
    @GetMapping("/wxLoginCustomer")
@@ -101,7 +106,8 @@
    })
    public ApiResponse saveRenovationCalculator(@RequestBody RenovationCalculatorDTO renovationCalculatorDTO) {
        renovationCalculatorDTO.setMemberId(getMemberId());
        customerService.saveRenovationCalculator(renovationCalculatorDTO);
        CustomerLog customerLog =customerService.saveRenovationCalculator(renovationCalculatorDTO);
        zbomCRMService.dealCustomerLogData(customerLog);
        return  ApiResponse.success("操作成功");
    }
@@ -114,7 +120,8 @@
    })
    public ApiResponse saveFreeCustomizationApply(@RequestBody FreeCustomizationDTO freeCustomizationDTO) {
        freeCustomizationDTO.setMemberId(getMemberId());
        customerService.saveFreeCustomizationApply(freeCustomizationDTO);
        CustomerLog customerLog = customerService.saveFreeCustomizationApply(freeCustomizationDTO);
        zbomCRMService.dealCustomerLogData(customerLog);
        return  ApiResponse.success("操作成功");
    }
@@ -126,7 +133,16 @@
    })
    public ApiResponse saveTestTrimStyle(@RequestBody TestTrimStyleDTO testTrimStyleDTO) {
        testTrimStyleDTO.setMemberId(getMemberId());
        customerService.saveTestTrimStyle(testTrimStyleDTO);
        CustomerLog customerLog = customerService.saveTestTrimStyle(testTrimStyleDTO);
        zbomCRMService.dealCustomerLogData(customerLog);
        return  ApiResponse.success("操作成功");
    }
    @LoginRequired
    @ApiOperation(value = "用户注销", notes = "客户端小程序")
    @GetMapping("/logOff")
    public ApiResponse logOff() {
        memberService.logOff(getMemberId());
        return  ApiResponse.success("操作成功");
    }
server/web/src/main/java/com/doumee/api/web/PersonnelApi.java
@@ -3,14 +3,17 @@
import com.doumee.config.annotation.UserLoginRequired;
import com.doumee.core.annotation.trace.Trace;
import com.doumee.core.model.ApiResponse;
import com.doumee.dao.business.model.SmsEmail;
import com.doumee.dao.web.response.AccountResponse;
import com.doumee.service.business.MemberService;
import com.doumee.service.business.SmsEmailService;
import com.doumee.service.business.UsersService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.checkerframework.checker.units.qual.A;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
@@ -33,6 +36,9 @@
    @Autowired
    public UsersService usersService;
    @Autowired
    public SmsEmailService smsEmailService;
    @ApiOperation(value = "小程序登陆", notes = "员工端小程序")
    @GetMapping("/loginByWx")
@@ -44,6 +50,20 @@
    }
    @ApiOperation(value = "发送短信验证码", notes = "员工端小程序")
    @GetMapping("/sendSms")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "query", dataType = "String", name = "phone", value = "手机号", required = true),
    })
    public ApiResponse sendSms(@RequestParam String phone) {
        SmsEmail smsEmail = new SmsEmail();
        smsEmail.setPhone(phone);
        smsEmailService.sendSms(smsEmail);
        return  ApiResponse.success("发送成功");
    }
    @ApiOperation(value = "手机号验证码登陆", notes = "员工端小程序")
    @GetMapping("/loginByPhone")
    @ApiImplicitParams({