diff --git a/jsowell-admin/src/main/java/com/jsowell/service/MemberService.java b/jsowell-admin/src/main/java/com/jsowell/service/MemberService.java index cf3deba71..18e91ed29 100644 --- a/jsowell-admin/src/main/java/com/jsowell/service/MemberService.java +++ b/jsowell-admin/src/main/java/com/jsowell/service/MemberService.java @@ -160,10 +160,10 @@ public class MemberService { memberBasicInfo.setOpenId(openId); // 首次新建会员,同时新建会员钱包 - MemberWalletInfo memberWalletInfo = MemberWalletInfo.builder().memberId(memberId).build(); + // MemberWalletInfo memberWalletInfo = MemberWalletInfo.builder().memberId(memberId).build(); MemberTransactionDTO memberTransactionDTO = MemberTransactionDTO.builder() .memberBasicInfo(memberBasicInfo) - .memberWalletInfo(memberWalletInfo) + // .memberWalletInfo(memberWalletInfo) .build(); transactionService.createMember(memberTransactionDTO); } else { @@ -325,7 +325,7 @@ public class MemberService { dto.setEndDate(lastDay); // 查询会员钱包信息表,获取 本金余额 - MemberWalletInfo memberWalletInfo = memberWalletInfoService.selectByMemberId(dto.getMemberId()); + MemberWalletInfo memberWalletInfo = memberWalletInfoService.selectByMemberId(dto.getMemberId(), null); if (memberWalletInfo == null) { // 用户未注册小程序 throw new BusinessException(ReturnCodeEnum.CODE_AUTHENTICATION_ERROR); diff --git a/jsowell-admin/src/main/java/com/jsowell/service/OrderService.java b/jsowell-admin/src/main/java/com/jsowell/service/OrderService.java index f69619dfe..4c271d6a0 100644 --- a/jsowell-admin/src/main/java/com/jsowell/service/OrderService.java +++ b/jsowell-admin/src/main/java/com/jsowell/service/OrderService.java @@ -39,12 +39,13 @@ import com.jsowell.pile.dto.*; import com.jsowell.pile.service.*; import com.jsowell.pile.service.orderlogic.AbstractOrderLogic; import com.jsowell.pile.service.orderlogic.OrderLogicFactory; +import com.jsowell.pile.util.UserUtils; import com.jsowell.pile.vo.base.OrderAmountDetailVO; import com.jsowell.pile.vo.base.OrderPeriodAmountVO; import com.jsowell.pile.vo.base.PileInfoVO; import com.jsowell.pile.vo.base.StationInfoVO; -import com.jsowell.pile.vo.uniapp.*; import com.jsowell.pile.vo.uniapp.InvoiceRecordVO; +import com.jsowell.pile.vo.uniapp.*; import com.jsowell.pile.vo.web.*; import com.jsowell.wxpay.response.WechatPayNotifyParameter; import org.apache.commons.collections4.CollectionUtils; @@ -666,7 +667,7 @@ public class OrderService { return false; } // 当前登录用户,是否可以结算该订单 - AuthorizedDeptVO authorizedMap = SecurityUtils.getAuthorizedMap(); + AuthorizedDeptVO authorizedMap = UserUtils.getAuthorizedMap(); if (authorizedMap == null) { log.info("人工结算订单-当前登录管理员无权限"); return false; diff --git a/jsowell-admin/src/main/java/com/jsowell/service/PileService.java b/jsowell-admin/src/main/java/com/jsowell/service/PileService.java index 6cc2c0f96..3da853897 100644 --- a/jsowell-admin/src/main/java/com/jsowell/service/PileService.java +++ b/jsowell-admin/src/main/java/com/jsowell/service/PileService.java @@ -210,7 +210,7 @@ public class PileService { CompletableFuture> billingPriceFuture = CompletableFuture.supplyAsync(() -> pileBillingTemplateService.queryBillingPrice(pileInfoVO.getStationId())); // 查询运营商信息 - CompletableFuture merchantInfoVOFuture = CompletableFuture.supplyAsync(() -> pileMerchantInfoService.getMerchantInfo(pileInfoVO.getMerchantId())); + CompletableFuture merchantInfoVOFuture = CompletableFuture.supplyAsync(() -> pileMerchantInfoService.getMerchantInfoVO(pileInfoVO.getMerchantId())); CompletableFuture all = CompletableFuture.allOf(connectorInfoListFuture, merchantInfoVOFuture, billingPriceFuture); // .join()和.get()都会阻塞并获取线程的执行情况 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 a43bc4eff..7be1b8e8f 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 @@ -21,6 +21,8 @@ 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.util.UserUtils; +import com.jsowell.pile.vo.base.LoginUserDetailVO; import com.jsowell.pile.vo.base.MerchantInfoVO; import com.jsowell.pile.vo.uniapp.MemberVO; import com.jsowell.pile.vo.uniapp.MemberWalletLogVO; @@ -67,13 +69,18 @@ public class MemberBasicInfoController extends BaseController { /** * 获取当前会员表中存在的运营商列表 + * http://localhost:8080/member/info/getMerchantListByAuth * @return */ @GetMapping("/getMerchantListByAuth") public RestApiResponse getMerchantListByAuth() { RestApiResponse response = null; - List deptIds = getDeptIds(); - List list = memberBasicInfoService.getMerchantListByAuth(deptIds); + // List list = memberBasicInfoService.getMerchantListByAuth(deptIds); + // List list = memberBasicInfoService.getMerchantListByAuth(); + // List list = UserUtils.getMerchantListByAuth(); + LoginUserDetailVO loginUserDetail = UserUtils.getLoginUserDetail(); + logger.info("获取登录用户信息:{}", JSON.toJSONString(loginUserDetail)); + List list = loginUserDetail.getMerchantInfoVOList(); if (CollectionUtils.isEmpty(list)) { list = new ArrayList<>(); } diff --git a/jsowell-admin/src/main/java/com/jsowell/web/controller/pile/OrderBasicInfoController.java b/jsowell-admin/src/main/java/com/jsowell/web/controller/pile/OrderBasicInfoController.java index 0e9944d09..db1952243 100644 --- a/jsowell-admin/src/main/java/com/jsowell/web/controller/pile/OrderBasicInfoController.java +++ b/jsowell-admin/src/main/java/com/jsowell/web/controller/pile/OrderBasicInfoController.java @@ -8,7 +8,6 @@ import com.jsowell.common.core.page.TableDataInfo; import com.jsowell.common.enums.BusinessType; import com.jsowell.common.exception.BusinessException; import com.jsowell.common.response.RestApiResponse; -import com.jsowell.common.util.SecurityUtils; import com.jsowell.common.util.poi.ExcelUtil; import com.jsowell.pile.domain.OrderBasicInfo; import com.jsowell.pile.domain.PileMerchantInfo; @@ -19,6 +18,7 @@ import com.jsowell.pile.dto.QueryOrderDTO; import com.jsowell.pile.service.IOrderBasicInfoService; import com.jsowell.pile.service.IPileMerchantInfoService; import com.jsowell.pile.service.IPileStationInfoService; +import com.jsowell.pile.util.UserUtils; import com.jsowell.pile.vo.web.OrderListVO; import com.jsowell.service.OrderService; import org.apache.commons.collections4.CollectionUtils; @@ -58,7 +58,7 @@ public class OrderBasicInfoController extends BaseController { @GetMapping("/order/list") public TableDataInfo list(QueryOrderDTO dto) { // 权限过滤 - AuthorizedDeptVO authorizedMap = SecurityUtils.getAuthorizedMap(); + AuthorizedDeptVO authorizedMap = UserUtils.getAuthorizedMap(); if (authorizedMap == null) { // 为空表示没有权限,返回空数组 return new TableDataInfo(); @@ -81,7 +81,7 @@ public class OrderBasicInfoController extends BaseController { @GetMapping("/order/totalData") public AjaxResult getOrderTotalData(QueryOrderDTO dto) { // 权限过滤 - AuthorizedDeptVO authorizedMap = SecurityUtils.getAuthorizedMap(); + AuthorizedDeptVO authorizedMap = UserUtils.getAuthorizedMap(); if (authorizedMap == null) { // 为空表示没有权限,返回空数组 return new AjaxResult(); @@ -110,7 +110,7 @@ public class OrderBasicInfoController extends BaseController { @PostMapping("/order/export") public void export(HttpServletResponse response, QueryOrderDTO orderBasicInfo) { // 权限过滤 - AuthorizedDeptVO authorizedMap = SecurityUtils.getAuthorizedMap(); + AuthorizedDeptVO authorizedMap = UserUtils.getAuthorizedMap(); if (authorizedMap == null) { // 为空表示没有权限,返回空数组 return; 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 b71a99dfe..eef03dcb1 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,20 +5,14 @@ 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; import com.jsowell.common.core.page.TableSupport; import com.jsowell.common.enums.ykc.ReturnCodeEnum; import com.jsowell.common.exception.BusinessException; -import com.jsowell.common.util.DateUtils; -import com.jsowell.common.util.JWTUtils; -import com.jsowell.common.util.PageUtils; -import com.jsowell.common.util.SecurityUtils; -import com.jsowell.common.util.StringUtils; +import com.jsowell.common.util.*; 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; @@ -26,7 +20,6 @@ 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; @@ -204,7 +197,7 @@ public class BaseController { * 平台管理员账号会返回空数组 * @return */ - public List getDeptIds() { + /*public List getDeptIds() { // 获取登录账号信息 AuthorizedDeptVO authorizedMap = SecurityUtils.getAuthorizedMap(); if (authorizedMap == null) { @@ -215,5 +208,5 @@ public class BaseController { return merchantDeptIds; } return new ArrayList<>(); - } + }*/ } diff --git a/jsowell-common/src/main/java/com/jsowell/common/util/SecurityUtils.java b/jsowell-common/src/main/java/com/jsowell/common/util/SecurityUtils.java index 7401cda80..b2aaaf448 100644 --- a/jsowell-common/src/main/java/com/jsowell/common/util/SecurityUtils.java +++ b/jsowell-common/src/main/java/com/jsowell/common/util/SecurityUtils.java @@ -1,21 +1,13 @@ package com.jsowell.common.util; -import com.alibaba.fastjson2.JSONObject; -import com.google.common.collect.Lists; import com.jsowell.common.constant.HttpStatus; -import com.jsowell.common.core.domain.entity.SysDept; -import com.jsowell.common.core.domain.entity.SysRole; -import com.jsowell.common.core.domain.entity.SysUser; import com.jsowell.common.core.domain.model.LoginUser; -import com.jsowell.common.core.domain.vo.AuthorizedDeptVO; import com.jsowell.common.exception.ServiceException; import lombok.extern.slf4j.Slf4j; import org.springframework.security.core.Authentication; import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; -import java.util.List; - /** * 安全服务工具类 * @@ -108,7 +100,7 @@ public class SecurityUtils { } // 查询登录用户权限 - public static AuthorizedDeptVO getAuthorizedMap() { + /*public static AuthorizedDeptVO getAuthorizedMap() { // 登录用户 LoginUser loginUser = getLoginUser(); if (loginUser == null) { @@ -130,7 +122,6 @@ public class SecurityUtils { resultVO.setDeptId(deptId); log.info("用户id:{}, 所属部门信息:{}", user.getUserId(), JSONObject.toJSONString(dept)); // 登录用户角色 - List roles = user.getRoles(); Long parentId = dept.getParentId(); resultVO.setParentId(String.valueOf(parentId)); List merchantDeptIds = Lists.newArrayList(); @@ -147,5 +138,5 @@ public class SecurityUtils { resultVO.setStationDeptIds(stationDeptIds); } return resultVO; - } + }*/ } diff --git a/jsowell-common/src/main/java/com/jsowell/common/util/id/IdUtils.java b/jsowell-common/src/main/java/com/jsowell/common/util/id/IdUtils.java index 081ef193b..4ade2edba 100644 --- a/jsowell-common/src/main/java/com/jsowell/common/util/id/IdUtils.java +++ b/jsowell-common/src/main/java/com/jsowell/common/util/id/IdUtils.java @@ -4,6 +4,8 @@ import com.google.common.collect.Sets; import com.jsowell.common.util.DateUtils; import com.jsowell.common.util.RandomUtil; +import java.text.SimpleDateFormat; +import java.util.Date; import java.util.Set; /** @@ -48,6 +50,32 @@ public class IdUtils { return UUID.fastUUID().toString(true); } + /** + * 通过UUID生成16位唯一订单号 + */ + public static String get16UUID(){ + // 1.开头两位,标识业务代码或机器代码(可变参数) + String machineId = "89"; + // 2.中间四位整数,标识日期 + SimpleDateFormat sdf = new SimpleDateFormat("MMdd"); + String dayTime = sdf.format(new Date()); + + // 2.生成四位随机整数 + int valueOf = (int)((Math.random()*9+1)*1000); + + // 3.生成uuid的hashCode值 + int hashCode = UUID.randomUUID().toString().hashCode(); + // 4.可能为负数 + if(hashCode < 0){ + hashCode = -hashCode; + } + // 5.算法处理: 0-代表前面补充0; 10-代表长度为10; d-代表参数为正数型 + String value = machineId + valueOf + String.format("%010d", hashCode); + // System.out.println(value); + return value; + } + + /** * 生成交易流水号 * @param pileSn 桩编号 例如:32010600019236 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 d673431f4..17001a00d 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 @@ -28,4 +28,6 @@ public class QueryMemberInfoDTO { private List merchantDeptIds; private String vinCode; + + private List firstMerchantIds; } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/mapper/MemberWalletInfoMapper.java b/jsowell-pile/src/main/java/com/jsowell/pile/mapper/MemberWalletInfoMapper.java index 9f3b208de..abf6f0154 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/mapper/MemberWalletInfoMapper.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/mapper/MemberWalletInfoMapper.java @@ -1,7 +1,10 @@ package com.jsowell.pile.mapper; import com.jsowell.pile.domain.MemberWalletInfo; +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Repository; +@Repository public interface MemberWalletInfoMapper { /** * delete by primary key @@ -51,5 +54,13 @@ public interface MemberWalletInfoMapper { */ int updateByPrimaryKey(MemberWalletInfo record); - MemberWalletInfo selectByMemberId(String memberId); + // MemberWalletInfo selectByMemberId(String memberId); + + /** + * 根据会员id和目标运营商id查询用户钱包信息 + * @param memberId + * @param merchantId + * @return + */ + MemberWalletInfo selectByMemberId(@Param("memberId") String memberId, @Param("merchantId") String merchantId); } \ No newline at end of file diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/mapper/MemberWalletLogMapper.java b/jsowell-pile/src/main/java/com/jsowell/pile/mapper/MemberWalletLogMapper.java index c90786445..aa9b7eab6 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/mapper/MemberWalletLogMapper.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/mapper/MemberWalletLogMapper.java @@ -5,9 +5,11 @@ import com.jsowell.pile.dto.UniAppQueryMemberBalanceDTO; import com.jsowell.pile.vo.uniapp.MemberBalanceVO; import com.jsowell.pile.vo.uniapp.MemberWalletLogVO; import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Repository; import java.util.List; +@Repository public interface MemberWalletLogMapper { /** * delete by primary key diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/mapper/PileMerchantInfoMapper.java b/jsowell-pile/src/main/java/com/jsowell/pile/mapper/PileMerchantInfoMapper.java index 9f490201c..128c31767 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/mapper/PileMerchantInfoMapper.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/mapper/PileMerchantInfoMapper.java @@ -112,4 +112,11 @@ public interface PileMerchantInfoMapper { * @return */ List queryMerchantSettleInfoList(@Param("dto") QueryMerchantInfoDTO dto); + + /** + * 根据一级运营商id查询自身信息以及下属二级运营商信息 + * @param firstMerchantId 一级运营商id + * @return + */ + List selectListByFirstMerchant(@Param("firstMerchantId") String firstMerchantId); } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/mapper/PileStationInfoMapper.java b/jsowell-pile/src/main/java/com/jsowell/pile/mapper/PileStationInfoMapper.java index 21a848aac..4202c29be 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/mapper/PileStationInfoMapper.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/mapper/PileStationInfoMapper.java @@ -115,4 +115,6 @@ public interface PileStationInfoMapper { * @return */ List NXJTQueryStationsInfo(NXJTQueryStationInfoDTO dto); + + PileStationInfo queryInfoByDeptId(@Param("deptId") String deptId); } 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 d32f49705..b9e3c76cc 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,7 +4,6 @@ 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; @@ -147,10 +146,4 @@ public interface IMemberBasicInfoService { * @return */ List getMemberRefundAmount(List memberIds); - - - /** - * 获取当前会员中的运营商列表(带权限校验) - */ - List getMerchantListByAuth(List deptIds); } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/IPileMerchantInfoService.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/IPileMerchantInfoService.java index aa8a7a683..39be4910b 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/IPileMerchantInfoService.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/IPileMerchantInfoService.java @@ -76,7 +76,7 @@ public interface IPileMerchantInfoService { */ String getFirstLevelMerchantIdByAppId(String appId); - MerchantInfoVO getMerchantInfo(String merchantId); + MerchantInfoVO getMerchantInfoVO(String merchantId); /** * 根据运营商部门ids 查询所有站点id @@ -87,6 +87,8 @@ public interface IPileMerchantInfoService { PileMerchantInfo queryInfoByDeptId(String deptId); + MerchantInfoVO queryMerchantInfoVOByDeptId(String deptId); + /** * 通过ids查询信息列表 * @param dto @@ -122,4 +124,10 @@ public interface IPileMerchantInfoService { * 通过merchantId获取一级运营商id */ String getFirstLevelMerchantIdByMerchantId(String merchantId); + + // 查询全部生效的运营商 + List selectAll(); + + // 查询一级运营商下属的二级运营商 + List selectListByFirstMerchant(String firstMerchantId); } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/IPileStationInfoService.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/IPileStationInfoService.java index 7a6f05b27..0aabea74f 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/IPileStationInfoService.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/IPileStationInfoService.java @@ -12,7 +12,6 @@ import com.jsowell.pile.vo.ningxiajiaotou.NXJTStationInfoVO; import com.jsowell.pile.vo.web.PileStationVO; import java.util.List; -import java.util.Map; /** * 充电站信息Service接口 @@ -131,4 +130,7 @@ public interface IPileStationInfoService { * @return */ List NXJTQueryStationsInfo(NXJTQueryStationInfoDTO dto); + + PileStationInfo queryInfoByDeptId(String valueOf); + } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/MemberWalletInfoService.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/MemberWalletInfoService.java index ac6916a0a..473ffa0f5 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/MemberWalletInfoService.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/MemberWalletInfoService.java @@ -11,7 +11,7 @@ public interface MemberWalletInfoService { MemberWalletInfo selectByPrimaryKey(Integer id); - MemberWalletInfo selectByMemberId(String memberId); + MemberWalletInfo selectByMemberId(String memberId, String merchantId); int updateByPrimaryKeySelective(MemberWalletInfo record); 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 d807037ac..4fc746e6d 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 @@ -2,27 +2,27 @@ package com.jsowell.pile.service.impl; import com.github.pagehelper.PageHelper; import com.google.common.collect.Lists; +import com.google.common.collect.Sets; 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.enums.MemberWalletEnum; import com.jsowell.common.util.DateUtils; -import com.jsowell.common.util.SecurityUtils; import com.jsowell.common.util.StringUtils; -import com.jsowell.pile.domain.*; +import com.jsowell.common.util.id.IdUtils; +import com.jsowell.pile.domain.MemberBasicInfo; +import com.jsowell.pile.domain.MemberPlateNumberRelation; +import com.jsowell.pile.domain.MemberWalletInfo; +import com.jsowell.pile.domain.MemberWalletLog; import com.jsowell.pile.dto.PlatformTesterDTO; import com.jsowell.pile.dto.QueryMemberInfoDTO; import com.jsowell.pile.dto.UniAppQueryMemberBalanceDTO; import com.jsowell.pile.mapper.MemberBasicInfoMapper; import com.jsowell.pile.mapper.MemberPlateNumberRelationMapper; -import com.jsowell.pile.mapper.MemberWalletInfoMapper; import com.jsowell.pile.mapper.MemberWalletLogMapper; -import com.jsowell.pile.service.IMemberBasicInfoService; -import com.jsowell.pile.service.IMemberTransactionRecordService; -import com.jsowell.pile.service.IPileBasicInfoService; -import com.jsowell.pile.service.IPileMerchantInfoService; -import com.jsowell.pile.vo.base.MerchantInfoVO; +import com.jsowell.pile.service.*; +import com.jsowell.pile.util.UserUtils; +import com.jsowell.pile.vo.base.LoginUserDetailVO; import com.jsowell.pile.vo.uniapp.MemberBalanceVO; import com.jsowell.pile.vo.uniapp.MemberVO; import com.jsowell.pile.vo.uniapp.MemberWalletLogVO; @@ -33,11 +33,11 @@ import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import org.springframework.util.StopWatch; import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; +import java.util.Set; /** * 会员基础信息Service业务层处理 @@ -51,8 +51,11 @@ public class MemberBasicInfoServiceImpl implements IMemberBasicInfoService { @Autowired private MemberBasicInfoMapper memberBasicInfoMapper; + // @Autowired + // private MemberWalletInfoMapper memberWalletInfoMapper; + @Autowired - private MemberWalletInfoMapper memberWalletInfoMapper; + private MemberWalletInfoService memberWalletInfoService; @Autowired private MemberWalletLogMapper memberWalletLogMapper; @@ -72,6 +75,9 @@ public class MemberBasicInfoServiceImpl implements IMemberBasicInfoService { @Autowired private IMemberTransactionRecordService memberTransactionRecordService; + @Autowired + private IPileStationInfoService pileStationInfoService; + /** * 查询会员基础信息 * @@ -177,10 +183,19 @@ public class MemberBasicInfoServiceImpl implements IMemberBasicInfoService { BigDecimal updatePrincipalBalance = dto.getUpdatePrincipalBalance(); log.info("修改用户余额 memberId:{}, updatePrincipalBalance:{}, updateGiftBalance:{}", memberId, updatePrincipalBalance, updateGiftBalance); // 查询用户余额 - MemberWalletInfo info = memberWalletInfoMapper.selectByMemberId(memberId); - if (info == null) { - log.warn("根据会员id:{}, 查询会员信息为空", memberId); - return 0; + MemberWalletInfo walletInfo = memberWalletInfoService.selectByMemberId(memberId, dto.getTargetMerchantId()); + if (walletInfo == null) { + log.warn("根据会员id:{}, 目标运营商id:{}, 查询会员信息为空, 新建会员钱包", memberId, dto.getTargetMerchantId()); + // 如果查询到钱包为空,就新建一个该运营商的钱包 + walletInfo = MemberWalletInfo.builder() + .walletCode(IdUtils.get16UUID()) + .memberId(memberId) + .merchantId(dto.getTargetMerchantId()) + .giftBalance(BigDecimal.ZERO) + .principalBalance(BigDecimal.ZERO) + .version(0) + .build(); + memberWalletInfoService.insertSelective(walletInfo); } // 记录流水 @@ -196,9 +211,9 @@ public class MemberBasicInfoServiceImpl implements IMemberBasicInfoService { updatePrincipalBalance = updatePrincipalBalance.negate(); } // 会员老的余额 - BigDecimal oldPrincipalBalance = info.getPrincipalBalance() == null + BigDecimal oldPrincipalBalance = walletInfo.getPrincipalBalance() == null ? BigDecimal.ZERO - : info.getPrincipalBalance(); + : walletInfo.getPrincipalBalance(); newPrincipalBalance = oldPrincipalBalance.add(updatePrincipalBalance); if (newPrincipalBalance.compareTo(BigDecimal.ZERO) < 0) { log.warn("变更后本金余额不能为负数"); @@ -224,9 +239,9 @@ public class MemberBasicInfoServiceImpl implements IMemberBasicInfoService { // 扣款 转为负数 updateGiftBalance = updateGiftBalance.negate(); } - BigDecimal oldGiftBalance = info.getGiftBalance() == null + BigDecimal oldGiftBalance = walletInfo.getGiftBalance() == null ? BigDecimal.ZERO - : info.getGiftBalance(); + : walletInfo.getGiftBalance(); newGiftBalance = oldGiftBalance.add(updateGiftBalance); // 余额不能为负数 if (newGiftBalance.compareTo(BigDecimal.ZERO) < 0) { @@ -250,7 +265,7 @@ public class MemberBasicInfoServiceImpl implements IMemberBasicInfoService { // 修改数据库 int i = 0; if (newPrincipalBalance != null || newGiftBalance != null) { - i = memberBasicInfoMapper.updateMemberBalance(memberId, newPrincipalBalance, newGiftBalance, info.getVersion()); + i = memberBasicInfoMapper.updateMemberBalance(memberId, newPrincipalBalance, newGiftBalance, walletInfo.getVersion()); if (i == 0) { log.warn("修改余额失败, memberId:{}", memberId); } @@ -262,6 +277,16 @@ public class MemberBasicInfoServiceImpl implements IMemberBasicInfoService { return i; } + public static void main(String[] args) { + Set set = Sets.newHashSet(); + for (int i = 0; i < 10000000; i++) { + String s = IdUtils.get16UUID(); + System.out.println(s); + set.add(s); + } + System.out.println("set size:" + set.size()); + } + @Override public MemberVO queryMemberInfoByMemberId(String memberId) { if (StringUtils.isBlank(memberId)) { @@ -318,34 +343,33 @@ public class MemberBasicInfoServiceImpl implements IMemberBasicInfoService { */ @Override public List selectMemberList(QueryMemberInfoDTO dto) { - StopWatch sw = new StopWatch("查询会员列表"); - sw.start("获取登录账号信息"); // 获取登录账号信息 - AuthorizedDeptVO authorizedMap = SecurityUtils.getAuthorizedMap(); - if (authorizedMap == null) { - return new ArrayList<>(); - } - List merchantDeptIds = authorizedMap.getMerchantDeptIds(); - if (CollectionUtils.isNotEmpty(merchantDeptIds)) { - dto.setMerchantDeptIds(merchantDeptIds); - } - sw.stop(); + // AuthorizedDeptVO authorizedMap = SecurityUtils.getAuthorizedMap(); + // AuthorizedDeptVO authorizedMap = UserUtils.getAuthorizedMap(); + // if (authorizedMap == null) { + // return new ArrayList<>(); + // } + // List merchantDeptIds = authorizedMap.getMerchantDeptIds(); + // if (CollectionUtils.isNotEmpty(merchantDeptIds)) { + // dto.setMerchantDeptIds(merchantDeptIds); + // } - sw.start("获取一级运营商信息"); - PileMerchantInfo pileMerchantInfo = pileMerchantInfoService.queryInfoByDeptId(authorizedMap.getDeptId()); - if (pileMerchantInfo != null) { - String id = pileMerchantInfoService.getFirstLevelMerchantIdByMerchantId(pileMerchantInfo.getId() + ""); - dto.setMerchantId(id); - } - sw.stop(); + // PileMerchantInfo pileMerchantInfo = pileMerchantInfoService.queryInfoByDeptId(authorizedMap.getDeptId()); + // if (pileMerchantInfo != null) { + // String id = pileMerchantInfoService.getFirstLevelMerchantIdByMerchantId(pileMerchantInfo.getId() + ""); + // dto.setMerchantId(id); + // } + + LoginUserDetailVO loginUserDetail = UserUtils.getLoginUserDetail(); + List firstMerchantIdList = loginUserDetail.getFirstMerchantIdList(); + if (CollectionUtils.isNotEmpty(firstMerchantIdList)) { + dto.setFirstMerchantIds(firstMerchantIdList); + } - sw.start("查询数据库会员信息"); PageHelper.startPage(dto.getPageNum(), dto.getPageSize()); List memberVOS = memberBasicInfoMapper.selectMemberList(dto); - sw.stop(); - log.info("查询耗时:{}", sw.prettyPrint()); return memberVOS; } @@ -419,13 +443,4 @@ 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/service/impl/MemberWalletInfoServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/MemberWalletInfoServiceImpl.java index 2b1c79f38..82aa7ca27 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/MemberWalletInfoServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/MemberWalletInfoServiceImpl.java @@ -34,8 +34,8 @@ public class MemberWalletInfoServiceImpl implements MemberWalletInfoService { } @Override - public MemberWalletInfo selectByMemberId(String memberId) { - return memberWalletInfoMapper.selectByMemberId(memberId); + public MemberWalletInfo selectByMemberId(String memberId, String merchantId) { + return memberWalletInfoMapper.selectByMemberId(memberId, merchantId); } @Override diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java index 5c3f8e089..e66daa536 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java @@ -48,6 +48,7 @@ import com.jsowell.pile.service.orderlogic.OrderLogicFactory; import com.jsowell.pile.transaction.dto.ClearingBillTransactionDTO; import com.jsowell.pile.transaction.dto.OrderTransactionDTO; import com.jsowell.pile.transaction.service.TransactionService; +import com.jsowell.pile.util.UserUtils; import com.jsowell.pile.vo.base.PileInfoVO; import com.jsowell.pile.vo.base.*; import com.jsowell.pile.vo.lianlian.AccumulativeInfoVO; @@ -197,7 +198,7 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService { @Override public List selectOrderBasicInfoListWithAuth(QueryOrderDTO dto) { // 权限过滤 - AuthorizedDeptVO authorizedMap = SecurityUtils.getAuthorizedMap(); + AuthorizedDeptVO authorizedMap = UserUtils.getAuthorizedMap(); if (authorizedMap == null) { // 为空表示没有权限,返回空数组 return Lists.newArrayList(); @@ -1935,7 +1936,7 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService { */ @Override public List getIndexOrderInfo(IndexQueryDTO dto) { - AuthorizedDeptVO authorizedMap = SecurityUtils.getAuthorizedMap(); + AuthorizedDeptVO authorizedMap = UserUtils.getAuthorizedMap(); if (authorizedMap == null) { return Lists.newArrayList(); } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderInvoiceRecordServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderInvoiceRecordServiceImpl.java index 6429b0950..b0f7648e7 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderInvoiceRecordServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderInvoiceRecordServiceImpl.java @@ -2,8 +2,6 @@ package com.jsowell.pile.service.impl; import com.google.common.collect.Lists; import com.jsowell.common.core.domain.vo.AuthorizedDeptVO; -import com.jsowell.common.util.DateUtils; -import com.jsowell.common.util.SecurityUtils; import com.jsowell.pile.domain.OrderInvoiceRecord; import com.jsowell.pile.dto.GetInvoiceInfoDTO; import com.jsowell.pile.dto.QueryInvoiceRecordDTO; @@ -11,6 +9,7 @@ import com.jsowell.pile.mapper.OrderInvoiceRecordMapper; import com.jsowell.pile.service.IMemberInvoiceTitleService; import com.jsowell.pile.service.IOrderBasicInfoService; import com.jsowell.pile.service.IOrderInvoiceRecordService; +import com.jsowell.pile.util.UserUtils; import com.jsowell.pile.vo.base.OrderAmountDetailVO; import com.jsowell.pile.vo.uniapp.InvoiceTitleVO; import com.jsowell.pile.vo.web.InvoiceRecordVO; @@ -96,7 +95,7 @@ public class OrderInvoiceRecordServiceImpl implements IOrderInvoiceRecordService @Override public List getInvoiceListWithAuth(GetInvoiceInfoDTO dto) { // 获取登录账号信息 - AuthorizedDeptVO authorizedMap = SecurityUtils.getAuthorizedMap(); + AuthorizedDeptVO authorizedMap = UserUtils.getAuthorizedMap(); if (authorizedMap == null) { return new ArrayList<>(); } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileBasicInfoServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileBasicInfoServiceImpl.java index f2eeddf97..6d912948f 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileBasicInfoServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileBasicInfoServiceImpl.java @@ -26,6 +26,7 @@ import com.jsowell.pile.mapper.PileBasicInfoMapper; import com.jsowell.pile.mapper.PileMerchantInfoMapper; import com.jsowell.pile.mapper.PileSimInfoMapper; import com.jsowell.pile.service.*; +import com.jsowell.pile.util.UserUtils; import com.jsowell.pile.vo.base.MerchantInfoVO; import com.jsowell.pile.vo.base.PileInfoVO; import com.jsowell.pile.vo.uniapp.GroundLockInfoVO; @@ -326,7 +327,7 @@ public class PileBasicInfoServiceImpl implements IPileBasicInfoService { */ @Override public List queryPileInfoList(QueryPileDTO queryPileDTO) { - AuthorizedDeptVO authorizedMap = SecurityUtils.getAuthorizedMap(); + AuthorizedDeptVO authorizedMap = UserUtils.getAuthorizedMap(); if (authorizedMap == null) { // 为空表示没有权限,返回空数组 return Lists.newArrayList(); @@ -422,7 +423,7 @@ public class PileBasicInfoServiceImpl implements IPileBasicInfoService { .merchantId(String.valueOf(basicInfo.getMerchantId())) .build(); // 查站点信息 - MerchantInfoVO merchantInfo = pileMerchantInfoService.getMerchantInfo(String.valueOf(basicInfo.getMerchantId())); + MerchantInfoVO merchantInfo = pileMerchantInfoService.getMerchantInfoVO(String.valueOf(basicInfo.getMerchantId())); if (merchantInfo != null) { pileInfoVO.setMerchantName(merchantInfo.getMerchantName()); } @@ -700,7 +701,7 @@ public class PileBasicInfoServiceImpl implements IPileBasicInfoService { */ @Override public IndexGeneralSituationVO getGeneralSituation(IndexQueryDTO dto) { - AuthorizedDeptVO authorizedMap = SecurityUtils.getAuthorizedMap(); + AuthorizedDeptVO authorizedMap = UserUtils.getAuthorizedMap(); if (authorizedMap == null) { return new IndexGeneralSituationVO(); } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileBillingTemplateServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileBillingTemplateServiceImpl.java index 06a4d590b..e2a316b2e 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileBillingTemplateServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileBillingTemplateServiceImpl.java @@ -1,6 +1,5 @@ package com.jsowell.pile.service.impl; -import com.alibaba.fastjson2.JSON; import com.alibaba.fastjson2.JSONObject; import com.google.common.collect.Lists; import com.google.common.collect.Maps; @@ -24,6 +23,7 @@ import com.jsowell.pile.service.IPileBasicInfoService; import com.jsowell.pile.service.IPileBillingTemplateService; import com.jsowell.pile.transaction.dto.BillingTemplateTransactionDTO; import com.jsowell.pile.transaction.service.TransactionService; +import com.jsowell.pile.util.UserUtils; import com.jsowell.pile.vo.uniapp.BillingPriceVO; import com.jsowell.pile.vo.uniapp.CurrentTimePriceDetails; import com.jsowell.pile.vo.web.BillingDetailVO; @@ -426,7 +426,7 @@ public class PileBillingTemplateServiceImpl implements IPileBillingTemplateServi if (StringUtils.isBlank(stationId)) { return Lists.newArrayList(); } - AuthorizedDeptVO authorizedMap = SecurityUtils.getAuthorizedMap(); + AuthorizedDeptVO authorizedMap = UserUtils.getAuthorizedMap(); if (authorizedMap == null) { // 为空表示没有权限,返回空数组 return Lists.newArrayList(); diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileMerchantInfoServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileMerchantInfoServiceImpl.java index 5a737b760..3e7a1654a 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileMerchantInfoServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileMerchantInfoServiceImpl.java @@ -9,13 +9,13 @@ import com.jsowell.common.enums.ykc.ReturnCodeEnum; import com.jsowell.common.exception.BusinessException; import com.jsowell.common.util.DateUtils; import com.jsowell.common.util.DictUtils; -import com.jsowell.common.util.SecurityUtils; import com.jsowell.common.util.StringUtils; import com.jsowell.pile.domain.PileMerchantInfo; import com.jsowell.pile.dto.CreateMerchantDTO; import com.jsowell.pile.dto.QueryMerchantInfoDTO; import com.jsowell.pile.mapper.PileMerchantInfoMapper; import com.jsowell.pile.service.IPileMerchantInfoService; +import com.jsowell.pile.util.UserUtils; import com.jsowell.pile.vo.base.MerchantInfoVO; import com.jsowell.pile.vo.web.MerchantSettleInfoVO; import com.jsowell.system.service.SysDeptService; @@ -74,7 +74,7 @@ public class PileMerchantInfoServiceImpl implements IPileMerchantInfoService { */ @Override public List selectPileMerchantInfoListWithAuth(PileMerchantInfo pileMerchantInfo) { - AuthorizedDeptVO authorizedMap = SecurityUtils.getAuthorizedMap(); + AuthorizedDeptVO authorizedMap = UserUtils.getAuthorizedMap(); if (authorizedMap == null) { // 为空表示没有权限,返回空数组 return Lists.newArrayList(); @@ -122,6 +122,7 @@ public class PileMerchantInfoServiceImpl implements IPileMerchantInfoService { dept.setDeptName(dto.getMerchantName()); dept.setLeader(dto.getManagerName()); dept.setPhone(dto.getManagerPhone()); + dept.setDeptLevel("2"); dept.setStatus("0"); sysDeptService.insertDept(dept); @@ -306,17 +307,34 @@ public class PileMerchantInfoServiceImpl implements IPileMerchantInfoService { } @Override - public MerchantInfoVO getMerchantInfo(String merchantId) { + public MerchantInfoVO getMerchantInfoVO(String merchantId) { PileMerchantInfo pileMerchantInfo = selectPileMerchantInfoById(Long.parseLong(merchantId)); if (pileMerchantInfo == null) { return null; } + // MerchantInfoVO vo = MerchantInfoVO.builder() + // .merchantId(merchantId) + // .merchantName(pileMerchantInfo.getMerchantName()) + // .merchantTel(pileMerchantInfo.getServicePhone()) + // .organizationCode(pileMerchantInfo.getOrganizationCode()) + // .deptId(pileMerchantInfo.getDeptId()) + // .build(); + return conversion2MerchantInfoVO(pileMerchantInfo); + } + + /** + * PileMerchantInfo 转换为 MerchantInfoVO + * @param pileMerchantInfo + * @return + */ + private MerchantInfoVO conversion2MerchantInfoVO(PileMerchantInfo pileMerchantInfo) { MerchantInfoVO vo = MerchantInfoVO.builder() - .merchantId(merchantId) + .merchantId(String.valueOf(pileMerchantInfo.getId())) .merchantName(pileMerchantInfo.getMerchantName()) .merchantTel(pileMerchantInfo.getServicePhone()) .organizationCode(pileMerchantInfo.getOrganizationCode()) .deptId(pileMerchantInfo.getDeptId()) + .merchantLevel(pileMerchantInfo.getMerchantLevel()) .build(); return vo; } @@ -334,6 +352,15 @@ public class PileMerchantInfoServiceImpl implements IPileMerchantInfoService { return pileMerchantInfoMapper.queryInfoByDeptId(deptId); } + @Override + public MerchantInfoVO queryMerchantInfoVOByDeptId(String deptId) { + PileMerchantInfo merchantInfo = queryInfoByDeptId(deptId); + if (Objects.isNull(merchantInfo)) { + return null; + } + return conversion2MerchantInfoVO(merchantInfo); + } + /** * 通过ids查询信息列表 * @param dto @@ -345,7 +372,7 @@ public class PileMerchantInfoServiceImpl implements IPileMerchantInfoService { dto.setDeptIds(Lists.newArrayList()); } // 权限过滤 - AuthorizedDeptVO authorizedMap = SecurityUtils.getAuthorizedMap(); + AuthorizedDeptVO authorizedMap = UserUtils.getAuthorizedMap(); if (authorizedMap == null) { // 为空表示没有权限,返回空数组 return new ArrayList<>(); @@ -497,4 +524,32 @@ public class PileMerchantInfoServiceImpl implements IPileMerchantInfoService { return null; } + /** + * 查询全部运营商信息 + * @return + */ + @Override + public List selectAll() { + List resultList = Lists.newArrayList(); + List pileMerchantInfos = pileMerchantInfoMapper.selectPileMerchantInfoList(null); + for (PileMerchantInfo pileMerchantInfo : pileMerchantInfos) { + resultList.add(conversion2MerchantInfoVO(pileMerchantInfo)); + } + return resultList; + } + + @Override + public List selectListByFirstMerchant(String firstMerchantId) { + List resultList = Lists.newArrayList(); + // 查询运营商下属的二级运营商 + List pileMerchantInfos = pileMerchantInfoMapper.selectListByFirstMerchant(firstMerchantId); + if (CollectionUtils.isEmpty(pileMerchantInfos)) { + return resultList; + } + for (PileMerchantInfo pileMerchantInfo : pileMerchantInfos) { + resultList.add(conversion2MerchantInfoVO(pileMerchantInfo)); + } + return resultList; + } + } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileStationInfoServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileStationInfoServiceImpl.java index fba60a05a..ef732464d 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileStationInfoServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileStationInfoServiceImpl.java @@ -18,7 +18,6 @@ import com.jsowell.common.util.StringUtils; import com.jsowell.common.util.ip.AddressUtils; import com.jsowell.pile.domain.PileBasicInfo; import com.jsowell.pile.domain.PileStationInfo; -import com.jsowell.pile.domain.ThirdPartyPlatformConfig; import com.jsowell.pile.domain.ThirdpartyParkingConfig; import com.jsowell.pile.dto.FastCreateStationDTO; import com.jsowell.pile.dto.QueryStationDTO; @@ -27,6 +26,7 @@ import com.jsowell.pile.dto.lutongyunting.BindParkingPlatformDTO; import com.jsowell.pile.dto.ningxiajiaotou.NXJTQueryStationInfoDTO; import com.jsowell.pile.mapper.PileStationInfoMapper; import com.jsowell.pile.service.*; +import com.jsowell.pile.util.UserUtils; import com.jsowell.pile.vo.base.MerchantInfoVO; import com.jsowell.pile.vo.base.PileInfoVO; import com.jsowell.pile.vo.base.StationInfoVO; @@ -261,7 +261,7 @@ public class PileStationInfoServiceImpl implements IPileStationInfoService { @Override @Transactional(readOnly = false, propagation = Propagation.REQUIRED) public int fastCreateStation(FastCreateStationDTO dto) { - MerchantInfoVO merchantInfo = pileMerchantInfoService.getMerchantInfo(dto.getMerchantId()); + MerchantInfoVO merchantInfo = pileMerchantInfoService.getMerchantInfoVO(dto.getMerchantId()); if (merchantInfo == null) { return 0; } @@ -323,6 +323,8 @@ public class PileStationInfoServiceImpl implements IPileStationInfoService { sysDept.setLeader(pileStationInfo.getStationAdminName()); sysDept.setPhone(pileStationInfo.getStationTel()); sysDept.setUpdateTime(DateUtils.getNowDate()); + sysDept.setDeptLevel("3"); + // 修改站点对应的部门 sysDeptService.updateDept(sysDept); } } @@ -353,7 +355,7 @@ public class PileStationInfoServiceImpl implements IPileStationInfoService { /* 修改组织部门 */ - MerchantInfoVO merchantInfo = pileMerchantInfoService.getMerchantInfo(newMerchantId); + MerchantInfoVO merchantInfo = pileMerchantInfoService.getMerchantInfoVO(newMerchantId); if (merchantInfo != null) { // 创建一个新的站点对应部门 SysDept dept = sysDeptService.createStationDept(Long.valueOf(merchantInfo.getDeptId()), @@ -404,7 +406,7 @@ public class PileStationInfoServiceImpl implements IPileStationInfoService { @Override // @DataScope(deptAlias = "t3") public List queryStationInfos(QueryStationDTO dto) { - AuthorizedDeptVO authorizedMap = SecurityUtils.getAuthorizedMap(); + AuthorizedDeptVO authorizedMap = UserUtils.getAuthorizedMap(); if (authorizedMap == null) { // 为空表示没有权限,返回空数组 return Lists.newArrayList(); @@ -564,7 +566,7 @@ public class PileStationInfoServiceImpl implements IPileStationInfoService { */ @Override public List getStationSelectList(QueryStationDTO dto) { - AuthorizedDeptVO authorizedMap = SecurityUtils.getAuthorizedMap(); + AuthorizedDeptVO authorizedMap = UserUtils.getAuthorizedMap(); if (authorizedMap == null) { // 为空表示没有权限,返回空数组 return Lists.newArrayList(); @@ -584,5 +586,14 @@ public class PileStationInfoServiceImpl implements IPileStationInfoService { public List NXJTQueryStationsInfo(NXJTQueryStationInfoDTO dto) { return pileStationInfoMapper.NXJTQueryStationsInfo(dto); } + + @Override + public PileStationInfo queryInfoByDeptId(String deptId) { + if (StringUtils.isBlank(deptId)) { + return null; + } + return pileStationInfoMapper.queryInfoByDeptId(deptId); + } + } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/transaction/service/TransactionService.java b/jsowell-pile/src/main/java/com/jsowell/pile/transaction/service/TransactionService.java index 6faaf37ce..07954d563 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/transaction/service/TransactionService.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/transaction/service/TransactionService.java @@ -180,9 +180,10 @@ public class TransactionService { if (Objects.nonNull(dto.getMemberBasicInfo())) { memberBasicInfoMapper.insertMemberBasicInfo(dto.getMemberBasicInfo()); } - if (Objects.nonNull(dto.getMemberWalletInfo())) { - memberWalletInfoMapper.insertSelective(dto.getMemberWalletInfo()); - } + // 2023年11月11日17点01分修改逻辑 新建会员的时候不用新建钱包了,由在后管充值的时候创建 + // if (Objects.nonNull(dto.getMemberWalletInfo())) { + // memberWalletInfoMapper.insertSelective(dto.getMemberWalletInfo()); + // } } /** diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/util/UserUtils.java b/jsowell-pile/src/main/java/com/jsowell/pile/util/UserUtils.java new file mode 100644 index 000000000..27152b6b5 --- /dev/null +++ b/jsowell-pile/src/main/java/com/jsowell/pile/util/UserUtils.java @@ -0,0 +1,224 @@ +package com.jsowell.pile.util; + +import com.alibaba.fastjson2.JSONObject; +import com.google.common.collect.Lists; +import com.jsowell.common.constant.Constants; +import com.jsowell.common.core.domain.entity.SysDept; +import com.jsowell.common.core.domain.entity.SysUser; +import com.jsowell.common.core.domain.model.LoginUser; +import com.jsowell.common.core.domain.vo.AuthorizedDeptVO; +import com.jsowell.common.util.SecurityUtils; +import com.jsowell.pile.domain.PileMerchantInfo; +import com.jsowell.pile.domain.PileStationInfo; +import com.jsowell.pile.service.IMemberBasicInfoService; +import com.jsowell.pile.service.IPileMerchantInfoService; +import com.jsowell.pile.service.IPileStationInfoService; +import com.jsowell.pile.vo.base.LoginUserDetailVO; +import com.jsowell.pile.vo.base.MerchantInfoVO; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import java.util.List; +import java.util.Objects; +import java.util.stream.Collectors; + +/** + * 后管登录用户工具类 + */ +// 1.将工具类注入到容器中 +@Slf4j +@Component +public class UserUtils { + + // 2.注入想引用的对象的静态实例 + private static IMemberBasicInfoService memberBasicInfoService; + + private static IPileMerchantInfoService pileMerchantInfoService; + + private static IPileStationInfoService pileStationInfoService; + + // 3.初始化有参构造器 + @Autowired + public UserUtils(IMemberBasicInfoService memberBasicInfoService, IPileMerchantInfoService pileMerchantInfoService, + IPileStationInfoService pileStationInfoService) { + UserUtils.memberBasicInfoService = memberBasicInfoService; + UserUtils.pileMerchantInfoService = pileMerchantInfoService; + UserUtils.pileStationInfoService = pileStationInfoService; + } + + // 4.使用 + // 查询登录用户权限 + public static AuthorizedDeptVO getAuthorizedMap() { + // 登录用户 + LoginUser loginUser = SecurityUtils.getLoginUser(); + if (loginUser == null) { + return null; + } + // 用户 + SysUser user = loginUser.getUser(); + if (user == null) { + return null; + } + AuthorizedDeptVO resultVO = AuthorizedDeptVO.builder().build(); + // 登录用户所属部门(运营商或站点 根据父级id判断) + SysDept dept = user.getDept(); + if (dept == null) { + log.info("用户id:{}, 获取不到所属部门信息", user.getUserId()); + return null; + } + String deptId = String.valueOf(dept.getDeptId()); + resultVO.setDeptId(deptId); + log.info("用户id:{}, 所属部门信息:{}", user.getUserId(), JSONObject.toJSONString(dept)); + // 登录用户角色 + Long parentId = dept.getParentId(); + resultVO.setParentId(String.valueOf(parentId)); + List merchantDeptIds = Lists.newArrayList(); + List stationDeptIds = Lists.newArrayList(); + if (parentId == 0L) { + // 父级id是0,表明是该账号挂在平台下面,是系统管理员 + } else if (parentId == 100L) { + // 父级id是100,表明是该账号挂在运营商下面,是运营商管理员 + merchantDeptIds.add(deptId); + resultVO.setMerchantDeptIds(merchantDeptIds); + } else { + // 其他情况,表明是站点管理员 + stationDeptIds.add(deptId); + resultVO.setStationDeptIds(stationDeptIds); + } + return resultVO; + } + + /** + * 获取当前会员中的运营商列表(带权限校验) + */ + /*public static List getMerchantListByAuth() { + List resultList = Lists.newArrayList(); + // 获取登录用户 所有有权限运营商 + LoginUser loginUser = SecurityUtils.getLoginUser(); + if (Objects.isNull(loginUser)) { + return resultList; + } + // 获取登录用户对应的user对象 + SysUser user = loginUser.getUser(); + if (Objects.isNull(user)) { + return resultList; + } + // 获取所属部门id + SysDept dept = user.getDept(); + if (Objects.isNull(dept)) { + return resultList; + } + String deptLevel = dept.getDeptLevel(); + String deptId = String.valueOf(dept.getDeptId()); + if (Constants.ZERO.equals(deptLevel)) { + // 平台级权限 查询所有生效的运营商 + resultList = pileMerchantInfoService.selectAll(); + } else if (Constants.ONE.equals(deptLevel)) { + // 一级运营商权限 查询该一级运营商下面的所有运营商 + PileMerchantInfo merchantInfo = pileMerchantInfoService.queryInfoByDeptId(deptId); + resultList = pileMerchantInfoService.selectListByFirstMerchant(merchantInfo.getId() + ""); + } else if (Constants.TWO.equals(deptLevel) ) { + // 二级运营商权限 返回自身运营商 + MerchantInfoVO merchantInfoVO = pileMerchantInfoService.queryMerchantInfoVOByDeptId(deptId); + if (Objects.nonNull(merchantInfoVO)) { + resultList.add(merchantInfoVO); + } + } else if (Constants.THREE.equals(deptLevel)) { + // 站点权限 返回自身运营商 + PileStationInfo stationInfo = pileStationInfoService.queryInfoByDeptId(deptId); + if (Objects.nonNull(stationInfo)) { + MerchantInfoVO merchantInfoVO = pileMerchantInfoService.getMerchantInfoVO(stationInfo.getMerchantId() + ""); + if (Objects.nonNull(merchantInfoVO)) { + resultList.add(merchantInfoVO); + } + } + } + return resultList; + }*/ + + /** + * 获取登录用户信息 + * 返回信息包含: + * 一级运营商idList + * 有权限的运营商信息list + * @return LoginUserDetailVO 登录用户详情VO + */ + public static LoginUserDetailVO getLoginUserDetail() { + LoginUserDetailVO resultVO = new LoginUserDetailVO(); + + // 获取登录用户 所有有权限运营商 + LoginUser loginUser = SecurityUtils.getLoginUser(); + if (Objects.isNull(loginUser)) { + return resultVO; + } + // 获取登录用户对应的user对象 + SysUser user = loginUser.getUser(); + if (Objects.isNull(user)) { + return resultVO; + } + // 获取所属部门 + SysDept dept = user.getDept(); + if (Objects.isNull(dept)) { + return resultVO; + } + // 所属部门等级 + String deptLevel = dept.getDeptLevel(); + // 所属部门id + String deptId = String.valueOf(dept.getDeptId()); + List merchantInfoVOList = Lists.newArrayList(); + List firstMerchantIdList = Lists.newArrayList(); + if (Constants.ZERO.equals(deptLevel)) { // 平台级权限 + // 查询所有生效的运营商 + merchantInfoVOList = pileMerchantInfoService.selectAll(); + + // 获取一级运营商id + List collect = merchantInfoVOList.stream() + .filter(x -> Constants.ONE.equals(x.getMerchantLevel())) + .map(MerchantInfoVO::getMerchantId) + .collect(Collectors.toList()); + firstMerchantIdList.addAll(collect); + } else if (Constants.ONE.equals(deptLevel)) { // 一级运营商权限 + // 查询该一级运营商下面的所有运营商 + PileMerchantInfo merchantInfo = pileMerchantInfoService.queryInfoByDeptId(deptId); + if (Objects.nonNull(merchantInfo)) { + String firstMerchantId = merchantInfo.getId().toString(); + // 获取一级运营商id + firstMerchantIdList.add(firstMerchantId); + merchantInfoVOList = pileMerchantInfoService.selectListByFirstMerchant(firstMerchantId); + } + } else if (Constants.TWO.equals(deptLevel)) { // 二级运营商权限 + // 返回自身运营商 + MerchantInfoVO merchantInfoVO = pileMerchantInfoService.queryMerchantInfoVOByDeptId(deptId); + if (Objects.nonNull(merchantInfoVO)) { + merchantInfoVOList.add(merchantInfoVO); + + // 获取一级运营商id + PileMerchantInfo firstLevelMerchant = pileMerchantInfoService.getFirstLevelMerchantByMerchantId(merchantInfoVO.getMerchantId()); + if (Objects.nonNull(firstLevelMerchant)) { + firstMerchantIdList.add(firstLevelMerchant.getId() + ""); + } + } + } else if (Constants.THREE.equals(deptLevel)) { // 站点权限 + // 返回站点所属运营商 + PileStationInfo stationInfo = pileStationInfoService.queryInfoByDeptId(deptId); + if (Objects.nonNull(stationInfo)) { + String merchantId = stationInfo.getMerchantId() + ""; + // 查询站点所属运营商 + MerchantInfoVO merchantInfoVO = pileMerchantInfoService.getMerchantInfoVO(merchantId); + if (Objects.nonNull(merchantInfoVO)) { + merchantInfoVOList.add(merchantInfoVO); + } + + // 获取一级运营商id + PileMerchantInfo firstLevelMerchant = pileMerchantInfoService.getFirstLevelMerchantByMerchantId(merchantId); + if (Objects.nonNull(firstLevelMerchant)) { + firstMerchantIdList.add(firstLevelMerchant.getId() + ""); + } + } + } + resultVO.setMerchantInfoVOList(merchantInfoVOList); + resultVO.setFirstMerchantIdList(firstMerchantIdList); + return resultVO; + } +} \ No newline at end of file diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/vo/base/LoginUserDetailVO.java b/jsowell-pile/src/main/java/com/jsowell/pile/vo/base/LoginUserDetailVO.java new file mode 100644 index 000000000..beabfa2a3 --- /dev/null +++ b/jsowell-pile/src/main/java/com/jsowell/pile/vo/base/LoginUserDetailVO.java @@ -0,0 +1,25 @@ +package com.jsowell.pile.vo.base; + +import lombok.Getter; +import lombok.Setter; + +import java.util.List; + +/** + * 登录用户详情VO + */ +@Getter +@Setter +public class LoginUserDetailVO { + /** + * 有权限的一级运营商idList + * 平台级账号有多个一级运营商权限 + * 其他账号只有一个 + */ + private List firstMerchantIdList; + + /** + * 获取当前会员中的运营商列表 + */ + private List merchantInfoVOList; +} diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/vo/base/MerchantInfoVO.java b/jsowell-pile/src/main/java/com/jsowell/pile/vo/base/MerchantInfoVO.java index 5f83a220d..8a95d715b 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/vo/base/MerchantInfoVO.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/vo/base/MerchantInfoVO.java @@ -20,6 +20,11 @@ public class MerchantInfoVO { */ private String merchantName; + /** + * 运营商等级 + */ + private String merchantLevel; + /** * 商户电话 */ diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/vo/web/UpdateMemberBalanceDTO.java b/jsowell-pile/src/main/java/com/jsowell/pile/vo/web/UpdateMemberBalanceDTO.java index 599b3136d..55d787152 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/vo/web/UpdateMemberBalanceDTO.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/vo/web/UpdateMemberBalanceDTO.java @@ -48,6 +48,11 @@ public class UpdateMemberBalanceDTO { */ private String relatedOrderCode; + /** + * 充值目标运营商id + */ + private String targetMerchantId; + @Override public String toString() { return new ToStringBuilder(this, ToStringStyle.JSON_STYLE) diff --git a/jsowell-pile/src/main/resources/mapper/pile/MemberBasicInfoMapper.xml b/jsowell-pile/src/main/resources/mapper/pile/MemberBasicInfoMapper.xml index a25b3bcf2..fabff609e 100644 --- a/jsowell-pile/src/main/resources/mapper/pile/MemberBasicInfoMapper.xml +++ b/jsowell-pile/src/main/resources/mapper/pile/MemberBasicInfoMapper.xml @@ -228,6 +228,12 @@ and t4.vin_code like '%${dto.vinCode}%' + + and t1.merchant_id in + + #{firstMerchantId,jdbcType=VARCHAR} + + GROUP BY (t1.member_id) diff --git a/jsowell-pile/src/main/resources/mapper/pile/MemberWalletInfoMapper.xml b/jsowell-pile/src/main/resources/mapper/pile/MemberWalletInfoMapper.xml index e5118b5f8..a4f2ef22c 100644 --- a/jsowell-pile/src/main/resources/mapper/pile/MemberWalletInfoMapper.xml +++ b/jsowell-pile/src/main/resources/mapper/pile/MemberWalletInfoMapper.xml @@ -180,7 +180,8 @@ select from member_wallet_info - where member_id = #{memberId,jdbcType=INTEGER} - and del_flag = '0' + where del_flag = '0' + and member_id = #{memberId,jdbcType=INTEGER} + and merchant_id = #{merchantId,jdbcType=VARCHAR} \ No newline at end of file diff --git a/jsowell-pile/src/main/resources/mapper/pile/PileMerchantInfoMapper.xml b/jsowell-pile/src/main/resources/mapper/pile/PileMerchantInfoMapper.xml index e43f92c0f..cf6a3841f 100644 --- a/jsowell-pile/src/main/resources/mapper/pile/PileMerchantInfoMapper.xml +++ b/jsowell-pile/src/main/resources/mapper/pile/PileMerchantInfoMapper.xml @@ -50,13 +50,14 @@ select - from pile_merchant_info t + from pile_merchant_info + + \ No newline at end of file diff --git a/jsowell-pile/src/main/resources/mapper/pile/PileStationInfoMapper.xml b/jsowell-pile/src/main/resources/mapper/pile/PileStationInfoMapper.xml index 7aa5b7ca7..81838d7e5 100644 --- a/jsowell-pile/src/main/resources/mapper/pile/PileStationInfoMapper.xml +++ b/jsowell-pile/src/main/resources/mapper/pile/PileStationInfoMapper.xml @@ -58,15 +58,18 @@ + + + id,merchant_id, station_name, dept_id, parking_id, qrcode_prefix, alone_apply, account_number, capacity, public_parking, parking_number, + park_fee_describe, country_code, area_code, address, station_tel, service_tel, station_type, station_status, station_admin_name, park_nums, + station_lng, station_lat, site_guide, construction, pictures, match_cars, park_info, park_owner, + park_manager, open_all_day, business_hours, park_free, payment, support_order, remark, public_flag, amap_flag, + open_flag, toilet_flag, store_flag, restaurant_flag, lounge_flag, canopy_flag, printer_flag, barrier_flag, + parking_lock_flag, create_by, create_time, update_by, update_time, del_flag + - select id,merchant_id, station_name, dept_id, parking_id, qrcode_prefix, alone_apply, account_number, capacity, public_parking, parking_number, - park_fee_describe, country_code, area_code, address, station_tel, service_tel, station_type, station_status, station_admin_name, park_nums, - station_lng, station_lat, site_guide, construction, pictures, match_cars, park_info, park_owner, - park_manager, open_all_day, business_hours, park_free, payment, support_order, remark, public_flag, amap_flag, - open_flag, toilet_flag, store_flag, restaurant_flag, lounge_flag, canopy_flag, printer_flag, barrier_flag, - parking_lock_flag, create_by, create_time, update_by, update_time, del_flag - from pile_station_info + select from pile_station_info + + \ No newline at end of file diff --git a/jsowell-system/src/main/java/com/jsowell/system/service/impl/SysDeptServiceImpl.java b/jsowell-system/src/main/java/com/jsowell/system/service/impl/SysDeptServiceImpl.java index cea5d7fc9..acf89f4d8 100644 --- a/jsowell-system/src/main/java/com/jsowell/system/service/impl/SysDeptServiceImpl.java +++ b/jsowell-system/src/main/java/com/jsowell/system/service/impl/SysDeptServiceImpl.java @@ -192,7 +192,7 @@ public class SysDeptServiceImpl implements SysDeptService { } dept.setAncestors(info.getAncestors() + "," + dept.getParentId()); // 更新deptLevel字段 - if (StringUtils.isNotBlank(info.getDeptLevel())) { + if (StringUtils.isBlank(dept.getDeptLevel()) && StringUtils.isNotBlank(info.getDeptLevel())) { dept.setDeptLevel(String.valueOf(Integer.parseInt(info.getDeptLevel()) + 1)); } return deptMapper.insertDept(dept); @@ -215,7 +215,7 @@ public class SysDeptServiceImpl implements SysDeptService { updateDeptChildren(dept.getDeptId(), newAncestors, oldAncestors); // 更新deptLevel字段 - if (StringUtils.isNotBlank(newParentDept.getDeptLevel())) { + if (StringUtils.isBlank(dept.getDeptLevel()) && StringUtils.isNotBlank(newParentDept.getDeptLevel())) { dept.setDeptLevel(String.valueOf(Integer.parseInt(newParentDept.getDeptLevel()) + 1)); } } @@ -317,6 +317,7 @@ public class SysDeptServiceImpl implements SysDeptService { dept.setParentId(parentDeptId); dept.setOrderNum(Constants.zero); dept.setDeptName(StringUtils.trim(stationName)); + dept.setDeptLevel("3"); dept.setLeader(StringUtils.trim(stationAdminName)); dept.setPhone(StringUtils.trim(stationTel)); dept.setStatus(Constants.ZERO); diff --git a/jsowell-system/src/main/resources/mapper/system/SysUserMapper.xml b/jsowell-system/src/main/resources/mapper/system/SysUserMapper.xml index c0d443f41..385c56104 100644 --- a/jsowell-system/src/main/resources/mapper/system/SysUserMapper.xml +++ b/jsowell-system/src/main/resources/mapper/system/SysUserMapper.xml @@ -32,10 +32,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - - - - + + + + + @@ -50,7 +51,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" select u.user_id, u.dept_id, u.user_name, u.nick_name, u.email, u.avatar, u.phone, u.password, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark, - d.dept_id, d.parent_id, d.ancestors, d.dept_name, d.order_num, d.leader, d.status as dept_status, + d.dept_id, d.parent_id, d.ancestors, d.dept_name, d.order_num, d.leader, d.status as dept_status, d.dept_level, r.role_id, r.role_name, r.role_key, r.role_sort, r.data_scope, r.status as role_status from sys_user u left join sys_dept d on u.dept_id = d.dept_id diff --git a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/lianlian/service/impl/LianLianServiceImpl.java b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/lianlian/service/impl/LianLianServiceImpl.java index 1cfe8bb0f..09b350d38 100644 --- a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/lianlian/service/impl/LianLianServiceImpl.java +++ b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/lianlian/service/impl/LianLianServiceImpl.java @@ -24,7 +24,6 @@ import com.jsowell.common.util.JWTUtils; import com.jsowell.common.util.PageUtils; import com.jsowell.common.util.StringUtils; import com.jsowell.pile.domain.*; -import com.jsowell.pile.domain.ykcCommond.IssueQRCodeCommand; import com.jsowell.pile.domain.ykcCommond.StartChargingCommand; import com.jsowell.pile.domain.ykcCommond.StopChargingCommand; import com.jsowell.pile.dto.*; @@ -51,7 +50,6 @@ import com.jsowell.thirdparty.lianlian.vo.*; import com.jsowell.thirdparty.yongchengboche.dto.YCBCGetTokenDTO; import com.jsowell.thirdparty.yongchengboche.service.YCBCService; import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.lang3.RandomStringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -114,7 +112,7 @@ public class LianLianServiceImpl implements LianLianService { @Override public void pushMerchantInfo(Long merchantId) { // 通过id查询运营商信息 - MerchantInfoVO merchantInfo = pileMerchantInfoService.getMerchantInfo(String.valueOf(merchantId)); + MerchantInfoVO merchantInfo = pileMerchantInfoService.getMerchantInfoVO(String.valueOf(merchantId)); // 组装联联平台所需要的数据格式 OperatorInfo operatorInfo = OperatorInfo.builder() .OperatorID(Constants.OPERATORID_LIANLIAN) // 组织机构代码 diff --git a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/zhongdianlian/service/impl/ZDLServiceImpl.java b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/zhongdianlian/service/impl/ZDLServiceImpl.java index b53e26c58..f2ee3e47b 100644 --- a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/zhongdianlian/service/impl/ZDLServiceImpl.java +++ b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/zhongdianlian/service/impl/ZDLServiceImpl.java @@ -136,7 +136,7 @@ public class ZDLServiceImpl implements ZDLService { .build(); // 截取运营商组织机构代码(去除最后一位后的最后九位) - MerchantInfoVO merchantInfo = pileMerchantInfoService.getMerchantInfo(String.valueOf(pileStationInfo.getMerchantId())); + MerchantInfoVO merchantInfo = pileMerchantInfoService.getMerchantInfoVO(String.valueOf(pileStationInfo.getMerchantId())); String organizationCode = merchantInfo.getOrganizationCode(); if (organizationCode.length() == 18) { String equipmentOwnerId = StringUtils.substring(organizationCode, organizationCode.length() - 10, organizationCode.length() - 1); diff --git a/jsowell-ui/src/views/member/info/index.vue b/jsowell-ui/src/views/member/info/index.vue index f04392698..a91f8c3e3 100644 --- a/jsowell-ui/src/views/member/info/index.vue +++ b/jsowell-ui/src/views/member/info/index.vue @@ -207,7 +207,20 @@

线下充值本金,客户直接在线下付款给商家

- + + + + + + + 充值 扣款 @@ -266,6 +279,7 @@ export default { updatePrincipalBalance: "", // 充值扣款金额 updateBalanceMemberId: "", // 需要充值扣款的会员id type: '1', // 操作类型 1-充值;2-扣款 + targetMerchantId: "", // 目标运营商id // 查询参数 queryParams: { pageNum: 1, @@ -320,10 +334,10 @@ export default { }, // 获取运营商列表 getMerchantList() { - // getMerchantList().then((response) =>{ - // console.log("response", response) - // this.merchantList = response.obj - // }) + getMerchantList().then((response) =>{ + console.log("response", response) + this.merchantList = response.obj + }) }, // 取消按钮 cancel() { @@ -414,7 +428,8 @@ export default { memberId: this.updateBalanceMemberId, updatePrincipalBalance: this.updatePrincipalBalance, type: this.type, - subType: this.subType + subType: this.subType, + targetMerchantId: this.targetMerchantId }; console.log("修改会员本金余额 param:", param); updateMemberBalance(param).then(response => {