server/service/src/main/java/com/doumee/config/Jwt/WebMvcConfig.java
@@ -102,13 +102,13 @@ throw new BusinessException(ResponseStatus.DATA_EMPTY); } if(Objects.isNull(member.getOpenid())){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"用户已注销,请重新登录"); throw new BusinessException(ResponseStatus.USER_DISABLE_TIME.getCode(),"用户已注销,请重新登录"); } if(Constants.equalsInteger(member.getIsdeleted(),Constants.ONE)){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"用户已删除,请联系管理员"); throw new BusinessException(ResponseStatus.USER_DISABLE_TIME.getCode(),"用户已删除,请联系管理员"); } if(!Constants.equalsInteger(member.getStatus(),Constants.ZERO)){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"用户已禁用,请联系管理员"); throw new BusinessException(ResponseStatus.USER_DISABLE_TIME.getCode(),"用户已禁用,请联系管理员"); } request.setAttribute(JwtTokenUtil.UserId_Name, memberId); request.setAttribute(JwtTokenUtil.UserType, ZTConstants.CUSTOMER); @@ -132,10 +132,10 @@ throw new BusinessException(ResponseStatus.DATA_EMPTY); } if(Constants.equalsInteger(users.getIsdeleted(),Constants.ONE)){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"用户已删除,请联系管理员"); throw new BusinessException(ResponseStatus.USER_DISABLE_TIME.getCode(),"用户已删除,请联系管理员"); } if(!StringUtils.equals(users.getStatus(),Constants.ONE+"")){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"用户已禁用,请联系管理员"); throw new BusinessException(ResponseStatus.USER_DISABLE_TIME.getCode(),"用户状态异常,请重新登录"); } request.setAttribute(JwtTokenUtil.UserId_Name, userId); request.setAttribute(JwtTokenUtil.UserType, ZTConstants.BUSINESS); server/service/src/main/java/com/doumee/core/constants/ResponseStatus.java
@@ -26,6 +26,7 @@ MASSIVE_REQUEST(5101, "请求过于频繁"), NOT_ALLOWED(5110, "不允许的操作"), TOKEN_EXCEED_TIME(5111, "TOKEN过期"), USER_DISABLE_TIME(5112, "用户已禁用"), NO_LOGIN(5112, "未登录"), ; server/service/src/main/java/com/doumee/dao/web/reqeust/WxPhoneRequest.java
@@ -29,4 +29,6 @@ @ApiModelProperty(value = "sessionKey") private String sessionKey; @ApiModelProperty(value = "openid") private String openid; } server/service/src/main/java/com/doumee/service/business/impl/GetZhongTaiDataServiceImpl.java
@@ -504,7 +504,6 @@ public void batchAddLike(ZTBatchAddListRequest ztBatchAddListRequest){ if(Objects.isNull(ztBatchAddListRequest) || StringUtils.isBlank(ztBatchAddListRequest.getArticleIds()) || StringUtils.isBlank(ztBatchAddListRequest.getCustomerId()) || StringUtils.isBlank(ztBatchAddListRequest.getPlatSourceId()) || StringUtils.isBlank(ztBatchAddListRequest.getPlatSource()) ){ server/service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
@@ -357,13 +357,75 @@ return accountResponse; } public static void saveCustomerUser(ZbomZhongTaiService zbomZhongTaiService,CustomerUserMapper customerUserMapper,Users users,Member member){ if(Objects.nonNull(users)&&Objects.nonNull(member.getId())) { CustomerUser customerUser = null; if (customerUserMapper.selectCount(new QueryWrapper<CustomerUser>().lambda() // public static void saveCustomerUser(ZbomZhongTaiService zbomZhongTaiService,CustomerUserMapper customerUserMapper,Users users,Member member){ // if(Objects.nonNull(users)&&Objects.nonNull(member.getId())) { // CustomerUser customerUser = null; // if (customerUserMapper.selectCount(new QueryWrapper<CustomerUser>().lambda() // .eq(CustomerUser::getIsdeleted, Constants.ZERO) // .eq(CustomerUser::getUserId, users.getId()) // .eq(CustomerUser::getMemberId, member.getId()) // ) <= Constants.ZERO) { // customerUser = new CustomerUser(); // customerUser.setIsdeleted(Constants.ZERO); // customerUser.setUserId(users.getId()); // customerUser.setCreateDate(new Date()); // customerUser.setMemberId(member.getId()); // customerUser.setPhone(users.getPhone()); // customerUser.setIamUserId(users.getIamId()); // customerUser.setName(users.getName()); // customerUser.setUsername(users.getIamUsername()); // customerUser.setAddr(users.getShopAddress()); // } // //等待调起中台接口 // ZTCustomerBindingUsersRequest ztCustomerBindingUsersRequest = new ZTCustomerBindingUsersRequest(); // ztCustomerBindingUsersRequest.setName(member.getName()); // ztCustomerBindingUsersRequest.setNickName(member.getNickname()); // ztCustomerBindingUsersRequest.setPhone(member.getPhone()); // ztCustomerBindingUsersRequest.setAvatarUrl(member.getImgurl()); // ztCustomerBindingUsersRequest.setUptown(member.getDistrict()); // ztCustomerBindingUsersRequest.setFullAddress(member.getAddress()); // if(Objects.nonNull(member.getHousearea())){ // ztCustomerBindingUsersRequest.setHouseArea(member.getHousearea().toString()); // } // ztCustomerBindingUsersRequest.setOpenId(member.getOpenid()); // ztCustomerBindingUsersRequest.setToken(member.getToken()); // ztCustomerBindingUsersRequest.setUserType(ZTConstants.CUSTOMER); // ztCustomerBindingUsersRequest.setSourceCustomerId(member.getId().toString()); // ztCustomerBindingUsersRequest.setDaoGouUserId(users.getIamId()); // ztCustomerBindingUsersRequest.setDaoGouAccount(users.getIamUsername()); // ztCustomerBindingUsersRequest.setPlatSource("2"); // ZTBaseResponse ztBaseResponse = zbomZhongTaiService.customerBinDingUsers(ztCustomerBindingUsersRequest); // if(Objects.nonNull(customerUser)){ // if(Objects.nonNull(ztBaseResponse)){ // if(ztBaseResponse.getSuccess()){ // customerUser.setZtStatus(1); // customerUser.setZtDate(new Date()); // }else{ // customerUser.setZtStatus(2); // customerUser.setZtDate(new Date()); // customerUser.setZtInfo(JSONObject.toJSONString(ztBaseResponse)); // } // } else{ // customerUser.setZtStatus(2); // customerUser.setZtDate(new Date()); // customerUser.setZtInfo(JSONObject.toJSONString(ztBaseResponse)); // } // customerUserMapper.insert(customerUser); // } // } // } public static void saveCustomerUser(ZbomZhongTaiService zbomZhongTaiService, CustomerUserMapper customerUserMapper, Users users, Member member) { if (Objects.nonNull(users) && Objects.nonNull(member.getId())) { CustomerUser customerUser = customerUserMapper.selectOne(new QueryWrapper<CustomerUser>().lambda() .eq(CustomerUser::getIsdeleted, Constants.ZERO) .eq(CustomerUser::getUserId, users.getId()) .eq(CustomerUser::getMemberId, member.getId())) <= Constants.ZERO) { .eq(CustomerUser::getMemberId, member.getId()) .orderByDesc(CustomerUser::getCreateDate) .last(" limit 1") ); if (Objects.isNull(customerUser)) { customerUser = new CustomerUser(); customerUser.setIsdeleted(Constants.ZERO); customerUser.setUserId(users.getId()); @@ -375,46 +437,71 @@ customerUser.setUsername(users.getIamUsername()); customerUser.setAddr(users.getShopAddress()); } //等待调起中台接口 ZTCustomerBindingUsersRequest ztCustomerBindingUsersRequest = new ZTCustomerBindingUsersRequest(); ztCustomerBindingUsersRequest.setName(member.getName()); ztCustomerBindingUsersRequest.setNickName(member.getNickname()); ztCustomerBindingUsersRequest.setPhone(member.getPhone()); ztCustomerBindingUsersRequest.setAvatarUrl(member.getImgurl()); ztCustomerBindingUsersRequest.setUptown(member.getDistrict()); ztCustomerBindingUsersRequest.setFullAddress(member.getAddress()); if(Objects.nonNull(member.getHousearea())){ ztCustomerBindingUsersRequest.setHouseArea(member.getHousearea().toString()); } ztCustomerBindingUsersRequest.setOpenId(member.getOpenid()); ztCustomerBindingUsersRequest.setToken(member.getToken()); ztCustomerBindingUsersRequest.setUserType(ZTConstants.CUSTOMER); ztCustomerBindingUsersRequest.setSourceCustomerId(member.getId().toString()); ztCustomerBindingUsersRequest.setDaoGouUserId(users.getIamId()); ztCustomerBindingUsersRequest.setDaoGouAccount(users.getIamUsername()); ztCustomerBindingUsersRequest.setPlatSource("2"); ZTBaseResponse ztBaseResponse = zbomZhongTaiService.customerBinDingUsers(ztCustomerBindingUsersRequest); if(Objects.nonNull(customerUser)){ if(Objects.nonNull(ztBaseResponse)){ if(ztBaseResponse.getSuccess()){ //未绑定过 if (Objects.isNull(customerUser.getId())) { ZTBaseResponse ztBaseResponse = MemberServiceImpl.syncZtCustomerUser(zbomZhongTaiService,member, users); if (Objects.nonNull(ztBaseResponse)) { if (ztBaseResponse.getSuccess()) { customerUser.setZtStatus(1); customerUser.setZtDate(new Date()); }else{ } else { customerUser.setZtStatus(2); customerUser.setZtDate(new Date()); customerUser.setZtInfo(JSONObject.toJSONString(ztBaseResponse)); } } else{ } else { customerUser.setZtStatus(2); customerUser.setZtDate(new Date()); customerUser.setZtInfo(JSONObject.toJSONString(ztBaseResponse)); } customerUserMapper.insert(customerUser); } else { if (!Constants.equalsInteger(customerUser.getZtStatus(),Constants.ONE)) { ZTBaseResponse ztBaseResponse = MemberServiceImpl.syncZtCustomerUser(zbomZhongTaiService,member, users); if (Objects.nonNull(ztBaseResponse)) { if (ztBaseResponse.getSuccess()) { customerUser.setZtStatus(1); customerUser.setZtDate(new Date()); } else { customerUser.setZtStatus(2); customerUser.setZtDate(new Date()); customerUser.setZtInfo(JSONObject.toJSONString(ztBaseResponse)); } } else { customerUser.setZtStatus(2); customerUser.setZtDate(new Date()); customerUser.setZtInfo(JSONObject.toJSONString(ztBaseResponse)); } customerUserMapper.updateById(customerUser); } } } } public static ZTBaseResponse syncZtCustomerUser(ZbomZhongTaiService zbomZhongTaiService,Member member,Users users){ //等待调起中台接口 ZTCustomerBindingUsersRequest ztCustomerBindingUsersRequest = new ZTCustomerBindingUsersRequest(); ztCustomerBindingUsersRequest.setName(member.getName()); ztCustomerBindingUsersRequest.setNickName(member.getNickname()); ztCustomerBindingUsersRequest.setPhone(member.getPhone()); ztCustomerBindingUsersRequest.setAvatarUrl(member.getImgurl()); ztCustomerBindingUsersRequest.setUptown(member.getDistrict()); ztCustomerBindingUsersRequest.setFullAddress(member.getAddress()); if(Objects.nonNull(member.getHousearea())){ ztCustomerBindingUsersRequest.setHouseArea(member.getHousearea().toString()); } ztCustomerBindingUsersRequest.setOpenId(member.getOpenid()); ztCustomerBindingUsersRequest.setToken(member.getToken()); ztCustomerBindingUsersRequest.setUserType(ZTConstants.CUSTOMER); ztCustomerBindingUsersRequest.setSourceCustomerId(member.getId().toString()); ztCustomerBindingUsersRequest.setDaoGouUserId(users.getIamId()); ztCustomerBindingUsersRequest.setDaoGouAccount(users.getIamUsername()); ztCustomerBindingUsersRequest.setPlatSource("2"); ZTBaseResponse ztBaseResponse = zbomZhongTaiService.customerBinDingUsers(ztCustomerBindingUsersRequest); return ztBaseResponse; } @Override public String getWxMiniPhone(WxPhoneRequest wxPhoneRequest){ try { server/service/src/main/java/com/doumee/service/business/impl/UsersServiceImpl.java
@@ -445,6 +445,13 @@ accountResponse.setPhone( Constants.desensitizationPhone(phone)); if(Objects.isNull(users)){ return accountResponse; }else{ if(StringUtils.isNotBlank(wxPhoneRequest.getOpenid())){ usersMapper.update(null,new UpdateWrapper<Users>().lambda().set(Users::getOpenid,null) .eq(Users::getOpenid,wxPhoneRequest.getOpenid())); users.setOpenid(wxPhoneRequest.getOpenid()); usersMapper.updateById(users); } } accountResponse.setUsers(users); String token = JwtTokenUtil.generateTokenForZb(users.getId(),ZTConstants.BUSINESS,JSONObject.toJSON(users).toString(),redisTemplate); wechat_jiaxuan/components/areaSel/areaSel.js
@@ -1,3 +1,4 @@ import { getArea } from '../../api/index' @@ -15,10 +16,12 @@ // observer监听value的变化,如果有值则调用setLabel方法设置选择器的label observer(selectedValues) { if (selectedValues && selectedValues.length) { this.resetValus(selectedValues) console.log("--------------------",this.data.value) this.setLabel(); } } } } }, data: { // label为选择器的显示值 @@ -32,15 +35,16 @@ }, // attached生命周期函数,在组件实例进入页面节点树时执行 attached() { this.initData() this.initData() }, methods: { // wx.setStorageSync('addressList', tl) initData(){ let list = wx.getStorageSync('addressList') let list = wx.getStorageSync('addressList') if(list && list.length){ this.setData({addressList: list}) this.resetValus(list) this.setLabel(); if (!this.data.value.length) { this.initRange(); @@ -88,13 +92,58 @@ } wx.setStorageSync('addressList', tl) this.setData({addressList: tl}) this.resetValus() this.setLabel(); if (!this.data.value.length) { this.initRange(); } console.log(this.data.addressList) } }) } }, resetValus(selectedValues){ selectedValues = selectedValues || this.data.value let temVal = [] let tlable ='' if (selectedValues.length == 3) { var v1 = selectedValues[0] var v2 = selectedValues[1] var v3= selectedValues[2] var t1,t2,t3; this.data.addressList.forEach(item =>{ if(v1 && v1.length ==6 &&v2 && v2.length ==6 &&v3 && v3.length ==6){ if(item.value.indexOf(v1) == 0){ t1 = item.value if(item.children){ item.children.forEach(item2 =>{ if(item2.value.indexOf(v2) == 0){ if(item2.children){ item2.children.forEach(item3 =>{ if(item3.value.indexOf(v3) == 0){ tlable = item.label +"-"+item2.label+'-'+item3.label t1 = item.value t2 = item2.value t3 = item3.value temVal = [t1,t2,t3] // this.value = temVal // this.data.label=tlable this.triggerEvent("change", { value: temVal, label:tlable }); this.setData({value:temVal,label:tlable}) console.log("--------------------",this.data.value) } }) } } }) } } } }) } }, // getAddressItem方法用于将地址信息转换为选择器可用的格式 getAddressItem(data) { @@ -108,7 +157,7 @@ return list.map((v) => this.getAddressItem(v)); }, // getAddressByCode方法用于根据value值获取地址信息及其在数组中的下标 getAddressByCode(list = [], value) { getAddressByCode(list = [], value) { let index = list.findIndex(item => item.value === value); return [index, list[index] || {}]; }, @@ -144,9 +193,7 @@ }); this.setData({ label:label }); console.log("label1", label) console.log("label",this.data.label) }); }, // columnChange方法为选择器的columnchange事件处理函数,用于设置range和pickerValue columnChange(e) { @@ -182,7 +229,7 @@ setLabel() { let addressList = this.data.addressList; if (addressList && addressList.length) { const [v1, v2, v3] = this.data.value; const [v1, v2, v3] = this.data.value; const [s1, { label: t1, children: l1 @@ -195,6 +242,7 @@ label: t3 }] = this.getAddressByCode(l2, v3); const label = [t1, t2, t3].filter(v => v).join('-'); const pickerValue = [s1, s2, s3]; const range = this.openChildren(addressList, [s1, s2, s3]); if (label.length) { @@ -204,9 +252,7 @@ pickerValue }); } } else { } } }, // initRange方法用于初始化range initRange() { wechat_jiaxuan/components/areaSel/areaSel.wxml
@@ -1,8 +1,8 @@ <picker mode="multiSelector" model:value="{{pickerValue}}" range-key="label" range="{{range}}" bindchange="onChange" bindcolumnchange="columnChange"> <view> <view style="width:400rpx;padding-left: 30rpx;white-space: nowrap;text-overflow: ellipsis; overflow:hidden;"> <!-- 如果已经选择了选项,则显示选项的label属性,否则显示placeholder属性。 --> <text wx:if="{{label}}"> {{ label }} </text> <text wx:if="{{label}}"> {{ label }} </text> <text style="color: #999" wx:else> {{ placeholder }}</text> </view> </picker> wechat_jiaxuan/pages/design/design.js
@@ -13,11 +13,11 @@ */ data: { name: '', phone: '', phone: '', showAreaList: false, areaList: [], addr: {}, addrValues:[], fieldNames: { text: 'name', value: 'id', @@ -44,8 +44,10 @@ areaCode: res.result.ad_info.adcode + '00', areaName: res.result.ad_info.district, } this.setData({ addr }) this.setData({ addr,addrValues: [res.result.ad_info.adcode.slice(0,2) + '0000', res.result.ad_info.adcode.slice(0,4) + '00', res.result.ad_info.adcode] }) } }) const member = wx.getStorageSync('member') @@ -155,37 +157,8 @@ // getArea({ // "level": "", // "pid": "" // }).then(res => { // var tl = [] // if(res && res.data && res.data.length){ // res.data.forEach(element => { // let tc = [] // if(element.children &&element.children.length){ // element.children.forEach(c => { // let ta = [] // if(c.children &&c.children.length){ // c.children.forEach(a => { // ta.push({ // name: a.name, // id: a.id // }) // }) // } // tc.push({ // name: c.name, // id: c.id, // children:ta, // }) // }) // } // tl.push({ // name: element.name, // id: element.id, // children: tc, // }) // }); // } // this.setData({areaList: tl}) // }).then(res => { // this.setData({areaList: res.data}) // console.log(this.data.areaList) // }) getDictData({ wechat_jiaxuan/pages/design/design.wxml
@@ -18,7 +18,7 @@ {{ addr.provinceName }}{{ addr.cityName }}{{ addr.areaName }} </view> </picker> --> <areaSel class="city_picler" bindchange="regionChange" placeholder="请选择所在区域" value="{{['210000000','210500000','210501000']}}" /> <areaSel bindchange="regionChange" placeholder="请选择所在区域" value="{{ addrValues }}" /> <image class="arrow_right" src="../../static/icon/arrow_right.png" mode="widthFix"></image> </view> <view class="btn" bindtap="onSubmit">立即报名</view> wechat_jiaxuan/pages/index/index.js
@@ -83,6 +83,7 @@ }) }, onLoad(options) { console.log(options) this.initDictData() this.initData() },