diff --git a/db/800pjcloudx_wallet.sql b/db/800pjcloudx_wallet.sql index 378dc1e2c..bf3045339 100644 --- a/db/800pjcloudx_wallet.sql +++ b/db/800pjcloudx_wallet.sql @@ -95,7 +95,7 @@ CREATE TABLE wallet_rule_price_config id bigint NOT NULL COMMENT '主键', rule_price_type varchar(64) NOT NULL COMMENT '规则类型', base_price bigint NOT NULL COMMENT '基础金额', - multiple bigint NOT NULL COMMENT '金额的倍数必须大于1', + multiple bigint NOT NULL COMMENT '额外支付的倍数', create_by varchar(64) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '创建人', create_time datetime DEFAULT NULL COMMENT '创建时间', update_by varchar(64) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '修改人', @@ -114,7 +114,8 @@ CREATE TABLE wallet_rule_mch_config ( id bigint NOT NULL COMMENT '主键', source_mch_id bigint NOT NULL COMMENT '源商户id', - traget_mch_id bigint NOT NULL COMMENT '目标商户id', + target_mch_id bigint NOT NULL COMMENT '目标商户id', + target_dept_id bigint NOT NULL COMMENT '目标部门id', rule_price_config_id bigint NOT NULL COMMENT '规则配置id', create_by varchar(64) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '创建人', create_time datetime DEFAULT NULL COMMENT '创建时间', diff --git a/pjcloud-common/pjcloud-common-core/src/main/java/com/bsd/pjcloud/common/core/constant/enums/MerchantTypeEnum.java b/pjcloud-common/pjcloud-common-core/src/main/java/com/bsd/pjcloud/common/core/constant/enums/MerchantTypeEnum.java index 54797610b..5403a03a1 100644 --- a/pjcloud-common/pjcloud-common-core/src/main/java/com/bsd/pjcloud/common/core/constant/enums/MerchantTypeEnum.java +++ b/pjcloud-common/pjcloud-common-core/src/main/java/com/bsd/pjcloud/common/core/constant/enums/MerchantTypeEnum.java @@ -7,8 +7,8 @@ import lombok.RequiredArgsConstructor; @Getter public enum MerchantTypeEnum { CANTEEN("1", "食堂"), - SUPERMARKET("3", "合作超市"), - SELF_SUPERMARKET("2", "自营超市"), + SUPERMARKET("2", "合作超市"), + SELF_SUPERMARKET("3", "自营超市"), ; /** diff --git a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/hard/CurrentUserHardTypeInfoDto.java b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/hard/CurrentUserHardTypeInfoDto.java index 6ba63a131..590c2d736 100644 --- a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/hard/CurrentUserHardTypeInfoDto.java +++ b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/hard/CurrentUserHardTypeInfoDto.java @@ -1,7 +1,6 @@ package com.bsd.pjcloud.hard.api.dto.hard; -import cn.hutool.core.util.ObjectUtil; -import com.bsd.pjcloud.hard.api.constant.HardTypeEnum; +import com.bsd.pjcloud.common.core.constant.enums.MerchantTypeEnum; import lombok.Data; import java.util.ArrayList; @@ -29,10 +28,11 @@ public class CurrentUserHardTypeInfoDto { List list = new ArrayList<>(); if (isAll()) return list; if (this.getCanteenView() != null && this.getCanteenView()) { - list.add(HardTypeEnum.CANTEEN.getType()); + list.add(MerchantTypeEnum.CANTEEN.getType()); } if (this.getSupermarket() != null && this.getSupermarket()) { - list.add(HardTypeEnum.SUPERMARKET.getType()); + list.add(MerchantTypeEnum.SELF_SUPERMARKET.getType()); + list.add(MerchantTypeEnum.SUPERMARKET.getType()); } return list; } diff --git a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/order/HardOrderDto.java b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/order/HardOrderDto.java index 8d913d157..1bed8bcd9 100644 --- a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/order/HardOrderDto.java +++ b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/order/HardOrderDto.java @@ -23,12 +23,12 @@ public class HardOrderDto extends HardOrderEntity implements BaseIsIncludeTreeIn private List hardIds; - private List hardTypeCodes; - private String hardTypeCode; private List mchIds; + private List mchTypeCodes; + private List orderStatusCodes; private LocalDate[] createTimeList; @@ -39,6 +39,8 @@ public class HardOrderDto extends HardOrderEntity implements BaseIsIncludeTreeIn private List orderPayTypeCodes; + private List hardTypeCodes; + /** * 是否查询购物车列表 */ diff --git a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/entity/order/HardOrderEntity.java b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/entity/order/HardOrderEntity.java index 446a6bcd8..1dddd5400 100644 --- a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/entity/order/HardOrderEntity.java +++ b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/entity/order/HardOrderEntity.java @@ -56,6 +56,19 @@ public class HardOrderEntity extends Model { @Schema(description = "商户id") private Long merchantId; + /** + * 商户类型 + */ + @Schema(description = "商户类型") + private String merchantType; + + /** + * 商户绑定的部门id + */ + @Schema(description = "商户绑定的部门id") + private Long merchantDeptId; + + /** * 设备id */ diff --git a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/order/HardOrderVo.java b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/order/HardOrderVo.java index f4f388602..2f01ab08b 100644 --- a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/order/HardOrderVo.java +++ b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/order/HardOrderVo.java @@ -40,6 +40,8 @@ public class HardOrderVo extends HardOrderEntity implements BaseUserInterface, B private String hardType; + private List hardTypeCodes; + /** * 购物车 */ diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/order/HardOrderController.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/order/HardOrderController.java index 8c6e43c36..bd60355ac 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/order/HardOrderController.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/order/HardOrderController.java @@ -12,9 +12,11 @@ import com.alibaba.excel.write.metadata.fill.FillConfig; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.bsd.pjcloud.common.core.constant.enums.MerchantTypeEnum; import com.bsd.pjcloud.common.core.util.BeanUtils; import com.bsd.pjcloud.common.core.util.R; import com.bsd.pjcloud.common.data.datascope.DataScope; +import com.bsd.pjcloud.common.data.datascope.DataScopeFuncEnum; import com.bsd.pjcloud.common.idempotent.annotation.Idempotent; import com.bsd.pjcloud.common.log.annotation.SysLog; import com.bsd.pjcloud.common.security.annotation.Inner; @@ -36,6 +38,8 @@ import com.bsd.pjcloud.hard.mapper.order.HardOrderMapper; import com.bsd.pjcloud.hard.service.HardManagerService; import com.bsd.pjcloud.hard.service.HardOrderService; import com.bsd.pjcloud.wallet.api.constant.WalletTypeEnum; +import com.bsd.pjcloud.wallet.api.feign.RemoteMchService; +import com.bsd.pjcloud.wallet.api.vo.MchManageVo; import jakarta.servlet.http.HttpServletResponse; import org.springframework.security.access.prepost.PreAuthorize; import com.bsd.pjcloud.common.excel.annotation.ResponseExcel; @@ -73,6 +77,8 @@ public class HardOrderController { private final HardOrderMapper hardOrderMapper; + private final RemoteMchService mchService; + /* ************************************* start 远程调用 start ************************************* */ @Inner @Operation(summary = "app查询订单列表", description = "app查询订单列表") @@ -151,11 +157,13 @@ public class HardOrderController { @GetMapping("/page-join") @PreAuthorize("@pms.hasPermission('hard_hardwareOrder_view')") public R pageJoin(@ParameterObject Page page, @ParameterObject HardOrderDto dto) { - DataScope dataScope = DataScope.of(); - dataScope.setScopeDeptName("user_dept_id"); + DataScope dataScope = DataScope.of().func(DataScopeFuncEnum.ALL); + dataScope.setScopeDeptName("merchant_dept_id"); PjcloudUser user = SecurityUtils.getUser(); CurrentUserHardTypeInfoDto hardTypeInfo = hardManagerService.getCurrentUserHardTypeInfo(user); - dto.setHardTypeCodes(hardTypeInfo.getHardTypeList()); + dto.setMchTypeCodes(hardTypeInfo.getHardTypeList()); + // List mchIds = hardManagerService.getCurrentUserMchInfo(user, dto.getMchIds()); + // dto.setMchIds(mchIds); return R.ok(hardwareOrderService.scopePageList(page, dto, dataScope)); } diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/mapper/order/HardOrderMapper.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/mapper/order/HardOrderMapper.java index ef586e575..4bba10015 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/mapper/order/HardOrderMapper.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/mapper/order/HardOrderMapper.java @@ -84,7 +84,7 @@ public interface HardOrderMapper extends PjcloudBaseMapper { return selectListByScope(commonWrapper(dto), DataScope.of()); } - Page scopePageList(Page page, @Param("dto") HardOrderDto dto, @Param("dataScope") DataScope dataScope); + Page scopePageList(Page page, @Param("dto") HardOrderDto dto, DataScope dataScope); List listSb(@Param("dto") HardOrderDto dto, DataScope dataScope); diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardManagerService.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardManagerService.java index acfa6fbd1..adfbe0d82 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardManagerService.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardManagerService.java @@ -9,6 +9,8 @@ import com.bsd.pjcloud.hard.api.dto.hard.HardBindDto; import com.bsd.pjcloud.hard.api.entity.HardManagerEntity; import com.bsd.pjcloud.hard.api.vo.HardManagerVo; +import java.util.List; + public interface HardManagerService extends IService { Page pageJoin(Page page, HardManagerDto dto); @@ -27,4 +29,9 @@ public interface HardManagerService extends IService { * 判断当前用户是否有食堂或者超市管理元权限 */ CurrentUserHardTypeInfoDto getCurrentUserHardTypeInfo(PjcloudUser user); + + /** + * 判断当前用户有哪些商户的权限 + */ + List getCurrentUserMchInfo(PjcloudUser user, List mchIds); } \ No newline at end of file diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/HardManagerServiceImpl.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/HardManagerServiceImpl.java index 945599c00..435eb4830 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/HardManagerServiceImpl.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/HardManagerServiceImpl.java @@ -11,6 +11,7 @@ import com.bsd.pjcloud.admin.api.feign.RemoteDeptService; import com.bsd.pjcloud.admin.api.feign.RemoteUserService; import com.bsd.pjcloud.admin.api.utils.DataUtil; import com.bsd.pjcloud.common.core.constant.CommonRoleConstant; +import com.bsd.pjcloud.common.core.constant.enums.MerchantTypeEnum; import com.bsd.pjcloud.common.core.util.BeanUtils; import com.bsd.pjcloud.common.core.util.CollectionUtils; import com.bsd.pjcloud.common.core.util.R; @@ -38,10 +39,7 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; -import java.util.Arrays; -import java.util.List; -import java.util.Map; -import java.util.Optional; +import java.util.*; /** * 设备管理 @@ -235,6 +233,27 @@ public class HardManagerServiceImpl extends ServiceImpl getCurrentUserMchInfo(PjcloudUser user, List mchIds) { + if (ObjectUtil.isEmpty(mchIds)) mchIds = new ArrayList<>(); + UserInfo userInfo = userService.getByUserId(user.getId()).getData(); + if (ObjectUtil.isEmpty(userInfo)) return mchIds; + String[] roles = userInfo.getRoleCodes(); + if (roles.length == 0) return mchIds; + List roleList = Arrays.asList(roles); + MchManageVo mchDetail = null; + if (roleList.contains(CommonRoleConstant.SUPERMARKET_ADMIN)) { + mchDetail = mchService.getByDeptId(user.getDeptId(), MerchantTypeEnum.SELF_SUPERMARKET).getData(); + } + if (roleList.contains(CommonRoleConstant.CANTEEN_ADMIN)) { + mchDetail = mchService.getByDeptId(user.getDeptId(), MerchantTypeEnum.CANTEEN).getData(); + } + if (ObjectUtil.isNotEmpty(mchDetail)) { + mchIds.add(mchDetail.getId()); + } + return mchIds; + } + private boolean existUniqueCode(String uniqueCode, Long id) { Long count = baseMapper.selectCount(new LambdaQueryWrapper() .eq(ObjectUtil.isNotEmpty(uniqueCode), HardManagerEntity::getUniqueCode, uniqueCode) diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardOrderServiceImpl.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardOrderServiceImpl.java index 5a97dc52a..1c1ba91a9 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardOrderServiceImpl.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardOrderServiceImpl.java @@ -264,6 +264,8 @@ public class HardOrderServiceImpl extends ServiceImpl carList = hardCarService.getByParentCarId(dto.getCarParentId()); if (ObjectUtil.isEmpty(carList)) throw new RuntimeException("购物车不存在"); @@ -327,6 +332,8 @@ public class HardOrderServiceImpl extends ServiceImpl + + @@ -45,6 +47,8 @@ a.user_id, a.user_dept_id, a.merchant_id, + a.merchant_type, + a.merchant_dept_id, a.hard_id, a.dept_id, a.wallet_id, @@ -78,6 +82,12 @@ a.del_flag = '0' + + and a.merchant_type = #{dto.merchantType} + + + and a.order_type = #{dto.orderType} + and a.hour_type = #{dto.hourType} @@ -160,7 +170,8 @@ diff --git a/pjcloud-thirdparty/pjcloud-thirdparty-biz/src/main/java/com/bsd/pjcloud/thirdparty/service/impl/zy/ThirdZySelfServiceImpl.java b/pjcloud-thirdparty/pjcloud-thirdparty-biz/src/main/java/com/bsd/pjcloud/thirdparty/service/impl/zy/ThirdZySelfServiceImpl.java index 98161371f..a3567ea67 100644 --- a/pjcloud-thirdparty/pjcloud-thirdparty-biz/src/main/java/com/bsd/pjcloud/thirdparty/service/impl/zy/ThirdZySelfServiceImpl.java +++ b/pjcloud-thirdparty/pjcloud-thirdparty-biz/src/main/java/com/bsd/pjcloud/thirdparty/service/impl/zy/ThirdZySelfServiceImpl.java @@ -137,32 +137,36 @@ public class ThirdZySelfServiceImpl implements ThirdZySelfService { refundDto.setSerialNum(dto.getSerialNum()); HardCallbackRefundVo refundRes = hardCallback.refund(refundDto).getData(); result.setCode(refundRes.getCode().getType()); + result.setMsg(refundRes.getCode().getDescription()); + ZySelfPayVo zySelfPayVo = new ZySelfPayVo(); + // 人员编号 + ThirdZyIdDictEntity userIdDict = thirdZyIdDictMapper.getBySelfId(ThirdZyBizEnumType.SYNC_ACCOUNT_INFO, String.valueOf(refundRes.getUserId())); + String userZyId = userIdDict.getZyId(); + zySelfPayVo.setAccNum(userZyId); + zySelfPayVo.setAccName(refundRes.getUsername()); + zySelfPayVo.setPerCode(userZyId); + zySelfPayVo.setSerialNum(refundRes.getOrderNo()); switch (refundRes.getCode()) { case SUCCESS -> { - ThirdZyIdDictEntity userIdDict = thirdZyIdDictMapper.getBySelfId(ThirdZyBizEnumType.SYNC_ACCOUNT_INFO, String.valueOf(refundRes.getUserId())); - String userZyId = userIdDict.getZyId(); - ZySelfPayVo success = new ZySelfPayVo(); - success.setAccNum(userZyId); - success.setAccName(refundRes.getUsername()); - success.setPerCode(userZyId); - success.setPlatformSerialNum(String.valueOf(refundRes.getRefundId())); - success.setSerialNum(refundRes.getOrderNo()); - success.setRecDate(LocalDateTimeUtil.format(refundRes.getRefundTime(), DatePattern.NORM_DATETIME_PATTERN)); - success.setAmount(dto.getAmount()); - result.setMsg(ZyBaseVo.selfSuccessMsg); - Map resMap = BeanUtil.beanToMap(result); - Map dataMap = BeanUtil.beanToMap(success); - dataMap.put("sign", zyApiTool.generateSign(dataMap, false)); - resMap.put("data", Base64.encode(JSONUtil.toJsonStr(dataMap))); - entity.setOrgRes(JSONUtil.toJsonStr(success)); - entity.setEncipherRes(JSONUtil.toJsonStr(resMap)); - long elapsedTime = System.currentTimeMillis() - startTime; - entity.setTimeConsuming(Long.toString(elapsedTime)); - thirdZyLogService.save(entity); - return resMap; + zySelfPayVo.setPlatformSerialNum(String.valueOf(refundRes.getRefundId())); + zySelfPayVo.setAmount(dto.getAmount()); + zySelfPayVo.setRecDate(LocalDateTimeUtil.format(refundRes.getRefundTime(), DatePattern.NORM_DATETIME_PATTERN)); + } + default -> { + zySelfPayVo.setPlatformSerialNum("temporary_" + dto.getSerialNum()); + zySelfPayVo.setRecDate(LocalDateTimeUtil.format(LocalDateTime.now(), DatePattern.NORM_DATETIME_PATTERN)); } - default -> throw new RuntimeException(); } + Map resMap = BeanUtil.beanToMap(result); + Map dataMap = BeanUtil.beanToMap(zySelfPayVo); + dataMap.put("sign", zyApiTool.generateSign(dataMap, false)); + resMap.put("data", Base64.encode(JSONUtil.toJsonStr(dataMap))); + entity.setOrgRes(JSONUtil.toJsonStr(zySelfPayVo)); + entity.setEncipherRes(JSONUtil.toJsonStr(resMap)); + long elapsedTime = System.currentTimeMillis() - startTime; + entity.setTimeConsuming(Long.toString(elapsedTime)); + thirdZyLogService.save(entity); + return resMap; } catch (Exception e) { String error = String.format("|%s||correct|意外的错误error|%s|stack|%s|", TAG, e.getMessage(), Arrays.toString(e.getStackTrace())); log.error(error); @@ -229,30 +233,33 @@ public class ThirdZySelfServiceImpl implements ThirdZySelfService { payDto.setOrderNo(dto.getSerialNum()); HardCallbackPayVo payRes = hardCallback.pay(payDto).getData(); result.setCode(payRes.getCode().getType()); + result.setMsg(payRes.getCode().getDescription()); + ZySelfPayVo zySelfPayVo = new ZySelfPayVo(); + zySelfPayVo.setSerialNum(dto.getSerialNum()); switch (payRes.getCode()) { case SUCCESS -> { - ZySelfPayVo success = new ZySelfPayVo(); - success.setAccNum(payRes.getUserId().toString()); - success.setAccName(payRes.getUsername()); - success.setPerCode(payRes.getUserId().toString()); - success.setPlatformSerialNum(payRes.getOrderId().toString()); - success.setSerialNum(dto.getSerialNum()); - success.setAmount(amount); - success.setRecDate(LocalDateTimeUtil.format(payRes.getPayTime(), DatePattern.NORM_DATETIME_PATTERN)); - result.setMsg(ZyBaseVo.selfSuccessMsg); - Map resMap = BeanUtil.beanToMap(result); - Map dataMap = BeanUtil.beanToMap(success); - dataMap.put("sign", zyApiTool.generateSign(dataMap, false)); - resMap.put("data", Base64.encode(JSONUtil.toJsonStr(dataMap))); - entity.setOrgRes(JSONUtil.toJsonStr(success)); - entity.setEncipherRes(JSONUtil.toJsonStr(resMap)); - long elapsedTime = System.currentTimeMillis() - startTime; - entity.setTimeConsuming(Long.toString(elapsedTime)); - thirdZyLogService.save(entity); - return resMap; + zySelfPayVo.setAccNum(payRes.getUserId().toString()); + zySelfPayVo.setAccName(payRes.getUsername()); + zySelfPayVo.setPerCode(payRes.getUserId().toString()); + zySelfPayVo.setPlatformSerialNum(payRes.getOrderId().toString()); + zySelfPayVo.setAmount(amount); + zySelfPayVo.setRecDate(LocalDateTimeUtil.format(payRes.getPayTime(), DatePattern.NORM_DATETIME_PATTERN)); + } + default -> { + zySelfPayVo.setPlatformSerialNum("temporary_" + dto.getSerialNum()); + zySelfPayVo.setRecDate(LocalDateTimeUtil.format(LocalDateTime.now(), DatePattern.NORM_DATETIME_PATTERN)); } - default -> throw new RuntimeException(); } + Map resMap = BeanUtil.beanToMap(result); + Map dataMap = BeanUtil.beanToMap(zySelfPayVo); + dataMap.put("sign", zyApiTool.generateSign(dataMap, false)); + resMap.put("data", Base64.encode(JSONUtil.toJsonStr(dataMap))); + entity.setOrgRes(JSONUtil.toJsonStr(zySelfPayVo)); + entity.setEncipherRes(JSONUtil.toJsonStr(resMap)); + long elapsedTime = System.currentTimeMillis() - startTime; + entity.setTimeConsuming(Long.toString(elapsedTime)); + thirdZyLogService.save(entity); + return resMap; } catch (Exception e) { String error = String.format("|%s||pay|意外的错误error|%s|stack|%s|", TAG, e.getMessage(), Arrays.toString(e.getStackTrace())); log.error(error); diff --git a/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/service/impl/SysUserServiceImpl.java b/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/service/impl/SysUserServiceImpl.java index 4662550ca..83383ee08 100644 --- a/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/service/impl/SysUserServiceImpl.java +++ b/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/service/impl/SysUserServiceImpl.java @@ -196,8 +196,7 @@ public class SysUserServiceImpl extends ServiceImpl impl CompletableFuture.runAsync(() -> { remoteWalletService.createWallet(sysUser.getUserId()); }); - -// remoteWalletService.userChange(sysUser.getUserId(), Boolean.FALSE); + remoteWalletService.userChange(sysUser.getUserId(), Boolean.FALSE); } return sysUser.getUserId(); @@ -367,7 +366,6 @@ public class SysUserServiceImpl extends ServiceImpl impl remoteWalletService.createWallet(userDto.getUserId()); }); remoteWalletService.userChange(userDto.getUserId(), Boolean.FALSE); - return Boolean.TRUE; } @@ -845,7 +843,7 @@ public class SysUserServiceImpl extends ServiceImpl impl @Override public List listScopeByLikeNameOrByMobileScope(LambdaQueryWrapper eq) { - return baseMapper.selectListByScope(eq, DataScope.of()); + return baseMapper.selectListByScope(eq, DataScope.of()); } private SysUserServiceImpl getSelf() { diff --git a/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/entity/rule/WalletRuleMchConfigEntity.java b/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/entity/rule/WalletRuleMchConfigEntity.java index 967c45e1d..1d88472a8 100644 --- a/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/entity/rule/WalletRuleMchConfigEntity.java +++ b/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/entity/rule/WalletRuleMchConfigEntity.java @@ -6,6 +6,7 @@ import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; import com.bsd.pjcloud.common.core.util.TenantTable; + import java.time.LocalDateTime; /** @@ -22,69 +23,75 @@ import java.time.LocalDateTime; public class WalletRuleMchConfigEntity extends Model { - /** - * 主键 - */ - @Schema(description="主键") + /** + * 主键 + */ + @TableId(type = IdType.ASSIGN_ID) + @Schema(description = "主键") private Long id; - /** - * 源商户id - */ - @Schema(description="源商户id") + /** + * 源商户id + */ + @Schema(description = "源商户id") private Long sourceMchId; - /** - * 目标商户id - */ - @Schema(description="目标商户id") - private Long tragetMchId; + /** + * 目标商户id + */ + @Schema(description = "目标商户id") + private Long targetMchId; - /** - * 规则配置id - */ - @Schema(description="规则配置id") + /** + * 目标部门id + */ + private Long tragetDeptId; + + /** + * 规则配置id + */ + @Schema(description = "规则配置id") private Long rulePriceConfigId; - /** - * 创建人 - */ - @TableField(fill = FieldFill.INSERT) - @Schema(description="创建人") + /** + * 创建人 + */ + @TableField(fill = FieldFill.INSERT) + @Schema(description = "创建人") private String createBy; - /** - * 创建时间 - */ - @TableField(fill = FieldFill.INSERT) - @Schema(description="创建时间") + /** + * 创建时间 + */ + @TableField(fill = FieldFill.INSERT) + @Schema(description = "创建时间") private LocalDateTime createTime; - /** - * 修改人 - */ - @TableField(fill = FieldFill.INSERT_UPDATE) - @Schema(description="修改人") + /** + * 修改人 + */ + @TableField(fill = FieldFill.INSERT_UPDATE) + @Schema(description = "修改人") private String updateBy; - /** - * 修改时间 - */ - @TableField(fill = FieldFill.INSERT_UPDATE) - @Schema(description="修改时间") + /** + * 修改时间 + */ + @TableField(fill = FieldFill.INSERT_UPDATE) + @Schema(description = "修改时间") private LocalDateTime updateTime; - /** - * 删除标记 - */ + /** + * 删除标记 + */ @TableLogic - @TableField(fill = FieldFill.INSERT) - @Schema(description="删除标记") + @TableField(fill = FieldFill.INSERT) + @Schema(description = "删除标记") private String delFlag; - /** - * 租户ID - */ - @Schema(description="租户ID") + /** + * 租户ID + */ + @Schema(description = "租户ID") private Long tenantId; } \ No newline at end of file diff --git a/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/entity/rule/WalletRulePriceConfigEntity.java b/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/entity/rule/WalletRulePriceConfigEntity.java index fd3d183ca..f0708f310 100644 --- a/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/entity/rule/WalletRulePriceConfigEntity.java +++ b/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/entity/rule/WalletRulePriceConfigEntity.java @@ -21,6 +21,7 @@ public class WalletRulePriceConfigEntity extends Model { + Page pageScopeList(Page page, @Param("dto") WalletRuleMchConfigDto dto, DataScope dataScope); } \ No newline at end of file diff --git a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/WalletRuleMchConfigService.java b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/WalletRuleMchConfigService.java index 06b50cdd4..0fc1f1ba7 100644 --- a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/WalletRuleMchConfigService.java +++ b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/WalletRuleMchConfigService.java @@ -1,8 +1,17 @@ package com.bsd.pjcloud.wallet.service; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; +import com.bsd.pjcloud.common.data.datascope.DataScope; +import com.bsd.pjcloud.wallet.api.dto.rule.WalletRuleMchConfigDto; import com.bsd.pjcloud.wallet.api.entity.rule.WalletRuleMchConfigEntity; +import com.bsd.pjcloud.wallet.api.vo.rule.WalletRuleMchConfigVo; public interface WalletRuleMchConfigService extends IService { + /** + * 权限分页查询 + */ + Page pageScopeList(Page page, WalletRuleMchConfigDto dto, DataScope dataScope); + } \ No newline at end of file diff --git a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/rule/WalletRuleMchConfigServiceImpl.java b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/rule/WalletRuleMchConfigServiceImpl.java index b37d4718c..9a5a59ac2 100644 --- a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/rule/WalletRuleMchConfigServiceImpl.java +++ b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/rule/WalletRuleMchConfigServiceImpl.java @@ -1,7 +1,11 @@ package com.bsd.pjcloud.wallet.service.impl.rule; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.bsd.pjcloud.common.data.datascope.DataScope; +import com.bsd.pjcloud.wallet.api.dto.rule.WalletRuleMchConfigDto; import com.bsd.pjcloud.wallet.api.entity.rule.WalletRuleMchConfigEntity; +import com.bsd.pjcloud.wallet.api.vo.rule.WalletRuleMchConfigVo; import com.bsd.pjcloud.wallet.mapper.rule.WalletRuleMchConfigMapper; import com.bsd.pjcloud.wallet.service.WalletRuleMchConfigService; import org.springframework.stereotype.Service; @@ -14,4 +18,12 @@ import org.springframework.stereotype.Service; */ @Service public class WalletRuleMchConfigServiceImpl extends ServiceImpl implements WalletRuleMchConfigService { + + /** + * 权限分页查询 + */ + @Override + public Page pageScopeList(Page page, WalletRuleMchConfigDto dto, DataScope dataScope) { + return baseMapper.pageScopeList(page, dto, dataScope); + } } \ No newline at end of file diff --git a/pjcloud-wallet/pjcloud-wallet-biz/src/main/resources/mapper/rule/WalletRuleMchConfigMapper.xml b/pjcloud-wallet/pjcloud-wallet-biz/src/main/resources/mapper/rule/WalletRuleMchConfigMapper.xml new file mode 100644 index 000000000..b4cdc813b --- /dev/null +++ b/pjcloud-wallet/pjcloud-wallet-biz/src/main/resources/mapper/rule/WalletRuleMchConfigMapper.xml @@ -0,0 +1,58 @@ + + + + + + + + + + + + + + + + + + + + select a.id, + a.source_mch_id, + a.target_mch_id, + a.rule_price_config_id, + a.create_by, + a.create_time, + a.update_by, + a.update_time, + a.del_flag, + a.tenant_id, + + + + a.del_flag = 0 + + and a.source_mch_id = #{dto.sourceMchId} + + + and a.target_mch_id = #{dto.targetMchId} + + + and a.rule_price_config_id = #{dto.rulePriceConfigId} + + + + + \ No newline at end of file diff --git a/pjcloud-wallet/pjcloud-wallet-biz/src/main/resources/mapper/rule/WalletRulePriceConfigMapper.xml b/pjcloud-wallet/pjcloud-wallet-biz/src/main/resources/mapper/rule/WalletRulePriceConfigMapper.xml new file mode 100644 index 000000000..39e197642 --- /dev/null +++ b/pjcloud-wallet/pjcloud-wallet-biz/src/main/resources/mapper/rule/WalletRulePriceConfigMapper.xml @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file