From c802d5151f9d16d6fbd2a754013e41737362cc00 Mon Sep 17 00:00:00 2001 From: xiezhijun <15270898033@163.com> Date: Tue, 18 May 2021 18:49:20 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E5=AF=BC=E7=B2=89=E8=AE=B0=E5=BD=95?= =?UTF-8?q?=E9=83=A8=E5=88=86=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../custom/SysImportFanRecordController.java | 17 + .../custom/domain/SysWxSaleAccount.java | 3 + .../custom/mapper/SysWxSaleAccountMapper.java | 7 + .../service/ISysWxSaleAccountService.java | 7 + .../impl/SysCommissionDayServiceImpl.java | 2 +- .../impl/SysWxSaleAccountServiceImpl.java | 9 + .../mapper/custom/SysWxSaleAccountMapper.xml | 15 + stdiet-ui/src/api/custom/importFanRecord.js | 61 ++++ .../ImportFanRecord/ImportFan/index.vue | 120 +++++++ .../views/custom/importFanRecord/index.vue | 336 ++++++++++++++++++ 10 files changed, 576 insertions(+), 1 deletion(-) create mode 100644 stdiet-ui/src/api/custom/importFanRecord.js create mode 100644 stdiet-ui/src/components/ImportFanRecord/ImportFan/index.vue create mode 100644 stdiet-ui/src/views/custom/importFanRecord/index.vue diff --git a/stdiet-admin/src/main/java/com/stdiet/web/controller/custom/SysImportFanRecordController.java b/stdiet-admin/src/main/java/com/stdiet/web/controller/custom/SysImportFanRecordController.java index e5add9b71..8d151231f 100644 --- a/stdiet-admin/src/main/java/com/stdiet/web/controller/custom/SysImportFanRecordController.java +++ b/stdiet-admin/src/main/java/com/stdiet/web/controller/custom/SysImportFanRecordController.java @@ -1,6 +1,9 @@ package com.stdiet.web.controller.custom; import java.util.List; + +import com.stdiet.custom.domain.SysWxSaleAccount; +import com.stdiet.custom.service.ISysWxSaleAccountService; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; @@ -33,6 +36,9 @@ public class SysImportFanRecordController extends BaseController @Autowired private ISysImportFanRecordService sysImportFanRecordService; + @Autowired + private ISysWxSaleAccountService sysWxSaleAccountService; + /** * 查询导粉管理列表 */ @@ -100,4 +106,15 @@ public class SysImportFanRecordController extends BaseController { return toAjax(sysImportFanRecordService.deleteSysImportFanRecordByIds(ids)); } + + /** + * 获取可接粉的微信号以及对应销售 + * @param sysWxSaleAccount + * @return + */ + @PreAuthorize("@ss.hasPermi('custom:importFanRecord:add')") + @GetMapping(value = "/getWxAccountAndSale") + public TableDataInfo getWxAccountAndSale(SysWxSaleAccount sysWxSaleAccount){ + return getDataTable(sysWxSaleAccountService.getWxAccountAndSale(sysWxSaleAccount)); + } } diff --git a/stdiet-custom/src/main/java/com/stdiet/custom/domain/SysWxSaleAccount.java b/stdiet-custom/src/main/java/com/stdiet/custom/domain/SysWxSaleAccount.java index 910ad7eaa..feabbfa5b 100644 --- a/stdiet-custom/src/main/java/com/stdiet/custom/domain/SysWxSaleAccount.java +++ b/stdiet-custom/src/main/java/com/stdiet/custom/domain/SysWxSaleAccount.java @@ -44,4 +44,7 @@ public class SysWxSaleAccount extends BaseEntity private Integer status; private Integer useCount; + + //销售昵称 + private String saleName; } \ No newline at end of file diff --git a/stdiet-custom/src/main/java/com/stdiet/custom/mapper/SysWxSaleAccountMapper.java b/stdiet-custom/src/main/java/com/stdiet/custom/mapper/SysWxSaleAccountMapper.java index 7835353f0..0901b5a37 100644 --- a/stdiet-custom/src/main/java/com/stdiet/custom/mapper/SysWxSaleAccountMapper.java +++ b/stdiet-custom/src/main/java/com/stdiet/custom/mapper/SysWxSaleAccountMapper.java @@ -71,4 +71,11 @@ public interface SysWxSaleAccountMapper SysWxSaleAccount selectWxAdId(); int insertWxAdLog(SysWxAdLog sysWxAdLog); + + /** + * 获取可接粉的微信号以及分配的销售昵称 + * @param sysWxSaleAccount + * @return + */ + List getWxAccountAndSale(SysWxSaleAccount sysWxSaleAccount); } \ No newline at end of file diff --git a/stdiet-custom/src/main/java/com/stdiet/custom/service/ISysWxSaleAccountService.java b/stdiet-custom/src/main/java/com/stdiet/custom/service/ISysWxSaleAccountService.java index 88a4d16fd..5763bf238 100644 --- a/stdiet-custom/src/main/java/com/stdiet/custom/service/ISysWxSaleAccountService.java +++ b/stdiet-custom/src/main/java/com/stdiet/custom/service/ISysWxSaleAccountService.java @@ -72,4 +72,11 @@ public interface ISysWxSaleAccountService String getWxAdId(SysWxAdLog sysWxAdLog); Integer logWxAd(SysWxAdLog sysWxAdLog); + + /** + * 获取可接粉的微信号以及分配的销售昵称 + * @param sysWxSaleAccount + * @return + */ + List getWxAccountAndSale(SysWxSaleAccount sysWxSaleAccount); } \ No newline at end of file diff --git a/stdiet-custom/src/main/java/com/stdiet/custom/service/impl/SysCommissionDayServiceImpl.java b/stdiet-custom/src/main/java/com/stdiet/custom/service/impl/SysCommissionDayServiceImpl.java index 90aa114ef..be05d3a8c 100644 --- a/stdiet-custom/src/main/java/com/stdiet/custom/service/impl/SysCommissionDayServiceImpl.java +++ b/stdiet-custom/src/main/java/com/stdiet/custom/service/impl/SysCommissionDayServiceImpl.java @@ -33,7 +33,7 @@ public class SysCommissionDayServiceImpl implements ISysCommissionDayService { private SysOrderMapper sysOrderMapper; @Autowired - private SysOrderPauseMapper sysOrderPauseMapper; + private SysOrderPauseMapper sysOrderPauseMapper ; @Autowired private ISysOrderNutritionistReplaceRecordService sysOrderNutritionistReplaceRecordService; diff --git a/stdiet-custom/src/main/java/com/stdiet/custom/service/impl/SysWxSaleAccountServiceImpl.java b/stdiet-custom/src/main/java/com/stdiet/custom/service/impl/SysWxSaleAccountServiceImpl.java index e060d7a45..0374d66db 100644 --- a/stdiet-custom/src/main/java/com/stdiet/custom/service/impl/SysWxSaleAccountServiceImpl.java +++ b/stdiet-custom/src/main/java/com/stdiet/custom/service/impl/SysWxSaleAccountServiceImpl.java @@ -128,4 +128,13 @@ public class SysWxSaleAccountServiceImpl implements ISysWxSaleAccountService { public Integer logWxAd(SysWxAdLog sysWxAdLog) { return sysWxSaleAccountMapper.insertWxAdLog(sysWxAdLog); } + + /** + * 获取可接粉的微信号以及分配的销售昵称 + * @param sysWxSaleAccount + * @return + */ + public List getWxAccountAndSale(SysWxSaleAccount sysWxSaleAccount){ + return sysWxSaleAccountMapper.getWxAccountAndSale(sysWxSaleAccount); + } } \ No newline at end of file diff --git a/stdiet-custom/src/main/resources/mapper/custom/SysWxSaleAccountMapper.xml b/stdiet-custom/src/main/resources/mapper/custom/SysWxSaleAccountMapper.xml index a5ceceaad..e8f32eb8b 100644 --- a/stdiet-custom/src/main/resources/mapper/custom/SysWxSaleAccountMapper.xml +++ b/stdiet-custom/src/main/resources/mapper/custom/SysWxSaleAccountMapper.xml @@ -19,6 +19,9 @@ + + + @@ -31,6 +34,7 @@ and wx_nick_name like concat('%', #{wxNickName}, '%') and wx_account like concat('%', #{wxAccount}, '%') and wx_phone like concat('%', #{wxPhone}, '%') + and status = #{status} order by id desc @@ -134,4 +138,15 @@ + + + \ No newline at end of file diff --git a/stdiet-ui/src/api/custom/importFanRecord.js b/stdiet-ui/src/api/custom/importFanRecord.js new file mode 100644 index 000000000..68922e69b --- /dev/null +++ b/stdiet-ui/src/api/custom/importFanRecord.js @@ -0,0 +1,61 @@ +import request from '@/utils/request' + +// 查询导粉管理列表 +export function listImportFanRecord(query) { + return request({ + url: '/custom/importFanRecord/list', + method: 'get', + params: query + }) +} + +// 查询导粉管理详细 +export function getImportFanRecord(id) { + return request({ + url: '/custom/importFanRecord/' + id, + method: 'get' + }) +} + +// 新增导粉管理 +export function addImportFanRecord(data) { + return request({ + url: '/custom/importFanRecord', + method: 'post', + data: data + }) +} + +// 修改导粉管理 +export function updateImportFanRecord(data) { + return request({ + url: '/custom/importFanRecord', + method: 'put', + data: data + }) +} + +// 删除导粉管理 +export function delImportFanRecord(id) { + return request({ + url: '/custom/importFanRecord/' + id, + method: 'delete' + }) +} + +// 导出导粉管理 +export function exportImportFanRecord(query) { + return request({ + url: '/custom/importFanRecord/export', + method: 'get', + params: query + }) +} + +export function getWxAccountAndSale(query){ + return request({ + url: '/custom/importFanRecord/getWxAccountAndSale', + method: 'get', + params: query + }) +} \ No newline at end of file diff --git a/stdiet-ui/src/components/ImportFanRecord/ImportFan/index.vue b/stdiet-ui/src/components/ImportFanRecord/ImportFan/index.vue new file mode 100644 index 000000000..eb5a9c28c --- /dev/null +++ b/stdiet-ui/src/components/ImportFanRecord/ImportFan/index.vue @@ -0,0 +1,120 @@ + + + + diff --git a/stdiet-ui/src/views/custom/importFanRecord/index.vue b/stdiet-ui/src/views/custom/importFanRecord/index.vue new file mode 100644 index 000000000..fade5a25f --- /dev/null +++ b/stdiet-ui/src/views/custom/importFanRecord/index.vue @@ -0,0 +1,336 @@ + + + \ No newline at end of file From 574c8b424e147d786c06df877d964e07ec580999 Mon Sep 17 00:00:00 2001 From: xiezhijun <15270898033@163.com> Date: Wed, 19 May 2021 19:18:18 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E5=AF=BC=E7=B2=89=E7=BB=9F=E8=AE=A1?= =?UTF-8?q?=EF=BC=8C=E6=9B=B4=E6=96=B0=E5=AE=A2=E6=88=B7=E6=89=8B=E6=9C=BA?= =?UTF-8?q?=E5=8F=B7=E6=97=B6=E6=9B=B4=E6=96=B0=E4=B8=8B=E5=BE=AE=E4=BF=A1?= =?UTF-8?q?=E7=94=A8=E6=88=B7=E5=AF=B9=E5=BA=94=E7=9A=84=E5=AE=A2=E6=88=B7?= =?UTF-8?q?ID?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../custom/SysLiveSchedulController.java | 9 ++ .../custom/domain/SysImportFanRecord.java | 19 +++++ .../mapper/SysImportFanRecordMapper.java | 7 ++ .../mapper/SysImportFanWxAccountMapper.java | 7 ++ .../custom/mapper/SysWxUserInfoMapper.java | 8 ++ .../ISysImportFanWxAccountService.java | 7 ++ .../custom/service/ISysWxUserInfoService.java | 7 ++ .../impl/SysCustomerHealthyServiceImpl.java | 5 +- .../service/impl/SysCustomerServiceImpl.java | 32 ++++++- .../impl/SysImportFanRecordServiceImpl.java | 30 ++++++- .../SysImportFanWxAccountServiceImpl.java | 9 ++ .../impl/SysWxUserInfoServiceImpl.java | 9 ++ .../custom/SysImportFanRecordMapper.xml | 57 +++++++++++-- .../custom/SysImportFanWxAccountMapper.xml | 5 ++ .../mapper/custom/SysWxUserInfoMapper.xml | 6 ++ stdiet-ui/src/api/custom/liveSchedul.js | 10 +++ .../ImportFanRecord/ImportFan/index.vue | 84 +++++++++++++++++-- .../views/custom/importFanRecord/index.vue | 8 +- 18 files changed, 299 insertions(+), 20 deletions(-) diff --git a/stdiet-admin/src/main/java/com/stdiet/web/controller/custom/SysLiveSchedulController.java b/stdiet-admin/src/main/java/com/stdiet/web/controller/custom/SysLiveSchedulController.java index 09a427db4..dff6fa13f 100644 --- a/stdiet-admin/src/main/java/com/stdiet/web/controller/custom/SysLiveSchedulController.java +++ b/stdiet-admin/src/main/java/com/stdiet/web/controller/custom/SysLiveSchedulController.java @@ -233,4 +233,13 @@ public class SysLiveSchedulController extends BaseController public AjaxResult copyLastTimeLiveSchedul(){ return sysLiveSchedulService.copyLastTimeLiveSchedul(); } + + /** + * 根据日期查询直播记录 + */ + @GetMapping(value = "/getAllLiveSchedulByDate") + public AjaxResult getAllLiveSchedulByDate(SysLiveSchedul sysLiveSchedul){ + List list = sysLiveSchedulService.selectSysLiveSchedulList(sysLiveSchedul); + return AjaxResult.success(list); + } } \ No newline at end of file diff --git a/stdiet-custom/src/main/java/com/stdiet/custom/domain/SysImportFanRecord.java b/stdiet-custom/src/main/java/com/stdiet/custom/domain/SysImportFanRecord.java index cb51a6d31..7c9222937 100644 --- a/stdiet-custom/src/main/java/com/stdiet/custom/domain/SysImportFanRecord.java +++ b/stdiet-custom/src/main/java/com/stdiet/custom/domain/SysImportFanRecord.java @@ -1,9 +1,13 @@ package com.stdiet.custom.domain; import java.util.Date; +import java.util.List; +import java.util.Map; + import com.fasterxml.jackson.annotation.JsonFormat; import com.stdiet.common.annotation.Excel; import com.stdiet.common.core.domain.BaseEntity; +import lombok.Data; /** * 导粉管理对象 sys_import_fan_record @@ -11,6 +15,7 @@ import com.stdiet.common.core.domain.BaseEntity; * @author xzj * @date 2021-05-17 */ +@Data public class SysImportFanRecord extends BaseEntity { private static final long serialVersionUID = 1L; @@ -33,4 +38,18 @@ public class SysImportFanRecord extends BaseEntity /** 删除标识,0未删除 1已删除 */ private Long delFlag; + + //微信ID + private Long wxAccountId; + + //进粉数量 + private Long fanNum; + + private String importFanChannelName; + + private String liveRoomName; + + private String liveNutritionistName; + + private List> wxAccountList; } \ No newline at end of file diff --git a/stdiet-custom/src/main/java/com/stdiet/custom/mapper/SysImportFanRecordMapper.java b/stdiet-custom/src/main/java/com/stdiet/custom/mapper/SysImportFanRecordMapper.java index 6b1c809a2..eb430d355 100644 --- a/stdiet-custom/src/main/java/com/stdiet/custom/mapper/SysImportFanRecordMapper.java +++ b/stdiet-custom/src/main/java/com/stdiet/custom/mapper/SysImportFanRecordMapper.java @@ -58,4 +58,11 @@ public interface SysImportFanRecordMapper * @return 结果 */ public int deleteSysImportFanRecordByIds(Long[] ids); + + /** + * 根据日期渠道、直播间获取进粉记录 + * @param sysImportFanRecord + * @return + */ + public SysImportFanRecord getFanRecordByChannelLive(SysImportFanRecord sysImportFanRecord); } \ No newline at end of file diff --git a/stdiet-custom/src/main/java/com/stdiet/custom/mapper/SysImportFanWxAccountMapper.java b/stdiet-custom/src/main/java/com/stdiet/custom/mapper/SysImportFanWxAccountMapper.java index cce3cd805..0d441f291 100644 --- a/stdiet-custom/src/main/java/com/stdiet/custom/mapper/SysImportFanWxAccountMapper.java +++ b/stdiet-custom/src/main/java/com/stdiet/custom/mapper/SysImportFanWxAccountMapper.java @@ -58,4 +58,11 @@ public interface SysImportFanWxAccountMapper * @return 结果 */ public int deleteSysImportFanWxAccountByIds(Long[] ids); + + /** + * 根据导粉记录ID、微信ID查询对应微信记录 + * @param sysImportFanWxAccount + * @return + */ + public SysImportFanWxAccount getWxAccountByFanRecordId(SysImportFanWxAccount sysImportFanWxAccount); } \ No newline at end of file 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 7081917fb..724fa532a 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 @@ -2,6 +2,7 @@ package com.stdiet.custom.mapper; import java.util.List; import com.stdiet.custom.domain.SysWxUserInfo; +import org.apache.ibatis.annotations.Param; /** * 微信用户Mapper接口 @@ -62,4 +63,11 @@ public interface SysWxUserInfoMapper * @return 结果 */ public int deleteSysWxUserInfoByIds(String[] openids); + + /** + * 根据手机号查询微信用户 + * @param phone + * @return + */ + public SysWxUserInfo getSysWxUserInfoByPhone(@Param("phone")String phone); } \ No newline at end of file diff --git a/stdiet-custom/src/main/java/com/stdiet/custom/service/ISysImportFanWxAccountService.java b/stdiet-custom/src/main/java/com/stdiet/custom/service/ISysImportFanWxAccountService.java index 435c2a990..1b0a3f36c 100644 --- a/stdiet-custom/src/main/java/com/stdiet/custom/service/ISysImportFanWxAccountService.java +++ b/stdiet-custom/src/main/java/com/stdiet/custom/service/ISysImportFanWxAccountService.java @@ -58,4 +58,11 @@ public interface ISysImportFanWxAccountService * @return 结果 */ public int deleteSysImportFanWxAccountById(Long id); + + /** + * 根据导粉记录ID、微信ID查询对应微信记录 + * @param sysImportFanWxAccount + * @return + */ + public SysImportFanWxAccount getWxAccountByFanRecordId(SysImportFanWxAccount sysImportFanWxAccount); } \ 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 3dc8acb61..f009113f0 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 @@ -63,5 +63,12 @@ public interface ISysWxUserInfoService */ public int deleteSysWxUserInfoById(String openid); + /** + * 根据手机号查询微信用户 + * @param phone + * @return + */ + public SysWxUserInfo getSysWxUserInfoByPhone(String phone); + } \ No newline at end of file diff --git a/stdiet-custom/src/main/java/com/stdiet/custom/service/impl/SysCustomerHealthyServiceImpl.java b/stdiet-custom/src/main/java/com/stdiet/custom/service/impl/SysCustomerHealthyServiceImpl.java index 8170cd5db..123a546d7 100644 --- a/stdiet-custom/src/main/java/com/stdiet/custom/service/impl/SysCustomerHealthyServiceImpl.java +++ b/stdiet-custom/src/main/java/com/stdiet/custom/service/impl/SysCustomerHealthyServiceImpl.java @@ -14,6 +14,7 @@ import com.stdiet.custom.domain.SysCustomer; import com.stdiet.custom.domain.SysCustomerPhysicalSigns; import com.stdiet.custom.dto.request.HealthyDetailRequest; import com.stdiet.custom.dto.response.NutritionalCalories; +import com.stdiet.custom.mapper.SysCustomerMapper; import com.stdiet.custom.service.ISysCustomerService; import com.stdiet.custom.utils.NutritionalUtils; import com.stdiet.custom.utils.PdfUtils; @@ -36,7 +37,7 @@ public class SysCustomerHealthyServiceImpl implements ISysCustomerHealthyService private SysCustomerHealthyMapper sysCustomerHealthyMapper; @Autowired - private ISysCustomerService sysCustomerService; + private SysCustomerMapper sysCustomerMapper; public static final String reportDownFileNameFormat = "%s超重%s斤%s"; @@ -78,7 +79,7 @@ public class SysCustomerHealthyServiceImpl implements ISysCustomerHealthyService return AjaxResult.error("客户不存在"); } //判断客户是否存在 - SysCustomer sysCustomer = sysCustomerService.selectSysCustomerById(Long.parseLong(customerId)); + SysCustomer sysCustomer = sysCustomerMapper.selectSysCustomerById(Long.parseLong(customerId)); if(sysCustomer == null){ return AjaxResult.error("客户不存在"); } 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 eb3851d4c..3bc9a37d9 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 @@ -6,10 +6,14 @@ import com.stdiet.common.utils.sign.AesUtils; import com.stdiet.custom.domain.SysCustomer; import com.stdiet.custom.domain.SysCustomerHealthy; import com.stdiet.custom.domain.SysCustomerPhysicalSigns; +import com.stdiet.custom.domain.SysWxUserInfo; import com.stdiet.custom.mapper.SysCustomerMapper; import com.stdiet.custom.mapper.SysCustomerPhysicalSignsMapper; +import com.stdiet.custom.mapper.SysWxUserInfoMapper; import com.stdiet.custom.service.ISysCustomerService; +import com.stdiet.custom.service.ISysWxUserInfoService; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -38,6 +42,9 @@ public class SysCustomerServiceImpl implements ISysCustomerService { @Autowired private SysCustomerPhysicalSignsServiceImpl sysCustomerPhysicalSignsService; + @Autowired + private ISysWxUserInfoService sysWxUserInfoService; + /** * 查询客户信息 * @@ -69,7 +76,11 @@ public class SysCustomerServiceImpl implements ISysCustomerService { @Override public int insertSysCustomer(SysCustomer sysCustomer) { sysCustomer.setCreateTime(DateUtils.getNowDate()); - return sysCustomerMapper.insertSysCustomer(sysCustomer); + int row = sysCustomerMapper.insertSysCustomer(sysCustomer); + if(row > 0){ + updateWxInfoMessage(sysCustomer); + } + return row; } /** @@ -81,7 +92,11 @@ public class SysCustomerServiceImpl implements ISysCustomerService { @Override public int updateSysCustomer(SysCustomer sysCustomer) { sysCustomer.setUpdateTime(DateUtils.getNowDate()); - return sysCustomerMapper.updateSysCustomer(sysCustomer); + int row = sysCustomerMapper.updateSysCustomer(sysCustomer); + if(row > 0){ + updateWxInfoMessage(sysCustomer); + } + return row; } /** @@ -177,4 +192,17 @@ public class SysCustomerServiceImpl implements ISysCustomerService { public SysCustomer getCustomerByOpenId(String openid){ return sysCustomerMapper.getCustomerByOpenId(openid); } + + @Async + public void updateWxInfoMessage(SysCustomer newCustomer){ + if(newCustomer == null || newCustomer.getId() == null || StringUtils.isEmpty(newCustomer.getPhone())){ + return; + } + //根据手机号查询微信用户记录 + SysWxUserInfo wxUserInfo = sysWxUserInfoService.getSysWxUserInfoByPhone(newCustomer.getPhone()); + if(wxUserInfo != null && (wxUserInfo.getCusId() == null || wxUserInfo.getCusId().longValue() != newCustomer.getId())){ + wxUserInfo.setCusId(newCustomer.getId()); + sysWxUserInfoService.updateSysWxUserInfo(wxUserInfo); + } + } } \ No newline at end of file diff --git a/stdiet-custom/src/main/java/com/stdiet/custom/service/impl/SysImportFanRecordServiceImpl.java b/stdiet-custom/src/main/java/com/stdiet/custom/service/impl/SysImportFanRecordServiceImpl.java index 4c034568a..8ccb0d8e8 100644 --- a/stdiet-custom/src/main/java/com/stdiet/custom/service/impl/SysImportFanRecordServiceImpl.java +++ b/stdiet-custom/src/main/java/com/stdiet/custom/service/impl/SysImportFanRecordServiceImpl.java @@ -1,7 +1,10 @@ package com.stdiet.custom.service.impl; +import java.util.Date; import java.util.List; import com.stdiet.common.utils.DateUtils; +import com.stdiet.custom.domain.SysImportFanWxAccount; +import com.stdiet.custom.service.ISysImportFanWxAccountService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.stdiet.custom.mapper.SysImportFanRecordMapper; @@ -20,6 +23,9 @@ public class SysImportFanRecordServiceImpl implements ISysImportFanRecordService @Autowired private SysImportFanRecordMapper sysImportFanRecordMapper; + @Autowired + private ISysImportFanWxAccountService sysImportFanWxAccountService; + /** * 查询导粉管理 * @@ -54,7 +60,29 @@ public class SysImportFanRecordServiceImpl implements ISysImportFanRecordService public int insertSysImportFanRecord(SysImportFanRecord sysImportFanRecord) { sysImportFanRecord.setCreateTime(DateUtils.getNowDate()); - return sysImportFanRecordMapper.insertSysImportFanRecord(sysImportFanRecord); + //根据账号渠道、直播间判断是否已存在该渠道的导粉记录 + SysImportFanRecord record = sysImportFanRecordMapper.getFanRecordByChannelLive(sysImportFanRecord); + int row = 0; + if(record == null){ + row = sysImportFanRecordMapper.insertSysImportFanRecord(sysImportFanRecord); + } + if(record != null || row > 0){ + //添加微信号对应记录 + SysImportFanWxAccount sysImportFanWxAccount = new SysImportFanWxAccount(); + sysImportFanWxAccount.setImportFanRecordId(record != null ? record.getId() : sysImportFanRecord.getId()); + sysImportFanWxAccount.setImportWxAccountId(sysImportFanRecord.getWxAccountId()); + sysImportFanWxAccount.setImportFanNum(sysImportFanRecord.getFanNum()); + sysImportFanWxAccount.setCreateTime(new Date()); + //根据微信号、导粉记录查询是否存在 + SysImportFanWxAccount oldFanWxAccount = sysImportFanWxAccountService.getWxAccountByFanRecordId(sysImportFanWxAccount); + if(oldFanWxAccount == null){ + row = sysImportFanWxAccountService.insertSysImportFanWxAccount(sysImportFanWxAccount); + }else{ + oldFanWxAccount.setImportFanNum((oldFanWxAccount.getImportFanNum() == null ? 0 : oldFanWxAccount.getImportFanNum()) + sysImportFanWxAccount.getImportFanNum()); + row = sysImportFanWxAccountService.updateSysImportFanWxAccount(oldFanWxAccount); + } + } + return row; } /** diff --git a/stdiet-custom/src/main/java/com/stdiet/custom/service/impl/SysImportFanWxAccountServiceImpl.java b/stdiet-custom/src/main/java/com/stdiet/custom/service/impl/SysImportFanWxAccountServiceImpl.java index 23741a849..44e904a99 100644 --- a/stdiet-custom/src/main/java/com/stdiet/custom/service/impl/SysImportFanWxAccountServiceImpl.java +++ b/stdiet-custom/src/main/java/com/stdiet/custom/service/impl/SysImportFanWxAccountServiceImpl.java @@ -93,4 +93,13 @@ public class SysImportFanWxAccountServiceImpl implements ISysImportFanWxAccountS { return sysImportFanWxAccountMapper.deleteSysImportFanWxAccountById(id); } + + /** + * 根据导粉记录ID、微信ID查询对应微信记录 + * @param sysImportFanWxAccount + * @return + */ + public SysImportFanWxAccount getWxAccountByFanRecordId(SysImportFanWxAccount sysImportFanWxAccount){ + return sysImportFanWxAccountMapper.getWxAccountByFanRecordId(sysImportFanWxAccount); + } } \ 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 94f1ffb95..bef991ad0 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 @@ -97,4 +97,13 @@ public class SysWxUserInfoServiceImpl implements ISysWxUserInfoService { public int deleteSysWxUserInfoById(String openid) { return sysWxUserInfoMapper.deleteSysWxUserInfoById(openid); } + + /** + * 根据手机号查询微信用户 + * @param phone + * @return + */ + public SysWxUserInfo getSysWxUserInfoByPhone(String phone){ + return sysWxUserInfoMapper.getSysWxUserInfoByPhone(phone); + } } \ No newline at end of file diff --git a/stdiet-custom/src/main/resources/mapper/custom/SysImportFanRecordMapper.xml b/stdiet-custom/src/main/resources/mapper/custom/SysImportFanRecordMapper.xml index 83e5fa780..b99b2fd55 100644 --- a/stdiet-custom/src/main/resources/mapper/custom/SysImportFanRecordMapper.xml +++ b/stdiet-custom/src/main/resources/mapper/custom/SysImportFanRecordMapper.xml @@ -14,18 +14,47 @@ + + + + + + + + + + + + + + + + + + + + + + + select id, import_fan_date, import_fan_channel, import_fan_live, create_time, create_by, update_time, update_by, del_flag from sys_import_fan_record - + select fc.id, fc.import_fan_date, fc.import_fan_channel, fc.import_fan_live, fc.create_time, + ca.dict_label as import_fan_channel_name, slt.dict_label as live_room_name,su_nutritionist.nick_name as live_nutritionist_name + from sys_import_fan_record as fc + left join (SELECT dict_label, dict_value FROM sys_dict_data WHERE dict_type = 'cus_account') AS ca ON ca.dict_value = fc.import_fan_channel + left join sys_live_schedul as slc on slc.id = fc.import_fan_live and slc.del_flag = 0 + left join (SELECT dict_label, dict_value FROM sys_dict_data WHERE dict_type = 'sys_live_type') AS slt ON slt.dict_value = slc.live_room + left join sys_user as su_nutritionist on su_nutritionist.user_id = slc.live_nutritionist_id and su_nutritionist.del_flag = 0 + where fc.del_flag = 0 + and fc.import_fan_date = #{importFanDate} + and fc.import_fan_channel = #{importFanChannel} + and fc.import_fan_live = #{importFanLive} + select * from sys_import_fan_record where del_flag = 0 and import_fan_date = #{importFanDate} and import_fan_channel = #{importFanChannel} + and import_fan_live = #{importFanLive} + order by id desc limit 1 + + + + \ No newline at end of file diff --git a/stdiet-custom/src/main/resources/mapper/custom/SysImportFanWxAccountMapper.xml b/stdiet-custom/src/main/resources/mapper/custom/SysImportFanWxAccountMapper.xml index 9df906444..c3127ce6d 100644 --- a/stdiet-custom/src/main/resources/mapper/custom/SysImportFanWxAccountMapper.xml +++ b/stdiet-custom/src/main/resources/mapper/custom/SysImportFanWxAccountMapper.xml @@ -82,4 +82,9 @@ + + \ No newline at end of file diff --git a/stdiet-custom/src/main/resources/mapper/custom/SysWxUserInfoMapper.xml b/stdiet-custom/src/main/resources/mapper/custom/SysWxUserInfoMapper.xml index f5d31376b..795a64be2 100644 --- a/stdiet-custom/src/main/resources/mapper/custom/SysWxUserInfoMapper.xml +++ b/stdiet-custom/src/main/resources/mapper/custom/SysWxUserInfoMapper.xml @@ -129,4 +129,10 @@ + + + \ No newline at end of file diff --git a/stdiet-ui/src/api/custom/liveSchedul.js b/stdiet-ui/src/api/custom/liveSchedul.js index 716796df0..61318fca8 100644 --- a/stdiet-ui/src/api/custom/liveSchedul.js +++ b/stdiet-ui/src/api/custom/liveSchedul.js @@ -71,4 +71,14 @@ export function copyLastTimeLiveSchedul() { }) } +// 根据日期查询直播记录 +export function getAllLiveSchedulByDate(data) { + return request({ + url: '/custom/liveSchedul/getAllLiveSchedulByDate', + method: 'get', + params: data + }) +} + + diff --git a/stdiet-ui/src/components/ImportFanRecord/ImportFan/index.vue b/stdiet-ui/src/components/ImportFanRecord/ImportFan/index.vue index eb5a9c28c..ff32af561 100644 --- a/stdiet-ui/src/components/ImportFanRecord/ImportFan/index.vue +++ b/stdiet-ui/src/components/ImportFanRecord/ImportFan/index.vue @@ -1,16 +1,16 @@ - - + + + + - +