From 0d7f9478fa218123e4efd73b3f1c7e200a29d6ce Mon Sep 17 00:00:00 2001 From: xiezhijun <15270898033@163.com> Date: Wed, 2 Jun 2021 18:19:01 +0800 Subject: [PATCH] =?UTF-8?q?=E5=94=AE=E4=B8=AD=E6=8F=90=E6=88=90=E8=AE=A1?= =?UTF-8?q?=E7=AE=97=EF=BC=8C=E5=94=AE=E5=89=8D=E6=8E=A8=E9=80=81=E6=8F=90?= =?UTF-8?q?=E6=88=90=E8=AE=A1=E7=AE=97=EF=BC=8C=E4=BC=98=E5=8C=96=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E5=AE=A2=E6=88=B7=E6=89=8B=E6=9C=BA=E5=8F=B7=E6=97=B6?= =?UTF-8?q?=E6=9B=B4=E6=94=B9=E7=BB=91=E5=AE=9A=E5=AF=B9=E5=BA=94=E7=9A=84?= =?UTF-8?q?=E5=BE=AE=E4=BF=A1=E7=94=A8=E6=88=B7=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../custom/SysCommisionController.java | 46 ++++++++++++++++--- .../stdiet/custom/domain/SysCommision.java | 5 ++ .../custom/mapper/SysWxUserInfoMapper.java | 7 +++ .../custom/service/ISysWxUserInfoService.java | 7 +++ .../service/impl/SysCustomerServiceImpl.java | 30 ++++++++++-- .../impl/SysWxUserInfoServiceImpl.java | 9 ++++ .../mapper/custom/SysCommisionMapper.xml | 34 +++++++++++++- .../mapper/custom/SysWxUserInfoMapper.xml | 5 ++ stdiet-ui/src/components/OrderAdd/index.vue | 4 +- stdiet-ui/src/components/OrderEdit/index.vue | 4 +- stdiet-ui/src/store/getters.js | 3 +- stdiet-ui/src/store/modules/global.js | 6 ++- 12 files changed, 144 insertions(+), 16 deletions(-) diff --git a/stdiet-admin/src/main/java/com/stdiet/web/controller/custom/SysCommisionController.java b/stdiet-admin/src/main/java/com/stdiet/web/controller/custom/SysCommisionController.java index a8851e21a..9b3b58951 100644 --- a/stdiet-admin/src/main/java/com/stdiet/web/controller/custom/SysCommisionController.java +++ b/stdiet-admin/src/main/java/com/stdiet/web/controller/custom/SysCommisionController.java @@ -8,6 +8,7 @@ import java.util.Map; import java.util.TreeMap; import com.stdiet.common.utils.DateUtils; +import com.stdiet.common.utils.StringUtils; import com.stdiet.custom.domain.SysCommissionDayDetail; import com.stdiet.custom.domain.SysOrder; import com.stdiet.custom.domain.SysOrderCommisionDayDetail; @@ -169,12 +170,45 @@ public class SysCommisionController extends BaseController { public TableDataInfo getDetail(SysCommision sysCommision) { startPage(); if(sysCommision.getPostId() != null && sysCommision.getPostId().intValue() > 0){ - //查询售后所有ID - SysCommision param = new SysCommision(); - param.setPostId(sysCommision.getPostId()); - List userIds = sysCommisionService.getAfterSaleId(param); - sysCommision.setUserIds(userIds.size() == 0 ? null : userIds); - sysCommision.setPostId(null); + String postCodeId = ""; + switch (sysCommision.getPostId().intValue()){ + case 5: + postCodeId = "pre_sale_id"; + break; + case 18: + postCodeId = "push_pre_sale_id"; + break; + case 16: + postCodeId = "on_sale_id"; + break; + case 6: + postCodeId = "after_sale_id"; + break; + case 9: + postCodeId = "nutritionist_id"; + break; + case 10: + postCodeId = "nutri_assis_id"; + break; + case 11: + postCodeId = "operator_id"; + break; + case 13: + postCodeId = "operator_assis_id"; + break; + case 7: + postCodeId = "planner_id"; + break; + case 8: + postCodeId = "planner_assis_id"; + break; + default: + } + if(StringUtils.isEmpty(postCodeId)){ + sysCommision.setPostId(null); + }else{ + sysCommision.setPostCode(postCodeId); + } } List list = sysCommisionService.selectSysCommisionDetail(sysCommision); for (SysCommision detail : list) { diff --git a/stdiet-custom/src/main/java/com/stdiet/custom/domain/SysCommision.java b/stdiet-custom/src/main/java/com/stdiet/custom/domain/SysCommision.java index d7177a226..4e4a6420e 100644 --- a/stdiet-custom/src/main/java/com/stdiet/custom/domain/SysCommision.java +++ b/stdiet-custom/src/main/java/com/stdiet/custom/domain/SysCommision.java @@ -38,6 +38,11 @@ public class SysCommision extends BaseEntity { */ private Long postId; + /** + * 岗位编码code + */ + private String postCode; + /** * 业务员 */ diff --git a/stdiet-custom/src/main/java/com/stdiet/custom/mapper/SysWxUserInfoMapper.java b/stdiet-custom/src/main/java/com/stdiet/custom/mapper/SysWxUserInfoMapper.java index 724fa532a..b6fabe165 100644 --- a/stdiet-custom/src/main/java/com/stdiet/custom/mapper/SysWxUserInfoMapper.java +++ b/stdiet-custom/src/main/java/com/stdiet/custom/mapper/SysWxUserInfoMapper.java @@ -70,4 +70,11 @@ public interface SysWxUserInfoMapper * @return */ public SysWxUserInfo getSysWxUserInfoByPhone(@Param("phone")String phone); + + /** + * 根据openid移除对应绑定的cusId + * @param openid + * @return + */ + public int removeCusIdByOpenId(@Param("openid")String openid); } \ No newline at end of file diff --git a/stdiet-custom/src/main/java/com/stdiet/custom/service/ISysWxUserInfoService.java b/stdiet-custom/src/main/java/com/stdiet/custom/service/ISysWxUserInfoService.java index f009113f0..143094af7 100644 --- a/stdiet-custom/src/main/java/com/stdiet/custom/service/ISysWxUserInfoService.java +++ b/stdiet-custom/src/main/java/com/stdiet/custom/service/ISysWxUserInfoService.java @@ -70,5 +70,12 @@ public interface ISysWxUserInfoService */ public SysWxUserInfo getSysWxUserInfoByPhone(String phone); + /** + * 根据openid移除对应绑定的cusId + * @param openid + * @return + */ + public int removeCusIdByOpenId(String openid); + } \ No newline at end of file diff --git a/stdiet-custom/src/main/java/com/stdiet/custom/service/impl/SysCustomerServiceImpl.java b/stdiet-custom/src/main/java/com/stdiet/custom/service/impl/SysCustomerServiceImpl.java index 3bc9a37d9..31d881c9d 100644 --- a/stdiet-custom/src/main/java/com/stdiet/custom/service/impl/SysCustomerServiceImpl.java +++ b/stdiet-custom/src/main/java/com/stdiet/custom/service/impl/SysCustomerServiceImpl.java @@ -198,11 +198,33 @@ public class SysCustomerServiceImpl implements ISysCustomerService { if(newCustomer == null || newCustomer.getId() == null || StringUtils.isEmpty(newCustomer.getPhone())){ return; } + //先根据cusId查询是否已经绑定过微信用户 + SysWxUserInfo cusIdWxUserInfo = sysWxUserInfoService.selectSysWxUserInfoByCusId(newCustomer.getId()); //根据手机号查询微信用户记录 - SysWxUserInfo wxUserInfo = sysWxUserInfoService.getSysWxUserInfoByPhone(newCustomer.getPhone()); - if(wxUserInfo != null && (wxUserInfo.getCusId() == null || wxUserInfo.getCusId().longValue() != newCustomer.getId())){ - wxUserInfo.setCusId(newCustomer.getId()); - sysWxUserInfoService.updateSysWxUserInfo(wxUserInfo); + SysWxUserInfo phoneWxUserInfo = sysWxUserInfoService.getSysWxUserInfoByPhone(newCustomer.getPhone()); + if(cusIdWxUserInfo != null) { + if(phoneWxUserInfo != null){ + if(!cusIdWxUserInfo.getOpenid().equals(phoneWxUserInfo.getOpenid())){ + //解绑之前记录 + sysWxUserInfoService.removeCusIdByOpenId(cusIdWxUserInfo.getOpenid()); + //更新 + SysWxUserInfo param = new SysWxUserInfo(); + param.setOpenid(phoneWxUserInfo.getOpenid()); + param.setCusId(newCustomer.getId()); + sysWxUserInfoService.updateSysWxUserInfo(param); + } + }else{ + //解绑之前记录 + sysWxUserInfoService.removeCusIdByOpenId(cusIdWxUserInfo.getOpenid()); + } + }else{ + if(phoneWxUserInfo != null){ + //更新 + SysWxUserInfo param = new SysWxUserInfo(); + param.setOpenid(phoneWxUserInfo.getOpenid()); + param.setCusId(newCustomer.getId()); + sysWxUserInfoService.updateSysWxUserInfo(param); + } } } } \ No newline at end of file diff --git a/stdiet-custom/src/main/java/com/stdiet/custom/service/impl/SysWxUserInfoServiceImpl.java b/stdiet-custom/src/main/java/com/stdiet/custom/service/impl/SysWxUserInfoServiceImpl.java index bef991ad0..acae1d1d6 100644 --- a/stdiet-custom/src/main/java/com/stdiet/custom/service/impl/SysWxUserInfoServiceImpl.java +++ b/stdiet-custom/src/main/java/com/stdiet/custom/service/impl/SysWxUserInfoServiceImpl.java @@ -106,4 +106,13 @@ public class SysWxUserInfoServiceImpl implements ISysWxUserInfoService { public SysWxUserInfo getSysWxUserInfoByPhone(String phone){ return sysWxUserInfoMapper.getSysWxUserInfoByPhone(phone); } + + /** + * 根据openid移除对应绑定的cusId + * @param openid + * @return + */ + public int removeCusIdByOpenId(String openid){ + return sysWxUserInfoMapper.removeCusIdByOpenId(openid); + } } \ No newline at end of file diff --git a/stdiet-custom/src/main/resources/mapper/custom/SysCommisionMapper.xml b/stdiet-custom/src/main/resources/mapper/custom/SysCommisionMapper.xml index 5ae329ab6..ac42f0f58 100644 --- a/stdiet-custom/src/main/resources/mapper/custom/SysCommisionMapper.xml +++ b/stdiet-custom/src/main/resources/mapper/custom/SysCommisionMapper.xml @@ -42,12 +42,17 @@ AND date_format(order_time,'%y%m%d') <= date_format(${endTime},'%y%m%d') + + + and order_type = 3 + GROUP BY ${column} diff --git a/stdiet-custom/src/main/resources/mapper/custom/SysWxUserInfoMapper.xml b/stdiet-custom/src/main/resources/mapper/custom/SysWxUserInfoMapper.xml index 795a64be2..98f22abb5 100644 --- a/stdiet-custom/src/main/resources/mapper/custom/SysWxUserInfoMapper.xml +++ b/stdiet-custom/src/main/resources/mapper/custom/SysWxUserInfoMapper.xml @@ -135,4 +135,9 @@ where phone = #{phone} order by create_time desc limit 1 + + + update sys_wx_user_info set cus_id = null where openid = #{openid} + + \ No newline at end of file diff --git a/stdiet-ui/src/components/OrderAdd/index.vue b/stdiet-ui/src/components/OrderAdd/index.vue index b2364e34a..9b5b82ec2 100644 --- a/stdiet-ui/src/components/OrderAdd/index.vue +++ b/stdiet-ui/src/components/OrderAdd/index.vue @@ -129,7 +129,7 @@ state.global.plannerIdOptions, plannerAssisIdOptions: state => state.global.plannerAssisIdOptions, operatorIdOptions: state => state.global.operatorIdOptions, - operatorAssisIdOptions: state => state.global.operatorAssisIdOptions + operatorAssisIdOptions: state => state.global.operatorAssisIdOptions, + pushPreSaleIdOptions: state => state.global.pushPreSaleIdOptions }; export default getters; diff --git a/stdiet-ui/src/store/modules/global.js b/stdiet-ui/src/store/modules/global.js index 989310a29..4a12879c4 100644 --- a/stdiet-ui/src/store/modules/global.js +++ b/stdiet-ui/src/store/modules/global.js @@ -9,7 +9,8 @@ const oriState = { plannerIdOptions: [], plannerAssisIdOptions: [], operatorIdOptions: [], - operatorAssisIdOptions: [] + operatorAssisIdOptions: [], + pushPreSaleIdOptions:[] }; const mutations = { @@ -47,7 +48,8 @@ const actions = { plannerIdOptions: options["planner"] || [], plannerAssisIdOptions: options["planner_assis"] || [], operatorIdOptions: options["operator"] || [], - operatorAssisIdOptions: options["operator_assis"] || [] + operatorAssisIdOptions: options["operator_assis"] || [], + pushPreSaleIdOptions: options["push_pre_sale"] || [], }); } };