From 82bd7db8b88c37eb24258cda70d1207318b8b503 Mon Sep 17 00:00:00 2001 From: "autumn.g@foxmail.com" Date: Thu, 9 Nov 2023 09:15:47 +0800 Subject: [PATCH 01/24] update --- .../com/jsowell/service/MemberService.java | 2 +- .../pile/MemberBasicInfoController.java | 2 +- .../pile/mapper/MemberWalletInfoMapper.java | 5 +++- .../pile/service/IMemberBasicInfoService.java | 2 ++ .../pile/service/MemberWalletInfoService.java | 2 +- .../impl/MemberBasicInfoServiceImpl.java | 12 +++++++++- .../impl/MemberWalletInfoServiceImpl.java | 4 ++-- .../pile/vo/web/UpdateMemberBalanceDTO.java | 5 ++++ .../mapper/pile/MemberWalletInfoMapper.xml | 5 ++-- jsowell-ui/src/views/member/info/index.vue | 23 +++++++++++++++---- 10 files changed, 48 insertions(+), 14 deletions(-) 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..0eefbada3 100644 --- a/jsowell-admin/src/main/java/com/jsowell/service/MemberService.java +++ b/jsowell-admin/src/main/java/com/jsowell/service/MemberService.java @@ -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/web/controller/pile/MemberBasicInfoController.java b/jsowell-admin/src/main/java/com/jsowell/web/controller/pile/MemberBasicInfoController.java index a43bc4eff..42aa5f99a 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 @@ -73,7 +73,7 @@ public class MemberBasicInfoController extends BaseController { public RestApiResponse getMerchantListByAuth() { RestApiResponse response = null; List deptIds = getDeptIds(); - List list = memberBasicInfoService.getMerchantListByAuth(deptIds); + List list = memberBasicInfoService.getMerchantListByAuthV2(deptIds); if (CollectionUtils.isEmpty(list)) { list = new ArrayList<>(); } 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..15a5c854c 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,6 +1,7 @@ package com.jsowell.pile.mapper; import com.jsowell.pile.domain.MemberWalletInfo; +import org.apache.ibatis.annotations.Param; public interface MemberWalletInfoMapper { /** @@ -51,5 +52,7 @@ public interface MemberWalletInfoMapper { */ int updateByPrimaryKey(MemberWalletInfo record); - MemberWalletInfo selectByMemberId(String memberId); + // MemberWalletInfo selectByMemberId(String memberId); + + 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/service/IMemberBasicInfoService.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/IMemberBasicInfoService.java index d32f49705..0c7c3b768 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 @@ -153,4 +153,6 @@ public interface IMemberBasicInfoService { * 获取当前会员中的运营商列表(带权限校验) */ List getMerchantListByAuth(List deptIds); + + List getMerchantListByAuthV2(List deptIds); } 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..69e78d271 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 @@ -177,7 +177,7 @@ public class MemberBasicInfoServiceImpl implements IMemberBasicInfoService { BigDecimal updatePrincipalBalance = dto.getUpdatePrincipalBalance(); log.info("修改用户余额 memberId:{}, updatePrincipalBalance:{}, updateGiftBalance:{}", memberId, updatePrincipalBalance, updateGiftBalance); // 查询用户余额 - MemberWalletInfo info = memberWalletInfoMapper.selectByMemberId(memberId); + MemberWalletInfo info = memberWalletInfoMapper.selectByMemberId(memberId, dto.getMerchantId()); if (info == null) { log.warn("根据会员id:{}, 查询会员信息为空", memberId); return 0; @@ -427,5 +427,15 @@ public class MemberBasicInfoServiceImpl implements IMemberBasicInfoService { return memberBasicInfoMapper.getMerchantListByAuth(deptIds); } + /** + * 获取当前会员中的运营商列表(带权限校验) + */ + @Override + public List getMerchantListByAuthV2(List deptIds) { + // 获取登录用户 所有有权限运营商 + SecurityUtils.getAuthorizedMap(); + return null; + } + } 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/vo/web/UpdateMemberBalanceDTO.java b/jsowell-pile/src/main/java/com/jsowell/pile/vo/web/UpdateMemberBalanceDTO.java index 599b3136d..411e98ce4 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 @@ -19,6 +19,11 @@ public class UpdateMemberBalanceDTO { */ private String memberId; + /** + * 所属运营商id + */ + private String merchantId; + /** * 更新类型 * 1-进账;2-出账 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-ui/src/views/member/info/index.vue b/jsowell-ui/src/views/member/info/index.vue index 52d122b43..26d83a9b8 100644 --- a/jsowell-ui/src/views/member/info/index.vue +++ b/jsowell-ui/src/views/member/info/index.vue @@ -207,7 +207,20 @@

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

- + + + + + + + 充值 扣款 @@ -320,10 +333,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() { From 75e9d5296fb6010dfc2cc37da06087268083110a Mon Sep 17 00:00:00 2001 From: "autumn.g@foxmail.com" Date: Thu, 9 Nov 2023 16:58:20 +0800 Subject: [PATCH 02/24] =?UTF-8?q?update=20=E9=80=9A=E8=BF=87=E7=99=BB?= =?UTF-8?q?=E5=BD=95=E4=BF=A1=E6=81=AF=EF=BC=8C=E8=8E=B7=E5=8F=96=E6=9C=89?= =?UTF-8?q?=E6=9D=83=E9=99=90=E7=9A=84=E8=BF=90=E8=90=A5=E5=95=86=E5=88=97?= =?UTF-8?q?=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/MemberBasicInfoServiceImpl.java | 20 ++++++++++++++++++- .../mapper/pile/PileMerchantInfoMapper.xml | 4 ++-- 2 files changed, 21 insertions(+), 3 deletions(-) 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 69e78d271..4314047f2 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 @@ -4,6 +4,8 @@ import com.github.pagehelper.PageHelper; import com.google.common.collect.Lists; import com.jsowell.common.constant.CacheConstants; import com.jsowell.common.constant.Constants; +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.core.redis.RedisCache; import com.jsowell.common.enums.MemberWalletEnum; @@ -38,6 +40,7 @@ import org.springframework.util.StopWatch; import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; +import java.util.Objects; /** * 会员基础信息Service业务层处理 @@ -432,8 +435,23 @@ public class MemberBasicInfoServiceImpl implements IMemberBasicInfoService { */ @Override public List getMerchantListByAuthV2(List deptIds) { + List resultList = Lists.newArrayList(); // 获取登录用户 所有有权限运营商 - SecurityUtils.getAuthorizedMap(); + LoginUser loginUser = SecurityUtils.getLoginUser(); + if (Objects.isNull(loginUser)) { + return resultList; + } + // 获取登录用户对应的user对象 + SysUser user = loginUser.getUser(); + if (Objects.isNull(user)) { + return resultList; + } + // 获取所属部门id + Long deptId = user.getDeptId(); + if (Objects.isNull(deptId)) { + return resultList; + } + // 根据部门id查询对应的运营商 return null; } diff --git a/jsowell-pile/src/main/resources/mapper/pile/PileMerchantInfoMapper.xml b/jsowell-pile/src/main/resources/mapper/pile/PileMerchantInfoMapper.xml index e43f92c0f..e8fbc70d1 100644 --- a/jsowell-pile/src/main/resources/mapper/pile/PileMerchantInfoMapper.xml +++ b/jsowell-pile/src/main/resources/mapper/pile/PileMerchantInfoMapper.xml @@ -322,8 +322,8 @@ select from pile_merchant_info - where - dept_id = #{deptId,jdbcType=VARCHAR} + where del_flag = '0' + and dept_id = #{deptId,jdbcType=VARCHAR} @@ -476,4 +479,12 @@ and public_flag = '1' and amap_flag = '1' + + \ 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..a9694a437 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)); } } From 140726f388dd8f8a5717d945f2cbaa0dfb1eac15 Mon Sep 17 00:00:00 2001 From: "autumn.g@foxmail.com" Date: Fri, 10 Nov 2023 15:18:10 +0800 Subject: [PATCH 04/24] =?UTF-8?q?update=20=E8=AE=BE=E7=BD=AEdept=E7=AD=89?= =?UTF-8?q?=E7=BA=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jsowell/pile/service/impl/PileStationInfoServiceImpl.java | 2 ++ .../com/jsowell/system/service/impl/SysDeptServiceImpl.java | 1 + 2 files changed, 3 insertions(+) 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 85bef1235..b930b684d 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 @@ -313,6 +313,8 @@ public class PileStationInfoServiceImpl implements IPileStationInfoService { sysDept.setLeader(pileStationInfo.getStationAdminName()); sysDept.setPhone(pileStationInfo.getStationTel()); sysDept.setUpdateTime(DateUtils.getNowDate()); + sysDept.setDeptLevel("3"); + // 修改站点对应的部门 sysDeptService.updateDept(sysDept); } } 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 a9694a437..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 @@ -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); From 84b93e9a3c2aa77b31d831c0f753525ef24ea69e Mon Sep 17 00:00:00 2001 From: "autumn.g@foxmail.com" Date: Fri, 10 Nov 2023 17:13:27 +0800 Subject: [PATCH 05/24] =?UTF-8?q?update=20=E6=9F=A5=E8=AF=A2=E8=BF=90?= =?UTF-8?q?=E8=90=A5=E5=95=86=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pile/MemberBasicInfoController.java | 3 +- .../pile/mapper/PileMerchantInfoMapper.java | 7 +++ .../pile/service/IMemberBasicInfoService.java | 2 +- .../service/IPileMerchantInfoService.java | 6 +++ .../impl/MemberBasicInfoServiceImpl.java | 25 +++++++--- .../impl/PileMerchantInfoServiceImpl.java | 46 ++++++++++++++++++- .../mapper/pile/PileMerchantInfoMapper.xml | 10 +++- 7 files changed, 88 insertions(+), 11 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 42aa5f99a..bd2f0d4fd 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 @@ -73,7 +73,8 @@ public class MemberBasicInfoController extends BaseController { public RestApiResponse getMerchantListByAuth() { RestApiResponse response = null; List deptIds = getDeptIds(); - List list = memberBasicInfoService.getMerchantListByAuthV2(deptIds); + // List list = memberBasicInfoService.getMerchantListByAuth(deptIds); + List list = memberBasicInfoService.getMerchantListByAuthV2(); if (CollectionUtils.isEmpty(list)) { list = new ArrayList<>(); } 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/service/IMemberBasicInfoService.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/IMemberBasicInfoService.java index 0c7c3b768..415c05e04 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 @@ -154,5 +154,5 @@ public interface IMemberBasicInfoService { */ List getMerchantListByAuth(List deptIds); - List getMerchantListByAuthV2(List deptIds); + List getMerchantListByAuthV2(); } 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..a9abebfff 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 @@ -122,4 +122,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/impl/MemberBasicInfoServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/MemberBasicInfoServiceImpl.java index b4c30d17c..d6262183c 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 @@ -4,6 +4,7 @@ import com.github.pagehelper.PageHelper; import com.google.common.collect.Lists; import com.jsowell.common.constant.CacheConstants; 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; @@ -434,7 +435,7 @@ public class MemberBasicInfoServiceImpl implements IMemberBasicInfoService { * 获取当前会员中的运营商列表(带权限校验) */ @Override - public List getMerchantListByAuthV2(List deptIds) { + public List getMerchantListByAuthV2() { List resultList = Lists.newArrayList(); // 获取登录用户 所有有权限运营商 LoginUser loginUser = SecurityUtils.getLoginUser(); @@ -447,14 +448,24 @@ public class MemberBasicInfoServiceImpl implements IMemberBasicInfoService { return resultList; } // 获取所属部门id - Long deptId = user.getDeptId(); - if (Objects.isNull(deptId)) { + SysDept dept = user.getDept(); + if (Objects.isNull(dept)) { return resultList; } - // 根据部门id查询对应的运营商 - PileMerchantInfo merchantInfo = pileMerchantInfoService.queryInfoByDeptId(String.valueOf(deptId)); - PileStationInfo stationInfo = pileStationInfoService.queryInfoByDeptId(String.valueOf(deptId)); - return null; + String deptLevel = dept.getDeptLevel(); + if (Constants.ZERO.equals(deptLevel)) { + // 平台级权限 查询所有生效的运营商 + resultList = pileMerchantInfoService.selectAll(); + } else if (Constants.ONE.equals(deptLevel)) { + // 一级运营商权限 查询该一级运营商下面的所有运营商 + PileMerchantInfo merchantInfo = pileMerchantInfoService.queryInfoByDeptId(String.valueOf(dept.getDeptId())); + resultList = pileMerchantInfoService.selectListByFirstMerchant(merchantInfo.getId() + ""); + } else if (Constants.TWO.equals(deptLevel) ) { + // 二级运营商权限 返回自身运营商 + } else if (Constants.THREE.equals(deptLevel)) { + // 站点权限 返回自身运营商 + } + return resultList; } 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 2253d315a..ce7e2a774 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 @@ -312,8 +312,24 @@ public class PileMerchantInfoServiceImpl implements IPileMerchantInfoService { 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()) @@ -498,4 +514,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/resources/mapper/pile/PileMerchantInfoMapper.xml b/jsowell-pile/src/main/resources/mapper/pile/PileMerchantInfoMapper.xml index e8fbc70d1..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 From 9e2f9330827e32ff670208d26d6685a09583ef52 Mon Sep 17 00:00:00 2001 From: "autumn.g@foxmail.com" Date: Fri, 10 Nov 2023 17:20:16 +0800 Subject: [PATCH 06/24] =?UTF-8?q?updateupdate=20=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E8=BF=90=E8=90=A5=E5=95=86=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/jsowell/service/PileService.java | 2 +- .../pile/service/IPileMerchantInfoService.java | 4 +++- .../service/impl/MemberBasicInfoServiceImpl.java | 14 +++++++++++++- .../service/impl/PileBasicInfoServiceImpl.java | 2 +- .../service/impl/PileMerchantInfoServiceImpl.java | 11 ++++++++++- .../service/impl/PileStationInfoServiceImpl.java | 4 ++-- .../lianlian/service/impl/LianLianServiceImpl.java | 4 +--- .../zhongdianlian/service/impl/ZDLServiceImpl.java | 2 +- 8 files changed, 32 insertions(+), 11 deletions(-) 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-pile/src/main/java/com/jsowell/pile/service/IPileMerchantInfoService.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/IPileMerchantInfoService.java index a9abebfff..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 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 d6262183c..289fb17d1 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 @@ -453,17 +453,29 @@ public class MemberBasicInfoServiceImpl implements IMemberBasicInfoService { 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(String.valueOf(dept.getDeptId())); + 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; } 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..e18d560d7 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 @@ -422,7 +422,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()); } 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 ce7e2a774..0352eee02 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 @@ -307,7 +307,7 @@ 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; @@ -351,6 +351,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 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 b930b684d..ef608ec96 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 @@ -251,7 +251,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; } @@ -345,7 +345,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()), 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 07bc316de..6ad604458 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.*; @@ -48,7 +47,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; @@ -111,7 +109,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 5f8ed7f38..1ec4bbfbf 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 @@ -135,7 +135,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); From 6fa87d6fc2de62ce85434170bd6f2b03b79252d4 Mon Sep 17 00:00:00 2001 From: "autumn.g@foxmail.com" Date: Sat, 11 Nov 2023 14:14:58 +0800 Subject: [PATCH 07/24] =?UTF-8?q?updateupdate=20=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E8=BF=90=E8=90=A5=E5=95=86=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/pile/MemberBasicInfoController.java | 1 + .../main/resources/mapper/system/SysUserMapper.xml | 11 ++++++----- 2 files changed, 7 insertions(+), 5 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 bd2f0d4fd..36655156a 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 @@ -67,6 +67,7 @@ public class MemberBasicInfoController extends BaseController { /** * 获取当前会员表中存在的运营商列表 + * http://localhost:8080/member/info/getMerchantListByAuth * @return */ @GetMapping("/getMerchantListByAuth") 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 From 5f44c35d03cd428b56c9453b05904c2a0d597454 Mon Sep 17 00:00:00 2001 From: "autumn.g@foxmail.com" Date: Sat, 11 Nov 2023 15:21:25 +0800 Subject: [PATCH 08/24] =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E7=99=BB=E5=BD=95?= =?UTF-8?q?=E7=94=A8=E6=88=B7=E6=9D=83=E9=99=90=E4=BF=A1=E6=81=AF=EF=BC=8C?= =?UTF-8?q?=E4=BD=BF=E7=94=A8UserUtils?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/jsowell/service/OrderService.java | 5 +- .../pile/MemberBasicInfoController.java | 3 +- .../pile/OrderBasicInfoController.java | 8 +- .../core/controller/BaseController.java | 13 +--- .../jsowell/common/util/SecurityUtils.java | 13 +--- .../pile/service/IMemberBasicInfoService.java | 4 +- .../impl/MemberBasicInfoServiceImpl.java | 14 +--- .../impl/OrderBasicInfoServiceImpl.java | 5 +- .../impl/OrderInvoiceRecordServiceImpl.java | 5 +- .../impl/PileBasicInfoServiceImpl.java | 5 +- .../impl/PileBillingTemplateServiceImpl.java | 4 +- .../impl/PileMerchantInfoServiceImpl.java | 6 +- .../impl/PileStationInfoServiceImpl.java | 5 +- .../java/com/jsowell/pile/util/UserUtils.java | 75 +++++++++++++++++++ 14 files changed, 109 insertions(+), 56 deletions(-) create mode 100644 jsowell-pile/src/main/java/com/jsowell/pile/util/UserUtils.java 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/web/controller/pile/MemberBasicInfoController.java b/jsowell-admin/src/main/java/com/jsowell/web/controller/pile/MemberBasicInfoController.java index 36655156a..0ae619f5e 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 @@ -73,9 +73,8 @@ public class MemberBasicInfoController extends BaseController { @GetMapping("/getMerchantListByAuth") public RestApiResponse getMerchantListByAuth() { RestApiResponse response = null; - List deptIds = getDeptIds(); // List list = memberBasicInfoService.getMerchantListByAuth(deptIds); - List list = memberBasicInfoService.getMerchantListByAuthV2(); + List list = memberBasicInfoService.getMerchantListByAuth(); 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-pile/src/main/java/com/jsowell/pile/service/IMemberBasicInfoService.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/IMemberBasicInfoService.java index 415c05e04..bde5cfbfc 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 @@ -152,7 +152,5 @@ public interface IMemberBasicInfoService { /** * 获取当前会员中的运营商列表(带权限校验) */ - List getMerchantListByAuth(List deptIds); - - List getMerchantListByAuthV2(); + List getMerchantListByAuth(); } 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 289fb17d1..403b828d6 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 @@ -22,6 +22,7 @@ import com.jsowell.pile.mapper.MemberPlateNumberRelationMapper; import com.jsowell.pile.mapper.MemberWalletInfoMapper; import com.jsowell.pile.mapper.MemberWalletLogMapper; import com.jsowell.pile.service.*; +import com.jsowell.pile.util.UserUtils; import com.jsowell.pile.vo.base.MerchantInfoVO; import com.jsowell.pile.vo.uniapp.MemberBalanceVO; import com.jsowell.pile.vo.uniapp.MemberVO; @@ -326,7 +327,8 @@ public class MemberBasicInfoServiceImpl implements IMemberBasicInfoService { sw.start("获取登录账号信息"); // 获取登录账号信息 - AuthorizedDeptVO authorizedMap = SecurityUtils.getAuthorizedMap(); + // AuthorizedDeptVO authorizedMap = SecurityUtils.getAuthorizedMap(); + AuthorizedDeptVO authorizedMap = UserUtils.getAuthorizedMap(); if (authorizedMap == null) { return new ArrayList<>(); } @@ -427,15 +429,7 @@ public class MemberBasicInfoServiceImpl implements IMemberBasicInfoService { * 获取当前会员中的运营商列表(带权限校验) */ @Override - public List getMerchantListByAuth(List deptIds) { - return memberBasicInfoMapper.getMerchantListByAuth(deptIds); - } - - /** - * 获取当前会员中的运营商列表(带权限校验) - */ - @Override - public List getMerchantListByAuthV2() { + public List getMerchantListByAuth() { List resultList = Lists.newArrayList(); // 获取登录用户 所有有权限运营商 LoginUser loginUser = SecurityUtils.getLoginUser(); 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 9bb7cdde1..7e68518dc 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 @@ -47,6 +47,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; @@ -196,7 +197,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(); @@ -1948,7 +1949,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 e18d560d7..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(); @@ -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 0352eee02..1a8a33c64 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(); @@ -371,7 +371,7 @@ public class PileMerchantInfoServiceImpl implements IPileMerchantInfoService { dto.setDeptIds(Lists.newArrayList()); } // 权限过滤 - 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/PileStationInfoServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileStationInfoServiceImpl.java index ef608ec96..13deea66a 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 @@ -24,6 +24,7 @@ import com.jsowell.pile.dto.QueryStationDTO; import com.jsowell.pile.dto.lutongyunting.BindParkingPlatformDTO; 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; @@ -396,7 +397,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(); @@ -556,7 +557,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(); 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..bec522fde --- /dev/null +++ b/jsowell-pile/src/main/java/com/jsowell/pile/util/UserUtils.java @@ -0,0 +1,75 @@ +package com.jsowell.pile.util; + +import com.alibaba.fastjson2.JSONObject; +import com.google.common.collect.Lists; +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.service.IMemberBasicInfoService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * 后管登录用户工具类 + */ +// 1.将工具类注入到容器中 +@Slf4j +@Component +public class UserUtils { + + // 2.注入想引用的对象的静态实例 + private static IMemberBasicInfoService memberBasicInfoService; + + // 3.初始化有参构造器 + @Autowired + public UserUtils(IMemberBasicInfoService memberBasicInfoService) { + UserUtils.memberBasicInfoService = memberBasicInfoService; + } + + // 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; + } +} \ No newline at end of file From 7c5e55b9eeb5fff9017e862a5d00515044514cc3 Mon Sep 17 00:00:00 2001 From: "autumn.g@foxmail.com" Date: Sat, 11 Nov 2023 15:40:30 +0800 Subject: [PATCH 09/24] =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E7=99=BB=E5=BD=95?= =?UTF-8?q?=E7=94=A8=E6=88=B7=E6=9D=83=E9=99=90=E4=BF=A1=E6=81=AF=EF=BC=8C?= =?UTF-8?q?=E4=BD=BF=E7=94=A8UserUtils?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pile/MemberBasicInfoController.java | 4 +- .../pile/service/IMemberBasicInfoService.java | 7 -- .../impl/MemberBasicInfoServiceImpl.java | 56 ---------------- .../java/com/jsowell/pile/util/UserUtils.java | 64 ++++++++++++++++++- .../pile/vo/base/LoginUserDetailVO.java | 25 ++++++++ 5 files changed, 91 insertions(+), 65 deletions(-) create mode 100644 jsowell-pile/src/main/java/com/jsowell/pile/vo/base/LoginUserDetailVO.java 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 0ae619f5e..24188560d 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,7 @@ 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.MerchantInfoVO; import com.jsowell.pile.vo.uniapp.MemberVO; import com.jsowell.pile.vo.uniapp.MemberWalletLogVO; @@ -74,7 +75,8 @@ public class MemberBasicInfoController extends BaseController { public RestApiResponse getMerchantListByAuth() { RestApiResponse response = null; // List list = memberBasicInfoService.getMerchantListByAuth(deptIds); - List list = memberBasicInfoService.getMerchantListByAuth(); + // List list = memberBasicInfoService.getMerchantListByAuth(); + List list = UserUtils.getMerchantListByAuth(); if (CollectionUtils.isEmpty(list)) { list = new ArrayList<>(); } 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 bde5cfbfc..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(); } 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 403b828d6..9041c8e50 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 @@ -4,14 +4,10 @@ import com.github.pagehelper.PageHelper; import com.google.common.collect.Lists; import com.jsowell.common.constant.CacheConstants; 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.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.pile.dto.PlatformTesterDTO; @@ -23,7 +19,6 @@ import com.jsowell.pile.mapper.MemberWalletInfoMapper; import com.jsowell.pile.mapper.MemberWalletLogMapper; import com.jsowell.pile.service.*; import com.jsowell.pile.util.UserUtils; -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; @@ -39,7 +34,6 @@ import org.springframework.util.StopWatch; import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; -import java.util.Objects; /** * 会员基础信息Service业务层处理 @@ -425,54 +419,4 @@ public class MemberBasicInfoServiceImpl implements IMemberBasicInfoService { return memberWalletLogMapper.getMemberRefundAmount(memberIds); } - /** - * 获取当前会员中的运营商列表(带权限校验) - */ - @Override - public 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; - } - - } 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 index bec522fde..3be9075e6 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/util/UserUtils.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/util/UserUtils.java @@ -2,17 +2,24 @@ 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.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; /** * 后管登录用户工具类 @@ -25,10 +32,17 @@ public class UserUtils { // 2.注入想引用的对象的静态实例 private static IMemberBasicInfoService memberBasicInfoService; + private static IPileMerchantInfoService pileMerchantInfoService; + + private static IPileStationInfoService pileStationInfoService; + // 3.初始化有参构造器 @Autowired - public UserUtils(IMemberBasicInfoService memberBasicInfoService) { + public UserUtils(IMemberBasicInfoService memberBasicInfoService, IPileMerchantInfoService pileMerchantInfoService, + IPileStationInfoService pileStationInfoService) { UserUtils.memberBasicInfoService = memberBasicInfoService; + UserUtils.pileMerchantInfoService = pileMerchantInfoService; + UserUtils.pileStationInfoService = pileStationInfoService; } // 4.使用 @@ -72,4 +86,52 @@ public class UserUtils { } 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; + } } \ 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; +} From de5210d05132955b4175ba0daeb615ebed4c945f Mon Sep 17 00:00:00 2001 From: "autumn.g@foxmail.com" Date: Sat, 11 Nov 2023 16:05:04 +0800 Subject: [PATCH 10/24] =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E7=99=BB=E5=BD=95?= =?UTF-8?q?=E7=94=A8=E6=88=B7=E6=9D=83=E9=99=90=E4=BF=A1=E6=81=AF=EF=BC=8C?= =?UTF-8?q?=E4=BD=BF=E7=94=A8UserUtils?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/PileMerchantInfoServiceImpl.java | 1 + .../java/com/jsowell/pile/util/UserUtils.java | 67 +++++++++++++++++++ .../jsowell/pile/vo/base/MerchantInfoVO.java | 5 ++ 3 files changed, 73 insertions(+) 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 1a8a33c64..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 @@ -334,6 +334,7 @@ public class PileMerchantInfoServiceImpl implements IPileMerchantInfoService { .merchantTel(pileMerchantInfo.getServicePhone()) .organizationCode(pileMerchantInfo.getOrganizationCode()) .deptId(pileMerchantInfo.getDeptId()) + .merchantLevel(pileMerchantInfo.getMerchantLevel()) .build(); return vo; } 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 index 3be9075e6..17727d482 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/util/UserUtils.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/util/UserUtils.java @@ -13,6 +13,7 @@ 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; @@ -20,6 +21,7 @@ import org.springframework.stereotype.Component; import java.util.List; import java.util.Objects; +import java.util.stream.Collectors; /** * 后管登录用户工具类 @@ -134,4 +136,69 @@ public class UserUtils { } return resultList; } + + 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() + .map(MerchantInfoVO::getMerchantLevel) + .filter("1"::equals) + .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); + } + } 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)) { + merchantInfoVOList.add(merchantInfoVO); + } + } + } + resultVO.setMerchantInfoVOList(merchantInfoVOList); + + + return null; + } } \ No newline at end of file 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; + /** * 商户电话 */ From 40bf1f4a152ca04fe6173da35dbb9894c248c12c Mon Sep 17 00:00:00 2001 From: "autumn.g@foxmail.com" Date: Sat, 11 Nov 2023 16:22:01 +0800 Subject: [PATCH 11/24] =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E7=99=BB=E5=BD=95?= =?UTF-8?q?=E7=94=A8=E6=88=B7=E6=9D=83=E9=99=90=E4=BF=A1=E6=81=AF=EF=BC=8C?= =?UTF-8?q?=E4=BD=BF=E7=94=A8UserUtils?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pile/MemberBasicInfoController.java | 3 ++ .../java/com/jsowell/pile/util/UserUtils.java | 41 ++++++++++++------- 2 files changed, 30 insertions(+), 14 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 24188560d..0b696f331 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 @@ -22,6 +22,7 @@ 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; @@ -77,6 +78,8 @@ public class MemberBasicInfoController extends BaseController { // List list = memberBasicInfoService.getMerchantListByAuth(deptIds); // List list = memberBasicInfoService.getMerchantListByAuth(); List list = UserUtils.getMerchantListByAuth(); + LoginUserDetailVO loginUserDetail = UserUtils.getLoginUserDetail(); + logger.info("获取登录用户信息:{}", JSON.toJSONString(loginUserDetail)); if (CollectionUtils.isEmpty(list)) { list = new ArrayList<>(); } 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 index 17727d482..9c49d2973 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/util/UserUtils.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/util/UserUtils.java @@ -161,18 +161,18 @@ public class UserUtils { String deptId = String.valueOf(dept.getDeptId()); List merchantInfoVOList = Lists.newArrayList(); List firstMerchantIdList = Lists.newArrayList(); - if (Constants.ZERO.equals(deptLevel)) { - // 平台级权限 查询所有生效的运营商 + if (Constants.ZERO.equals(deptLevel)) { // 平台级权限 + // 查询所有生效的运营商 merchantInfoVOList = pileMerchantInfoService.selectAll(); // 获取一级运营商id List collect = merchantInfoVOList.stream() - .map(MerchantInfoVO::getMerchantLevel) - .filter("1"::equals) + .filter(x -> Constants.ONE.equals(x.getMerchantLevel())) + .map(MerchantInfoVO::getMerchantId) .collect(Collectors.toList()); firstMerchantIdList.addAll(collect); - } else if (Constants.ONE.equals(deptLevel)) { - // 一级运营商权限 查询该一级运营商下面的所有运营商 + } else if (Constants.ONE.equals(deptLevel)) { // 一级运营商权限 + // 查询该一级运营商下面的所有运营商 PileMerchantInfo merchantInfo = pileMerchantInfoService.queryInfoByDeptId(deptId); if (Objects.nonNull(merchantInfo)) { String firstMerchantId = merchantInfo.getId().toString(); @@ -180,25 +180,38 @@ public class UserUtils { firstMerchantIdList.add(firstMerchantId); merchantInfoVOList = pileMerchantInfoService.selectListByFirstMerchant(firstMerchantId); } - } else if (Constants.TWO.equals(deptLevel)) { - // 二级运营商权限 返回自身运营商 + } 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)) { - // 站点权限 返回自身运营商 + } else if (Constants.THREE.equals(deptLevel)) { // 站点权限 + // 返回站点所属运营商 PileStationInfo stationInfo = pileStationInfoService.queryInfoByDeptId(deptId); if (Objects.nonNull(stationInfo)) { - MerchantInfoVO merchantInfoVO = pileMerchantInfoService.getMerchantInfoVO(stationInfo.getMerchantId() + ""); + 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); - - - return null; + resultVO.setFirstMerchantIdList(firstMerchantIdList); + return resultVO; } } \ No newline at end of file From 659705e70d567f704bc81f232dbbf135ed7b76a7 Mon Sep 17 00:00:00 2001 From: "autumn.g@foxmail.com" Date: Sat, 11 Nov 2023 16:28:23 +0800 Subject: [PATCH 12/24] =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E7=99=BB=E5=BD=95?= =?UTF-8?q?=E7=94=A8=E6=88=B7=E6=9D=83=E9=99=90=E4=BF=A1=E6=81=AF=EF=BC=8C?= =?UTF-8?q?=E4=BD=BF=E7=94=A8UserUtils?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/pile/MemberBasicInfoController.java | 3 ++- .../main/java/com/jsowell/pile/util/UserUtils.java | 11 +++++++++-- 2 files changed, 11 insertions(+), 3 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 0b696f331..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 @@ -77,9 +77,10 @@ public class MemberBasicInfoController extends BaseController { RestApiResponse response = null; // List list = memberBasicInfoService.getMerchantListByAuth(deptIds); // List list = memberBasicInfoService.getMerchantListByAuth(); - List list = UserUtils.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-pile/src/main/java/com/jsowell/pile/util/UserUtils.java b/jsowell-pile/src/main/java/com/jsowell/pile/util/UserUtils.java index 9c49d2973..27152b6b5 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/util/UserUtils.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/util/UserUtils.java @@ -92,7 +92,7 @@ public class UserUtils { /** * 获取当前会员中的运营商列表(带权限校验) */ - public static List getMerchantListByAuth() { + /*public static List getMerchantListByAuth() { List resultList = Lists.newArrayList(); // 获取登录用户 所有有权限运营商 LoginUser loginUser = SecurityUtils.getLoginUser(); @@ -135,8 +135,15 @@ public class UserUtils { } } return resultList; - } + }*/ + /** + * 获取登录用户信息 + * 返回信息包含: + * 一级运营商idList + * 有权限的运营商信息list + * @return LoginUserDetailVO 登录用户详情VO + */ public static LoginUserDetailVO getLoginUserDetail() { LoginUserDetailVO resultVO = new LoginUserDetailVO(); From 4fd28a156b4cebced0ef0b0ce1bcaa026c80ae78 Mon Sep 17 00:00:00 2001 From: "autumn.g@foxmail.com" Date: Sat, 11 Nov 2023 16:47:20 +0800 Subject: [PATCH 13/24] =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E7=99=BB=E5=BD=95?= =?UTF-8?q?=E7=94=A8=E6=88=B7=E6=9D=83=E9=99=90=E4=BF=A1=E6=81=AF=EF=BC=8C?= =?UTF-8?q?=E4=BD=BF=E7=94=A8UserUtils?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jsowell/pile/dto/QueryMemberInfoDTO.java | 2 + .../impl/MemberBasicInfoServiceImpl.java | 48 +++++++++---------- .../mapper/pile/MemberBasicInfoMapper.xml | 6 +++ 3 files changed, 32 insertions(+), 24 deletions(-) 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/service/impl/MemberBasicInfoServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/MemberBasicInfoServiceImpl.java index 9041c8e50..067c98d06 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 @@ -4,12 +4,14 @@ import com.github.pagehelper.PageHelper; 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.enums.MemberWalletEnum; import com.jsowell.common.util.DateUtils; import com.jsowell.common.util.StringUtils; -import com.jsowell.pile.domain.*; +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; @@ -19,6 +21,7 @@ import com.jsowell.pile.mapper.MemberWalletInfoMapper; import com.jsowell.pile.mapper.MemberWalletLogMapper; 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; @@ -29,7 +32,6 @@ 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; @@ -317,35 +319,33 @@ public class MemberBasicInfoServiceImpl implements IMemberBasicInfoService { */ @Override public List selectMemberList(QueryMemberInfoDTO dto) { - StopWatch sw = new StopWatch("查询会员列表"); - sw.start("获取登录账号信息"); // 获取登录账号信息 // 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.stop(); + // 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; } 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) From ee3095d02a73108a79ccd8c63a8fdd8b8cd5c698 Mon Sep 17 00:00:00 2001 From: "autumn.g@foxmail.com" Date: Sat, 11 Nov 2023 17:08:01 +0800 Subject: [PATCH 14/24] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=88=9B=E5=BB=BA?= =?UTF-8?q?=E4=BC=9A=E5=91=98=E9=80=BB=E8=BE=91=EF=BC=8C=E5=9C=A8=E5=88=9B?= =?UTF-8?q?=E5=BB=BA=E6=97=B6=E4=B8=8D=E5=88=9B=E5=BB=BA=E4=BC=9A=E5=91=98?= =?UTF-8?q?=E9=92=B1=E5=8C=85=EF=BC=8C=E5=90=8E=E7=AE=A1=E5=85=85=E5=80=BC?= =?UTF-8?q?=E7=9A=84=E6=97=B6=E5=80=99=E6=89=BE=E4=B8=8D=E5=88=B0=E5=88=99?= =?UTF-8?q?=E5=88=9B=E5=BB=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/jsowell/service/MemberService.java | 4 +-- .../pile/mapper/MemberWalletInfoMapper.java | 6 ++++ .../impl/MemberBasicInfoServiceImpl.java | 34 +++++++++++++------ .../service/TransactionService.java | 7 ++-- .../pile/vo/web/UpdateMemberBalanceDTO.java | 10 +++--- jsowell-ui/src/views/member/info/index.vue | 6 ++-- 6 files changed, 44 insertions(+), 23 deletions(-) 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 0eefbada3..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 { 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 719cee5d1..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 @@ -56,5 +56,11 @@ public interface MemberWalletInfoMapper { // 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/service/impl/MemberBasicInfoServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/MemberBasicInfoServiceImpl.java index 067c98d06..628377642 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 @@ -8,6 +8,7 @@ import com.jsowell.common.core.redis.RedisCache; import com.jsowell.common.enums.MemberWalletEnum; import com.jsowell.common.util.DateUtils; import com.jsowell.common.util.StringUtils; +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; @@ -17,7 +18,6 @@ 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.*; import com.jsowell.pile.util.UserUtils; @@ -49,8 +49,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; @@ -178,10 +181,19 @@ public class MemberBasicInfoServiceImpl implements IMemberBasicInfoService { BigDecimal updatePrincipalBalance = dto.getUpdatePrincipalBalance(); log.info("修改用户余额 memberId:{}, updatePrincipalBalance:{}, updateGiftBalance:{}", memberId, updatePrincipalBalance, updateGiftBalance); // 查询用户余额 - MemberWalletInfo info = memberWalletInfoMapper.selectByMemberId(memberId, dto.getMerchantId()); - 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.fastSimpleUUID()) + .memberId(memberId) + .merchantId(dto.getTargetMerchantId()) + .giftBalance(BigDecimal.ZERO) + .principalBalance(BigDecimal.ZERO) + .version(0) + .build(); + memberWalletInfoService.insertSelective(walletInfo); } // 记录流水 @@ -197,9 +209,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("变更后本金余额不能为负数"); @@ -225,9 +237,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) { @@ -251,7 +263,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); } 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/vo/web/UpdateMemberBalanceDTO.java b/jsowell-pile/src/main/java/com/jsowell/pile/vo/web/UpdateMemberBalanceDTO.java index 411e98ce4..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 @@ -19,11 +19,6 @@ public class UpdateMemberBalanceDTO { */ private String memberId; - /** - * 所属运营商id - */ - private String merchantId; - /** * 更新类型 * 1-进账;2-出账 @@ -53,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-ui/src/views/member/info/index.vue b/jsowell-ui/src/views/member/info/index.vue index 26d83a9b8..c3a1c0bad 100644 --- a/jsowell-ui/src/views/member/info/index.vue +++ b/jsowell-ui/src/views/member/info/index.vue @@ -210,7 +210,7 @@ { From be89f49d74817878cb166588ce0afc8ea382890e Mon Sep 17 00:00:00 2001 From: "autumn.g@foxmail.com" Date: Sat, 11 Nov 2023 17:16:27 +0800 Subject: [PATCH 15/24] =?UTF-8?q?=E7=94=9F=E6=88=9016=E4=BD=8Did?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/jsowell/common/util/id/IdUtils.java | 24 +++++++++++++++++++ .../impl/MemberBasicInfoServiceImpl.java | 14 ++++++++++- 2 files changed, 37 insertions(+), 1 deletion(-) 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..d0d1af6ac 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,28 @@ 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()); + // 3.生成uuid的hashCode值 + int hashCode = UUID.randomUUID().toString().hashCode(); + // 4.可能为负数 + if(hashCode < 0){ + hashCode = -hashCode; + } + // 5.算法处理: 0-代表前面补充0; 10-代表长度为10; d-代表参数为正数型 + String value = machineId + dayTime + String.format("%010d", hashCode); + System.out.println(value); + return value; + } + + /** * 生成交易流水号 * @param pileSn 桩编号 例如:32010600019236 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 628377642..94ca118fc 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,6 +2,7 @@ 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.redis.RedisCache; @@ -36,6 +37,7 @@ import org.springframework.stereotype.Service; import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; +import java.util.Set; /** * 会员基础信息Service业务层处理 @@ -186,7 +188,7 @@ public class MemberBasicInfoServiceImpl implements IMemberBasicInfoService { log.warn("根据会员id:{}, 目标运营商id:{}, 查询会员信息为空, 新建会员钱包", memberId, dto.getTargetMerchantId()); // 如果查询到钱包为空,就新建一个该运营商的钱包 walletInfo = MemberWalletInfo.builder() - .walletCode(IdUtils.fastSimpleUUID()) + .walletCode(IdUtils.get16UUID()) .memberId(memberId) .merchantId(dto.getTargetMerchantId()) .giftBalance(BigDecimal.ZERO) @@ -275,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 < 1000000; 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)) { From de57827206338657734a1bc4aefb9488e72e17a4 Mon Sep 17 00:00:00 2001 From: "autumn.g@foxmail.com" Date: Mon, 13 Nov 2023 09:06:26 +0800 Subject: [PATCH 16/24] =?UTF-8?q?=E7=94=9F=E6=88=9016=E4=BD=8Did?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/jsowell/common/util/id/IdUtils.java | 8 ++++++-- .../pile/service/impl/MemberBasicInfoServiceImpl.java | 2 +- 2 files changed, 7 insertions(+), 3 deletions(-) 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 d0d1af6ac..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 @@ -59,6 +59,10 @@ public class IdUtils { // 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.可能为负数 @@ -66,8 +70,8 @@ public class IdUtils { hashCode = -hashCode; } // 5.算法处理: 0-代表前面补充0; 10-代表长度为10; d-代表参数为正数型 - String value = machineId + dayTime + String.format("%010d", hashCode); - System.out.println(value); + String value = machineId + valueOf + String.format("%010d", hashCode); + // System.out.println(value); return value; } 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 94ca118fc..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 @@ -279,7 +279,7 @@ public class MemberBasicInfoServiceImpl implements IMemberBasicInfoService { public static void main(String[] args) { Set set = Sets.newHashSet(); - for (int i = 0; i < 1000000; i++) { + for (int i = 0; i < 10000000; i++) { String s = IdUtils.get16UUID(); System.out.println(s); set.add(s); From fce5992a26cb7b6b0cedca42393f8bdc50e65cab Mon Sep 17 00:00:00 2001 From: "autumn.g@foxmail.com" Date: Sat, 18 Nov 2023 08:23:11 +0800 Subject: [PATCH 17/24] =?UTF-8?q?update=20=E6=A0=A1=E9=AA=8Cchannel?= =?UTF-8?q?=E6=98=AF=E5=90=A6=E4=BF=9D=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/enums/ykc/PileChannelEntity.java | 24 ++++++++++++++++--- .../handler/HeartbeatRequestHandler.java | 12 ++++------ .../netty/handler/LoginRequestHandler.java | 2 +- .../handler/UploadRealTimeMonitorHandler.java | 4 ++++ 4 files changed, 30 insertions(+), 12 deletions(-) diff --git a/jsowell-common/src/main/java/com/jsowell/common/enums/ykc/PileChannelEntity.java b/jsowell-common/src/main/java/com/jsowell/common/enums/ykc/PileChannelEntity.java index 65ef392ad..f5a122802 100644 --- a/jsowell-common/src/main/java/com/jsowell/common/enums/ykc/PileChannelEntity.java +++ b/jsowell-common/src/main/java/com/jsowell/common/enums/ykc/PileChannelEntity.java @@ -18,11 +18,29 @@ public class PileChannelEntity { */ private static final ConcurrentHashMap manager = new ConcurrentHashMap<>(); - public static void put(String pileSn, Channel channel) { + /** + * 校验channel是否保存 + */ + public static void checkChannel(String pileSn, Channel channel) { if (manager.containsKey(pileSn)) { - log.error("桩编号:【{}】已经是连接状态", pileSn); + // 如果manager中存在pileSn的连接,取出来对比 + Channel sourceChannel = manager.get(pileSn); + if (sourceChannel != null) { + // 两个做对比 + String sourceChannelId = sourceChannel.id().asLongText(); + String channelId = channel.id().asLongText(); + if (!StringUtils.equals(sourceChannelId, channelId)) { + // 不一致则更新 + manager.put(pileSn, channel); + } + } else { + // 为空就put + manager.put(pileSn, channel); + } + } else { + // 如果manager中不存在pileSn的连接,则保存 + manager.put(pileSn, channel); } - manager.put(pileSn, channel); } /** diff --git a/jsowell-netty/src/main/java/com/jsowell/netty/handler/HeartbeatRequestHandler.java b/jsowell-netty/src/main/java/com/jsowell/netty/handler/HeartbeatRequestHandler.java index ba6ebae9f..a68a25d91 100644 --- a/jsowell-netty/src/main/java/com/jsowell/netty/handler/HeartbeatRequestHandler.java +++ b/jsowell-netty/src/main/java/com/jsowell/netty/handler/HeartbeatRequestHandler.java @@ -4,12 +4,11 @@ import com.google.common.primitives.Bytes; import com.jsowell.common.constant.Constants; import com.jsowell.common.core.domain.ykc.YKCDataProtocol; import com.jsowell.common.core.domain.ykc.YKCFrameTypeCode; -import com.jsowell.common.core.redis.RedisCache; +import com.jsowell.common.enums.ykc.PileChannelEntity; import com.jsowell.common.util.BytesUtil; import com.jsowell.common.util.YKCUtils; import com.jsowell.netty.factory.YKCOperateFactory; import com.jsowell.pile.service.IPileBasicInfoService; -import com.jsowell.pile.service.IPileConnectorInfoService; import io.netty.channel.Channel; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -24,15 +23,9 @@ public class HeartbeatRequestHandler extends AbstractHandler { private final String type = YKCUtils.frameType2Str(YKCFrameTypeCode.HEART_BEAT_CODE.getBytes()); - @Autowired - private RedisCache redisCache; - @Autowired private IPileBasicInfoService pileBasicInfoService; - @Autowired - private IPileConnectorInfoService pileConnectorInfoService; - @Override public void afterPropertiesSet() throws Exception { YKCOperateFactory.register(type, this); @@ -54,6 +47,9 @@ public class HeartbeatRequestHandler extends AbstractHandler { // 保存时间 saveLastTime(pileSn); + // 校验channel + PileChannelEntity.checkChannel(pileSn, channel); + // 枪号 startIndex += length; length = 1; diff --git a/jsowell-netty/src/main/java/com/jsowell/netty/handler/LoginRequestHandler.java b/jsowell-netty/src/main/java/com/jsowell/netty/handler/LoginRequestHandler.java index 7e5eb0e6b..f70afc24d 100644 --- a/jsowell-netty/src/main/java/com/jsowell/netty/handler/LoginRequestHandler.java +++ b/jsowell-netty/src/main/java/com/jsowell/netty/handler/LoginRequestHandler.java @@ -196,7 +196,7 @@ public class LoginRequestHandler extends AbstractHandler { if (pileInfoVO != null) { flag = Constants.zeroByteArray; // 登录成功,保存桩号和channel的关系 - PileChannelEntity.put(pileSn, channel); + PileChannelEntity.checkChannel(pileSn, channel); // 更改桩和该桩下的枪口状态分别为 在线、空闲 公共方法修改状态 pileBasicInfoService.updateStatus(BytesUtil.bcd2Str(ykcDataProtocol.getFrameType()), pileSn, null, null, null); diff --git a/jsowell-netty/src/main/java/com/jsowell/netty/handler/UploadRealTimeMonitorHandler.java b/jsowell-netty/src/main/java/com/jsowell/netty/handler/UploadRealTimeMonitorHandler.java index aff0fd85c..7c254eec4 100644 --- a/jsowell-netty/src/main/java/com/jsowell/netty/handler/UploadRealTimeMonitorHandler.java +++ b/jsowell-netty/src/main/java/com/jsowell/netty/handler/UploadRealTimeMonitorHandler.java @@ -9,6 +9,7 @@ import com.jsowell.common.core.domain.ykc.YKCFrameTypeCode; import com.jsowell.common.core.redis.RedisCache; import com.jsowell.common.enums.thirdparty.ThirdPlatformTypeEnum; import com.jsowell.common.enums.ykc.OrderStatusEnum; +import com.jsowell.common.enums.ykc.PileChannelEntity; import com.jsowell.common.enums.ykc.StartModeEnum; import com.jsowell.common.enums.ykc.YKCPileFaultReasonEnum; import com.jsowell.common.util.BytesUtil; @@ -108,6 +109,9 @@ public class UploadRealTimeMonitorHandler extends AbstractHandler { // 保存时间 saveLastTime(pileSn); + // 校验channel + PileChannelEntity.checkChannel(pileSn, channel); + // 枪号 startIndex += length; length = 1; From c1c756df9cca0975a0de68a02705a6097d23e07d Mon Sep 17 00:00:00 2001 From: "autumn.g@foxmail.com" Date: Sat, 18 Nov 2023 08:26:43 +0800 Subject: [PATCH 18/24] =?UTF-8?q?update=20=E6=A0=A1=E9=AA=8Cchannel?= =?UTF-8?q?=E6=98=AF=E5=90=A6=E4=BF=9D=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/jsowell/common/enums/ykc/PileChannelEntity.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/jsowell-common/src/main/java/com/jsowell/common/enums/ykc/PileChannelEntity.java b/jsowell-common/src/main/java/com/jsowell/common/enums/ykc/PileChannelEntity.java index f5a122802..d0da37c53 100644 --- a/jsowell-common/src/main/java/com/jsowell/common/enums/ykc/PileChannelEntity.java +++ b/jsowell-common/src/main/java/com/jsowell/common/enums/ykc/PileChannelEntity.java @@ -31,14 +31,17 @@ public class PileChannelEntity { String channelId = channel.id().asLongText(); if (!StringUtils.equals(sourceChannelId, channelId)) { // 不一致则更新 + log.info("checkChannel-manager中pileSn:{}的连接不一致, 老channelId:{}, 保存新的channel:{}", pileSn, sourceChannelId, channelId); manager.put(pileSn, channel); } } else { // 为空就put + log.info("checkChannel-manager中pileSn:{}的连接为空,保存新的channel:{}", pileSn, channel.id().asLongText()); manager.put(pileSn, channel); } } else { // 如果manager中不存在pileSn的连接,则保存 + log.info("checkChannel-manager中不存在pileSn:{}的连接,保存新的channel:{}", pileSn, channel.id().asLongText()); manager.put(pileSn, channel); } } From 887dcca0f9c21cc1d78dc414ea261455f547f716 Mon Sep 17 00:00:00 2001 From: "autumn.g@foxmail.com" Date: Sat, 18 Nov 2023 08:31:31 +0800 Subject: [PATCH 19/24] =?UTF-8?q?update=20=E6=A0=A1=E9=AA=8Cchannel?= =?UTF-8?q?=E6=98=AF=E5=90=A6=E4=BF=9D=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/enums/ykc/PileChannelEntity.java | 38 ++++++++++--------- 1 file changed, 20 insertions(+), 18 deletions(-) diff --git a/jsowell-common/src/main/java/com/jsowell/common/enums/ykc/PileChannelEntity.java b/jsowell-common/src/main/java/com/jsowell/common/enums/ykc/PileChannelEntity.java index d0da37c53..22cd31e49 100644 --- a/jsowell-common/src/main/java/com/jsowell/common/enums/ykc/PileChannelEntity.java +++ b/jsowell-common/src/main/java/com/jsowell/common/enums/ykc/PileChannelEntity.java @@ -22,27 +22,29 @@ public class PileChannelEntity { * 校验channel是否保存 */ public static void checkChannel(String pileSn, Channel channel) { - if (manager.containsKey(pileSn)) { - // 如果manager中存在pileSn的连接,取出来对比 - Channel sourceChannel = manager.get(pileSn); - if (sourceChannel != null) { - // 两个做对比 - String sourceChannelId = sourceChannel.id().asLongText(); - String channelId = channel.id().asLongText(); - if (!StringUtils.equals(sourceChannelId, channelId)) { - // 不一致则更新 - log.info("checkChannel-manager中pileSn:{}的连接不一致, 老channelId:{}, 保存新的channel:{}", pileSn, sourceChannelId, channelId); - manager.put(pileSn, channel); - } - } else { - // 为空就put - log.info("checkChannel-manager中pileSn:{}的连接为空,保存新的channel:{}", pileSn, channel.id().asLongText()); - manager.put(pileSn, channel); - } - } else { + if (!manager.containsKey(pileSn)) { // 如果manager中不存在pileSn的连接,则保存 log.info("checkChannel-manager中不存在pileSn:{}的连接,保存新的channel:{}", pileSn, channel.id().asLongText()); manager.put(pileSn, channel); + return; + } + + // 如果manager中存在pileSn的连接,取出来对比 + Channel sourceChannel = manager.get(pileSn); + if (sourceChannel == null) { + // 为空就put + log.info("checkChannel-manager中pileSn:{}的连接为空,保存新的channel:{}", pileSn, channel.id().asLongText()); + manager.put(pileSn, channel); + return; + } + + // 两个做对比 + String sourceChannelId = sourceChannel.id().asLongText(); + String channelId = channel.id().asLongText(); + if (!StringUtils.equals(sourceChannelId, channelId)) { + // 不一致则更新 + log.info("checkChannel-manager中pileSn:{}的连接不一致, 老channelId:{}, 保存新的channel:{}", pileSn, sourceChannelId, channelId); + manager.put(pileSn, channel); } } From 2d24a87bd315b357a59e793f965b764f86d937ae Mon Sep 17 00:00:00 2001 From: "autumn.g@foxmail.com" Date: Sat, 18 Nov 2023 09:12:36 +0800 Subject: [PATCH 20/24] =?UTF-8?q?update=20=E6=A0=A1=E9=AA=8Cchannel?= =?UTF-8?q?=E6=98=AF=E5=90=A6=E4=BF=9D=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../netty/service/yunkuaichong/impl/YKCBusinessServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jsowell-netty/src/main/java/com/jsowell/netty/service/yunkuaichong/impl/YKCBusinessServiceImpl.java b/jsowell-netty/src/main/java/com/jsowell/netty/service/yunkuaichong/impl/YKCBusinessServiceImpl.java index 4f4388ece..aa23da84e 100644 --- a/jsowell-netty/src/main/java/com/jsowell/netty/service/yunkuaichong/impl/YKCBusinessServiceImpl.java +++ b/jsowell-netty/src/main/java/com/jsowell/netty/service/yunkuaichong/impl/YKCBusinessServiceImpl.java @@ -71,7 +71,7 @@ public class YKCBusinessServiceImpl implements YKCBusinessService { pileMsgRecordService.save(pileSn, pileSn, type, jsonMsg, ""); // 删除桩编号和channel的关系 - PileChannelEntity.removeByPileSn(pileSn); + // PileChannelEntity.removeByPileSn(pileSn); } } From 7686d09c842faa436e30a57a52ea14f2c349cb08 Mon Sep 17 00:00:00 2001 From: "autumn.g@foxmail.com" Date: Sat, 18 Nov 2023 16:35:10 +0800 Subject: [PATCH 21/24] =?UTF-8?q?update=20=E6=89=93=E5=8D=B0=E6=97=A5?= =?UTF-8?q?=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/OrderBasicInfoServiceImpl.java | 26 +++++-------------- 1 file changed, 6 insertions(+), 20 deletions(-) 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 bddfd33ae..5c3f8e089 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 @@ -1299,6 +1299,9 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService { transactionService.saveClearingBill(dto); } + /** + * 处理订单分账 + */ @Override public void orderSplittingOperations(String merchantId, String tradeDate) { // 查询运营商有没有开通结算账户 @@ -1314,25 +1317,6 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService { orderSplittingOperations(merchantId, adapayMemberAccount, stationReportList); } - - public static void main(String[] args) { - String orderCodes = "C82129922131,C88605487426,C80853398257,C42225029390,C42050130320,C80268607649,C65090399892,C88605409985,C40197823452,C40360111257,C42664348391,C46888741320,C42096389875,C80876567133,C48789905474,C69082601081,C63320369365,C25114681915,C29982209111,C29501104224,C42248276116,C42666682907,C84085810684,C69842853918,C88499746799,C61214447811,C23407551499,C23291933360,C27891723022,C88202857599,C63957913629,C61676196410,C42014287747,C42415941632,C65875063358,C84697386828,C25300317177,C42417652106,C46673137050,C44924666655,C42892484394,C29773309851,C84022114304,C63159742257,C63136514298,C69671384194,C67128612466,C61461173093,C67128086220,C61020732496,C46401168113,C46880368652,C88434145606,C27030808721,C63932294381,C61488524191,C84421362906,C61068658712,C40324663033,C46650992901,C23481637277,C27667467550,C84659995624,C88050527399,C67310773123,C67730451580,C42202489430,C40978948616,C69804010243,C23443482840,C86191101042,C61275216031,C46808350588,C46635993116,C42225441831,C40178209026,C84423871642,C25304389434,C69061396683,C84043460519,C27640600078,C42643224187,C29370358679,C23293249030,C27268880213,C61045842286,C65244185478,C40176977989,C82399232342,C23251463125,C27431702023,C67903656753,C48954328255,C46251172319,C44909832421,C69690966854,C25783391662,C80074115157,C48973771119,C25787930643,C29718043801,C25382031042,C42641971734,C27203241392,C21920948801,C21145712550,C40349501861,C84659729396,C42286066541,C84889979652,C61212339884,C29315244307,C48724785088,C25175245478,C82731134952,C65438675031,C44753343446,C21770382971,C84231457313,C80013950804,C88478854000,C42664724744,C42246907429,C88890320188,C82750332265,C82104871027,C69884443478,C86917156642,C82520506475,C88812843568,C88208590313,C46236764112,C42286444884,C44358733472,C84212044497,C40132623283,C29589177154,C88248452273,C40307769997"; - String[] split = StringUtils.split(orderCodes, ","); - List orderCodeList = Arrays.stream(split).collect(Collectors.toList()); - - String settleOrderCodes = "C23291933360,C23407551499,C23481637277,C25114681915,C25300317177,C25787930643,C27030808721,C27431702023,C27640600078,C27667467550,C27891723022,C29370358679,C29501104224,C29773309851,C29982209111,C40178209026,C40197823452,C40324663033,C40360111257,C40978948616,C42014287747,C42050130320,C42096389875,C42202489430,C42225029390,C42225441831,C42248276116,C42415941632,C42417652106,C42664348391,C42666682907,C42892484394,C44924666655,C46401168113,C46650992901,C46673137050,C46808350588,C46880368652,C46888741320,C48789905474,C61020732496,C61068658712,C61214447811,C61275216031,C61461173093,C61488524191,C61676196410,C63136514298,C63159742257,C63320369365,C63932294381,C63957913629,C65090399892,C65875063358,C67128086220,C67128612466,C67310773123,C67730451580,C69061396683,C69082601081,C69671384194,C69804010243,C69842853918,C80268607649,C80853398257,C80876567133,C82129922131,C84022114304,C84043460519,C84085810684,C84421362906,C84423871642,C84659995624,C84697386828,C86191101042,C88050527399,C88202857599,C88434145606,C88499746799,C88605409985,C88605487426"; - - ArrayList strings = Lists.newArrayList(StringUtils.split(settleOrderCodes, ",")); - // System.out.println(strings); - Set set = new HashSet<>(orderCodeList); - System.out.println(set.size()); - Set set2 = new HashSet<>(strings); - System.out.println(set2.size()); - set.removeAll(set2); - System.out.println("未分账订单:" + set + "\n" + "共" + set.size() + "条"); - - } - /** * 余额支付订单,使用余额分账 * @@ -1565,7 +1549,9 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService { return result; } - // uniApp 发送停止充电订阅消息 + /** + * uniApp 发送停止充电订阅消息 + */ private void sendMsg(OrderBasicInfo orderBasicInfo) { try { WechatSendMsgDTO wechatSendMsgDTO = new WechatSendMsgDTO(); From a4d323d19165ace070a6cb468e9adee9753ee44d Mon Sep 17 00:00:00 2001 From: "autumn.g@foxmail.com" Date: Mon, 20 Nov 2023 12:02:31 +0800 Subject: [PATCH 22/24] =?UTF-8?q?update=20=E6=89=93=E5=8D=B0=E6=97=A5?= =?UTF-8?q?=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jsowell/netty/handler/TimeCheckSettingResponseHandler.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/jsowell-netty/src/main/java/com/jsowell/netty/handler/TimeCheckSettingResponseHandler.java b/jsowell-netty/src/main/java/com/jsowell/netty/handler/TimeCheckSettingResponseHandler.java index efbaae11d..1587e8653 100644 --- a/jsowell-netty/src/main/java/com/jsowell/netty/handler/TimeCheckSettingResponseHandler.java +++ b/jsowell-netty/src/main/java/com/jsowell/netty/handler/TimeCheckSettingResponseHandler.java @@ -3,6 +3,7 @@ package com.jsowell.netty.handler; import com.jsowell.common.core.domain.ykc.YKCDataProtocol; import com.jsowell.common.core.domain.ykc.YKCFrameTypeCode; import com.jsowell.common.util.BytesUtil; +import com.jsowell.common.util.Cp56Time2a.Cp56Time2aUtil; import com.jsowell.common.util.YKCUtils; import com.jsowell.netty.factory.YKCOperateFactory; import io.netty.channel.Channel; @@ -45,7 +46,7 @@ public class TimeCheckSettingResponseHandler extends AbstractHandler{ startIndex += length; length = 7; byte[] currentTimeByteArr = BytesUtil.copyBytes(msgBody, startIndex, length); - + log.info("对时设置应答, pileSn:{}, 当前时间:{}", pileSn, Cp56Time2aUtil.byte2Hdate(currentTimeByteArr)); return null; } } From 716c1109b29d7b2e434bd370766ff299b0ba129e Mon Sep 17 00:00:00 2001 From: "autumn.g@foxmail.com" Date: Mon, 20 Nov 2023 13:51:17 +0800 Subject: [PATCH 23/24] =?UTF-8?q?update=20=E6=89=93=E5=8D=B0=E6=97=A5?= =?UTF-8?q?=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../netty/server/yunkuaichong/NettyServerHandler.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/jsowell-netty/src/main/java/com/jsowell/netty/server/yunkuaichong/NettyServerHandler.java b/jsowell-netty/src/main/java/com/jsowell/netty/server/yunkuaichong/NettyServerHandler.java index ce7c5863a..af777936c 100644 --- a/jsowell-netty/src/main/java/com/jsowell/netty/server/yunkuaichong/NettyServerHandler.java +++ b/jsowell-netty/src/main/java/com/jsowell/netty/server/yunkuaichong/NettyServerHandler.java @@ -172,13 +172,13 @@ public class NettyServerHandler extends ChannelInboundHandlerAdapter { boolean flag = false; if (event.state() == IdleState.READER_IDLE) { // 读 flag = true; - log.error("Client-IP:【{}】, channelId:【{}】, pileSn:【{}】, READER_IDLE 读超时", socketString, channelId, pileSn); + // log.error("Client-IP:【{}】, channelId:【{}】, pileSn:【{}】, READER_IDLE 读超时", socketString, channelId, pileSn); } else if (event.state() == IdleState.WRITER_IDLE) { // 写 flag = true; - log.error("Client-IP:【{}】, channelId:【{}】, pileSn:【{}】, WRITER_IDLE 写超时", socketString, channelId, pileSn); + // log.error("Client-IP:【{}】, channelId:【{}】, pileSn:【{}】, WRITER_IDLE 写超时", socketString, channelId, pileSn); } else if (event.state() == IdleState.ALL_IDLE) { // 全部 flag = true; - log.error("Client-IP:【{}】, channelId:【{}】, pileSn:【{}】, ALL_IDLE 总超时", socketString, channelId, pileSn); + // log.error("Client-IP:【{}】, channelId:【{}】, pileSn:【{}】, ALL_IDLE 总超时", socketString, channelId, pileSn); } if (flag) { ctx.channel().close(); From f3f67ddaceaecbde601f2292c24a1e15007fbb1a Mon Sep 17 00:00:00 2001 From: "autumn.g@foxmail.com" Date: Mon, 20 Nov 2023 14:30:37 +0800 Subject: [PATCH 24/24] =?UTF-8?q?=E6=A0=A1=E9=AA=8C=E7=BB=93=E6=9D=9F?= =?UTF-8?q?=E6=97=B6=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../netty/handler/TransactionRecordsRequestHandler.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/jsowell-netty/src/main/java/com/jsowell/netty/handler/TransactionRecordsRequestHandler.java b/jsowell-netty/src/main/java/com/jsowell/netty/handler/TransactionRecordsRequestHandler.java index 09932c68f..cce725706 100644 --- a/jsowell-netty/src/main/java/com/jsowell/netty/handler/TransactionRecordsRequestHandler.java +++ b/jsowell-netty/src/main/java/com/jsowell/netty/handler/TransactionRecordsRequestHandler.java @@ -646,6 +646,11 @@ public class TransactionRecordsRequestHandler extends AbstractHandler { orderBasicInfo.setChargeEndTime(DateUtils.parseDate(data.getEndTime())); } + // 校验结束时间 + if (orderBasicInfo.getChargeEndTime().before(orderBasicInfo.getChargeStartTime())) { + orderBasicInfo.setChargeEndTime(new Date()); + } + orderBasicInfoService.updateOrderBasicInfo(orderBasicInfo); // 结算订单操作