From 454022c55349d30d3bdfcd5f0283149176ae6e2d Mon Sep 17 00:00:00 2001 From: Lemon Date: Fri, 25 Aug 2023 13:17:30 +0800 Subject: [PATCH] =?UTF-8?q?update=20=20=E4=BC=9A=E5=91=98=E5=8C=BA?= =?UTF-8?q?=E5=88=86=E8=BF=90=E8=90=A5=E5=95=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pile/MemberBasicInfoController.java | 20 + .../core/controller/BaseController.java | 22 + .../jsowell/pile/dto/QueryMemberInfoDTO.java | 6 + .../pile/mapper/MemberBasicInfoMapper.java | 6 + .../pile/service/IMemberBasicInfoService.java | 7 + .../impl/MemberBasicInfoServiceImpl.java | 21 + .../com/jsowell/pile/vo/uniapp/MemberVO.java | 7 + .../mapper/pile/MemberBasicInfoMapper.xml | 27 +- jsowell-ui/src/api/member/info.js | 132 +-- jsowell-ui/src/views/member/info/index.vue | 845 +++++++++--------- 10 files changed, 622 insertions(+), 471 deletions(-) diff --git a/jsowell-admin/src/main/java/com/jsowell/web/controller/pile/MemberBasicInfoController.java b/jsowell-admin/src/main/java/com/jsowell/web/controller/pile/MemberBasicInfoController.java index 5a3f1e5e6..400c16c4c 100644 --- a/jsowell-admin/src/main/java/com/jsowell/web/controller/pile/MemberBasicInfoController.java +++ b/jsowell-admin/src/main/java/com/jsowell/web/controller/pile/MemberBasicInfoController.java @@ -12,6 +12,7 @@ import com.jsowell.common.enums.BusinessType; import com.jsowell.common.enums.uniapp.BalanceChangesEnum; import com.jsowell.common.enums.ykc.ReturnCodeEnum; import com.jsowell.common.exception.BusinessException; +import com.jsowell.common.response.RestApiResponse; import com.jsowell.common.util.StringUtils; import com.jsowell.pile.domain.MemberBasicInfo; import com.jsowell.pile.domain.MemberPlateNumberRelation; @@ -21,14 +22,17 @@ import com.jsowell.pile.dto.UniAppQueryMemberBalanceDTO; import com.jsowell.pile.service.IMemberBasicInfoService; import com.jsowell.pile.service.IMemberPlateNumberRelationService; import com.jsowell.pile.service.IMemberTransactionRecordService; +import com.jsowell.pile.vo.base.MerchantInfoVO; import com.jsowell.pile.vo.uniapp.MemberVO; import com.jsowell.pile.vo.uniapp.MemberWalletLogVO; import com.jsowell.pile.vo.web.MemberTransactionVO; import com.jsowell.pile.vo.web.PlatformTesterVO; +import org.apache.commons.collections4.CollectionUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; +import java.util.ArrayList; import java.util.List; /** @@ -61,6 +65,22 @@ public class MemberBasicInfoController extends BaseController { return getDataTable(list); } + /** + * 获取当前会员表中存在的运营商列表 + * @return + */ + @GetMapping("/getMerchantListByAuth") + public RestApiResponse getMerchantListByAuth() { + RestApiResponse response = null; + List deptIds = getDeptIds(); + List list = memberBasicInfoService.getMerchantListByAuth(deptIds); + if (CollectionUtils.isEmpty(list)) { + list = new ArrayList<>(); + } + response = new RestApiResponse<>(list); + return response; + } + /** * 导出会员基础信息列表 */ diff --git a/jsowell-common/src/main/java/com/jsowell/common/core/controller/BaseController.java b/jsowell-common/src/main/java/com/jsowell/common/core/controller/BaseController.java index c157e8304..b71a99dfe 100644 --- a/jsowell-common/src/main/java/com/jsowell/common/core/controller/BaseController.java +++ b/jsowell-common/src/main/java/com/jsowell/common/core/controller/BaseController.java @@ -5,6 +5,7 @@ import com.github.pagehelper.PageInfo; import com.jsowell.common.constant.HttpStatus; import com.jsowell.common.core.domain.AjaxResult; import com.jsowell.common.core.domain.model.LoginUser; +import com.jsowell.common.core.domain.vo.AuthorizedDeptVO; import com.jsowell.common.core.page.PageDomain; import com.jsowell.common.core.page.PageResponse; import com.jsowell.common.core.page.TableDataInfo; @@ -17,6 +18,7 @@ import com.jsowell.common.util.PageUtils; import com.jsowell.common.util.SecurityUtils; import com.jsowell.common.util.StringUtils; import com.jsowell.common.util.sql.SqlUtil; +import org.apache.commons.collections4.CollectionUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.web.bind.WebDataBinder; @@ -24,6 +26,7 @@ import org.springframework.web.bind.annotation.InitBinder; import javax.servlet.http.HttpServletRequest; import java.beans.PropertyEditorSupport; +import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -194,4 +197,23 @@ public class BaseController { public String getMemberIdByAuthorization(HttpServletRequest request) { return getMemberIdByAuthorization(request.getHeader("Authorization")); } + + /** + * 获取当前登录账号有权限的运营商部门id + * + * 平台管理员账号会返回空数组 + * @return + */ + public List getDeptIds() { + // 获取登录账号信息 + AuthorizedDeptVO authorizedMap = SecurityUtils.getAuthorizedMap(); + if (authorizedMap == null) { + return new ArrayList<>(); + } + List merchantDeptIds = authorizedMap.getMerchantDeptIds(); + if (CollectionUtils.isNotEmpty(merchantDeptIds)) { + return merchantDeptIds; + } + return new ArrayList<>(); + } } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/dto/QueryMemberInfoDTO.java b/jsowell-pile/src/main/java/com/jsowell/pile/dto/QueryMemberInfoDTO.java index 5ce13fb36..66911bbea 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/dto/QueryMemberInfoDTO.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/dto/QueryMemberInfoDTO.java @@ -2,6 +2,8 @@ package com.jsowell.pile.dto; import lombok.Data; +import java.util.List; + /** * TODO * @@ -19,4 +21,8 @@ public class QueryMemberInfoDTO { private String mobileNumber; private String memberId; + + private String merchantId; + + private List merchantDeptIds; } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/mapper/MemberBasicInfoMapper.java b/jsowell-pile/src/main/java/com/jsowell/pile/mapper/MemberBasicInfoMapper.java index ff59eed22..060a91ff4 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/mapper/MemberBasicInfoMapper.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/mapper/MemberBasicInfoMapper.java @@ -3,6 +3,7 @@ package com.jsowell.pile.mapper; import com.jsowell.pile.domain.MemberBasicInfo; import com.jsowell.pile.domain.PileBasicInfo; import com.jsowell.pile.dto.QueryMemberInfoDTO; +import com.jsowell.pile.vo.base.MerchantInfoVO; import com.jsowell.pile.vo.uniapp.MemberVO; import com.jsowell.pile.vo.uniapp.MemberWalletLogVO; import org.apache.ibatis.annotations.Param; @@ -113,4 +114,9 @@ public interface MemberBasicInfoMapper { */ List selectMemberList(@Param("dto") QueryMemberInfoDTO dto); + /** + * 获取当前会员中的运营商列表(带权限校验) + */ + List getMerchantListByAuth(@Param("deptIds") List deptIds); + } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/IMemberBasicInfoService.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/IMemberBasicInfoService.java index b9e3c76cc..d32f49705 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/IMemberBasicInfoService.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/IMemberBasicInfoService.java @@ -4,6 +4,7 @@ import com.jsowell.pile.domain.MemberBasicInfo; import com.jsowell.pile.dto.PlatformTesterDTO; import com.jsowell.pile.dto.QueryMemberInfoDTO; import com.jsowell.pile.dto.UniAppQueryMemberBalanceDTO; +import com.jsowell.pile.vo.base.MerchantInfoVO; import com.jsowell.pile.vo.uniapp.MemberBalanceVO; import com.jsowell.pile.vo.uniapp.MemberVO; import com.jsowell.pile.vo.uniapp.MemberWalletLogVO; @@ -146,4 +147,10 @@ public interface IMemberBasicInfoService { * @return */ List getMemberRefundAmount(List memberIds); + + + /** + * 获取当前会员中的运营商列表(带权限校验) + */ + List getMerchantListByAuth(List deptIds); } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/MemberBasicInfoServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/MemberBasicInfoServiceImpl.java index 8d628c2c3..4aa6335c4 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/MemberBasicInfoServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/MemberBasicInfoServiceImpl.java @@ -3,8 +3,10 @@ package com.jsowell.pile.service.impl; import com.google.common.collect.Lists; import com.jsowell.common.constant.CacheConstants; import com.jsowell.common.constant.Constants; +import com.jsowell.common.core.domain.vo.AuthorizedDeptVO; import com.jsowell.common.core.redis.RedisCache; import com.jsowell.common.util.DateUtils; +import com.jsowell.common.util.SecurityUtils; import com.jsowell.common.util.StringUtils; import com.jsowell.pile.domain.MemberBasicInfo; import com.jsowell.pile.domain.MemberPlateNumberRelation; @@ -19,6 +21,7 @@ import com.jsowell.pile.mapper.MemberWalletInfoMapper; import com.jsowell.pile.mapper.MemberWalletLogMapper; import com.jsowell.pile.service.IMemberBasicInfoService; import com.jsowell.pile.service.IPileBasicInfoService; +import com.jsowell.pile.vo.base.MerchantInfoVO; import com.jsowell.pile.vo.uniapp.MemberBalanceVO; import com.jsowell.pile.vo.uniapp.MemberVO; import com.jsowell.pile.vo.uniapp.MemberWalletLogVO; @@ -31,6 +34,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.math.BigDecimal; +import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; @@ -291,6 +295,15 @@ public class MemberBasicInfoServiceImpl implements IMemberBasicInfoService { */ @Override public List selectMemberList(QueryMemberInfoDTO dto) { + // 获取登录账号信息 + AuthorizedDeptVO authorizedMap = SecurityUtils.getAuthorizedMap(); + if (authorizedMap == null) { + return new ArrayList<>(); + } + List merchantDeptIds = authorizedMap.getMerchantDeptIds(); + if (CollectionUtils.isNotEmpty(merchantDeptIds)) { + dto.setMerchantDeptIds(merchantDeptIds); + } return memberBasicInfoMapper.selectMemberList(dto); } @@ -364,5 +377,13 @@ public class MemberBasicInfoServiceImpl implements IMemberBasicInfoService { return memberWalletLogMapper.getMemberRefundAmount(memberIds); } + /** + * 获取当前会员中的运营商列表(带权限校验) + */ + @Override + public List getMerchantListByAuth(List deptIds) { + return memberBasicInfoMapper.getMerchantListByAuth(deptIds); + } + } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/vo/uniapp/MemberVO.java b/jsowell-pile/src/main/java/com/jsowell/pile/vo/uniapp/MemberVO.java index 24a874c27..142f40579 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/vo/uniapp/MemberVO.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/vo/uniapp/MemberVO.java @@ -24,6 +24,13 @@ public class MemberVO { */ private String memberId; + private String merchantId; + + /** + * 运营商名称 + */ + private String merchantName; + /** * 状态 */ diff --git a/jsowell-pile/src/main/resources/mapper/pile/MemberBasicInfoMapper.xml b/jsowell-pile/src/main/resources/mapper/pile/MemberBasicInfoMapper.xml index b6e3d362c..dfb582660 100644 --- a/jsowell-pile/src/main/resources/mapper/pile/MemberBasicInfoMapper.xml +++ b/jsowell-pile/src/main/resources/mapper/pile/MemberBasicInfoMapper.xml @@ -197,6 +197,8 @@ - + \ No newline at end of file diff --git a/jsowell-ui/src/api/member/info.js b/jsowell-ui/src/api/member/info.js index f43765e5f..2b160638f 100644 --- a/jsowell-ui/src/api/member/info.js +++ b/jsowell-ui/src/api/member/info.js @@ -2,114 +2,122 @@ import request from '@/utils/request' // 查询会员基础信息列表 export function listInfo(data) { - return request({ - url: '/member/info/list', - method: 'post', - data: data - }) + return request({ + url: '/member/info/list', + method: 'post', + data: data + }) } // 查询会员基础信息详细 export function getInfo(id) { - return request({ - url: '/member/info/' + id, - method: 'get' - }) + return request({ + url: '/member/info/' + id, + method: 'get' + }) } // 查询会员个人桩信息 export function getMemberPersonPileInfo(id) { - return request({ - url: '/member/info/getMemberPersonPileInfo/' + id, - method: 'get' - }) + return request({ + url: '/member/info/getMemberPersonPileInfo/' + id, + method: 'get' + }) } // 新增会员基础信息 export function addInfo(data) { - return request({ - url: '/member/info', - method: 'post', - data: data - }) + return request({ + url: '/member/info', + method: 'post', + data: data + }) } // 修改会员基础信息 export function updateInfo(data) { - return request({ - url: '/member/info', - method: 'put', - data: data - }) + return request({ + url: '/member/info', + method: 'put', + data: data + }) } // 删除会员基础信息 export function delInfo(id) { - return request({ - url: '/member/info/' + id, - method: 'delete' - }) + return request({ + url: '/member/info/' + id, + method: 'delete' + }) } // 修改会员基础信息 export function updateGiftBalance(data) { - return request({ - url: '/member/info/updateGiftBalance', - method: 'put', - data: data - }) + return request({ + url: '/member/info/updateGiftBalance', + method: 'put', + data: data + }) } // 获取用户账户余额变动信息 export function getMemberBalanceChanges(data) { - return request({ - url: '/member/info/queryMemberBalanceChanges', - method: 'post', - data: data - }) + return request({ + url: '/member/info/queryMemberBalanceChanges', + method: 'post', + data: data + }) } // 获取会员交易流水 export function getMemberTransactionRecordList(data) { - return request({ - url: '/member/info/selectMemberTransactionRecordList', - method: 'post', - data: data - }) + return request({ + url: '/member/info/selectMemberTransactionRecordList', + method: 'post', + data: data + }) } // 删除车牌号信息 export function deletePlateNumber(data) { - return request({ - url: '/member/info/deletePlateNumber', - method: 'post', - data: data - }) + return request({ + url: '/member/info/deletePlateNumber', + method: 'post', + data: data + }) } //修改车牌号 export function updatePlateNumber(data) { - return request({ - url: '/member/info/updatePlateNumber', - method: 'post', - data: data - }) + return request({ + url: '/member/info/updatePlateNumber', + method: 'post', + data: data + }) } // 查询会员详情页 平台测试员状态 export function selectPlatformTesterStatus(data) { - return request({ - url: '/member/info/selectPlatformTesterStatus', - method: 'post', - data: data - }) + return request({ + url: '/member/info/selectPlatformTesterStatus', + method: 'post', + data: data + }) } // 修改会员详情页 平台测试员状态 export function updatePlatformTester(data) { - return request({ - url: '/member/info/updatePlatformTester', - method: 'post', - data: data - }) + return request({ + url: '/member/info/updatePlatformTester', + method: 'post', + data: data + }) +} + +// 获取运营商列表 +export function getMerchantList() { + return request({ + url: '/member/info/getMerchantListByAuth', + method: 'get' + }) } diff --git a/jsowell-ui/src/views/member/info/index.vue b/jsowell-ui/src/views/member/info/index.vue index c6bb35af7..1eb7aec6b 100644 --- a/jsowell-ui/src/views/member/info/index.vue +++ b/jsowell-ui/src/views/member/info/index.vue @@ -1,422 +1,451 @@