From fc772ac629241b55a377ef8eb2c1e94b69bb3e53 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期一, 15 七月 2024 12:09:51 +0800
Subject: [PATCH] 提交
---
server/service/src/main/java/com/doumee/biz/zbom/model/zhongtai/response/ZTCollectResponse.java | 4
server/service/src/main/java/com/doumee/service/business/impl/CustomerUserServiceImpl.java | 263 +++++++++++
server/admin/src/main/java/com/doumee/api/timer/QuartzController.java | 2
server/service/src/main/java/com/doumee/biz/zbom/model/crm/CrmCustomerListRequest.java | 22
server/service/src/main/java/com/doumee/biz/zbom/ZbomCRMService.java | 16
server/service/src/main/java/com/doumee/biz/zbom/impl/ZbomZhongTaiServiceImpl.java | 22
server/service/src/main/java/com/doumee/biz/zbom/model/crm/CrmDaogouBindListRequest.java | 24 +
server/service/src/main/java/com/doumee/biz/zbom/model/zhongtai/response/ZTTagInfoResponse.java | 36 +
admin/src/views/timer/components/OperaTimerWindow.vue | 8
server/service/src/main/java/com/doumee/biz/zbom/model/crm/CrmCustomerInfoRequest.java | 10
server/admin/src/main/java/com/doumee/timer/CustomerUserUpdateBiz.java | 39 +
server/service/src/main/java/com/doumee/biz/zbom/model/zhongtai/response/ZTUserGetTokenResponse.java | 4
server/service/src/main/java/com/doumee/service/business/CustomerUserService.java | 99 ++++
server/service/src/main/java/com/doumee/biz/zbom/model/zhongtai/response/ZTContentInfoResponse.java | 3
server/service/src/main/java/com/doumee/biz/zbom/ZbomZhongTaiService.java | 1
server/service/src/main/java/com/doumee/core/utils/Constants.java | 17
server/service/src/main/java/com/doumee/service/business/InitService.java | 1
server/service/src/main/java/com/doumee/biz/zbom/ZbomSMSService.java | 1
server/service/src/main/java/com/doumee/biz/zbom/model/crm/response/CRMCustomerListResponse.java | 23 +
server/service/src/main/java/com/doumee/biz/zbom/model/zhongtai/response/ZTBasePageResponse.java | 3
server/service/src/main/java/com/doumee/biz/zbom/model/zhongtai/response/ZTTagChildInfoResponse.java | 31 +
server/service/src/main/java/com/doumee/biz/zbom/impl/ZbomSMSServiceImpl.java | 11
server/service/src/main/java/com/doumee/biz/zbom/model/zhongtai/response/ZTContentListResponse.java | 4
server/admin/src/main/java/com/doumee/api/business/CustomerUserController.java | 90 +++
server/service/src/main/java/com/doumee/biz/zbom/model/crm/response/CRMDaogouBindListResponse.java | 24 +
server/service/src/main/java/com/doumee/biz/zbom/model/zhongtai/response/ZTBaseResponse.java | 6
server/service/src/main/java/com/doumee/biz/zbom/model/zhongtai/response/ZTCatalogTagTypeResponse.java | 3
server/service/src/main/java/com/doumee/biz/zbom/model/crm/CRMBaseRequst.java | 17
server/service/src/main/java/com/doumee/biz/zbom/model/zhongtai/ZTConstants.java | 22
server/service/src/main/java/com/doumee/dao/timer/scheduler/QuartzManage.java | 4
server/service/src/main/java/com/doumee/biz/zbom/model/crm/response/CRMBaseResponse.java | 24 +
server/service/src/main/java/com/doumee/biz/zbom/model/zhongtai/response/ZTAreaInfoResponse.java | 3
admin/src/views/timer/timer.vue | 102 ++--
/dev/null | 19
server/service/src/main/java/com/doumee/dao/business/CustomerUserMapper.java | 13
server/service/src/main/java/com/doumee/dao/business/model/CustomerUser.java | 99 ++++
server/service/src/main/java/com/doumee/biz/zbom/model/zhongtai/response/ZTCatalogInfoResponse.java | 7
server/service/src/main/java/com/doumee/biz/zbom/impl/ZbomCRMServiceImpl.java | 203 +++++---
server/service/src/main/java/com/doumee/core/utils/HttpsUtil.java | 7
server/service/src/main/java/com/doumee/biz/zbom/model/crm/CRMConstants.java | 41 +
40 files changed, 1,128 insertions(+), 200 deletions(-)
diff --git a/admin/src/views/timer/components/OperaTimerWindow.vue b/admin/src/views/timer/components/OperaTimerWindow.vue
index f3e8b6d..f710051 100644
--- a/admin/src/views/timer/components/OperaTimerWindow.vue
+++ b/admin/src/views/timer/components/OperaTimerWindow.vue
@@ -8,16 +8,16 @@
>
<el-form :model="form" ref="form" :rules="rules" label-width="120px" label-suffix="锛�">
<el-form-item label="Bean鍚嶇О" prop="beanName">
- <el-input v-model="form.beanName" placeholder="璇疯緭鍏ean鍚嶇О" :maxlength="10" v-trim/>
+ <el-input v-model="form.beanName" placeholder="璇疯緭鍏ean鍚嶇О" v-trim/>
</el-form-item>
<el-form-item label="妯″潡鍚嶇О" prop="module">
- <el-input v-model="form.module" placeholder="璇疯緭鍏ユā鍧楀悕绉�" :maxlength="10" v-trim/>
+ <el-input v-model="form.module" placeholder="璇疯緭鍏ユā鍧楀悕绉�" v-trim/>
</el-form-item>
<el-form-item label="Cron琛ㄨ揪寮�" prop="cronExpres">
- <el-input v-model="form.cronExpres" placeholder="璇疯緭鍏ron琛ㄨ揪寮�" :maxlength="10" v-trim/>
+ <el-input v-model="form.cronExpres" placeholder="璇疯緭鍏ron琛ㄨ揪寮�" v-trim/>
</el-form-item>
<el-form-item label="澶囨敞" prop="remark">
- <el-input v-model="form.remark" placeholder="璇疯緭鍏ュ娉�" :maxlength="10" v-trim/>
+ <el-input v-model="form.remark" placeholder="璇疯緭鍏ュ娉�" v-trim/>
</el-form-item>
<el-form-item label="鎵ц鍙傛暟" prop="params">
<el-input v-model="form.params" type="textarea" placeholder="璇疯緭鍏ユ墽琛屽弬鏁�" v-trim/>
diff --git a/admin/src/views/timer/timer.vue b/admin/src/views/timer/timer.vue
index 912f85c..91e4b1e 100644
--- a/admin/src/views/timer/timer.vue
+++ b/admin/src/views/timer/timer.vue
@@ -70,7 +70,7 @@
import TableLayout from '@/layouts/TableLayout'
import Pagination from '@/components/common/Pagination'
import OperaTimerWindow from '@/views/timer/components/OperaTimerWindow'
-import {runOnceById} from "@/api/timer/timer";
+import {pauseById, resumeById, runOnceById} from '@/api/timer/timer'
export default {
name: 'Devices',
extends: BaseTable,
@@ -83,13 +83,13 @@
beanName: '',
module: ''
},
- pausing:false,
- running:false,
- resuming:false,
+ pausing: false,
+ running: false,
+ resuming: false,
room: []
}
},
- provide() {
+ provide () {
return {
room: () => this.room
}
@@ -107,61 +107,61 @@
pauseById (row) {
this.__checkApi()
this.$dialog.actionConfirm('纭鏆傚仠璇ヤ换鍔″悧?')
- .then(() => {
- this.pausing = true
- this.api.paustById(row.id)
- .then(() => {
- this.$message.info('鏆傚仠鎴愬姛')
- this.search()
- })
- .catch(e => {
- // this.$tip.apiFailed(e)
- })
- .finally(() => {
- this.pausing = false
- })
- })
- .catch(() => {})
+ .then(() => {
+ this.pausing = true
+ this.api.pauseById(row.id)
+ .then(() => {
+ this.$message.info('鏆傚仠鎴愬姛')
+ this.search()
+ })
+ .catch(e => {
+ // this.$tip.apiFailed(e)
+ })
+ .finally(() => {
+ this.pausing = false
+ })
+ })
+ .catch(() => {})
},
resumeById (row) {
this.__checkApi()
this.$dialog.actionConfirm('纭鎭㈠璇ヤ换鍔″悧?')
- .then(() => {
- this.resuming = true
- this.api.resumeById(row.id)
- .then(() => {
- this.$message.info('鎭㈠鎴愬姛')
- this.search()
- })
- .catch(e => {
- // this.$tip.apiFailed(e)
- })
- .finally(() => {
- this.resuming = false
- })
- })
- .catch(() => {})
+ .then(() => {
+ this.resuming = true
+ this.api.resumeById(row.id)
+ .then(() => {
+ this.$message.info('鎭㈠鎴愬姛')
+ this.search()
+ })
+ .catch(e => {
+ // this.$tip.apiFailed(e)
+ })
+ .finally(() => {
+ this.resuming = false
+ })
+ })
+ .catch(() => {})
},
runById (row) {
this.__checkApi()
this.$dialog.actionConfirm('纭鎵ц涓�娆¤浠诲姟鍚�?')
- .then(() => {
- this.running = true
- this.api.runOnceById(row.id)
- .then(() => {
- this.$message.info('鎵ц鎴愬姛')
- this.search()
- })
- .catch(e => {
- // this.$tip.apiFailed(e)
- })
- .finally(() => {
- this.running = false
- })
- })
- .catch(() => {})
+ .then(() => {
+ this.running = true
+ this.api.runOnceById(row.id)
+ .then(() => {
+ this.$message.info('鎵ц鎴愬姛')
+ this.search()
+ })
+ .catch(e => {
+ // this.$tip.apiFailed(e)
+ })
+ .finally(() => {
+ this.running = false
+ })
+ })
+ .catch(() => {})
}
- },
+ }
}
</script>
diff --git a/server/admin/src/main/java/com/doumee/api/business/CustomerUserController.java b/server/admin/src/main/java/com/doumee/api/business/CustomerUserController.java
new file mode 100644
index 0000000..e380b16
--- /dev/null
+++ b/server/admin/src/main/java/com/doumee/api/business/CustomerUserController.java
@@ -0,0 +1,90 @@
+package com.doumee.api.business;
+
+import com.doumee.api.BaseController;
+import com.doumee.core.annotation.excel.ExcelExporter;
+import com.doumee.core.annotation.pr.PreventRepeat;
+import com.doumee.core.model.ApiResponse;
+import com.doumee.core.model.PageWrap;
+import com.doumee.core.model.PageData;
+import com.doumee.dao.business.model.CustomerUser;
+import com.doumee.service.business.CustomerUserService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import javax.servlet.http.HttpServletResponse;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2024/07/15 10:21
+ */
+@Api(tags = "瀹㈡埛瀵艰喘鍏宠仈琛�")
+@RestController
+@RequestMapping("/business/customerUser")
+public class CustomerUserController extends BaseController {
+
+ @Autowired
+ private CustomerUserService customerUserService;
+
+ @PreventRepeat
+ @ApiOperation("鏂板缓")
+ @PostMapping("/create")
+ @RequiresPermissions("business:customeruser:create")
+ public ApiResponse create(@RequestBody CustomerUser customerUser) {
+ return ApiResponse.success(customerUserService.create(customerUser));
+ }
+
+ @ApiOperation("鏍规嵁ID鍒犻櫎")
+ @GetMapping("/delete/{id}")
+ @RequiresPermissions("business:customeruser:delete")
+ public ApiResponse deleteById(@PathVariable Long id) {
+ customerUserService.deleteById(id);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鎵归噺鍒犻櫎")
+ @GetMapping("/delete/batch")
+ @RequiresPermissions("business:customeruser:delete")
+ public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
+ String [] idArray = ids.split(",");
+ List<Long> idList = new ArrayList<>();
+ for (String id : idArray) {
+ idList.add(Long.valueOf(id));
+ }
+ customerUserService.deleteByIdInBatch(idList);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鏍规嵁ID淇敼")
+ @PostMapping("/updateById")
+ @RequiresPermissions("business:customeruser:update")
+ public ApiResponse updateById(@RequestBody CustomerUser customerUser) {
+ customerUserService.updateById(customerUser);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鍒嗛〉鏌ヨ")
+ @PostMapping("/page")
+ @RequiresPermissions("business:customeruser:query")
+ public ApiResponse<PageData<CustomerUser>> findPage (@RequestBody PageWrap<CustomerUser> pageWrap) {
+ return ApiResponse.success(customerUserService.findPage(pageWrap));
+ }
+
+ @ApiOperation("瀵煎嚭Excel")
+ @PostMapping("/exportExcel")
+ @RequiresPermissions("business:customeruser:exportExcel")
+ public void exportExcel (@RequestBody PageWrap<CustomerUser> pageWrap, HttpServletResponse response) {
+ ExcelExporter.build(CustomerUser.class).export(customerUserService.findPage(pageWrap).getRecords(), "瀹㈡埛瀵艰喘鍏宠仈琛�", response);
+ }
+
+ @ApiOperation("鏍规嵁ID鏌ヨ")
+ @GetMapping("/{id}")
+ @RequiresPermissions("business:customeruser:query")
+ public ApiResponse findById(@PathVariable Long id) {
+ return ApiResponse.success(customerUserService.findById(id));
+ }
+}
diff --git a/server/admin/src/main/java/com/doumee/api/timer/QuartzController.java b/server/admin/src/main/java/com/doumee/api/timer/QuartzController.java
index 220def6..3524a93 100644
--- a/server/admin/src/main/java/com/doumee/api/timer/QuartzController.java
+++ b/server/admin/src/main/java/com/doumee/api/timer/QuartzController.java
@@ -54,7 +54,7 @@
}
@ApiOperation( "鎵ц涓�娆�")
- @GetMapping("RequiresPermissions")
+ @GetMapping("/runOnce/{id}")
@RequiresPermissions("business:quartz:update")
public ApiResponse runOnce(@PathVariable("id") Integer id) {
quartzJobService.runOnce(id) ; return ApiResponse.success(null);
diff --git a/server/admin/src/main/java/com/doumee/timer/CustomerUserUpdateBiz.java b/server/admin/src/main/java/com/doumee/timer/CustomerUserUpdateBiz.java
new file mode 100644
index 0000000..d22869e
--- /dev/null
+++ b/server/admin/src/main/java/com/doumee/timer/CustomerUserUpdateBiz.java
@@ -0,0 +1,39 @@
+package com.doumee.timer;
+
+import com.doumee.core.utils.DateUtil;
+import com.doumee.service.business.CustomerUserService;
+import com.doumee.service.business.InitService;
+import org.apache.commons.lang3.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.lang.reflect.Method;
+
+/**
+ * @author 瀹氭椂鑾峰彇蹇楅偊瀹㈡埛缁戝畾瀵艰喘闆嗗悎鏁版嵁
+ * @since 2023-07-26 11:44
+ */
+@Component("customerBindDaogou")
+public class CustomerUserUpdateBiz implements JobService {
+ private static final Logger log = LoggerFactory.getLogger(CustomerUserUpdateBiz.class);
+
+ @Autowired
+ CustomerUserService customerUserService;
+ @Override
+ public void run(String params,String module) {
+ Method method = null;
+ try {
+ if(StringUtils.equals(module,"syncYesterday")){
+ String date = DateUtil.getYesterday();
+ customerUserService.syncYesterday(date);
+ }else{
+ log.info("\n ======== 瀹氭椂浠诲姟宸叉墽琛岋細zbomRedisResut.========"+module);
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+}
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 5d02b44..6140b41 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
@@ -1,8 +1,12 @@
package com.doumee.biz.zbom;
-import com.doumee.biz.zbom.model.CrmCustomerSubmmitModel;
-import com.doumee.biz.zbom.model.IamUpateShopModel;
-import com.doumee.biz.zbom.model.IamUpateUserModel;
+import com.doumee.biz.zbom.model.crm.CRMConstants;
+import com.doumee.biz.zbom.model.crm.CrmCustomerInfoRequest;
+import com.doumee.biz.zbom.model.crm.CrmCustomerListRequest;
+import com.doumee.biz.zbom.model.crm.CrmDaogouBindListRequest;
+import com.doumee.biz.zbom.model.crm.response.CRMBaseResponse;
+import com.doumee.biz.zbom.model.crm.response.CRMCustomerListResponse;
+import com.doumee.biz.zbom.model.crm.response.CRMDaogouBindListResponse;
import com.doumee.dao.business.model.CustomerLog;
import org.springframework.stereotype.Service;
@@ -16,7 +20,9 @@
@Service
public interface ZbomCRMService {
- void dealCustomerLogData(CustomerLog customerLog);
+ int dealCustomerLogData(CustomerLog customerLog);
+ String zbomEncode(String str);
- int postDataToCrm(CrmCustomerSubmmitModel entity );
+ CRMBaseResponse<List<CRMCustomerListResponse>> getCustomerList(CrmCustomerListRequest entity );
+ CRMBaseResponse<List<CRMDaogouBindListResponse>> getDaogouBindList(CrmDaogouBindListRequest entity );
}
diff --git a/server/service/src/main/java/com/doumee/biz/zbom/ZbomSMSService.java b/server/service/src/main/java/com/doumee/biz/zbom/ZbomSMSService.java
index 906ae4e..9c9cf66 100644
--- a/server/service/src/main/java/com/doumee/biz/zbom/ZbomSMSService.java
+++ b/server/service/src/main/java/com/doumee/biz/zbom/ZbomSMSService.java
@@ -1,6 +1,5 @@
package com.doumee.biz.zbom;
-import com.doumee.biz.zbom.model.CrmCustomerSubmmitModel;
import org.springframework.stereotype.Service;
/**
diff --git a/server/service/src/main/java/com/doumee/biz/zbom/ZbomZhongTaiService.java b/server/service/src/main/java/com/doumee/biz/zbom/ZbomZhongTaiService.java
index f3ac168..7bd5f98 100644
--- a/server/service/src/main/java/com/doumee/biz/zbom/ZbomZhongTaiService.java
+++ b/server/service/src/main/java/com/doumee/biz/zbom/ZbomZhongTaiService.java
@@ -21,6 +21,7 @@
ZTUserGetTokenResponse userUpdateInfo(ZTUserInfoUpdateRequest param);
boolean userLogout(ZTBaseRequst param);
List<ZTCatalogInfoResponse> getCatalogList(ZTCatalogListRequest param);
+ List<ZTTagInfoResponse> getTagList(ZTCatalogListRequest param);
ZTBasePageResponse<ZTContentListResponse> pageContentList(ZTContentListRequest param);
ZTContentInfoResponse getContentInfo(ZTContentInfoRequest param);
boolean collectDo(ZTActionDoRequest param);
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 f6d1d27..c360fb8 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
@@ -1,10 +1,18 @@
package com.doumee.biz.zbom.impl;
import com.alibaba.fastjson.JSONObject;
+import com.alibaba.fastjson.TypeReference;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.doumee.biz.zbom.ZbomCRMService;
-import com.doumee.biz.zbom.model.CrmCustomerInfoModel;
-import com.doumee.biz.zbom.model.CrmCustomerSubmmitModel;
+import com.doumee.biz.zbom.model.crm.CRMConstants;
+import com.doumee.biz.zbom.model.crm.CrmCustomerInfoRequest;
+import com.doumee.biz.zbom.model.crm.CrmCustomerListRequest;
+import com.doumee.biz.zbom.model.crm.CrmDaogouBindListRequest;
+import com.doumee.biz.zbom.model.crm.response.CRMBaseResponse;
+import com.doumee.biz.zbom.model.crm.response.CRMCustomerListResponse;
+import com.doumee.biz.zbom.model.crm.response.CRMDaogouBindListResponse;
+import com.doumee.biz.zbom.model.zhongtai.ZTConstants;
+import com.doumee.biz.zbom.model.zhongtai.response.ZTBaseResponse;
import com.doumee.core.utils.Constants;
import com.doumee.core.utils.DateUtil;
import com.doumee.core.utils.HttpsUtil;
@@ -12,6 +20,7 @@
import com.doumee.dao.business.CustomerLogMapper;
import com.doumee.dao.business.model.CrmInterfaceLog;
import com.doumee.dao.business.model.CustomerLog;
+import lombok.extern.slf4j.Slf4j;
import org.apache.commons.codec.digest.DigestUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
@@ -19,6 +28,12 @@
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
+import java.io.BufferedReader;
+import java.io.InputStreamReader;
+import java.net.HttpURLConnection;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.net.URLEncoder;
import java.util.*;
/**
@@ -27,6 +42,7 @@
* @date 2023/11/30 15:33
*/
@Service
+@Slf4j
public class ZbomCRMServiceImpl implements ZbomCRMService {
@Autowired
@@ -38,93 +54,109 @@
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);
-
- }
-
-
/**
* 蹇楅偊瀹㈡埛淇℃伅鎻愪氦鎺ュ彛
- * @param entity
+ * @param customerLog
* @return
*/
@Override
- public int postDataToCrm(CrmCustomerSubmmitModel entity ) {
- // TODO Auto-generated method stub
- int status = 2;
- if(entity==null || entity.getCusInfo()==null || entity.getCusInfo().size() ==0){
- return status;
- }
- String type = "postCusData";
- String appid = (String) redisTemplate.opsForValue().get(Constants.RedisKeys.ZBOM_CRM_API_KEY);
- String urlStr = (String)redisTemplate.opsForValue().get(Constants.RedisKeys.ZBOM_CRM_API_URL) ;
- long _t = System.currentTimeMillis();
- String crmInfo="鎻愪氦澶辫触";
- if (StringUtils.isNotBlank(appid)||StringUtils.isNotBlank(urlStr)) {
- String param = JSONObject.toJSONString(entity);
- String result = null;
- int success =1;
- String url = urlStr;
- try {
- String token = DigestUtils.md5Hex(type + _t + appid);
- url = urlStr + "?type=" + type + "&_t=" + _t + "&token=" + token;// 鎻愪氦CRM鍦板潃
- result = HttpsUtil.postJson(url,param);
- if (StringUtils.isNotBlank(result)) {
- JSONObject r = JSONObject.parseObject(result.replace("(", "").replace(")", ""));
- if (r != null && (StringUtils.equalsIgnoreCase(r.getString("code"), "1")
- || StringUtils.equalsIgnoreCase(r.getString("code"), "2"))) {
- status = 1;
- crmInfo="鎻愪氦鎴愬姛";
- success =0;
- }else{
- status = 2;
- crmInfo="鎻愪氦澶辫触["+ result+"]";
- }
- }
- }catch (Exception e){
- e.printStackTrace();
- crmInfo+= e.getMessage();
- }finally {
- saveInterfaceLog(url,"蹇楅偊CRM瀹㈡埛鐣欒祫淇℃伅鎻愪氦",param,success,result);
- }
+ @Async
+ public int dealCustomerLogData(CustomerLog customerLog){
+ CrmCustomerInfoRequest entity = new CrmCustomerInfoRequest();
+ entity.setId(customerLog.getId());
+ entity.setName(customerLog.getName());
+ entity.setPhone(zbomEncode(customerLog.getPhone()));
+ entity.setAreaname(customerLog.getAreaName());
+ entity.setAreacode(customerLog.getAreaCode());
+ entity.setOpenid(customerLog.getOpenid());
+ entity.setSource(CRMConstants.CRM_SOURCE.SOURCE_ZBJX);
+ entity.setChannel(CRMConstants.CRM_SOURCE.SOURCE_ZBJX+"00");
+ entity.setDate(DateUtil.dateToString(customerLog.getCreateDate(),"yyyy/MM/dd HH:mm"));
+ int status ;
+ String crmInfo;
+ String param = JSONObject.toJSONString(entity);
+ CRMBaseResponse result = sendHttpRequest(CRMConstants.IntegerUrl.POST_CUS_DATA_URL,CRMConstants.IntegerName.POST_CUS_DATA_NAME,param);
+ if (result != null && (StringUtils.equalsIgnoreCase(result.getCode(), CRMConstants.CODE_SUCCESS))) {
+ status = 1;
+ crmInfo="鎻愪氦鎴愬姛";
}else{
status = 2;
- crmInfo="鎻愪氦澶辫触crm閰嶇疆鏈夎锛宎ppid:["+ appid+"]"+"url:["+ urlStr+"]";
+ crmInfo="鎻愪氦澶辫触["+ result!=null?result.getMsg():"鎺ュ彛璇锋眰澶辫触锛�"+"]";
}
- List<Long> idList = new ArrayList<>();
- for(CrmCustomerInfoModel info : entity.getCusInfo()){
- idList.add(info.getId());
- }
- // 濡傛灉鎻愪氦鎴愬姛
- CustomerLog d = new CustomerLog();
- d.setId(entity.getCusInfo().get(0).getId());
- d.setCrmStatus(Constants.ONE);
customerLogMapper.update(null,new UpdateWrapper<CustomerLog>().lambda()
- .in(CustomerLog::getId,idList)
+ .eq(CustomerLog::getId,entity.getId())
.set(CustomerLog::getCrmStatus,Constants.ONE )
.set(CustomerLog::getCrmInfo,crmInfo )
.set(CustomerLog::getCrmDate,new Date() ));// 鏇存柊鐘舵��
return status;// 榛樿澶辫触
}
+ /**
+ * 鑾峰彇瀵艰喘缁戝畾鍒楄〃
+ * @param entity
+ * @return
+ */
+ @Override
+ public CRMBaseResponse<List<CRMDaogouBindListResponse>> getDaogouBindList(CrmDaogouBindListRequest entity ){
+ int status ;
+ String crmInfo;
+ String param = JSONObject.toJSONString(entity);
+ CRMBaseResponse<List<CRMDaogouBindListResponse>> result = sendHttpRequest(CRMConstants.IntegerUrl.DAOGOU_BIND_LIST_URL,CRMConstants.IntegerName.DAOGOU_BIND_LIST_NAME,param);
+ return result;// 榛樿澶辫触
+ }
+ /**
+ * 鑾峰彇瀹㈡埛鍒楄〃
+ * @param entity
+ * @return
+ */
+ @Override
+ public CRMBaseResponse<List<CRMCustomerListResponse>> getCustomerList(CrmCustomerListRequest entity ){
+ int status ;
+ String crmInfo;
+ String param = JSONObject.toJSONString(entity);
+ CRMBaseResponse<List<CRMCustomerListResponse>> result = sendHttpRequest(CRMConstants.IntegerUrl.CUS_BEFORE_PAGE_LIST_URL,CRMConstants.IntegerName.CUS_BEFORE_PAGE_LIST_NAME,param);
+ return result;// 榛樿澶辫触
+ }
+
+ public <T> CRMBaseResponse<T> sendHttpRequest(String interfaceUrl, String name, String param){
+ log.info("銆�"+name+"銆�================寮�濮�===="+ JSONObject.toJSONString(param));
+ String appKey = (String) redisTemplate.opsForValue().get(Constants.RedisKeys.ZBOM_CRM_API_KEY);
+ String url = redisTemplate.opsForValue().get(Constants.RedisKeys.ZBOM_CRM_API_URL) + interfaceUrl ;
+ long _t = System.currentTimeMillis();
+ if (StringUtils.isNotBlank(appKey)||StringUtils.isNotBlank(url)) {
+ String res = null;
+ int success = 0;
+ try {
+ url += "?timestamp=" + _t + "&sign=" + DigestUtils.md5Hex( _t + appKey);
+ Map<String,String> headers = new HashMap<>();
+ String index = (String) redisTemplate.opsForValue().get(Constants.RedisKeys.ZBOM_ZHONGTAI_API_URL);
+ res = HttpsUtil.postJson(url,param);
+ TypeReference typeReference =
+ new TypeReference<CRMBaseResponse<T>>(){};
+ CRMBaseResponse<T> result = JSONObject.parseObject(res, typeReference.getType());
+ logResult(result,name);
+ if(StringUtils.equals(result.getCode(),CRMConstants.CODE_SUCCESS)){
+ return result;
+ }else{
+ success =1;
+ }
+ }catch (Exception e){
+ success = 1;
+ log.error("銆�"+name+"銆�================澶辫触===="+ JSONObject.toJSONString(param));
+ }finally {
+ saveInterfaceLog(url,name,param,success,res);
+ }
+ }
+ return null;
+ }
+ private static void logResult(CRMBaseResponse res,String name) {
+ if(StringUtils.equals(res.getCode(), CRMConstants.CODE_SUCCESS)){
+ log.info("銆怌RM鎺ュ彛锛�"+name+"銆�================鎴愬姛====\n"+res);
+ }else{
+ log.error("銆怌RM鎺ュ彛锛�"+name+"銆�================澶辫触====锛歕n"+ res);
+ }
+ }
public void saveInterfaceLog(String url,String name,String param,Integer success,String respone){
if(crmInterfaceLogMapper ==null){
return;
@@ -142,4 +174,29 @@
log.setRepose(respone);
crmInterfaceLogMapper.insert(log);
}
+
+ /**
+ * 蹇楅偊瀛楃涓插姞瀵�
+ * @param str
+ * @return
+ */
+
+ @Override
+ public String zbomEncode(String str) {
+ StringBuffer sb = new StringBuffer();
+ String result = null;
+ try {
+ // 鍒涘缓StringBuffer瀵硅薄鐢ㄦ潵鎿嶄綔瀛楃涓�
+ String urlStr = (String) redisTemplate.opsForValue().get(Constants.RedisKeys.ZBOM_ENCODE_URL);
+ sb = new StringBuffer(
+ urlStr + "?code=" + URLEncoder.encode(str, "UTF-8") + "&type=0&numstr=wy?");
+ result = HttpsUtil.sendGet(sb.toString());
+
+ }catch (Exception e){
+ e.printStackTrace();
+ }finally {
+ saveInterfaceLog(sb.toString(),"蹇楅偊瀛楃涓插姞瀵嗘帴鍙�",str, result==null?1:0,result );
+ }
+ return result;
+ }
}
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 dbe6b43..61cf379 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
@@ -1,17 +1,10 @@
package com.doumee.biz.zbom.impl;
-import com.alibaba.fastjson.JSONObject;
-import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
-import com.doumee.biz.zbom.ZbomCRMService;
import com.doumee.biz.zbom.ZbomSMSService;
-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.HttpsUtil;
import com.doumee.dao.business.CrmInterfaceLogMapper;
import com.doumee.dao.business.CustomerLogMapper;
import com.doumee.dao.business.model.CrmInterfaceLog;
-import com.doumee.dao.business.model.CustomerLog;
import org.apache.commons.codec.digest.DigestUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
@@ -23,16 +16,14 @@
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
-import java.util.ArrayList;
import java.util.Date;
-import java.util.List;
/**
* 蹇楅偊CRM瀹㈡埛淇℃伅鎻愪氦鎺ュ彛
* @author 姹熻箘韫�
* @date 2023/11/30 15:33
*/
-//@Service
+@Service
public class ZbomSMSServiceImpl implements ZbomSMSService {
@Autowired
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 663aa5c..12f9fc8 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
@@ -113,6 +113,24 @@
}
return null;
}
+ /**
+ * 鑾峰彇鍒嗙被鍜屽垎绫讳笅鐨勬爣绛�
+ * @param param
+ * @return
+ */
+ @Override
+ public List<ZTTagInfoResponse> getTagList(ZTCatalogListRequest param){
+ ZTBaseResponse<List<ZTTagInfoResponse>> result = sendHttpRequest(
+ ZTConstants.IntegerUrl.TAG_LIST_URL,
+ ZTConstants.IntegerName.TAG_LIST_NAME,
+ param.getToken(),
+ param.getUserType(),
+ JSONObject.toJSONString(param ));
+ if(result!=null){
+ return result.getData();
+ }
+ return null;
+ }
/**
* 鑾峰彇鍐呭鍒楄〃鍒嗛〉
@@ -298,7 +316,7 @@
new TypeReference<ZTBaseResponse<T>>(){};
ZTBaseResponse<T> result = JSONObject.parseObject(res, typeReference.getType());
logResult(result,name);
- if(StringUtils.equals(result.getCode(),ZTConstants.CODE_SUCCESS)){
+ if(Constants.equalsInteger(result.getCode(),ZTConstants.CODE_SUCCESS)){
return result;
}else{
success =1;
@@ -329,7 +347,7 @@
interfaceLogMapper.insert(log);
}
private static void logResult(ZTBaseResponse res,String name) {
- if(StringUtils.equals(res.getCode(), ZTConstants.CODE_SUCCESS)){
+ if(Constants.equalsInteger(res.getCode(),ZTConstants.CODE_SUCCESS)){
log.info("銆愪腑鍙版帴鍙o細"+name+"銆�================鎴愬姛====\n"+res);
}else{
log.error("銆愪腑鍙版帴鍙o細"+name+"銆�================澶辫触====锛歕n"+ res);
diff --git a/server/service/src/main/java/com/doumee/biz/zbom/model/CrmCustomerSubmmitModel.java b/server/service/src/main/java/com/doumee/biz/zbom/model/CrmCustomerSubmmitModel.java
deleted file mode 100644
index b2af4d4..0000000
--- a/server/service/src/main/java/com/doumee/biz/zbom/model/CrmCustomerSubmmitModel.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package com.doumee.biz.zbom.model;
-
-import com.fasterxml.jackson.annotation.JsonProperty;
-import com.google.gson.annotations.SerializedName;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-import java.io.Serializable;
-import java.util.List;
-
-@Data
-@ApiModel("蹇楅偊CRM瀹㈡埛鐣欒祫鎻愪氦鍙傛暟")
-public class CrmCustomerSubmmitModel implements Serializable {
- @ApiModelProperty(value = "瀹㈡埛淇℃伅")
- @JsonProperty("cus_info")
- @SerializedName("cus_info")
- private List<CrmCustomerInfoModel> cusInfo;
-}
diff --git a/server/service/src/main/java/com/doumee/biz/zbom/model/crm/CRMBaseRequst.java b/server/service/src/main/java/com/doumee/biz/zbom/model/crm/CRMBaseRequst.java
new file mode 100644
index 0000000..e8c057b
--- /dev/null
+++ b/server/service/src/main/java/com/doumee/biz/zbom/model/crm/CRMBaseRequst.java
@@ -0,0 +1,17 @@
+package com.doumee.biz.zbom.model.crm;
+
+import lombok.Data;
+
+
+/**
+ * crm璇锋眰鍏叡鍙傛暟
+ */
+@Data
+public class CRMBaseRequst {
+ /**
+ * 鐖剁骇缂栫爜
+ */
+ private Integer timestamp;
+ private String sign;
+
+}
diff --git a/server/service/src/main/java/com/doumee/biz/zbom/model/crm/CRMConstants.java b/server/service/src/main/java/com/doumee/biz/zbom/model/crm/CRMConstants.java
new file mode 100644
index 0000000..7fc96fc
--- /dev/null
+++ b/server/service/src/main/java/com/doumee/biz/zbom/model/crm/CRMConstants.java
@@ -0,0 +1,41 @@
+package com.doumee.biz.zbom.model.crm;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.google.gson.annotations.SerializedName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.List;
+
+public class CRMConstants {
+
+ public static final CharSequence CODE_SUCCESS = "1";
+ public interface IntegerUrl{
+ String POST_CUS_DATA_URL ="/api/public/zbom/postCusData";
+ String CUS_BEFORE_PAGE_LIST_URL ="api/public/mini/program/cusOrBeforeList";
+ String DAOGOU_BIND_LIST_URL ="api/public/mini/program/list";
+
+ }
+ public interface IntegerName{
+ String POST_CUS_DATA_NAME ="鐣欒祫鏁版嵁鎻愪氦";
+ String CUS_BEFORE_PAGE_LIST_NAME ="鏌ヨ绠$悊瀹㈡埛/娼滃鍒楄〃";
+ String DAOGOU_BIND_LIST_NAME ="鏌ヨ瀹㈡埛瀵艰喘";
+ }
+
+ public interface CRM_SOURCE{
+ String SOURCE_DKXD = "DKXD";// 浠e涓嬪崟(DKXD)
+ String SOURCE_LYSJ = "LYSJ";// 闆跺厓璁捐(LYSJ)
+ String SOURCE_ZBSJSQ = "ZBSJSQ";// 蹇楅偊璁捐鐢宠(ZBSJSQ)
+ String SOURCE_ZBDXFX = "ZBDXFX";// 蹇楅偊鐭俊鍒嗕韩(ZBDXFX)
+ String SOURCE_ZBLLJL = "ZBLLJL";// 蹇楅偊娴忚璁板綍鍒嗕韩(ZBLLJL)
+ String SOURCE_ZBWDSC = "ZBWDSC";// 蹇楅偊鎴戠殑鏀惰棌鍒嗕韩(ZBWDSC)
+ String SOURCE_ZBLYSJ = "ZBLYSJ";// 蹇楅偊闆跺厓璁捐(ZBLYSJ)
+ String SOURCE_ZBLDX = "ZBLDX";// 蹇楅偊鑰佸甫鏂�(ZBLDX)
+ String SOURCE_ZBFGCS = "ZBFGCS";// 蹇楅偊椋庢牸娴嬭瘯(ZBFGCS)
+ String SOURCE_ZBJX = "DSLX22";// 蹇楅偊瀹堕��(ZBJX)
+ }
+
+
+}
diff --git a/server/service/src/main/java/com/doumee/biz/zbom/model/CrmCustomerInfoModel.java b/server/service/src/main/java/com/doumee/biz/zbom/model/crm/CrmCustomerInfoRequest.java
similarity index 81%
rename from server/service/src/main/java/com/doumee/biz/zbom/model/CrmCustomerInfoModel.java
rename to server/service/src/main/java/com/doumee/biz/zbom/model/crm/CrmCustomerInfoRequest.java
index 956be0c..c5a374e 100644
--- a/server/service/src/main/java/com/doumee/biz/zbom/model/CrmCustomerInfoModel.java
+++ b/server/service/src/main/java/com/doumee/biz/zbom/model/crm/CrmCustomerInfoRequest.java
@@ -1,4 +1,4 @@
-package com.doumee.biz.zbom.model;
+package com.doumee.biz.zbom.model.crm;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@@ -7,8 +7,8 @@
import java.io.Serializable;
@Data
-@ApiModel("蹇楅偊CRM瀹㈡埛鐣欒祫鎻愪氦鏄庣粏鍙傛暟")
-public class CrmCustomerInfoModel implements Serializable {
+@ApiModel("蹇楅偊CRM瀹㈡埛鐣欒祫鎻愪氦鍙傛暟")
+public class CrmCustomerInfoRequest extends CRMBaseRequst implements Serializable {
@ApiModelProperty(value = "浜哄憳缂栫爜")
private Long id;
@ApiModelProperty(value = "濮撳悕")
@@ -39,4 +39,6 @@
private String openid;
@ApiModelProperty(value = "缁堢淇℃伅")
private String terminal;
-}
+ @ApiModelProperty(value = "鏉ユ簮绫诲瀷 3绗笁鏂瑰钩鍙� 12 灏忕▼搴�)")
+ private String lyType;
+}
\ No newline at end of file
diff --git a/server/service/src/main/java/com/doumee/biz/zbom/model/crm/CrmCustomerListRequest.java b/server/service/src/main/java/com/doumee/biz/zbom/model/crm/CrmCustomerListRequest.java
new file mode 100644
index 0000000..0e76ad3
--- /dev/null
+++ b/server/service/src/main/java/com/doumee/biz/zbom/model/crm/CrmCustomerListRequest.java
@@ -0,0 +1,22 @@
+package com.doumee.biz.zbom.model.crm;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+@Data
+@ApiModel("鏌ヨ绠$悊瀹㈡埛/娼滃鍒楄〃璇锋眰鍙傛暟")
+public class CrmCustomerListRequest extends CRMBaseRequst implements Serializable {
+ @ApiModelProperty(value = "鐢ㄦ埛鍚�",required = true)
+ private String userName;
+ @ApiModelProperty(value = "绫诲瀷 绠$悊瀹㈡埛:0 娼滃鍒楄〃锛�1" ,required = true)
+ private String flag;
+ @ApiModelProperty(value = "鍒嗛〉澶у皬 锛堥粯璁わ細10锛� 10")
+ private int pageSize;
+ @ApiModelProperty(value = "鍒嗛〉椤电爜 锛堥粯璁わ細1锛�")
+ private int page;
+ @ApiModelProperty(value = "瀹㈡埛鍚嶇О,瀹㈡埛鎵嬫満鍙风爜 ,鍦板潃")
+ private String keyWords;
+}
\ No newline at end of file
diff --git a/server/service/src/main/java/com/doumee/biz/zbom/model/crm/CrmDaogouBindListRequest.java b/server/service/src/main/java/com/doumee/biz/zbom/model/crm/CrmDaogouBindListRequest.java
new file mode 100644
index 0000000..76e357f
--- /dev/null
+++ b/server/service/src/main/java/com/doumee/biz/zbom/model/crm/CrmDaogouBindListRequest.java
@@ -0,0 +1,24 @@
+package com.doumee.biz.zbom.model.crm;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+@Data
+@ApiModel("鏌ヨ绠$悊瀹㈡埛/娼滃鍒楄〃璇锋眰鍙傛暟")
+public class CrmDaogouBindListRequest extends CRMBaseRequst implements Serializable {
+ @ApiModelProperty(value = "鐢ㄦ埛鍚�",required = true)
+ private String userName;
+ @ApiModelProperty(value = "鏄惁瀹氭椂 1:鏄� 0鍚︼紙褰撲负1鏃� 锛宬eyWords 闈炲繀濉」鐩級 " ,required = true)
+ private String timing;
+ @ApiModelProperty(value = "鍒嗛〉澶у皬 锛堥粯璁わ細10锛� 10")
+ private int pageSize;
+ @ApiModelProperty(value = "鍒嗛〉椤电爜 锛堥粯璁わ細1锛�")
+ private int page;
+ @ApiModelProperty(value = "瀹㈡埛鍚嶇О,瀹㈡埛鎵嬫満鍙风爜 ,鍦板潃",required = true)
+ private String keyWords;
+ @ApiModelProperty(value = "timing 鏄�1鏃跺�欏繀浼� 锛寉yyy-MM-dd,褰撳ぉ鍒涘缓鐨勬剰鍚�",required = true)
+ private String creationDate;
+}
\ No newline at end of file
diff --git a/server/service/src/main/java/com/doumee/biz/zbom/model/crm/response/CRMBaseResponse.java b/server/service/src/main/java/com/doumee/biz/zbom/model/crm/response/CRMBaseResponse.java
new file mode 100644
index 0000000..5d93183
--- /dev/null
+++ b/server/service/src/main/java/com/doumee/biz/zbom/model/crm/response/CRMBaseResponse.java
@@ -0,0 +1,24 @@
+package com.doumee.biz.zbom.model.crm.response;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+@Data
+public class CRMBaseResponse<T> implements Serializable {
+
+ /**
+ * 娑堟伅鐮�,200:鎴愬姛;鍏朵粬code:澶辫触
+ */
+ private String code;
+ /**
+ * 鎻愮ず娑堟伅
+ */
+ private String msg;
+ private int total;
+ /**
+ * 鏁版嵁
+ */
+ private T data;
+
+}
diff --git a/server/service/src/main/java/com/doumee/biz/zbom/model/crm/response/CRMCustomerListResponse.java b/server/service/src/main/java/com/doumee/biz/zbom/model/crm/response/CRMCustomerListResponse.java
new file mode 100644
index 0000000..a9d4c8b
--- /dev/null
+++ b/server/service/src/main/java/com/doumee/biz/zbom/model/crm/response/CRMCustomerListResponse.java
@@ -0,0 +1,23 @@
+package com.doumee.biz.zbom.model.crm.response;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+
+/**
+ * 鏌ヨ绠$悊瀹㈡埛/娼滃鍒楄〃杩斿洖
+ */
+@Data
+public class CRMCustomerListResponse implements Serializable {
+ private String dgName ;//瀵艰喘鍚嶇О
+ private String dgPhone ;//瀵艰喘鎵嬫満鍙风爜
+ private String orgName ;//缁勭粐鍚嶇О
+ private String useName;// 鐢ㄦ埛鐧诲綍璐﹀彿
+ private String userId ;//鐢ㄦ埛id涓婚敭
+ private String productCodeName;// 浜у搧鍚嶇О
+ private String customerPhone;// 瀹㈡埛濮撳悕
+ private String customerName;// 瀹㈡埛鎵嬫満鍙�
+ private String address ;//鍦板潃璇︽儏
+
+}
diff --git a/server/service/src/main/java/com/doumee/biz/zbom/model/crm/response/CRMDaogouBindListResponse.java b/server/service/src/main/java/com/doumee/biz/zbom/model/crm/response/CRMDaogouBindListResponse.java
new file mode 100644
index 0000000..e0222ab
--- /dev/null
+++ b/server/service/src/main/java/com/doumee/biz/zbom/model/crm/response/CRMDaogouBindListResponse.java
@@ -0,0 +1,24 @@
+package com.doumee.biz.zbom.model.crm.response;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+
+/**
+ * 鏌ュ鎴峰璐� 杩斿洖
+ */
+@Data
+public class CRMDaogouBindListResponse implements Serializable {
+ private String dgName ;//瀵艰喘鍚嶇О
+ private String dgPhone ;//瀵艰喘鎵嬫満鍙风爜
+ private String orgName ;//缁勭粐鍚嶇О
+ private String useName;// 鐢ㄦ埛鐧诲綍璐﹀彿
+ private String userId ;//鐢ㄦ埛id涓婚敭
+ private String productCodeName;// 浜у搧鍚嶇О
+ private String customerPhone;// 瀹㈡埛濮撳悕
+ private String customerName;// 瀹㈡埛鎵嬫満鍙�
+ private String address ;//鍦板潃璇︽儏
+ private String creationDate ;//鏃堕棿 yyyy-MM-dd
+
+}
diff --git a/server/service/src/main/java/com/doumee/biz/zbom/model/zhongtai/ZTConstants.java b/server/service/src/main/java/com/doumee/biz/zbom/model/zhongtai/ZTConstants.java
index 6c76b7e..ace2b3b 100644
--- a/server/service/src/main/java/com/doumee/biz/zbom/model/zhongtai/ZTConstants.java
+++ b/server/service/src/main/java/com/doumee/biz/zbom/model/zhongtai/ZTConstants.java
@@ -4,15 +4,32 @@
public static String PLATFORM_MP_WX = "mp-weixin";//灏忕▼搴忓钩鍙�
public static String PLATFORM_WEBPAD = "web-pad";//PAD绔�
- public static String CODE_SUCCESS = "200";//鎺ュ彛鎴愬姛杩斿洖鐮�
+ public static Integer CODE_SUCCESS = 200;//鎺ュ彛鎴愬姛杩斿洖鐮�
public static String HEADER_USERTYPE = "userType";//userType鍦℉EADER涓殑鍚嶅瓧
public static String HEADER_TOKEN = "token";//token
public static String DEFAULT_PID = "1";//榛樿鐪佸競鍖簆id=1琛ㄧず鍙栧叏涓浗
+
+ /**
+ * 鍒嗙被code
+ * 涓�绱歝ode锛堝織璇磋淇� zb_deco 浜у搧 product_intro 璧勮product_info 鍏ㄥ眿妗堜緥 whole_case锛�
+ * 鑰虫満绱歝ode锛堝織璇磋淇細 鍏ㄥ眿璁捐 zb_deco_qwsj 鍘ㄦ埧璁捐 zb_deco_cfsj 鏀剁撼璁捐 zb_deco_snsj 瀹剁殑iD zb_deco_jdid锛�
+ */
+ public interface CatalogCode{
+ String ZHISHUO_ZHUANGXIU ="zb_deco";
+ String CHANPING ="product_intro";
+ String ZIXUN ="product_info";
+ String QW_CASE ="whole_case";
+ String QW_SHEJI ="zb_deco_qwsj";
+ String CHUFANGSHEJI ="zb_deco_cfsj";
+ String SHOUNASHEJI ="zb_deco_snsj";
+ String JIADE_ID ="zb_deco_jdid";
+ }
public interface IntegerUrl{
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";
+ String TAG_LIST_URL ="/content/api/tag";
String CONTENT_LIST_URL ="/content/api/page";
String CONTENT_INFO_URL ="/content/api/detail/";
String COLLECT_DO_URL ="/content/api/collect";
@@ -27,7 +44,8 @@
String USER_UPDATE_NAME ="鐢ㄦ埛淇℃伅鍚屾";
String USER_GET_TOKEN_NAME ="鐢ㄦ埛鐧婚檰";
String USER_LOGOUT_NAME ="娉ㄩ攢鐢ㄦ埛";
- String CATALOG_LIST_NAME ="鑾峰彇鍒嗙被鍜屽垎绫讳笅鐨勬爣绛�";
+ String CATALOG_LIST_NAME ="鏍规嵁涓�绾ode鑾峰彇涓嬬骇鍒嗙被淇℃伅";
+ String TAG_LIST_NAME ="鏍规嵁鍒嗙被code鑾峰彇鏍囩淇℃伅";
String CONTENT_LIST_NAME ="鑾峰彇鍐呭鍒楄〃鍒嗛〉";
String CONTENT_INFO_NAME ="鑾峰彇鍐呭璇︽儏";
String COLLECT_DO_NAME ="鍐呭鏀惰棌";
diff --git a/server/service/src/main/java/com/doumee/biz/zbom/model/zhongtai/response/ZTAreaInfoResponse.java b/server/service/src/main/java/com/doumee/biz/zbom/model/zhongtai/response/ZTAreaInfoResponse.java
index 52c1541..00838af 100644
--- a/server/service/src/main/java/com/doumee/biz/zbom/model/zhongtai/response/ZTAreaInfoResponse.java
+++ b/server/service/src/main/java/com/doumee/biz/zbom/model/zhongtai/response/ZTAreaInfoResponse.java
@@ -2,6 +2,7 @@
import lombok.Data;
+import java.io.Serializable;
import java.util.Map;
@@ -9,7 +10,7 @@
* 鐪佸競鍖鸿鎯呰繑鍥�
*/
@Data
-public class ZTAreaInfoResponse {
+public class ZTAreaInfoResponse implements Serializable {
/**
* id":鈥�11000000000鏃�"
* pid":"1"
diff --git a/server/service/src/main/java/com/doumee/biz/zbom/model/zhongtai/response/ZTBasePageResponse.java b/server/service/src/main/java/com/doumee/biz/zbom/model/zhongtai/response/ZTBasePageResponse.java
index 441512c..fedcead 100644
--- a/server/service/src/main/java/com/doumee/biz/zbom/model/zhongtai/response/ZTBasePageResponse.java
+++ b/server/service/src/main/java/com/doumee/biz/zbom/model/zhongtai/response/ZTBasePageResponse.java
@@ -2,10 +2,11 @@
import lombok.Data;
+import java.io.Serializable;
import java.util.List;
@Data
-public class ZTBasePageResponse<T> {
+public class ZTBasePageResponse<T> implements Serializable {
/**
* 褰撳墠椤�
*/
diff --git a/server/service/src/main/java/com/doumee/biz/zbom/model/zhongtai/response/ZTBaseResponse.java b/server/service/src/main/java/com/doumee/biz/zbom/model/zhongtai/response/ZTBaseResponse.java
index 10a6620..c3a3956 100644
--- a/server/service/src/main/java/com/doumee/biz/zbom/model/zhongtai/response/ZTBaseResponse.java
+++ b/server/service/src/main/java/com/doumee/biz/zbom/model/zhongtai/response/ZTBaseResponse.java
@@ -2,8 +2,10 @@
import lombok.Data;
+import java.io.Serializable;
+
@Data
-public class ZTBaseResponse<T> {
+public class ZTBaseResponse<T> implements Serializable {
/**
*鏄惁鎴愬姛,true:鎴愬姛;false:澶辫触
*/
@@ -11,7 +13,7 @@
/**
* 娑堟伅鐮�,200:鎴愬姛;鍏朵粬code:澶辫触
*/
- private String code;
+ private Integer code;
/**
* 鎻愮ず娑堟伅
*/
diff --git a/server/service/src/main/java/com/doumee/biz/zbom/model/zhongtai/response/ZTCatalogInfoResponse.java b/server/service/src/main/java/com/doumee/biz/zbom/model/zhongtai/response/ZTCatalogInfoResponse.java
index 0755f2d..e7b9d60 100644
--- a/server/service/src/main/java/com/doumee/biz/zbom/model/zhongtai/response/ZTCatalogInfoResponse.java
+++ b/server/service/src/main/java/com/doumee/biz/zbom/model/zhongtai/response/ZTCatalogInfoResponse.java
@@ -2,6 +2,7 @@
import lombok.Data;
+import java.io.Serializable;
import java.util.List;
@@ -9,7 +10,7 @@
* 鐢ㄦ埛閫�鍑�
*/
@Data
-public class ZTCatalogInfoResponse {
+public class ZTCatalogInfoResponse implements Serializable {
/**
* 鐩綍鍞竴缂栫爜
*/
@@ -41,11 +42,11 @@
/**
* 鐩綍鎺掑簭
*/
- private String sort;
+ private Integer sort;
/**
* 瀛愮洰褰�
*/
- private List<ZTCatalogInfoResponse> childCatalog;
+// private List<ZTCatalogInfoResponse> childCatalog;
}
diff --git a/server/service/src/main/java/com/doumee/biz/zbom/model/zhongtai/response/ZTCatalogTagTypeResponse.java b/server/service/src/main/java/com/doumee/biz/zbom/model/zhongtai/response/ZTCatalogTagTypeResponse.java
index 03c8568..461cbab 100644
--- a/server/service/src/main/java/com/doumee/biz/zbom/model/zhongtai/response/ZTCatalogTagTypeResponse.java
+++ b/server/service/src/main/java/com/doumee/biz/zbom/model/zhongtai/response/ZTCatalogTagTypeResponse.java
@@ -2,6 +2,7 @@
import lombok.Data;
+import java.io.Serializable;
import java.util.List;
@@ -9,7 +10,7 @@
* 鐢ㄦ埛閫�鍑�
*/
@Data
-public class ZTCatalogTagTypeResponse {
+public class ZTCatalogTagTypeResponse implements Serializable {
/**
* 瀛愮洰褰�
*/
diff --git a/server/service/src/main/java/com/doumee/biz/zbom/model/zhongtai/response/ZTCollectResponse.java b/server/service/src/main/java/com/doumee/biz/zbom/model/zhongtai/response/ZTCollectResponse.java
index f15c7ec..b18f4c2 100644
--- a/server/service/src/main/java/com/doumee/biz/zbom/model/zhongtai/response/ZTCollectResponse.java
+++ b/server/service/src/main/java/com/doumee/biz/zbom/model/zhongtai/response/ZTCollectResponse.java
@@ -2,12 +2,14 @@
import lombok.Data;
+import java.io.Serializable;
+
/**
* 鐢ㄦ埛閫�鍑�
*/
@Data
-public class ZTCollectResponse {
+public class ZTCollectResponse implements Serializable {
/**
* 鏀惰棌绫诲瀷锛屼骇鍝侊紝妗堜緥锛屽疄鏅� 蹇呴渶
*/
diff --git a/server/service/src/main/java/com/doumee/biz/zbom/model/zhongtai/response/ZTContentInfoResponse.java b/server/service/src/main/java/com/doumee/biz/zbom/model/zhongtai/response/ZTContentInfoResponse.java
index 504177b..cc2cf79 100644
--- a/server/service/src/main/java/com/doumee/biz/zbom/model/zhongtai/response/ZTContentInfoResponse.java
+++ b/server/service/src/main/java/com/doumee/biz/zbom/model/zhongtai/response/ZTContentInfoResponse.java
@@ -2,6 +2,7 @@
import lombok.Data;
+import java.io.Serializable;
import java.util.Map;
@@ -9,7 +10,7 @@
* 鍐呭璇︽儏杩斿洖
*/
@Data
-public class ZTContentInfoResponse {
+public class ZTContentInfoResponse implements Serializable {
/**
* 浣滆��
*/
diff --git a/server/service/src/main/java/com/doumee/biz/zbom/model/zhongtai/response/ZTContentListResponse.java b/server/service/src/main/java/com/doumee/biz/zbom/model/zhongtai/response/ZTContentListResponse.java
index e783704..611d162 100644
--- a/server/service/src/main/java/com/doumee/biz/zbom/model/zhongtai/response/ZTContentListResponse.java
+++ b/server/service/src/main/java/com/doumee/biz/zbom/model/zhongtai/response/ZTContentListResponse.java
@@ -2,12 +2,14 @@
import lombok.Data;
+import java.io.Serializable;
+
/**
* 鍐呭鍒嗛〉鍒楄〃杩斿洖鍐呭
*/
@Data
-public class ZTContentListResponse {
+public class ZTContentListResponse implements Serializable {
/**
* 浣滆��
*/
diff --git a/server/service/src/main/java/com/doumee/biz/zbom/model/zhongtai/response/ZTTagChildInfoResponse.java b/server/service/src/main/java/com/doumee/biz/zbom/model/zhongtai/response/ZTTagChildInfoResponse.java
new file mode 100644
index 0000000..91bb89e
--- /dev/null
+++ b/server/service/src/main/java/com/doumee/biz/zbom/model/zhongtai/response/ZTTagChildInfoResponse.java
@@ -0,0 +1,31 @@
+package com.doumee.biz.zbom.model.zhongtai.response;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.List;
+
+
+/**
+ *
+ */
+@Data
+public class ZTTagChildInfoResponse implements Serializable {
+ /**
+ * 鏍囩鍊糃ODE
+ */
+ private String labelValueCode;
+ /**
+ * 鏍囩鍊糏D
+ */
+ private String labelValueId;
+ /**
+ * 鏍囩鍊糔AME
+ */
+ private String labelValueName;
+ /**
+ * 鏍囩鍊兼帓搴�
+ */
+ private String labelValueSort;
+
+}
diff --git a/server/service/src/main/java/com/doumee/biz/zbom/model/zhongtai/response/ZTTagInfoResponse.java b/server/service/src/main/java/com/doumee/biz/zbom/model/zhongtai/response/ZTTagInfoResponse.java
new file mode 100644
index 0000000..dedebe8
--- /dev/null
+++ b/server/service/src/main/java/com/doumee/biz/zbom/model/zhongtai/response/ZTTagInfoResponse.java
@@ -0,0 +1,36 @@
+package com.doumee.biz.zbom.model.zhongtai.response;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.List;
+
+
+/**
+ * 鐢ㄦ埛閫�鍑�
+ */
+@Data
+public class ZTTagInfoResponse implements Serializable {
+ /**
+ * 鏍囩CODE
+ */
+ private String labelCode;
+ /**
+ * 鏍囩ID
+ */
+ private String labelId;
+ /**
+ * 鏍囩NAME
+ */
+ private String labelName;
+ /**
+ * 鏍囩鎺掑簭
+ */
+ private String labelSort;
+
+ /**
+ * 瀛愮洰褰�
+ */
+ private List<ZTTagChildInfoResponse> valueVos;
+
+}
diff --git a/server/service/src/main/java/com/doumee/biz/zbom/model/zhongtai/response/ZTUserGetTokenResponse.java b/server/service/src/main/java/com/doumee/biz/zbom/model/zhongtai/response/ZTUserGetTokenResponse.java
index 4eae486..7c622c8 100644
--- a/server/service/src/main/java/com/doumee/biz/zbom/model/zhongtai/response/ZTUserGetTokenResponse.java
+++ b/server/service/src/main/java/com/doumee/biz/zbom/model/zhongtai/response/ZTUserGetTokenResponse.java
@@ -2,8 +2,10 @@
import lombok.Data;
+import java.io.Serializable;
+
@Data
-public class ZTUserGetTokenResponse {
+public class ZTUserGetTokenResponse implements Serializable {
/**
*鐢ㄦ埛涓存椂绁ㄦ嵁
*/
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 7a19d73..f9eebca 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
@@ -326,6 +326,7 @@
public static final String WX_PLATFORM = "WX_PLATFORM";
public static final String ZBOM_ZHONGTAI_API_URL = "ZBOM_ZHONGTAI_API_URL";
public static final String WX_PLATFORM_ACCESS_TOKEN = "WX_PLATFORM_ACCESS_TOKEN";
+ public static final String ZBOM_ENCODE_URL = "ZBOM_ENCODE_URL";
public static final String WX_PLATFORM_APPID = "WX_PLATFORM_APPID";
public static final String WX_PLATFORM_SECRET = "WX_PLATFORM_SECRET";
public static final String WX_PLATFORM_AUDIT_VISIT = "WX_PLATFORM_AUDIT_VISIT";
@@ -345,21 +346,6 @@
public static final String WX_SECRET_PERSONNEL = "WX_SECRET_PERSONNEL";
- public interface CrmSources{
-
-
- String SOURCE_DKXD = "DKXD";// 浠e涓嬪崟(DKXD)
- String SOURCE_LYSJ = "LYSJ";// 闆跺厓璁捐(LYSJ)
- String SOURCE_ZBSJSQ = "ZBSJSQ";// 蹇楅偊璁捐鐢宠(ZBSJSQ)
- String SOURCE_ZBDXFX = "ZBDXFX";// 蹇楅偊鐭俊鍒嗕韩(ZBDXFX)
- String SOURCE_ZBLLJL = "ZBLLJL";// 蹇楅偊娴忚璁板綍鍒嗕韩(ZBLLJL)
- String SOURCE_ZBWDSC = "ZBWDSC";// 蹇楅偊鎴戠殑鏀惰棌鍒嗕韩(ZBWDSC)
- String SOURCE_ZBLYSJ = "ZBLYSJ";// 蹇楅偊闆跺厓璁捐(ZBLYSJ)
- String SOURCE_ZBLDX = "ZBLDX";// 蹇楅偊鑰佸甫鏂�(ZBLDX)
- String SOURCE_ZBFGCS = "ZBFGCS";// 蹇楅偊椋庢牸娴嬭瘯(ZBFGCS)
- String SOURCE_ZBJX = "DSLX22";// 蹇楅偊瀹堕��(ZBJX)
- }
-
public interface RedisKeys {
String IMPORTING_MEMBER ="IMPORTING_MEMBER";
String IMPORTING_SHOP ="IMPORTING_SHOP";
@@ -367,6 +353,7 @@
String IAM_APPID ="IAM_APPID";
String ZBOM_CRM_API_KEY ="ZBOM_CRM_API_KEY";
String ZBOM_CRM_API_URL ="ZBOM_CRM_API_URL";
+ String ZBOM_ENCODE_URL ="ZBOM_ENCODE_URL";
String ZBOM_SMS_API_KEY ="ZBOM_SMS_API_KEY";
String ZBOM_ZHONGTAI_API_URL ="ZBOM_ZHONGTAI_API_URL";
String ZBOM_SMS_API_URL ="ZBOM_SMS_API_URL";
diff --git a/server/service/src/main/java/com/doumee/core/utils/HttpsUtil.java b/server/service/src/main/java/com/doumee/core/utils/HttpsUtil.java
index 46015fb..2d2d4f2 100644
--- a/server/service/src/main/java/com/doumee/core/utils/HttpsUtil.java
+++ b/server/service/src/main/java/com/doumee/core/utils/HttpsUtil.java
@@ -22,6 +22,13 @@
public static String post(String url, String data, String contentType, boolean ignoreSSL) {
return connection(url, "POST", data, contentType, ignoreSSL,null);
}
+ public static String sendGet(String url) {
+ if(url.startsWith("https://")){
+ return connection(url, "GET", "", "text/plain; charset=utf-8", true,null);
+ }else{
+ return connectionHttp(url, "GET", "", "text/plain; charset=utf-8",null);
+ }
+ }
public static String postJson(String url, String data) {
if(url.startsWith("https://")){
return connection(url, "POST", data, "application/json", true,null);
diff --git a/server/service/src/main/java/com/doumee/dao/business/CustomerUserMapper.java b/server/service/src/main/java/com/doumee/dao/business/CustomerUserMapper.java
new file mode 100644
index 0000000..1b8830f
--- /dev/null
+++ b/server/service/src/main/java/com/doumee/dao/business/CustomerUserMapper.java
@@ -0,0 +1,13 @@
+package com.doumee.dao.business;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.doumee.dao.business.model.CustomerUser;
+import com.github.yulichang.base.mapper.MPJJoinMapper;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2024/07/15 10:21
+ */
+public interface CustomerUserMapper extends MPJJoinMapper<CustomerUser> {
+
+}
diff --git a/server/service/src/main/java/com/doumee/dao/business/model/CustomerUser.java b/server/service/src/main/java/com/doumee/dao/business/model/CustomerUser.java
new file mode 100644
index 0000000..d8d0286
--- /dev/null
+++ b/server/service/src/main/java/com/doumee/dao/business/model/CustomerUser.java
@@ -0,0 +1,99 @@
+package com.doumee.dao.business.model;
+
+import com.doumee.core.annotation.excel.ExcelColumn;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import java.util.Date;
+
+/**
+ * 瀹㈡埛瀵艰喘鍏宠仈琛�
+ * @author 姹熻箘韫�
+ * @date 2024/07/15 10:21
+ */
+@Data
+@ApiModel("瀹㈡埛瀵艰喘鍏宠仈琛�")
+@TableName("`customer_user`")
+public class CustomerUser {
+
+ @TableId(type = IdType.AUTO)
+ @ApiModelProperty(value = "缂栫爜", example = "1")
+ @ExcelColumn(name="缂栫爜")
+ private Long id;
+
+ @ApiModelProperty(value = "鏄惁宸插垹闄� 0鏈垹闄� 1宸插垹闄�", example = "1")
+ @ExcelColumn(name="鏄惁宸插垹闄� 0鏈垹闄� 1宸插垹闄�")
+ private Integer isdeleted;
+
+ @ApiModelProperty(value = "鍒涘缓鏃堕棿")
+ @ExcelColumn(name="鍒涘缓鏃堕棿")
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ private Date createDate;
+
+ @ApiModelProperty(value = "鍒涘缓浜虹紪鐮�", example = "1")
+ @ExcelColumn(name="鍒涘缓浜虹紪鐮�")
+ private Integer creator;
+
+ @ApiModelProperty(value = "缂栬緫鏃堕棿")
+ @ExcelColumn(name="缂栬緫鏃堕棿")
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ private Date editDate;
+
+ @ApiModelProperty(value = "缂栬緫浜轰唬鐮�", example = "1")
+ @ExcelColumn(name="缂栬緫浜轰唬鐮�")
+ private Integer editor;
+
+ @ApiModelProperty(value = "瀹㈡埛鎵嬫満鍙�")
+ @ExcelColumn(name="瀹㈡埛鎵嬫満鍙�")
+ private String customerPhone;
+ @ApiModelProperty(value = "瀹㈡埛濮撳悕")
+ @ExcelColumn(name="瀹㈡埛濮撳悕")
+ private String customerName;
+ @ApiModelProperty(value = "瀵艰喘鎵嬫満鍙�")
+ @ExcelColumn(name="瀵艰喘鎵嬫満鍙�")
+ private String phone;
+
+ @ApiModelProperty(value = "澶囨敞")
+ @ExcelColumn(name="澶囨敞")
+ private String info;
+
+ @ApiModelProperty(value = "瀵艰喘缂栫爜锛堝叧鑱攗sers琛級", example = "1")
+ @ExcelColumn(name="瀵艰喘缂栫爜锛堝叧鑱攗sers琛級")
+ private Long userId;
+
+ @ApiModelProperty(value = "瀵艰喘IAM缂栫爜")
+ @ExcelColumn(name="瀵艰喘IAM缂栫爜")
+ private String iamUserId;
+
+ @ApiModelProperty(value = "鐢ㄦ埛缂栫爜锛堝叧鑱攎ember琛級", example = "1")
+ @ExcelColumn(name="鐢ㄦ埛缂栫爜锛堝叧鑱攎ember琛級")
+ private Long memberId;
+
+ @ApiModelProperty(value = "瀵艰喘濮撳悕")
+ @ExcelColumn(name="瀵艰喘濮撳悕")
+ private String name;
+
+ @ApiModelProperty(value = "瀵艰喘缁勭粐鍚嶇О")
+ @ExcelColumn(name="瀵艰喘缁勭粐鍚嶇О")
+ private String orgName;
+
+ @ApiModelProperty(value = "瀵艰喘鐧婚檰璐﹀彿")
+ @ExcelColumn(name="瀵艰喘鐧婚檰璐﹀彿")
+ private String username;
+
+ @ApiModelProperty(value = "浜у搧鍚嶇О")
+ @ExcelColumn(name="浜у搧鍚嶇О")
+ private String productCodeName;
+
+ @ApiModelProperty(value = "鍦板潃璇︽儏")
+ @ExcelColumn(name="鍦板潃璇︽儏")
+ private String addr;
+ @ApiModelProperty(value = "鍒涘缓鏃ユ湡")
+ @ExcelColumn(name="鍒涘缓鏃ユ湡")
+ private String creationDate ;//鏃堕棿 yyyy-MM-dd
+
+}
diff --git a/server/service/src/main/java/com/doumee/dao/timer/scheduler/QuartzManage.java b/server/service/src/main/java/com/doumee/dao/timer/scheduler/QuartzManage.java
index e0191a9..53331b5 100644
--- a/server/service/src/main/java/com/doumee/dao/timer/scheduler/QuartzManage.java
+++ b/server/service/src/main/java/com/doumee/dao/timer/scheduler/QuartzManage.java
@@ -1,5 +1,7 @@
package com.doumee.dao.timer.scheduler;
+import com.doumee.core.constants.ResponseStatus;
+import com.doumee.core.exception.BusinessException;
import com.doumee.dao.timer.entity.JobState;
import com.doumee.dao.timer.entity.QuartzJob;
import org.quartz.*;
@@ -142,7 +144,7 @@
this.scheduler.pauseJob(getJobKey(quartzJob.getId()));
}
} catch (SchedulerException e){
- throw new RuntimeException("pauseJob Fail",e) ;
+ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"pauseJob Fail",e) ;
}
}
diff --git a/server/service/src/main/java/com/doumee/service/business/CustomerUserService.java b/server/service/src/main/java/com/doumee/service/business/CustomerUserService.java
new file mode 100644
index 0000000..d3b2aca
--- /dev/null
+++ b/server/service/src/main/java/com/doumee/service/business/CustomerUserService.java
@@ -0,0 +1,99 @@
+package com.doumee.service.business;
+
+import com.doumee.core.model.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.dao.business.model.CustomerUser;
+import java.util.List;
+
+/**
+ * 瀹㈡埛瀵艰喘鍏宠仈琛⊿ervice瀹氫箟
+ * @author 姹熻箘韫�
+ * @date 2024/07/15 10:21
+ */
+public interface CustomerUserService {
+
+ /**
+ * 鍒涘缓
+ *
+ * @param customerUser 瀹炰綋瀵硅薄
+ * @return Long
+ */
+ Long create(CustomerUser customerUser);
+
+ /**
+ * 涓婚敭鍒犻櫎
+ *
+ * @param id 涓婚敭
+ */
+ void deleteById(Long id);
+
+ /**
+ * 鍒犻櫎
+ *
+ * @param customerUser 瀹炰綋瀵硅薄
+ */
+ void delete(CustomerUser customerUser);
+
+ /**
+ * 鎵归噺涓婚敭鍒犻櫎
+ *
+ * @param ids 涓婚敭闆�
+ */
+ void deleteByIdInBatch(List<Long> ids);
+
+ /**
+ * 涓婚敭鏇存柊
+ *
+ * @param customerUser 瀹炰綋瀵硅薄
+ */
+ void updateById(CustomerUser customerUser);
+
+ /**
+ * 鎵归噺涓婚敭鏇存柊
+ *
+ * @param customerUsers 瀹炰綋闆�
+ */
+ void updateByIdInBatch(List<CustomerUser> customerUsers);
+
+ /**
+ * 涓婚敭鏌ヨ
+ *
+ * @param id 涓婚敭
+ * @return CustomerUser
+ */
+ CustomerUser findById(Long id);
+
+ /**
+ * 鏉′欢鏌ヨ鍗曟潯璁板綍
+ *
+ * @param customerUser 瀹炰綋瀵硅薄
+ * @return CustomerUser
+ */
+ CustomerUser findOne(CustomerUser customerUser);
+
+ /**
+ * 鏉′欢鏌ヨ
+ *
+ * @param customerUser 瀹炰綋瀵硅薄
+ * @return List<CustomerUser>
+ */
+ List<CustomerUser> findList(CustomerUser customerUser);
+
+ /**
+ * 鍒嗛〉鏌ヨ
+ *
+ * @param pageWrap 鍒嗛〉瀵硅薄
+ * @return PageData<CustomerUser>
+ */
+ PageData<CustomerUser> findPage(PageWrap<CustomerUser> pageWrap);
+
+ /**
+ * 鏉′欢缁熻
+ *
+ * @param customerUser 瀹炰綋瀵硅薄
+ * @return long
+ */
+ long count(CustomerUser customerUser);
+
+ void syncYesterday(String date);
+}
diff --git a/server/service/src/main/java/com/doumee/service/business/InitService.java b/server/service/src/main/java/com/doumee/service/business/InitService.java
index d05de5d..4028db6 100644
--- a/server/service/src/main/java/com/doumee/service/business/InitService.java
+++ b/server/service/src/main/java/com/doumee/service/business/InitService.java
@@ -40,6 +40,7 @@
redisTemplate.opsForValue().set(Constants.RedisKeys.ZBOM_SMS_API_URL,systemDictDataBiz.queryByCode(Constants.ZBOM,Constants.ZBOM_SMS_API_URL).getCode());
redisTemplate.opsForValue().set(Constants.RedisKeys.ZBOM_SMS_API_KEY,systemDictDataBiz.queryByCode(Constants.ZBOM,Constants.ZBOM_SMS_API_KEY).getCode());
redisTemplate.opsForValue().set(Constants.RedisKeys.ZBOM_ZHONGTAI_API_URL,systemDictDataBiz.queryByCode(Constants.ZBOM,Constants.ZBOM_ZHONGTAI_API_URL).getCode());
+ redisTemplate.opsForValue().set(Constants.RedisKeys.ZBOM_ENCODE_URL,systemDictDataBiz.queryByCode(Constants.ZBOM,Constants.ZBOM_ENCODE_URL).getCode());
}
@PostConstruct
public void cacheShopTree(){
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/CustomerUserServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/CustomerUserServiceImpl.java
new file mode 100644
index 0000000..e4288db
--- /dev/null
+++ b/server/service/src/main/java/com/doumee/service/business/impl/CustomerUserServiceImpl.java
@@ -0,0 +1,263 @@
+package com.doumee.service.business.impl;
+
+import com.doumee.biz.zbom.ZbomCRMService;
+import com.doumee.biz.zbom.model.crm.CRMConstants;
+import com.doumee.biz.zbom.model.crm.CrmDaogouBindListRequest;
+import com.doumee.biz.zbom.model.crm.response.CRMBaseResponse;
+import com.doumee.biz.zbom.model.crm.response.CRMDaogouBindListResponse;
+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.CustomerUserMapper;
+import com.doumee.dao.business.MemberMapper;
+import com.doumee.dao.business.UsersMapper;
+import com.doumee.dao.business.model.CustomerUser;
+import com.doumee.dao.business.model.Member;
+import com.doumee.dao.business.model.Users;
+import com.doumee.service.business.CustomerUserService;
+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 org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.CollectionUtils;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 瀹㈡埛瀵艰喘鍏宠仈琛⊿ervice瀹炵幇
+ * @author 姹熻箘韫�
+ * @date 2024/07/15 10:21
+ */
+@Service
+public class CustomerUserServiceImpl implements CustomerUserService {
+
+ @Autowired
+ private CustomerUserMapper customerUserMapper;
+ @Autowired
+ private MemberMapper memberMapper;
+ @Autowired
+ private UsersMapper usersMapper;
+ @Autowired
+ private ZbomCRMService zbomCRMService;
+
+ @Override
+ public Long create(CustomerUser customerUser) {
+ customerUserMapper.insert(customerUser);
+ return customerUser.getId();
+ }
+
+ @Override
+ public void deleteById(Long id) {
+ customerUserMapper.deleteById(id);
+ }
+
+ @Override
+ public void delete(CustomerUser customerUser) {
+ UpdateWrapper<CustomerUser> deleteWrapper = new UpdateWrapper<>(customerUser);
+ customerUserMapper.delete(deleteWrapper);
+ }
+
+ @Override
+ public void deleteByIdInBatch(List<Long> ids) {
+ if (CollectionUtils.isEmpty(ids)) {
+ return;
+ }
+ customerUserMapper.deleteBatchIds(ids);
+ }
+
+ @Override
+ public void updateById(CustomerUser customerUser) {
+ customerUserMapper.updateById(customerUser);
+ }
+
+ @Override
+ public void updateByIdInBatch(List<CustomerUser> customerUsers) {
+ if (CollectionUtils.isEmpty(customerUsers)) {
+ return;
+ }
+ for (CustomerUser customerUser: customerUsers) {
+ this.updateById(customerUser);
+ }
+ }
+
+ @Override
+ public CustomerUser findById(Long id) {
+ return customerUserMapper.selectById(id);
+ }
+
+ @Override
+ public CustomerUser findOne(CustomerUser customerUser) {
+ QueryWrapper<CustomerUser> wrapper = new QueryWrapper<>(customerUser);
+ return customerUserMapper.selectOne(wrapper);
+ }
+
+ @Override
+ public List<CustomerUser> findList(CustomerUser customerUser) {
+ QueryWrapper<CustomerUser> wrapper = new QueryWrapper<>(customerUser);
+ return customerUserMapper.selectList(wrapper);
+ }
+
+ @Override
+ public PageData<CustomerUser> findPage(PageWrap<CustomerUser> pageWrap) {
+ IPage<CustomerUser> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
+ QueryWrapper<CustomerUser> queryWrapper = new QueryWrapper<>();
+ Utils.MP.blankToNull(pageWrap.getModel());
+ if (pageWrap.getModel().getId() != null) {
+ queryWrapper.lambda().eq(CustomerUser::getId, pageWrap.getModel().getId());
+ }
+ if (pageWrap.getModel().getIsdeleted() != null) {
+ queryWrapper.lambda().eq(CustomerUser::getIsdeleted, pageWrap.getModel().getIsdeleted());
+ }
+ if (pageWrap.getModel().getCreateDate() != null) {
+ queryWrapper.lambda().ge(CustomerUser::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate()));
+ queryWrapper.lambda().le(CustomerUser::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate()));
+ }
+ if (pageWrap.getModel().getCreator() != null) {
+ queryWrapper.lambda().eq(CustomerUser::getCreator, pageWrap.getModel().getCreator());
+ }
+ if (pageWrap.getModel().getEditDate() != null) {
+ queryWrapper.lambda().ge(CustomerUser::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate()));
+ queryWrapper.lambda().le(CustomerUser::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate()));
+ }
+ if (pageWrap.getModel().getEditor() != null) {
+ queryWrapper.lambda().eq(CustomerUser::getEditor, pageWrap.getModel().getEditor());
+ }
+ if (pageWrap.getModel().getPhone() != null) {
+ queryWrapper.lambda().eq(CustomerUser::getPhone, pageWrap.getModel().getPhone());
+ }
+ if (pageWrap.getModel().getInfo() != null) {
+ queryWrapper.lambda().eq(CustomerUser::getInfo, pageWrap.getModel().getInfo());
+ }
+ if (pageWrap.getModel().getUserId() != null) {
+ queryWrapper.lambda().eq(CustomerUser::getUserId, pageWrap.getModel().getUserId());
+ }
+ if (pageWrap.getModel().getIamUserId() != null) {
+ queryWrapper.lambda().eq(CustomerUser::getIamUserId, pageWrap.getModel().getIamUserId());
+ }
+ if (pageWrap.getModel().getMemberId() != null) {
+ queryWrapper.lambda().eq(CustomerUser::getMemberId, pageWrap.getModel().getMemberId());
+ }
+ if (pageWrap.getModel().getName() != null) {
+ queryWrapper.lambda().eq(CustomerUser::getName, pageWrap.getModel().getName());
+ }
+ if (pageWrap.getModel().getOrgName() != null) {
+ queryWrapper.lambda().eq(CustomerUser::getOrgName, pageWrap.getModel().getOrgName());
+ }
+ if (pageWrap.getModel().getUsername() != null) {
+ queryWrapper.lambda().eq(CustomerUser::getUsername, pageWrap.getModel().getUsername());
+ }
+ if (pageWrap.getModel().getProductCodeName() != null) {
+ queryWrapper.lambda().eq(CustomerUser::getProductCodeName, pageWrap.getModel().getProductCodeName());
+ }
+ if (pageWrap.getModel().getAddr() != null) {
+ queryWrapper.lambda().eq(CustomerUser::getAddr, pageWrap.getModel().getAddr());
+ }
+ for(PageWrap.SortData sortData: pageWrap.getSorts()) {
+ if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
+ queryWrapper.orderByDesc(sortData.getProperty());
+ } else {
+ queryWrapper.orderByAsc(sortData.getProperty());
+ }
+ }
+ return PageData.from(customerUserMapper.selectPage(page, queryWrapper));
+ }
+
+ @Override
+ public long count(CustomerUser customerUser) {
+ QueryWrapper<CustomerUser> wrapper = new QueryWrapper<>(customerUser);
+ return customerUserMapper.selectCount(wrapper);
+ }
+ @Override
+ @Transactional
+ public void syncYesterday(String date) {
+ CrmDaogouBindListRequest request = new CrmDaogouBindListRequest();
+ request.setPage(0);
+ request.setPageSize(100);
+ request.setTiming(Constants.ONE+"");
+ request.setCreationDate(date);
+ boolean hasMore = true;
+ int currentNum = 0;
+ Date cdate = new Date();
+ while (hasMore){
+ try {
+ request.setPage(request.getPage()+1);
+ currentNum += currentNum;
+ CRMBaseResponse<List<CRMDaogouBindListResponse>> response = zbomCRMService.getDaogouBindList(request);
+ if(response==null
+ || !StringUtils.equals(response.getCode(), CRMConstants.CODE_SUCCESS)
+ || response.getData() ==null
+ || response.getData().size() ==0){
+ hasMore = false;
+ }
+ if(currentNum >= response.getTotal()){
+ hasMore = false;
+ }
+ dealSyncDataBiz(cdate,response.getData());
+ }catch (Exception e){
+ hasMore = false;
+ }
+ }
+ }
+
+ private void dealSyncDataBiz(Date date,List<CRMDaogouBindListResponse> list) {
+ List<CustomerUser> addList = new ArrayList<>();
+ for(CRMDaogouBindListResponse data : list){
+ if(StringUtils.isBlank(data.getCustomerPhone())){
+ continue;
+ }
+ Member 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.getUserId() )
+ .last("limit 1" ));
+ if(member == null){
+ continue;
+ }
+ /**
+ * 鍒犻櫎鑰佸緱鏁版嵁
+ */
+ customerUserMapper.update(null,new UpdateWrapper<CustomerUser>().lambda()
+ .eq(CustomerUser::getPhone,data.getDgPhone() )
+ .eq(CustomerUser::getUsername,data.getUseName() )
+ .eq(CustomerUser::getIsdeleted,Constants.ZERO)
+ .set(CustomerUser::getIsdeleted,Constants.ONE)
+ );
+ CustomerUser model = new CustomerUser();
+ model.setCreateDate(date);
+ model.setIsdeleted(Constants.ZERO);
+ model.setEditDate(date);
+ model.setName(data.getDgName());
+ model.setPhone(data.getDgPhone());
+ model.setOrgName(data.getOrgName());
+ model.setCustomerName(data.getCustomerName());
+ model.setCustomerPhone(data.getCustomerPhone());
+ model.setUsername(data.getUseName());
+ model.setIamUserId(data.getUserId());
+ model.setUserId(user== null?null:user.getId());
+ model.setCreationDate(data.getCreationDate());
+ addList.add(model);
+ }
+ if(addList .size() >0){
+ int temp = 0;
+ while(temp < addList.size()){
+ int index;
+ if(temp + 500 <= addList.size()){
+ index = temp+500;
+ }else{
+ index = addList.size();
+ }
+ customerUserMapper.insert(addList.subList(temp,index));
+ temp = index;
+ }
+ }
+ }
+}
--
Gitblit v1.9.3