From b6d5c43b9dd39066a949c0dcdc944d4c17351256 Mon Sep 17 00:00:00 2001
From: liukangdong <898885815@qq.com>
Date: 星期四, 25 七月 2024 18:23:09 +0800
Subject: [PATCH] Merge branch 'master' of http://139.186.142.91:10010/r/productDev/zbomyoujia
---
server/service/src/main/java/com/doumee/dao/business/model/News.java | 4
server/web/src/main/java/com/doumee/api/web/CustomerApi.java | 25 +-
admin/src/components/business/OperaShopWindow.vue | 75 +++++---
server/service/src/main/java/com/doumee/dao/web/reqeust/GenerateQRCodeRequest.java | 33 ++++
server/service/src/main/java/com/doumee/biz/zbom/model/zhongtai/ZTContentListRequest.java | 2
server/service/src/main/java/com/doumee/service/business/GetZhongTaiDataService.java | 8
admin/package-lock.json | 5
server/service/src/main/java/com/doumee/service/business/impl/GetCrmDataServiceImpl.java | 6
admin/package.json | 1
server/service/src/main/java/com/doumee/service/business/UsersService.java | 4
server/service/src/main/java/com/doumee/service/business/impl/GetZhongTaiDataServiceImpl.java | 99 +++++++++--
server/service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java | 15 -
server/service/src/main/java/com/doumee/biz/zbom/model/zhongtai/response/ZTImageListResponse.java | 3
wechat_staff/pages/userinfo/index.js | 1
server/service/src/main/java/com/doumee/core/utils/Constants.java | 3
server/web/src/main/java/com/doumee/api/web/PersonnelApi.java | 16 ++
server/service/src/main/java/com/doumee/dao/web/reqeust/EditShopDTO.java | 3
server/service/src/main/java/com/doumee/service/business/impl/ShopServiceImpl.java | 10 +
server/service/src/main/java/com/doumee/service/business/impl/UsersServiceImpl.java | 61 ++++++-
admin/public/index.html | 2
server/web/src/main/java/com/doumee/api/web/CustomerManageApi.java | 62 +++++++
admin/.env.development | 2
server/service/src/main/java/com/doumee/service/business/impl/NewsServiceImpl.java | 20 ++
23 files changed, 368 insertions(+), 92 deletions(-)
diff --git a/admin/.env.development b/admin/.env.development
index aa3a833..4cc5086 100644
--- a/admin/.env.development
+++ b/admin/.env.development
@@ -1,3 +1,3 @@
# 寮�鍙戠幆澧冮厤缃�
NODE_ENV = 'development'
-VUE_APP_BASE_API = 'http://localhost:10028'
+VUE_APP_BASE_API = 'http://192.168.0.135:10028'
diff --git a/admin/package-lock.json b/admin/package-lock.json
index c33f739..eb7ae85 100644
--- a/admin/package-lock.json
+++ b/admin/package-lock.json
@@ -13900,6 +13900,11 @@
"clipboard": "^2.0.4"
}
},
+ "vue-jsonp": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmmirror.com/vue-jsonp/-/vue-jsonp-2.0.0.tgz",
+ "integrity": "sha512-Mzd9GNeuKP5hHFDWZNMWOsCuMILSkA6jo2l4A02wheFz3qqBzH7aSEFTey1BRCZCLizlaf1EqJ5YUtF392KspA=="
+ },
"vue-loader": {
"version": "15.9.7",
"resolved": "https://registry.nlark.com/vue-loader/download/vue-loader-15.9.7.tgz",
diff --git a/admin/package.json b/admin/package.json
index 40ef6c2..a6d5a0e 100644
--- a/admin/package.json
+++ b/admin/package.json
@@ -25,6 +25,7 @@
"vue": "^2.6.11",
"vue-clipboard2": "^0.3.1",
"vue-json-viewer": "^2.2.22",
+ "vue-jsonp": "^2.0.0",
"vue-router": "^3.5.1",
"vuescroll": "^4.17.3",
"vuex": "^3.4.0",
diff --git a/admin/public/index.html b/admin/public/index.html
index 9cba38a..f73bed3 100644
--- a/admin/public/index.html
+++ b/admin/public/index.html
@@ -5,7 +5,7 @@
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<link rel="icon" href="<%= BASE_URL %>faviconzb.ico">
- <script charset="utf-8" src="https://map.qq.com/api/js?v=2.exp&key=HIDBZ-2QXL4-TAWUD-XET6Q-EKTJE-CCBSQ"></script>
+ <script charset="utf-8" src="https://map.qq.com/api/js?v=2.exp&libraries=service&key=HIDBZ-2QXL4-TAWUD-XET6Q-EKTJE-CCBSQ"></script>
<!-- <script type="text/javascript" src="https://mapapi.qq.com/web/mapComponents/geoLocation/v/geolocation.min.js"></script>
<script type="text/javascript" src="https://map.qq.com/api/gljs?v=1.exp&libraries=service&key=HIDBZ-2QXL4-TAWUD-XET6Q-EKTJE-CCBSQ"></script>
<script type="text/javascript" src="https://map.qq.com/api/gljs?v=1.exp&key=HIDBZ-2QXL4-TAWUD-XET6Q-EKTJE-CCBSQ"></script>-->
diff --git a/admin/src/components/business/OperaShopWindow.vue b/admin/src/components/business/OperaShopWindow.vue
index 547c708..b382539 100644
--- a/admin/src/components/business/OperaShopWindow.vue
+++ b/admin/src/components/business/OperaShopWindow.vue
@@ -63,6 +63,8 @@
<script>
import BaseOpera from '@/components/base/BaseOpera'
import GlobalWindow from '@/components/common/GlobalWindow'
+import { jsonp } from 'vue-jsonp'
+
export default {
name: 'OperaShopWindow',
extends: BaseOpera,
@@ -71,8 +73,8 @@
return {
geocoder: null,
map: [],
- searchValue:'',
- marker:null,
+ searchValue: '',
+ marker: null,
// 琛ㄥ崟鏁版嵁
provinces: [],
cities: [],
@@ -108,9 +110,22 @@
})
},
methods: {
- searchAddress( ){
- if(this.geocoder && this.searchValue){
- this.geocoder.getLocation(this.searchValue)
+ searchAddress () {
+ if ( this.searchValue) {
+ var that = this
+ jsonp('https://apis.map.qq.com/ws/geocoder/v1/', {
+ address: this.searchValue,
+ key: 'HIDBZ-2QXL4-TAWUD-XET6Q-EKTJE-CCBSQ',
+ output: 'jsonp'
+ }).then(result => {
+ console.log(result)
+ if(result.result.location){
+ that.changePostion(result.result.location.lng, result.result.location.lat)
+ }
+ }).catch(error => {
+ // 璇锋眰澶辫触澶勭悊
+ console.log(error)
+ })
}
},
initMap (lat, long) {
@@ -120,20 +135,20 @@
center: center,
zoom: 17
})
- this.changePostion(long,lat)
+ this.changePostion(long, lat)
qq.maps.event.addListener(this.map, 'click',
function (event) {
that.changePostion(event.latLng.lng, event.latLng.lat)
}
)
- this.geocoder = new qq.maps.Geocoder()
+ /* this.geocoder = new qq.maps.Geocoder()
this.geocoder.setComplete(function (result) {
- that.changePostion(result.detail.location.lng,result.detail.location.lat)
+ that.changePostion(result.detail.location.lng, result.detail.location.lat)
})
// 鑻ユ湇鍔¤姹傚け璐ワ紝鍒欒繍琛屼互涓嬪嚱鏁�
- this.geocoder.setError(function () {
- console.log('閫嗚В鏋愬け璐�')
- })
+ this.geocoder.setError(function (e) {
+ console.log(that.searchValue + '=====閫嗚В鏋愬け璐�')
+ })*/
},
open (title, target) {
this.title = title
@@ -157,7 +172,7 @@
const mapContainer = this.$refs.mapContainer // 鑾峰彇鍦板浘瀹瑰櫒
if (mapContainer) {
// 鍒濆鍖栧湴鍥句箣鍓嶆鏌ュ鍣ㄦ槸鍚﹀瓨鍦�
- this.initMap(this.form.latitude,this.form.longitude)
+ this.initMap(this.form.latitude, this.form.longitude)
// 鍒濆鍖栬吘璁湴鍥�
}
})
@@ -167,12 +182,12 @@
.then(res => {
this.provinces = res
})
- if(this.form.provinceCode){
- this.selectProvince(this.form.provinceCode,true)
+ if (this.form.provinceCode) {
+ this.selectProvince(this.form.provinceCode, true)
}
},
// 閫夋嫨鐪佷唤
- selectProvince (val,isInit) {
+ selectProvince (val, isInit) {
this.provinces.forEach(item => {
if (item.id == val) {
this.form.provinceName = item.name
@@ -180,36 +195,36 @@
})
this.cities = []
this.areas = []
- if(!isInit){
+ if (!isInit) {
this.form.cityName = ''
this.form.areaCode = ''
this.form.cityCode = ''
this.form.areaName = ''
}
- if(!val || val ==''){
+ if (!val || val == '') {
return
}
this.api.areaList({ pid: val })
.then(res => {
this.cities = res
- if(isInit){
- this.selectCity(this.form.cityCode,isInit)
+ if (isInit) {
+ this.selectCity(this.form.cityCode, isInit)
}
})
},
// 閫夋嫨鍩庡競
- selectCity (val,isInit) {
+ selectCity (val, isInit) {
this.cities.forEach(item => {
if (item.id == val) {
this.form.cityName = item.name
}
})
this.areas = []
- if(!isInit){
+ if (!isInit) {
this.form.areaCode = ''
this.form.areaName = ''
}
- if(!val || val ==''){
+ if (!val || val == '') {
return
}
this.api.areaList({ pid: val })
@@ -224,24 +239,24 @@
}
})
},
- changeMapCenter(){
- this.searchValue = (this.form.provinceName||'')+(this.form.cityName||'')+(this.form.areaName||'')+(this.form.address||'')
+ changeMapCenter () {
+ this.searchValue = (this.form.provinceName || '') + (this.form.cityName || '') + (this.form.areaName || '') + (this.form.address || '')
this.searchAddress()
},
changePostion (lng, lat) {
if (lng || lat) {
this.form.longitude = lng
this.form.latitude = lat
- if(this.map){
- if(this.marker){
+ if (this.map) {
+ if (this.marker) {
this.marker.setMap(null)
}
- var pos =new qq.maps.LatLng(lat,lng);
+ var pos = new qq.maps.LatLng(lat, lng)
this.map.setCenter(pos)
- this.marker= new qq.maps.Marker({
+ this.marker = new qq.maps.Marker({
position: pos,
- animation:qq.maps.MarkerAnimation.DROP,
- map:this.map
+ animation: qq.maps.MarkerAnimation.DROP,
+ map: this.map
})
}
}
diff --git a/server/service/src/main/java/com/doumee/biz/zbom/model/zhongtai/ZTContentListRequest.java b/server/service/src/main/java/com/doumee/biz/zbom/model/zhongtai/ZTContentListRequest.java
index eee4daf..497b92d 100644
--- a/server/service/src/main/java/com/doumee/biz/zbom/model/zhongtai/ZTContentListRequest.java
+++ b/server/service/src/main/java/com/doumee/biz/zbom/model/zhongtai/ZTContentListRequest.java
@@ -29,7 +29,7 @@
// @ApiModelProperty(value = "鏍囩")
// private String tagCodes;
- @ApiModelProperty(value = "鎺掑簭鏂瑰紡 NORMAL - 榛樿锛汬OT - 鏈�鐑紱LATEST - 鏈�鏂帮紱")
+ @ApiModelProperty(value = "鎺掑簭 榛樿涓嶄紶锛涙渶鐑璯reet锛涙渶鏂皌ime")
private String sortType;
@ApiModelProperty(value = "澶氫釜鏍囩鍞竴缂栫爜鐨勫垪琛紝澶氫釜鏍囩鍞竴缂栫爜鐨勫垪琛�")
diff --git a/server/service/src/main/java/com/doumee/biz/zbom/model/zhongtai/response/ZTImageListResponse.java b/server/service/src/main/java/com/doumee/biz/zbom/model/zhongtai/response/ZTImageListResponse.java
index 55dd5ac..182dfee 100644
--- a/server/service/src/main/java/com/doumee/biz/zbom/model/zhongtai/response/ZTImageListResponse.java
+++ b/server/service/src/main/java/com/doumee/biz/zbom/model/zhongtai/response/ZTImageListResponse.java
@@ -1,6 +1,7 @@
package com.doumee.biz.zbom.model.zhongtai.response;
import com.doumee.biz.zbom.model.zhongtai.APISpaceCaseVo;
+import com.doumee.dao.business.model.Users;
import lombok.Data;
import java.io.Serializable;
@@ -15,4 +16,6 @@
private List<String> imageurlList;
+ private Users users;
+
}
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 bdfc54a..a236b56 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
@@ -109,6 +109,7 @@
public static final String ZBOM = "ZBOM" ;
public static final String ZBOM_IAM_APPKEY = "ZBOM_IAM_APPKEY";
public static final String ZBOM_IAM_APPID = "ZBOM_IAM_APPID";
+ public static final String ZBOM_PAD_INTERFACE_KEY = "ZBOM_PAD_INTERFACE_KEY";
public static final String USER_CARD_HEADER_IMG ="USER_CARD_HEADER_IMG" ;
public static final String USER_CARD_PHONE_IMG ="USER_CARD_PHONE_IMG" ;
public static final String USER_CARD_ADDR_IMG ="USER_CARD_ADDR_IMG" ;
@@ -680,7 +681,7 @@
// 姝e紡鐗堜负 "release"锛屼綋楠岀増涓� "trial"锛屽紑鍙戠増涓� "develop"銆傞粯璁ゆ槸姝e紡鐗堛��
String env_version = "trial";
body.put("env_version", env_version);
- if(env_version.equals("release")){
+ if(env_version.equals("release")&&StringUtils.isNotBlank(page)){
body.put("page", page);
}
// 閫忔槑锛屾牴鎹綘鐨勫満鏅嚜琛岃缃産ody鍙傛暟
diff --git a/server/service/src/main/java/com/doumee/dao/business/model/News.java b/server/service/src/main/java/com/doumee/dao/business/model/News.java
index 04c6aef..87a285a 100644
--- a/server/service/src/main/java/com/doumee/dao/business/model/News.java
+++ b/server/service/src/main/java/com/doumee/dao/business/model/News.java
@@ -112,6 +112,10 @@
@TableField(exist = false)
private List<Multifile> fileList;
+ @ApiModelProperty(value = "鏄惁鏌ヨ鍙戝竷锛�0=鍚︼紱1=鏄�")
+ @TableField(exist = false)
+ private Integer isPublish;
+
@ApiModelProperty(value = "绱犳潗绫诲瀷 0鎺ㄥ箍璧勮 1瀹氬埗鏈嶅姟", example = "1")
@ExcelColumn(name="绱犳潗绫诲瀷 0鎺ㄥ箍璧勮 1瀹氬埗鏈嶅姟")
private Integer type;
diff --git a/server/service/src/main/java/com/doumee/dao/web/reqeust/EditShopDTO.java b/server/service/src/main/java/com/doumee/dao/web/reqeust/EditShopDTO.java
index 7bf9b07..baa727d 100644
--- a/server/service/src/main/java/com/doumee/dao/web/reqeust/EditShopDTO.java
+++ b/server/service/src/main/java/com/doumee/dao/web/reqeust/EditShopDTO.java
@@ -39,4 +39,7 @@
@ApiModelProperty(value = "绾害", example = "1")
private BigDecimal latitude;
+
+ @ApiModelProperty(value = "鎿嶄綔浜�", hidden = true)
+ private Long userId;
}
diff --git a/server/service/src/main/java/com/doumee/dao/web/reqeust/GenerateQRCodeRequest.java b/server/service/src/main/java/com/doumee/dao/web/reqeust/GenerateQRCodeRequest.java
new file mode 100644
index 0000000..e6c412e
--- /dev/null
+++ b/server/service/src/main/java/com/doumee/dao/web/reqeust/GenerateQRCodeRequest.java
@@ -0,0 +1,33 @@
+package com.doumee.dao.web.reqeust;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * Created by IntelliJ IDEA.
+ *
+ * @Author : Rk
+ * @create 2024/7/25 10:35
+ */
+@Data
+public class GenerateQRCodeRequest {
+
+
+ @ApiModelProperty(value = "涓氬姟绫诲瀷锛�0:浜у搧;1:妗堜緥;2:瀹炴櫙")
+ private Integer businessType;
+
+ @ApiModelProperty(value = "涓氬姟涓婚敭")
+ private String businessId;
+
+ @ApiModelProperty(value = "iam缂栫爜")
+ private String iamId;
+
+ @ApiModelProperty(value = "璺宠浆鍦板潃",hidden = true)
+ private String path;
+
+
+
+
+
+
+}
diff --git a/server/service/src/main/java/com/doumee/service/business/GetZhongTaiDataService.java b/server/service/src/main/java/com/doumee/service/business/GetZhongTaiDataService.java
index e208654..1b156d0 100644
--- a/server/service/src/main/java/com/doumee/service/business/GetZhongTaiDataService.java
+++ b/server/service/src/main/java/com/doumee/service/business/GetZhongTaiDataService.java
@@ -122,7 +122,7 @@
* @param userId
* @return
*/
- ZTProductInfoResponse getProductInfo(String id,String userType,Long userId);
+ ZTProductInfoResponse getProductInfo(String id,String userType,Long userId,String salesId);
/**
* 涓彴 - 鍏ㄥ眿璧勮璇︽儏
@@ -131,7 +131,7 @@
* @param userId
* @return
*/
- ZTCaseInfoResponse getWholecaseInfo(String id,String userType,Long userId);
+ ZTCaseInfoResponse getWholecaseInfo(String id,String userType,Long userId,String salesId);
/**
* 涓彴 - 浜у搧璧勮璇︽儏
@@ -140,7 +140,7 @@
* @param userId
* @return
*/
- ZTProductNewsInfoResponse getProductNewsInfo(String id,String userType,Long userId);
+ ZTProductNewsInfoResponse getProductNewsInfo(String id,String userType,Long userId,String salesId);
/**
* 涓彴 - 瀹炴櫙妗堜緥
@@ -149,7 +149,7 @@
* @param userId
* @return
*/
- ZTRealcaseInfoResponse getRealcaseInfo(String id,String userType,Long userId);
+ ZTRealcaseInfoResponse getRealcaseInfo(String id,String userType,Long userId,String salesId);
/**
* 涓彴 - 鎴戠殑鏀惰棌/鍠滄鍒楄〃
diff --git a/server/service/src/main/java/com/doumee/service/business/UsersService.java b/server/service/src/main/java/com/doumee/service/business/UsersService.java
index d7fbd06..62aae8d 100644
--- a/server/service/src/main/java/com/doumee/service/business/UsersService.java
+++ b/server/service/src/main/java/com/doumee/service/business/UsersService.java
@@ -7,10 +7,12 @@
import com.doumee.dao.business.model.Users;
import com.doumee.dao.web.reqeust.ContentShareImgDto;
import com.doumee.dao.web.reqeust.EditUsersRequest;
+import com.doumee.dao.web.reqeust.GenerateQRCodeRequest;
import com.doumee.dao.web.reqeust.WxPhoneRequest;
import com.doumee.dao.web.response.AccountResponse;
import org.springframework.web.multipart.MultipartFile;
+import java.io.InputStream;
import java.util.List;
/**
@@ -124,4 +126,6 @@
ZTBaseRequst logOff(Long userId,String token);
AccountResponse getWxMiniPhoneLogin(WxPhoneRequest wxPhoneRequest);
+
+ InputStream getQrCode(GenerateQRCodeRequest generateQRCodeRequest);
}
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/GetCrmDataServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/GetCrmDataServiceImpl.java
index 08026cc..fe47fd6 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/GetCrmDataServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/GetCrmDataServiceImpl.java
@@ -56,8 +56,10 @@
){
throw new BusinessException(ResponseStatus.BAD_REQUEST);
}
- Users users = usersMapper.selectById(crmCustomerListRequest.getUserId());
- crmCustomerListRequest.setUserName(users.getIamUsername());
+ if(StringUtils.isBlank(crmCustomerListRequest.getUserName())){
+ Users users = usersMapper.selectById(crmCustomerListRequest.getUserId());
+ crmCustomerListRequest.setUserName(users.getIamUsername());
+ }
CRMBaseResponse<List<CRMCustomerListResponse>> crmBaseResponse = zbomCRMService.getCustomerList(crmCustomerListRequest);
if(Objects.isNull(crmBaseResponse)){
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"CRM鎺ュ彛璇锋眰澶辫触!");
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/GetZhongTaiDataServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/GetZhongTaiDataServiceImpl.java
index 8c91401..10cdaf7 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/GetZhongTaiDataServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/GetZhongTaiDataServiceImpl.java
@@ -10,10 +10,12 @@
import com.doumee.core.exception.BusinessException;
import com.doumee.core.utils.Constants;
import com.doumee.core.utils.DateUtil;
+import com.doumee.dao.business.CustomerUserMapper;
import com.doumee.dao.business.IamInterfaceLogMapper;
import com.doumee.dao.business.MemberMapper;
import com.doumee.dao.business.UsersMapper;
import com.doumee.dao.business.model.Member;
+import com.doumee.dao.business.model.Users;
import com.doumee.dao.web.response.ZSZXCatalogResponse;
import com.doumee.dao.web.response.ZTBaseInfoResponse;
import com.doumee.service.business.GetZhongTaiDataService;
@@ -48,6 +50,9 @@
@Autowired
private SystemDictDataBiz systemDictDataBiz;
+
+ @Autowired
+ private CustomerUserMapper customerUserMapper;
@Autowired
private RedisTemplate<String, Object> redisTemplate;
@@ -272,7 +277,7 @@
@Override
- public ZTProductInfoResponse getProductInfo(String id,String userType,Long userId){
+ public ZTProductInfoResponse getProductInfo(String id,String userType,Long userId,String salesId){
//鏌ヨ 涓彴 TOKEN
ZTBaseInfoResponse ztBaseInfoResponse = MemberServiceImpl.getZTToken(zbomZhongTaiService,memberMapper,usersMapper,systemDictDataBiz,userId,userType);
ZTContentInfoRequest ztContentListRequest = new ZTContentInfoRequest();
@@ -281,6 +286,19 @@
ztContentListRequest.setId(id);
ZTProductInfoResponse response = zbomZhongTaiService.getProductInfo(ztContentListRequest);
if(Objects.nonNull(response)){
+ //鏌ヨ瀵艰喘淇℃伅 杩涜淇℃伅缁戝畾涓庤繑鍥�
+ if(StringUtils.isNotBlank(salesId)){
+ Users users = usersMapper.selectById(salesId);
+ if(Objects.nonNull(users)){
+ MemberServiceImpl.saveCustomerUser(customerUserMapper,users,userId);
+ String prefix = StringUtils.trimToNull(systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE,Constants.RESOURCE_PATH).getCode()) +
+ StringUtils.trimToNull(systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE,Constants.USERS_FILE).getCode());
+ if(StringUtils.isNotBlank(users.getImgurl())){
+ users.setImgurlFull(prefix + users.getImgurl());
+ }
+ response.setUsers(users);
+ }
+ }
List<String> stringList = new ArrayList<String>();
if (StringUtils.isNotBlank(response.getCoverImage())) {
stringList.add(response.getCoverImage());
@@ -311,7 +329,7 @@
}
@Override
- public ZTCaseInfoResponse getWholecaseInfo(String id,String userType,Long userId){
+ public ZTCaseInfoResponse getWholecaseInfo(String id,String userType,Long userId,String salesId){
//鏌ヨ 涓彴 TOKEN
ZTBaseInfoResponse ztBaseInfoResponse = MemberServiceImpl.getZTToken(zbomZhongTaiService,memberMapper,usersMapper,systemDictDataBiz,userId,userType);
ZTContentInfoRequest ztContentListRequest = new ZTContentInfoRequest();
@@ -319,30 +337,45 @@
ztContentListRequest.setUserType(ztBaseInfoResponse.getUserType());
ztContentListRequest.setId(id);
ZTCaseInfoResponse response = zbomZhongTaiService.getWholecaseInfo(ztContentListRequest);
- List<String> stringList = new ArrayList<String>();
- if (StringUtils.isNotBlank(response.getCoverImage())) {
- stringList.add(response.getCoverImage());
- }
- if(Objects.nonNull(response.getLayoutUlr())){
- stringList.add(response.getLayoutUlr());
- }
- APISpaceCaseVo[] apiSpaceCaseVoList = response.getApiSpaceCaseVos();
- if(Objects.nonNull(apiSpaceCaseVoList)){
- for (APISpaceCaseVo apiSpaceCaseVo:apiSpaceCaseVoList) {
- if(StringUtils.isNotBlank(apiSpaceCaseVo.getCoverImage())){
- stringList.add(apiSpaceCaseVo.getCoverImage());
- }
- if(Objects.nonNull(apiSpaceCaseVo.getImgList())){
- stringList.addAll(Arrays.asList(apiSpaceCaseVo.getImgList()));
+ if(Objects.nonNull(response)){
+ //鏌ヨ瀵艰喘淇℃伅 杩涜淇℃伅缁戝畾涓庤繑鍥�
+ if(StringUtils.isNotBlank(salesId)){
+ Users users = usersMapper.selectById(salesId);
+ if(Objects.nonNull(users)){
+ MemberServiceImpl.saveCustomerUser(customerUserMapper,users,userId);
+ String prefix = StringUtils.trimToNull(systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE,Constants.RESOURCE_PATH).getCode()) +
+ StringUtils.trimToNull(systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE,Constants.USERS_FILE).getCode());
+ if(StringUtils.isNotBlank(users.getImgurl())){
+ users.setImgurlFull(prefix + users.getImgurl());
+ }
+ response.setUsers(users);
}
}
+ List<String> stringList = new ArrayList<String>();
+ if (StringUtils.isNotBlank(response.getCoverImage())) {
+ stringList.add(response.getCoverImage());
+ }
+ if(Objects.nonNull(response.getLayoutUlr())){
+ stringList.add(response.getLayoutUlr());
+ }
+ APISpaceCaseVo[] apiSpaceCaseVoList = response.getApiSpaceCaseVos();
+ if(Objects.nonNull(apiSpaceCaseVoList)){
+ for (APISpaceCaseVo apiSpaceCaseVo:apiSpaceCaseVoList) {
+ if(StringUtils.isNotBlank(apiSpaceCaseVo.getCoverImage())){
+ stringList.add(apiSpaceCaseVo.getCoverImage());
+ }
+ if(Objects.nonNull(apiSpaceCaseVo.getImgList())){
+ stringList.addAll(Arrays.asList(apiSpaceCaseVo.getImgList()));
+ }
+ }
+ }
+ response.setImageurlList(stringList);
}
- response.setImageurlList(stringList);
return response;
}
@Override
- public ZTProductNewsInfoResponse getProductNewsInfo(String id,String userType,Long userId){
+ public ZTProductNewsInfoResponse getProductNewsInfo(String id,String userType,Long userId,String salesId){
//鏌ヨ 涓彴 TOKEN
ZTBaseInfoResponse ztBaseInfoResponse = MemberServiceImpl.getZTToken(zbomZhongTaiService,memberMapper,usersMapper,systemDictDataBiz,userId,userType);
ZTContentInfoRequest ztContentListRequest = new ZTContentInfoRequest();
@@ -351,6 +384,19 @@
ztContentListRequest.setId(id);
ZTProductNewsInfoResponse response = zbomZhongTaiService.getProductNewsInfo(ztContentListRequest);
if(Objects.nonNull(response)){
+ //鏌ヨ瀵艰喘淇℃伅 杩涜淇℃伅缁戝畾涓庤繑鍥�
+ if(StringUtils.isNotBlank(salesId)){
+ Users users = usersMapper.selectById(salesId);
+ if(Objects.nonNull(users)){
+ MemberServiceImpl.saveCustomerUser(customerUserMapper,users,userId);
+ String prefix = StringUtils.trimToNull(systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE,Constants.RESOURCE_PATH).getCode()) +
+ StringUtils.trimToNull(systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE,Constants.USERS_FILE).getCode());
+ if(StringUtils.isNotBlank(users.getImgurl())){
+ users.setImgurlFull(prefix + users.getImgurl());
+ }
+ response.setUsers(users);
+ }
+ }
List<String> stringList = new ArrayList<String>();
if (StringUtils.isNotBlank(response.getCoverImage())) {
stringList.add(response.getCoverImage());
@@ -380,7 +426,7 @@
}
@Override
- public ZTRealcaseInfoResponse getRealcaseInfo(String id,String userType,Long userId){
+ public ZTRealcaseInfoResponse getRealcaseInfo(String id,String userType,Long userId,String salesId){
//鏌ヨ 涓彴 TOKEN
ZTBaseInfoResponse ztBaseInfoResponse = MemberServiceImpl.getZTToken(zbomZhongTaiService,memberMapper,usersMapper,systemDictDataBiz,userId,userType);
ZTContentInfoRequest ztContentListRequest = new ZTContentInfoRequest();
@@ -389,6 +435,19 @@
ztContentListRequest.setId(id);
ZTRealcaseInfoResponse response = zbomZhongTaiService.getRealcaseInfo(ztContentListRequest);
if(Objects.nonNull(response)){
+ //鏌ヨ瀵艰喘淇℃伅 杩涜淇℃伅缁戝畾涓庤繑鍥�
+ if(StringUtils.isNotBlank(salesId)){
+ Users users = usersMapper.selectById(salesId);
+ if(Objects.nonNull(users)){
+ MemberServiceImpl.saveCustomerUser(customerUserMapper,users,userId);
+ String prefix = StringUtils.trimToNull(systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE,Constants.RESOURCE_PATH).getCode()) +
+ StringUtils.trimToNull(systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE,Constants.USERS_FILE).getCode());
+ if(StringUtils.isNotBlank(users.getImgurl())){
+ users.setImgurlFull(prefix + users.getImgurl());
+ }
+ response.setUsers(users);
+ }
+ }
List<String> stringList = new ArrayList<String>();
if (StringUtils.isNotBlank(response.getCoverImage())) {
stringList.add(response.getCoverImage());
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 ea5a395..c6c0fa3 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
@@ -267,7 +267,7 @@
@Override
- public AccountResponse wxLogin(String code,String iamId){
+ public AccountResponse wxLogin(String code,String userId){
try {
// 鑾峰彇寰俊鏁忔劅鏁版嵁
WxMaJscode2SessionResult session = WxMiniConfig.wxCustomerService.getUserService().getSessionInfo(code);
@@ -278,11 +278,8 @@
// String openId = code;
Member member = memberMapper.selectOne(new QueryWrapper<Member>().eq("OPENID", openId).isNotNull("phone"));
Users users = new Users();
- if(StringUtils.isNotBlank(iamId)){
- users = usersMapper.selectOne(new QueryWrapper<Users>().lambda()
- .eq(Users::getIamId,iamId)
- .last("limit 1")
- );
+ if(StringUtils.isNotBlank(userId)){
+ users = usersMapper.selectById(userId);
}
if (member == null) {
member = new Member();
@@ -302,14 +299,14 @@
member.setToken(ztUserGetTokenResponse.getToken());
}
memberMapper.insert(member);
- this.saveCustomerUser(users,member.getId());
+ MemberServiceImpl.saveCustomerUser(customerUserMapper,users,member.getId());
}else{
ZTUserGetTokenResponse ztUserGetTokenResponse = this.syncZhongTaiUser(member);
if(!Objects.isNull(ztUserGetTokenResponse)){
member.setToken(ztUserGetTokenResponse.getToken());
memberMapper.updateById(member);
}
- this.saveCustomerUser(users,member.getId());
+ MemberServiceImpl.saveCustomerUser(customerUserMapper,users,member.getId());
member = this.getMemberInfo(member.getId());
}
String token = JwtTokenUtil.generateTokenForZb(member.getId(),ZTConstants.CUSTOMER, JSONObject.toJSON(member).toString(),redisTemplate);
@@ -324,7 +321,7 @@
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"寰俊鐧诲綍寮傚父锛佽鑱旂郴绠$悊鍛�");
}
- public void saveCustomerUser(Users users,Long memberId){
+ public static void saveCustomerUser(CustomerUserMapper customerUserMapper,Users users,Long memberId){
if(Objects.nonNull(users)&&Objects.nonNull(memberId)) {
if (customerUserMapper.selectCount(new QueryWrapper<CustomerUser>().lambda()
.eq(CustomerUser::getIsdeleted, Constants.ZERO)
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/NewsServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/NewsServiceImpl.java
index 22a4e05..5e8210c 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/NewsServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/NewsServiceImpl.java
@@ -200,6 +200,9 @@
if (pageWrap.getModel().getId() != null) {
queryWrapper.eq(News::getId, pageWrap.getModel().getId());
}
+ if(pageWrap.getModel().getIsPublish()!=null && Constants.equalsInteger(pageWrap.getModel().getIsPublish(),Constants.ONE)){
+ queryWrapper.apply(" now() >= t.PUBLISH_DATE ");
+ }
if (pageWrap.getModel().getCreator() != null) {
queryWrapper.eq(News::getCreator, pageWrap.getModel().getCreator());
}
@@ -391,9 +394,22 @@
dailyUpdatesResponse.setShareNum(
actionsMapper.selectCount(new QueryWrapper<Actions>())
);
- dailyUpdatesResponse.setNewsList(
- this.getCustomizedNewsList(Constants.ZERO,Constants.THREE,Constants.ZERO)
+ List<News> list = newsMapper.selectList(new QueryWrapper<News>().lambda()
+ .eq(News::getIsdeleted,Constants.ZERO)
+ .eq(News::getType,Constants.ZERO)
+ .eq(News::getStatus,Constants.ZERO)
+ .eq(News::getFileType,Constants.ZERO)
+ .last( "limit 3" )
+ .orderByDesc(News::getCreateDate)
);
+ if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(list)){
+ List<Long> idList = list.stream().map(i->i.getId()).collect(Collectors.toList());
+ List<Multifile> files = dealMultifileList(idList);
+ for(News model : list){
+ setFilelistById(model,files);
+ }
+ }
+ dailyUpdatesResponse.setNewsList(list);
return dailyUpdatesResponse;
}
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/ShopServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/ShopServiceImpl.java
index a556d35..0c185d7 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/ShopServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/ShopServiceImpl.java
@@ -100,6 +100,11 @@
@Override
public void updateById(Shop shop) {
shopMapper.updateById(shop);
+ usersMapper.update(new UpdateWrapper<Users>().lambda()
+ .set(Users::getCardImg,null)
+ .isNotNull(Users::getCardImg)
+ .eq(Users::getDepartmentId,shop.getId())
+ );
}
@Override
@@ -1016,6 +1021,11 @@
Shop updShop = new Shop();
BeanUtils.copyProperties(editShopDTO,updShop);
shopMapper.updateById(updShop);
+ usersMapper.update(new UpdateWrapper<Users>().lambda()
+ .set(Users::getCardImg,null)
+ .isNotNull(Users::getCardImg)
+ .eq(Users::getDepartmentId,shop.getId())
+ );
}
}
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 0c991ed..cd4824e 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
@@ -35,6 +35,7 @@
import com.doumee.dao.system.model.SystemUser;
import com.doumee.dao.web.reqeust.EditUsersRequest;
import com.doumee.dao.web.reqeust.ContentShareImgDto;
+import com.doumee.dao.web.reqeust.GenerateQRCodeRequest;
import com.doumee.dao.web.reqeust.WxPhoneRequest;
import com.doumee.dao.web.response.AccountResponse;
import com.doumee.service.business.UsersService;
@@ -44,6 +45,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.yulichang.interfaces.MPJBaseJoin;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
+import okhttp3.Response;
import org.apache.catalina.User;
import org.apache.commons.lang3.StringUtils;
import me.chanjar.weixin.common.error.WxErrorException;
@@ -58,7 +60,10 @@
import org.springframework.util.CollectionUtils;
import org.springframework.web.multipart.MultipartFile;
+import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.util.*;
import java.util.concurrent.Callable;
@@ -671,6 +676,8 @@
@Override
public String getContentShareImg(Users users, ContentShareImgDto param){
+ users = usersMapper.selectById(users.getId());
+ this.getUsersDetail(users);
if(StringUtils.isBlank(param.getImgurl())){
throw new BusinessException(ResponseStatus.BAD_REQUEST);
}
@@ -690,17 +697,16 @@
if(img1 ==null){
return param.getImgurl();
}
- /* if(img1.getWidth() <200 && img1.getHeight()<100){
+ /* if(img1.getWidth() <200 && img1.getHeight()<100){
return param.getImgurl();
- }
-*/
+ }*/
String defualtHeader = systemDictDataBiz.queryByCode(Constants.WEIXIN_DEFAULT_IMGS, Constants.USER_CARD_HEADER_IMG).getCode();
String imgurl =StringUtils.isNotBlank(users.getImgurl())?path+(systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE, Constants.USERS_FILE).getCode())+users.getImgurl():defualtHeader;
String url =null;
//鍐呭鍒嗕韩娴锋姤鍥剧墖
InputStream mpCode = Constants.generateWxMiniImgStream(systemDictDataBiz.queryByCode(Constants.WX_MINI_CONFIG, Constants.WX_TOKEN_CUSTOMER).getCode(),
//"userId="+users.getId()+"&articleId="+param.getArticleId(),
- param.getArticleId()+"&"+users.getId(),
+ param.getArticleId()+"_"+users.getId(),
param.getPageUrl());//灏忕▼搴�
InputStream inputStream = GeneratePicUtil.generateShareWithUserImg(
@@ -717,14 +723,13 @@
url = path+fileName;
}
return url;
-
}
private String dealShareImgNoUser(ContentShareImgDto param, Users users, String shareFolder, String path) {
String url =null;
//鍐呭鍒嗕韩娴锋姤鍥剧墖
InputStream mpCode = Constants.generateWxMiniImgStream(systemDictDataBiz.queryByCode(Constants.WX_MINI_CONFIG, Constants.WX_TOKEN_CUSTOMER).getCode(),
- "userId="+users.getId()+"&articleId="+param.getArticleId(),
+ param.getArticleId()+"_"+users.getId(),
param.getPageUrl());//灏忕▼搴�
String title = systemDictDataBiz.queryByCode(Constants.WEIXIN_DEFAULT_IMGS, Constants.SHARE_HAIBAO_HEADER_TITLE).getCode();
@@ -745,6 +750,8 @@
@Override
public String getUserCard(Users users){
+ users = usersMapper.selectById(users.getId());
+ this.getUsersDetail(users);
String path = systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE, Constants.RESOURCE_PATH).getCode();
String folder = systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE, Constants.USERS_FILE).getCode();
if(StringUtils.isNotBlank(users.getCardImg()) && !StringUtils.equals(users.getCardImg(),"-")){
@@ -829,7 +836,9 @@
Shop shop = shopMapper.selectById(users.getDepartmentId());
if(Objects.nonNull(shop)){
users.setShopName(shop.getName());
- users.setShopCity(shop.getProvinceName()+shop.getCityName()+shop.getAreaName());
+ if(!(StringUtils.isBlank(shop.getProvinceName())||StringUtils.isBlank(shop.getCityName())||StringUtils.isBlank(shop.getAreaName()))){
+ users.setShopCity(shop.getProvinceName()+shop.getCityName()+shop.getAreaName());
+ }
if(StringUtils.isNotBlank(shop.getAddress())){
users.setShopAddress(shop.getAddress());
}else{
@@ -853,7 +862,7 @@
//TODO 璋冭捣 涓彴鎺ュ彛
usersMapper.update(new UpdateWrapper<Users>()
.lambda()
- .set(Users::getCardImg,"-") //閲嶇疆鍚嶇墖涓� -
+ .set(Users::getCardImg,null) //閲嶇疆鍚嶇墖涓� -
.set(StringUtils.isNotBlank(editUsersRequest.getImgurl()),Users::getImgurl,editUsersRequest.getImgurl())
.set(StringUtils.isNotBlank(editUsersRequest.getName()),Users::getName,editUsersRequest.getName())
.set(StringUtils.isNotBlank(editUsersRequest.getPhone()),Users::getPhone,editUsersRequest.getPhone())
@@ -890,5 +899,41 @@
return ztBaseRequst;
}
+
+
+ @Override
+ public InputStream getQrCode(GenerateQRCodeRequest generateQRCodeRequest){
+ if(Objects.isNull(generateQRCodeRequest)
+ ||StringUtils.isBlank(generateQRCodeRequest.getIamId())
+ || StringUtils.isBlank(generateQRCodeRequest.getBusinessId())
+ || Objects.isNull(generateQRCodeRequest.getBusinessType())){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST);
+ }
+ if(generateQRCodeRequest.getBusinessType()<Constants.ZERO || generateQRCodeRequest.getBusinessType() > Constants.THREE){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"涓氬姟绫诲瀷閿欒");
+ }
+ Users users = usersMapper.selectOne(new QueryWrapper<Users>().lambda().eq(Users::getIamId,
+ generateQRCodeRequest.getIamId()).last("limit 1"));
+ if(Objects.isNull(users)){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌鍛樺伐淇℃伅");
+ }
+ InputStream inputStream = Constants.generateWxMiniImgStream(
+ systemDictDataBiz.queryByCode(Constants.WX_MINI_CONFIG, Constants.WX_TOKEN_CUSTOMER).getCode(),
+ generateQRCodeRequest.getBusinessId()+"_"+generateQRCodeRequest.getBusinessType()+"_"+users.getId(),
+ null);//灏忕▼搴�
+ return inputStream;
+// try {
+// ByteArrayOutputStream baos = new ByteArrayOutputStream();
+// byte[] buffer = new byte[1024];
+// int len = -1;
+// while ((len = inputStream.read(buffer)) != -1) {
+// baos.write(buffer, 0, len);
+// }
+// return "data:mediatype;base64," + Base64.getEncoder().encodeToString(baos.toByteArray());
+// } catch (Exception e) {
+// e.printStackTrace();
+// }
+// throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"浜岀淮鐮佺敓鎴愬け璐�");
+ }
}
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 a6a7e32..74fd760 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
@@ -84,8 +84,6 @@
private ActionsService actionsService;
-
-
@ApiOperation(value = "瀹㈡埛绔皬绋嬪簭鐧婚檰", notes = "瀹㈡埛绔皬绋嬪簭")
@GetMapping("/wxLoginCustomer")
@ApiImplicitParams({
@@ -528,9 +526,10 @@
@ApiImplicitParams({
@ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true),
@ApiImplicitParam(paramType = "query", dataType = "String", name = "id", value = "鍐呭涓婚敭", required = true),
+ @ApiImplicitParam(paramType = "query", dataType = "String", name = "salesId", value = "瀵艰喘涓婚敭锛堜簩缁寸爜鍒嗕韩锛�", required = false),
})
- public ApiResponse<ZTCaseInfoResponse> getWholecaseInfo(@RequestParam String id) {
- ZTCaseInfoResponse ztCaseInfoResponse= getZhongTaiDataService.getWholecaseInfo(id,getUserType(),getMemberId());
+ public ApiResponse<ZTCaseInfoResponse> getWholecaseInfo(@RequestParam String id,String salesId) {
+ ZTCaseInfoResponse ztCaseInfoResponse= getZhongTaiDataService.getWholecaseInfo(id,getUserType(),getMemberId(),salesId);
return ApiResponse.success("鏌ヨ鎴愬姛",ztCaseInfoResponse);
}
@@ -543,9 +542,10 @@
@ApiImplicitParams({
@ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true),
@ApiImplicitParam(paramType = "query", dataType = "String", name = "id", value = "鍐呭涓婚敭", required = true),
+ @ApiImplicitParam(paramType = "query", dataType = "String", name = "salesId", value = "瀵艰喘涓婚敭锛堜簩缁寸爜鍒嗕韩锛�", required = false),
})
- public ApiResponse<ZTProductNewsInfoResponse> getProductNewsInfo(@RequestParam String id) {
- ZTProductNewsInfoResponse ztProductNewsInfoResponse= getZhongTaiDataService.getProductNewsInfo(id,getUserType(),getMemberId());
+ public ApiResponse<ZTProductNewsInfoResponse> getProductNewsInfo(@RequestParam String id,String salesId) {
+ ZTProductNewsInfoResponse ztProductNewsInfoResponse= getZhongTaiDataService.getProductNewsInfo(id,getUserType(),getMemberId(),salesId);
return ApiResponse.success("鏌ヨ鎴愬姛",ztProductNewsInfoResponse);
}
@@ -559,14 +559,12 @@
@ApiImplicitParams({
@ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true),
@ApiImplicitParam(paramType = "query", dataType = "String", name = "id", value = "鍐呭涓婚敭", required = true),
+ @ApiImplicitParam(paramType = "query", dataType = "String", name = "salesId", value = "瀵艰喘涓婚敭锛堜簩缁寸爜鍒嗕韩锛�", required = false),
})
- public ApiResponse<ZTRealcaseInfoResponse> getRealcaseInfo(@RequestParam String id) {
- ZTRealcaseInfoResponse ztRealcaseInfoResponse= getZhongTaiDataService.getRealcaseInfo(id,getUserType(),getMemberId());
+ public ApiResponse<ZTRealcaseInfoResponse> getRealcaseInfo(@RequestParam String id,String salesId) {
+ ZTRealcaseInfoResponse ztRealcaseInfoResponse= getZhongTaiDataService.getRealcaseInfo(id,getUserType(),getMemberId(),salesId);
return ApiResponse.success("鏌ヨ鎴愬姛",ztRealcaseInfoResponse);
}
-
-
-
@UserLoginRequired
@LoginRequired
@@ -575,9 +573,10 @@
@ApiImplicitParams({
@ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true),
@ApiImplicitParam(paramType = "query", dataType = "String", name = "id", value = "鍐呭涓婚敭", required = true),
+ @ApiImplicitParam(paramType = "query", dataType = "String", name = "salesId", value = "瀵艰喘涓婚敭锛堜簩缁寸爜鍒嗕韩锛�", required = false),
})
- public ApiResponse<ZTProductInfoResponse> getProductInfo(@RequestParam String id) {
- ZTProductInfoResponse ztProductInfoResponse= getZhongTaiDataService.getProductInfo(id,getUserType(),getMemberId());
+ public ApiResponse<ZTProductInfoResponse> getProductInfo(@RequestParam String id,String salesId) {
+ ZTProductInfoResponse ztProductInfoResponse= getZhongTaiDataService.getProductInfo(id,getUserType(),getMemberId(),salesId);
return ApiResponse.success("鏌ヨ鎴愬姛",ztProductInfoResponse);
}
diff --git a/server/web/src/main/java/com/doumee/api/web/CustomerManageApi.java b/server/web/src/main/java/com/doumee/api/web/CustomerManageApi.java
index 3ca5386..0e4ab81 100644
--- a/server/web/src/main/java/com/doumee/api/web/CustomerManageApi.java
+++ b/server/web/src/main/java/com/doumee/api/web/CustomerManageApi.java
@@ -1,27 +1,46 @@
package com.doumee.api.web;
+import cn.hutool.http.HttpRequest;
+import com.amazonaws.util.Md5Utils;
+import com.doumee.biz.system.SystemDataPermissionBiz;
+import com.doumee.biz.system.SystemDictDataBiz;
import com.doumee.biz.zbom.ZbomCRMService;
import com.doumee.biz.zbom.ZbomZhongTaiService;
import com.doumee.config.annotation.LoginRequired;
import com.doumee.config.annotation.UserLoginRequired;
+import com.doumee.core.annotation.pr.PreventRepeat;
import com.doumee.core.annotation.trace.Trace;
+import com.doumee.core.constants.ResponseStatus;
+import com.doumee.core.exception.BusinessException;
import com.doumee.core.model.ApiResponse;
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
+import com.doumee.core.utils.Constants;
import com.doumee.dao.business.model.News;
+import com.doumee.dao.web.reqeust.GenerateQRCodeRequest;
import com.doumee.dao.web.response.DailyUpdatesResponse;
import com.doumee.dao.web.response.ZSZXCatalogResponse;
import com.doumee.service.business.GetZhongTaiDataService;
import com.doumee.service.business.NewsService;
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.apache.commons.codec.digest.DigestUtils;
+import org.apache.commons.codec.digest.Md5Crypt;
+import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.apache.tomcat.util.security.MD5Encoder;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
+
+import javax.imageio.ImageIO;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.InputStream;
/**
* Created by IntelliJ IDEA.
@@ -51,6 +70,12 @@
@Autowired
public GetZhongTaiDataService getZhongTaiDataService;
+ @Autowired
+ public UsersService usersService;
+
+ @Autowired
+ public SystemDictDataBiz systemDictDataBiz;
+
@UserLoginRequired
@LoginRequired
@@ -62,6 +87,9 @@
public ApiResponse<ZSZXCatalogResponse> getZSZXCatalogs() {
return ApiResponse.success(getZhongTaiDataService.getZSZXCatalogs(getMemberId(),getUserType()));
}
+
+
+
@@ -83,6 +111,7 @@
@ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true),
})
public ApiResponse<PageData<News>> newsPage (@RequestBody PageWrap<News> pageWrap) {
+ pageWrap.getModel().setIsPublish(Constants.ONE);
return ApiResponse.success(newsService.findPage(pageWrap));
}
@@ -98,4 +127,37 @@
public ApiResponse<String> getCrmAuthUrl(@RequestParam Integer type) {
return ApiResponse.success(zbomCRMService.getCrmGoUrl(this.getLoginUserInfo().getIamUsername(),type));
}
+
+ @PreventRepeat(lockTime = 2000)
+ @ApiOperation(value = "鐢熸垚灏忕▼搴忕爜", notes = "PAD绔�")
+ @PostMapping("/getQrCode")
+ @ApiImplicitParams({
+ @ApiImplicitParam(paramType = "header", dataType = "String", name = "sign", value = "绛惧悕锛堜娇鐢╰imestamp+appkey杩涜md5鍔犲瘑锛�", required = true),
+ @ApiImplicitParam(paramType = "header", dataType = "Long", name = "timestamp", value = "鏃堕棿鎴筹紙褰撳墠鏃堕棿姣锛�2灏忔椂鍐呮湁鏁堬級", required = true),
+ })
+ public void getQrCode(@RequestParam(value = "sign")String sign,
+ @RequestParam(value = "timestamp")Long timestamp,
+ @RequestBody GenerateQRCodeRequest generateQRCodeRequest,HttpServletResponse response) {
+ if(StringUtils.isBlank(sign) || timestamp == null){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST);
+ }
+ String interfaceKey = systemDictDataBiz.queryByCode(Constants.ZBOM,Constants.ZBOM_PAD_INTERFACE_KEY).getCode();
+ //鍒ゆ柇鏃堕棿鎴虫槸鍚﹁秴杩囦袱灏忔椂
+ if(System.currentTimeMillis()-timestamp > 2 * 60 * 3600 * 1000){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"token宸插け鏁�!");
+ }
+ String token = DigestUtils.md5Hex(timestamp+interfaceKey);
+ if(!token.equals(sign)){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"token宸插け鏁�!");
+ }
+ try{
+ response.setHeader("Cache-Control", "no-store, no-cache");
+ response.setContentType("image/jpeg");
+ InputStream inputStream = usersService.getQrCode(generateQRCodeRequest);
+ ImageIO.write(ImageIO.read(inputStream),"png",response.getOutputStream());
+ }catch (Exception e){
+ e.printStackTrace();
+ }
+ }
+
}
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 a1d80da..bbe8434 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
@@ -17,9 +17,11 @@
import com.doumee.dao.business.model.Shop;
import com.doumee.dao.business.model.SmsEmail;
import com.doumee.dao.business.model.Users;
+import com.doumee.dao.system.model.SystemDictData;
import com.doumee.dao.web.reqeust.*;
import com.doumee.dao.web.response.AccountResponse;
import com.doumee.service.business.*;
+import com.doumee.service.system.SystemDictDataService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
@@ -181,8 +183,22 @@
}
+ @Autowired
+ private SystemDictDataBiz systemDictDataBiz;
+ @UserLoginRequired
+ @LoginRequired
+ @ApiOperation(value = "鏇存柊token", notes = "鍛樺伐绔皬绋嬪簭")
+ @GetMapping("/updateToken")
+ @ApiImplicitParams({
+ @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true)
+ })
+ public ApiResponse updateToken () {
+ systemDictDataBiz.updWxMiniToken();
+ return ApiResponse.success("鎿嶄綔鎴愬姛");
+ }
+
@UserLoginRequired
@ApiOperation(value = "鑾峰彇鍐呭鍒嗕韩娴锋姤", notes = "鑾峰彇鍐呭鍒嗕韩娴锋姤锛屽姞灏忕▼搴忕爜")
diff --git a/wechat_staff/pages/userinfo/index.js b/wechat_staff/pages/userinfo/index.js
index a208323..5156bf3 100644
--- a/wechat_staff/pages/userinfo/index.js
+++ b/wechat_staff/pages/userinfo/index.js
@@ -97,6 +97,7 @@
var that = this
const { userInfo } = this.data
if (e.detail.avatarUrl) {
+ console.log(e)
wx.uploadFile({
url: uploadUrl,
filePath: e.detail.avatarUrl,
--
Gitblit v1.9.3