From f911989f59778b11e9f60d400c3434f4dc6a18fb Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期五, 12 七月 2024 18:25:46 +0800
Subject: [PATCH] 代码提交
---
server/service/src/main/java/com/doumee/biz/zbom/impl/ZbomSMSServiceImpl.java | 2
server/web/src/main/java/com/doumee/api/web/CustomerApi.java | 22 +++
server/service/src/main/java/com/doumee/biz/zbom/ZbomCRMService.java | 3
server/service/src/main/java/com/doumee/biz/zbom/impl/ZbomZhongTaiServiceImpl.java | 1
server/service/src/main/java/com/doumee/service/business/impl/SmsEmailServiceImpl.java | 8 +
server/service/src/main/java/com/doumee/dao/web/reqeust/RenovationCalculatorDTO.java | 2
server/service/src/main/java/com/doumee/service/business/impl/CustomerServiceImpl.java | 15 +-
server/service/src/main/java/com/doumee/service/business/CustomerService.java | 7
server/service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java | 88 +++++++++++++++++
server/service/src/main/java/com/doumee/core/utils/Constants.java | 37 +++++++
server/service/src/main/java/com/doumee/biz/zbom/impl/ZbomCRMServiceImpl.java | 27 +++++
server/web/src/main/java/com/doumee/api/web/PersonnelApi.java | 20 ++++
server/service/src/main/java/com/doumee/service/business/impl/UsersServiceImpl.java | 34 +++++-
server/service/src/main/java/com/doumee/dao/business/model/CustomerLog.java | 5 +
server/service/src/main/java/com/doumee/service/business/MemberService.java | 5 +
15 files changed, 249 insertions(+), 27 deletions(-)
diff --git a/server/service/src/main/java/com/doumee/biz/zbom/ZbomCRMService.java b/server/service/src/main/java/com/doumee/biz/zbom/ZbomCRMService.java
index e78f898..5d02b44 100644
--- a/server/service/src/main/java/com/doumee/biz/zbom/ZbomCRMService.java
+++ b/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 );
}
diff --git a/server/service/src/main/java/com/doumee/biz/zbom/impl/ZbomCRMServiceImpl.java b/server/service/src/main/java/com/doumee/biz/zbom/impl/ZbomCRMServiceImpl.java
index 9a3d67c..f6d1d27 100644
--- a/server/service/src/main/java/com/doumee/biz/zbom/impl/ZbomCRMServiceImpl.java
+++ b/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;
diff --git a/server/service/src/main/java/com/doumee/biz/zbom/impl/ZbomSMSServiceImpl.java b/server/service/src/main/java/com/doumee/biz/zbom/impl/ZbomSMSServiceImpl.java
index 8820113..057d516 100644
--- a/server/service/src/main/java/com/doumee/biz/zbom/impl/ZbomSMSServiceImpl.java
+++ b/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");
}
/**
* 蹇楅偊瀹㈡埛淇℃伅鎻愪氦鎺ュ彛
diff --git a/server/service/src/main/java/com/doumee/biz/zbom/impl/ZbomZhongTaiServiceImpl.java b/server/service/src/main/java/com/doumee/biz/zbom/impl/ZbomZhongTaiServiceImpl.java
index 224e993..1a1c786 100644
--- a/server/service/src/main/java/com/doumee/biz/zbom/impl/ZbomZhongTaiServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/biz/zbom/impl/ZbomZhongTaiServiceImpl.java
@@ -109,6 +109,7 @@
}
return null;
}
+
/**
* 鑾峰彇鍐呭鍒楄〃鍒嗛〉
* @param param
diff --git a/server/service/src/main/java/com/doumee/core/utils/Constants.java b/server/service/src/main/java/com/doumee/core/utils/Constants.java
index 95372cc..376277b 100644
--- a/server/service/src/main/java/com/doumee/core/utils/Constants.java
+++ b/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();
+}
+
+
+
/**
* 鑾峰彇杞︾墝绫诲瀷淇℃伅
*
diff --git a/server/service/src/main/java/com/doumee/dao/business/model/CustomerLog.java b/server/service/src/main/java/com/doumee/dao/business/model/CustomerLog.java
index 983fec9..5462d9d 100644
--- a/server/service/src/main/java/com/doumee/dao/business/model/CustomerLog.java
+++ b/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;
+
}
diff --git a/server/service/src/main/java/com/doumee/dao/web/reqeust/RenovationCalculatorDTO.java b/server/service/src/main/java/com/doumee/dao/web/reqeust/RenovationCalculatorDTO.java
index 7bd7a38..764442a 100644
--- a/server/service/src/main/java/com/doumee/dao/web/reqeust/RenovationCalculatorDTO.java
+++ b/server/service/src/main/java/com/doumee/dao/web/reqeust/RenovationCalculatorDTO.java
@@ -31,6 +31,4 @@
@ApiModelProperty(value = "瑁呬慨棰勭畻锛堜竾鍏冿級")
private BigDecimal budget;
-
-
}
diff --git a/server/service/src/main/java/com/doumee/service/business/CustomerService.java b/server/service/src/main/java/com/doumee/service/business/CustomerService.java
index e496dc0..4fbe5c1 100644
--- a/server/service/src/main/java/com/doumee/service/business/CustomerService.java
+++ b/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);
}
diff --git a/server/service/src/main/java/com/doumee/service/business/MemberService.java b/server/service/src/main/java/com/doumee/service/business/MemberService.java
index 05ba621..b97fe57 100644
--- a/server/service/src/main/java/com/doumee/service/business/MemberService.java
+++ b/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);
}
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/CustomerServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/CustomerServiceImpl.java
index 2e84db3..1416905 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/CustomerServiceImpl.java
+++ b/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;
}
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
index 80576f9..18e6aa8 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
+++ b/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(),"涓彴娉ㄩ攢澶辫触锛岃鑱旂郴绠$悊鍛�");
+ }
+
+
}
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/SmsEmailServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/SmsEmailServiceImpl.java
index 052a192..a1f7547 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/SmsEmailServiceImpl.java
+++ b/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());
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/UsersServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/UsersServiceImpl.java
index dad6e61..64a7de6 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/UsersServiceImpl.java
+++ b/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(),"瀵逛笉璧凤紝楠岃瘉鐮佷笉姝g‘锛岃閲嶆柊鍙戦�佸啀璇曪紒");
}
+ 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);
diff --git a/server/web/src/main/java/com/doumee/api/web/CustomerApi.java b/server/web/src/main/java/com/doumee/api/web/CustomerApi.java
index badafea..3c9c591 100644
--- a/server/web/src/main/java/com/doumee/api/web/CustomerApi.java
+++ b/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("鎿嶄綔鎴愬姛");
}
diff --git a/server/web/src/main/java/com/doumee/api/web/PersonnelApi.java b/server/web/src/main/java/com/doumee/api/web/PersonnelApi.java
index cce994c..8772dde 100644
--- a/server/web/src/main/java/com/doumee/api/web/PersonnelApi.java
+++ b/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({
--
Gitblit v1.9.3