From c086729afbbc27e08efc2e327c958b54b2471d8a Mon Sep 17 00:00:00 2001
From: dzc <2388224167@qq.com>
Date: Thu, 2 Jan 2025 12:00:52 +0800
Subject: [PATCH] =?UTF-8?q?del:=E5=88=A0=E9=99=A4=E5=95=86=E6=88=B7?=
=?UTF-8?q?=E6=9C=8D=E5=8A=A1=20creat:=E6=96=B0=E5=BB=BA=E9=92=B1=E5=8C=85?=
=?UTF-8?q?=E5=95=86=E6=88=B7?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
db/800pjcloudx_wallet.sql | 30 +++
.../common/core/constant/CacheConstants.java | 2 +
pjcloud-merchant/.editorconfig | 18 --
pjcloud-merchant/README.md | 22 ---
pjcloud-merchant/pjcloud-merchant-api/pom.xml | 42 -----
.../java/merchant/api/feign/packge-info.java | 6 -
.../java/merchant/constant/packge-info.java | 6 -
.../main/java/merchant/dto/packge-info.java | 6 -
.../java/merchant/entity/packge-info.java | 6 -
pjcloud-merchant/pjcloud-merchant-biz/pom.xml | 134 --------------
.../src/main/java/merchant/MerchantApp.java | 24 ---
.../java/merchant/controller/packge-info.java | 4 -
.../java/merchant/mapper/MchManageMapper.java | 10 -
.../java/merchant/mapper/packge-info.java | 6 -
.../merchant/service/MchManageService.java | 8 -
.../service/impl/MchManageServiceImpl.java | 16 --
.../java/merchant/service/packge-info.java | 4 -
.../src/main/resources/application.yml | 18 --
.../src/main/resources/logback-spring.xml | 70 -------
pjcloud-merchant/pom.xml | 21 ---
.../pjcloud/wallet/api/dto/MchManageDto.java | 8 +
.../wallet/api}/entity/MchManageEntity.java | 6 +-
.../wallet/api/feign/RemoteMchService.java | 29 +++
.../wallet/api/feign/RemoteWalletService.java | 1 -
.../pjcloud/wallet/api/vo/MchManageVo.java | 12 ++
.../api/vo/code/MchCollectionCodeVo.java | 23 +++
...mework.cloud.openfeign.FeignClient.imports | 3 +-
.../controller/MchManageController.java | 80 ++++++--
.../wallet/mapper/MchManageMapper.java | 21 +++
.../wallet/service/MchManageService.java | 25 +++
.../service/impl/MchManageServiceImpl.java | 175 ++++++++++++++++++
.../service/impl/WalletActiveServiceImpl.java | 1 +
.../service/impl/WalletManageServiceImpl.java | 1 -
.../main/resources/mapper/MchManageMapper.xml | 4 +-
34 files changed, 398 insertions(+), 444 deletions(-)
delete mode 100644 pjcloud-merchant/.editorconfig
delete mode 100644 pjcloud-merchant/README.md
delete mode 100644 pjcloud-merchant/pjcloud-merchant-api/pom.xml
delete mode 100644 pjcloud-merchant/pjcloud-merchant-api/src/main/java/merchant/api/feign/packge-info.java
delete mode 100644 pjcloud-merchant/pjcloud-merchant-api/src/main/java/merchant/constant/packge-info.java
delete mode 100644 pjcloud-merchant/pjcloud-merchant-api/src/main/java/merchant/dto/packge-info.java
delete mode 100644 pjcloud-merchant/pjcloud-merchant-api/src/main/java/merchant/entity/packge-info.java
delete mode 100644 pjcloud-merchant/pjcloud-merchant-biz/pom.xml
delete mode 100644 pjcloud-merchant/pjcloud-merchant-biz/src/main/java/merchant/MerchantApp.java
delete mode 100644 pjcloud-merchant/pjcloud-merchant-biz/src/main/java/merchant/controller/packge-info.java
delete mode 100644 pjcloud-merchant/pjcloud-merchant-biz/src/main/java/merchant/mapper/MchManageMapper.java
delete mode 100644 pjcloud-merchant/pjcloud-merchant-biz/src/main/java/merchant/mapper/packge-info.java
delete mode 100644 pjcloud-merchant/pjcloud-merchant-biz/src/main/java/merchant/service/MchManageService.java
delete mode 100644 pjcloud-merchant/pjcloud-merchant-biz/src/main/java/merchant/service/impl/MchManageServiceImpl.java
delete mode 100644 pjcloud-merchant/pjcloud-merchant-biz/src/main/java/merchant/service/packge-info.java
delete mode 100644 pjcloud-merchant/pjcloud-merchant-biz/src/main/resources/application.yml
delete mode 100644 pjcloud-merchant/pjcloud-merchant-biz/src/main/resources/logback-spring.xml
delete mode 100644 pjcloud-merchant/pom.xml
create mode 100644 pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/dto/MchManageDto.java
rename {pjcloud-merchant/pjcloud-merchant-api/src/main/java/merchant => pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api}/entity/MchManageEntity.java (96%)
create mode 100644 pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/feign/RemoteMchService.java
create mode 100644 pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/vo/MchManageVo.java
create mode 100644 pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/vo/code/MchCollectionCodeVo.java
rename {pjcloud-merchant/pjcloud-merchant-biz/src/main/java/merchant => pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet}/controller/MchManageController.java (53%)
create mode 100644 pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/mapper/MchManageMapper.java
create mode 100644 pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/MchManageService.java
create mode 100644 pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/MchManageServiceImpl.java
rename {pjcloud-merchant/pjcloud-merchant-biz => pjcloud-wallet/pjcloud-wallet-biz}/src/main/resources/mapper/MchManageMapper.xml (87%)
diff --git a/db/800pjcloudx_wallet.sql b/db/800pjcloudx_wallet.sql
index cd99d11f6..bad0e5c45 100644
--- a/db/800pjcloudx_wallet.sql
+++ b/db/800pjcloudx_wallet.sql
@@ -1,5 +1,35 @@
create database `pjcloudx_wallet` default character set utf8mb4 collate utf8mb4_general_ci;
+
+-- ----------------------------
+-- Table structure for mch_manage
+-- ----------------------------
+DROP TABLE IF EXISTS `mch_manage`;
+CREATE TABLE mch_manage
+(
+ id bigint NOT NULL COMMENT '主键',
+ dept_id bigint NOT NULL COMMENT '绑定的部门id',
+ name varchar(64) NOT NULL COMMENT '商户名',
+ types varchar(64) NOT NULL COMMENT '店铺类型,逗号分隔',
+ logo_pic varchar(256) NOT NULL COMMENT '商户logo图片',
+ collection_code varchar(256) DEFAULT '' COMMENT '商户收款码,自动生成',
+ swiper_pic text DEFAULT NULL COMMENT '商户轮播图,逗号分隔',
+ phone varchar(128) DEFAULT '' COMMENT '商户手机号',
+ job_start_time timestamp DEFAULT NULL COMMENT '商户开始营业时间',
+ job_end_time timestamp DEFAULT NULL COMMENT '商户结束营业时间',
+ address_des varchar(256) DEFAULT 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 '修改人',
+ update_time datetime DEFAULT NULL COMMENT '修改时间',
+ del_flag char(1) COLLATE utf8mb4_general_ci DEFAULT '0' COMMENT '删除标记',
+ tenant_id bigint DEFAULT NULL COMMENT '租户ID',
+ PRIMARY KEY (id)
+) ENGINE = InnoDB
+ DEFAULT CHARSET = utf8mb4
+ COLLATE = utf8mb4_general_ci COMMENT ='商户管理';
+CREATE INDEX idx_dept_id ON mch_manage (dept_id);
+
-- ----------------------------
-- Table structure for wallet_manage
-- ----------------------------
diff --git a/pjcloud-common/pjcloud-common-core/src/main/java/com/bsd/pjcloud/common/core/constant/CacheConstants.java b/pjcloud-common/pjcloud-common-core/src/main/java/com/bsd/pjcloud/common/core/constant/CacheConstants.java
index f349c7f61..5229d1554 100644
--- a/pjcloud-common/pjcloud-common-core/src/main/java/com/bsd/pjcloud/common/core/constant/CacheConstants.java
+++ b/pjcloud-common/pjcloud-common-core/src/main/java/com/bsd/pjcloud/common/core/constant/CacheConstants.java
@@ -122,6 +122,8 @@ public interface CacheConstants {
/* ************************************* start 钱包相关 start ************************************* */
+ String WALLET_MCH = "wallet:detail:mch";
+
String WALLET_DETAIL = "wallet:detail:manage";
String WALLET_TYPE_DETAIL = "wallet:detail:type";
diff --git a/pjcloud-merchant/.editorconfig b/pjcloud-merchant/.editorconfig
deleted file mode 100644
index 2f2262bb1..000000000
--- a/pjcloud-merchant/.editorconfig
+++ /dev/null
@@ -1,18 +0,0 @@
-# 开发组IDE 编辑器标准 V2.1.0
-root = true
-
-[*.{adoc, bat, groovy, html, java, js, jsp, kt, kts, md, properties, py, rb, sh, sql, svg, txt, xml, xsd}]
-charset = utf-8
-
-[*.{groovy, java, kt, kts, xml, xsd}]
-indent_style = tab
-indent_size = 4
-continuation_indent_size = 8
-end_of_line = lf
-
-[*.{js, html}]
-indent_style = space
-indent_size = 2
-end_of_line = lf
-insert_final_newline = true
-trim_trailing_whitespace = true
diff --git a/pjcloud-merchant/README.md b/pjcloud-merchant/README.md
deleted file mode 100644
index 77b54353a..000000000
--- a/pjcloud-merchant/README.md
+++ /dev/null
@@ -1,22 +0,0 @@
-
-项目描述 ....
-
-
-
-
-| 姓名 | 角色 | 时间 |
-| ---- | ---- |---------|
-| xxx | 开发 | 2023-01 |
-| | | |
-| | | |
-
-
-
-
-```
-项目根目录
-├── xxx-api -- 业务接口(实体,DTO,utils,feign接口)
-├── xxx-biz -- 业务实现[默认服务端口 : 6060]
-```
-
-
diff --git a/pjcloud-merchant/pjcloud-merchant-api/pom.xml b/pjcloud-merchant/pjcloud-merchant-api/pom.xml
deleted file mode 100644
index 6a63133f0..000000000
--- a/pjcloud-merchant/pjcloud-merchant-api/pom.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-
-
- 4.0.0
-
- com.bsd
- pjcloud-merchant
- 5.7.0
-
-
- pjcloud-merchant-api
-
-
-
-
- com.github.yulichang
- mybatis-plus-join-annotation
-
-
-
- com.bsd
- pjcloud-common-core
-
-
-
- com.baomidou
- mybatis-plus-spring
-
-
-
- com.bsd
- pjcloud-common-feign
-
-
-
- com.bsd
- pjcloud-common-excel
-
-
-
diff --git a/pjcloud-merchant/pjcloud-merchant-api/src/main/java/merchant/api/feign/packge-info.java b/pjcloud-merchant/pjcloud-merchant-api/src/main/java/merchant/api/feign/packge-info.java
deleted file mode 100644
index cad138c33..000000000
--- a/pjcloud-merchant/pjcloud-merchant-api/src/main/java/merchant/api/feign/packge-info.java
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
- @author pigx archetype
- *
- * feign client 存放目录,注意 @EnablePigxFeignClients 的扫描范围
- */
-package merchant.api.feign;
\ No newline at end of file
diff --git a/pjcloud-merchant/pjcloud-merchant-api/src/main/java/merchant/constant/packge-info.java b/pjcloud-merchant/pjcloud-merchant-api/src/main/java/merchant/constant/packge-info.java
deleted file mode 100644
index 8ffa52ee9..000000000
--- a/pjcloud-merchant/pjcloud-merchant-api/src/main/java/merchant/constant/packge-info.java
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
- * @author pigx archetype
- *
- * 常量和枚举定义
- */
-package merchant.constant;
\ No newline at end of file
diff --git a/pjcloud-merchant/pjcloud-merchant-api/src/main/java/merchant/dto/packge-info.java b/pjcloud-merchant/pjcloud-merchant-api/src/main/java/merchant/dto/packge-info.java
deleted file mode 100644
index 7ef402142..000000000
--- a/pjcloud-merchant/pjcloud-merchant-api/src/main/java/merchant/dto/packge-info.java
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
- * @author pigx archetype
- *
- * DTO 存放目录
- */
-package merchant.dto;
\ No newline at end of file
diff --git a/pjcloud-merchant/pjcloud-merchant-api/src/main/java/merchant/entity/packge-info.java b/pjcloud-merchant/pjcloud-merchant-api/src/main/java/merchant/entity/packge-info.java
deleted file mode 100644
index 61923d055..000000000
--- a/pjcloud-merchant/pjcloud-merchant-api/src/main/java/merchant/entity/packge-info.java
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
- * @author pigx archetype
- *
- * 实体 存放目录
- */
-package merchant.entity;
\ No newline at end of file
diff --git a/pjcloud-merchant/pjcloud-merchant-biz/pom.xml b/pjcloud-merchant/pjcloud-merchant-biz/pom.xml
deleted file mode 100644
index a50062133..000000000
--- a/pjcloud-merchant/pjcloud-merchant-biz/pom.xml
+++ /dev/null
@@ -1,134 +0,0 @@
-
-
- 4.0.0
-
- com.bsd
- pjcloud-merchant
- 5.7.0
-
-
- pjcloud-merchant-biz
-
-
-
-
- com.alibaba.cloud
- spring-cloud-starter-alibaba-nacos-discovery
-
-
-
- com.alibaba.cloud
- spring-cloud-starter-alibaba-nacos-config
-
-
-
- com.bsd
- pjcloud-common-data
-
-
-
- com.bsd
- pjcloud-common-security
-
-
-
- com.bsd
- pjcloud-common-xss
-
-
-
- com.bsd
- pjcloud-common-sentinel
-
-
-
- com.bsd
- pjcloud-common-feign
-
-
-
- com.bsd
- pjcloud-merchant-api
- 5.7.0
-
-
-
- com.bsd
- pjcloud-common-log
-
-
-
- com.baomidou
- mybatis-plus-spring-boot3-starter
-
-
-
- com.alibaba
- druid-spring-boot-3-starter
-
-
-
- com.mysql
- mysql-connector-j
-
-
-
- com.bsd
- pjcloud-common-swagger
-
-
-
- org.springframework.boot
- spring-boot-starter-undertow
-
-
-
- org.springframework.boot
- spring-boot-starter-web
-
-
-
- org.springframework.boot
- spring-boot-starter-test
-
-
-
-
- cloud
-
- true
-
-
-
-
- org.springframework.boot
- spring-boot-maven-plugin
-
-
-
- repackage
-
-
- CLASSIC
-
-
-
-
-
- io.fabric8
- docker-maven-plugin
-
- false
-
-
-
-
-
-
- boot
-
-
-
diff --git a/pjcloud-merchant/pjcloud-merchant-biz/src/main/java/merchant/MerchantApp.java b/pjcloud-merchant/pjcloud-merchant-biz/src/main/java/merchant/MerchantApp.java
deleted file mode 100644
index c24afdca0..000000000
--- a/pjcloud-merchant/pjcloud-merchant-biz/src/main/java/merchant/MerchantApp.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package merchant;
-
-import com.bsd.pjcloud.common.feign.annotation.EnablePjcloudFeignClients;
-import com.bsd.pjcloud.common.security.annotation.EnablePjcloudResourceServer;
-import com.bsd.pjcloud.common.swagger.annotation.EnableOpenApi;
-import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
-
-/**
- * @author archetype auto
- *
- * 项目启动类
- */
-@EnableOpenApi("merchant")
-@EnablePjcloudFeignClients
-@EnableDiscoveryClient
-@EnablePjcloudResourceServer
-@SpringBootApplication
-public class MerchantApp {
- public static void main(String[] args) {
- SpringApplication.run(MerchantApp.class, args);
- }
-}
diff --git a/pjcloud-merchant/pjcloud-merchant-biz/src/main/java/merchant/controller/packge-info.java b/pjcloud-merchant/pjcloud-merchant-biz/src/main/java/merchant/controller/packge-info.java
deleted file mode 100644
index 030660b23..000000000
--- a/pjcloud-merchant/pjcloud-merchant-biz/src/main/java/merchant/controller/packge-info.java
+++ /dev/null
@@ -1,4 +0,0 @@
-/*
- * @author pigx archetype
- */
-package merchant.controller;
\ No newline at end of file
diff --git a/pjcloud-merchant/pjcloud-merchant-biz/src/main/java/merchant/mapper/MchManageMapper.java b/pjcloud-merchant/pjcloud-merchant-biz/src/main/java/merchant/mapper/MchManageMapper.java
deleted file mode 100644
index e163e607c..000000000
--- a/pjcloud-merchant/pjcloud-merchant-biz/src/main/java/merchant/mapper/MchManageMapper.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package merchant.mapper;
-
-import com.bsd.pjcloud.common.data.datascope.PjcloudBaseMapper;
-import merchant.entity.MchManageEntity;
-import org.apache.ibatis.annotations.Mapper;
-
-@Mapper
-public interface MchManageMapper extends PjcloudBaseMapper {
-
-}
\ No newline at end of file
diff --git a/pjcloud-merchant/pjcloud-merchant-biz/src/main/java/merchant/mapper/packge-info.java b/pjcloud-merchant/pjcloud-merchant-biz/src/main/java/merchant/mapper/packge-info.java
deleted file mode 100644
index 7f3d48085..000000000
--- a/pjcloud-merchant/pjcloud-merchant-biz/src/main/java/merchant/mapper/packge-info.java
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
- * @author pigx archetype
- *
- * Mybatis Mapper 存放目录
- */
-package merchant.mapper;
\ No newline at end of file
diff --git a/pjcloud-merchant/pjcloud-merchant-biz/src/main/java/merchant/service/MchManageService.java b/pjcloud-merchant/pjcloud-merchant-biz/src/main/java/merchant/service/MchManageService.java
deleted file mode 100644
index 12c2357c9..000000000
--- a/pjcloud-merchant/pjcloud-merchant-biz/src/main/java/merchant/service/MchManageService.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package merchant.service;
-
-import com.baomidou.mybatisplus.extension.service.IService;
-import merchant.entity.MchManageEntity;
-
-public interface MchManageService extends IService {
-
-}
\ No newline at end of file
diff --git a/pjcloud-merchant/pjcloud-merchant-biz/src/main/java/merchant/service/impl/MchManageServiceImpl.java b/pjcloud-merchant/pjcloud-merchant-biz/src/main/java/merchant/service/impl/MchManageServiceImpl.java
deleted file mode 100644
index 174e6f146..000000000
--- a/pjcloud-merchant/pjcloud-merchant-biz/src/main/java/merchant/service/impl/MchManageServiceImpl.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package merchant.service.impl;
-
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import merchant.entity.MchManageEntity;
-import merchant.mapper.MchManageMapper;
-import merchant.service.MchManageService;
-import org.springframework.stereotype.Service;
-/**
- * 商户管理
- *
- * @author pjcloud
- * @date 2024-12-27 17:25:08
- */
-@Service
-public class MchManageServiceImpl extends ServiceImpl implements MchManageService {
-}
\ No newline at end of file
diff --git a/pjcloud-merchant/pjcloud-merchant-biz/src/main/java/merchant/service/packge-info.java b/pjcloud-merchant/pjcloud-merchant-biz/src/main/java/merchant/service/packge-info.java
deleted file mode 100644
index d388ec919..000000000
--- a/pjcloud-merchant/pjcloud-merchant-biz/src/main/java/merchant/service/packge-info.java
+++ /dev/null
@@ -1,4 +0,0 @@
-/*
- * @author pigx archetype
- */
-package merchant.service;
\ No newline at end of file
diff --git a/pjcloud-merchant/pjcloud-merchant-biz/src/main/resources/application.yml b/pjcloud-merchant/pjcloud-merchant-biz/src/main/resources/application.yml
deleted file mode 100644
index d4e63e272..000000000
--- a/pjcloud-merchant/pjcloud-merchant-biz/src/main/resources/application.yml
+++ /dev/null
@@ -1,18 +0,0 @@
-server:
- port: 6060
-
-spring:
- application:
- name: @artifactId@
- cloud:
- nacos:
- username: @nacos.username@
- password: @nacos.password@
- discovery:
- server-addr: ${NACOS_HOST:pjcloud-register}:${NACOS_PORT:8848}
- config:
- server-addr: ${spring.cloud.nacos.discovery.server-addr}
- config:
- import:
- - optional:nacos:application-@profiles.active@.yml
- - optional:nacos:${spring.application.name}-@profiles.active@.yml
diff --git a/pjcloud-merchant/pjcloud-merchant-biz/src/main/resources/logback-spring.xml b/pjcloud-merchant/pjcloud-merchant-biz/src/main/resources/logback-spring.xml
deleted file mode 100644
index 964ca8735..000000000
--- a/pjcloud-merchant/pjcloud-merchant-biz/src/main/resources/logback-spring.xml
+++ /dev/null
@@ -1,70 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
- ${CONSOLE_LOG_PATTERN}
-
-
-
-
-
- ${log.path}/debug.log
-
- ${log.path}/%d{yyyy-MM, aux}/debug.%d{yyyy-MM-dd}.%i.log.gz
- 50MB
- 30
-
-
- %date [%thread] %-5level [%logger{50}] %file:%line - %msg%n
-
-
-
-
-
- ${log.path}/error.log
-
- ${log.path}/%d{yyyy-MM}/error.%d{yyyy-MM-dd}.%i.log.gz
- 50MB
- 30
-
-
- %date [%thread] %-5level [%logger{50}] %file:%line - %msg%n
-
-
- ERROR
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/pjcloud-merchant/pom.xml b/pjcloud-merchant/pom.xml
deleted file mode 100644
index 79da54d89..000000000
--- a/pjcloud-merchant/pom.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
-
- 4.0.0
-
-
- com.bsd
- pjcloud
- 5.7.0
-
-
- pjcloud-merchant
- pom
-
-
-
- pjcloud-merchant-api
- pjcloud-merchant-biz
-
-
diff --git a/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/dto/MchManageDto.java b/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/dto/MchManageDto.java
new file mode 100644
index 000000000..499b09ae9
--- /dev/null
+++ b/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/dto/MchManageDto.java
@@ -0,0 +1,8 @@
+package com.bsd.pjcloud.wallet.api.dto;
+
+import com.bsd.pjcloud.wallet.api.entity.MchManageEntity;
+import lombok.Data;
+
+@Data
+public class MchManageDto extends MchManageEntity {
+}
diff --git a/pjcloud-merchant/pjcloud-merchant-api/src/main/java/merchant/entity/MchManageEntity.java b/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/entity/MchManageEntity.java
similarity index 96%
rename from pjcloud-merchant/pjcloud-merchant-api/src/main/java/merchant/entity/MchManageEntity.java
rename to pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/entity/MchManageEntity.java
index 75cca3ad4..cb8cd549c 100644
--- a/pjcloud-merchant/pjcloud-merchant-api/src/main/java/merchant/entity/MchManageEntity.java
+++ b/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/entity/MchManageEntity.java
@@ -1,4 +1,4 @@
-package merchant.entity;
+package com.bsd.pjcloud.wallet.api.entity;
import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.extension.activerecord.Model;
@@ -11,8 +11,8 @@ import java.time.LocalDateTime;
/**
* 商户管理
*
- * @author pjcloud
- * @date 2024-12-27 17:25:08
+ * @author dzc
+ * @date 2025-01-02 11:09:26
*/
@Data
@TenantTable
diff --git a/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/feign/RemoteMchService.java b/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/feign/RemoteMchService.java
new file mode 100644
index 000000000..48312cb12
--- /dev/null
+++ b/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/feign/RemoteMchService.java
@@ -0,0 +1,29 @@
+package com.bsd.pjcloud.wallet.api.feign;
+
+import com.bsd.pjcloud.common.core.constant.ServiceNameConstants;
+import com.bsd.pjcloud.common.core.util.R;
+import com.bsd.pjcloud.common.feign.annotation.NoToken;
+import com.bsd.pjcloud.wallet.api.constant.WalletTypeCodeEnum;
+import com.bsd.pjcloud.wallet.api.dto.MchManageDto;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+
+import java.util.List;
+
+@FeignClient(contextId = "remoteMchService", value = ServiceNameConstants.WALLET_SERVICE)
+public interface RemoteMchService {
+
+ @NoToken
+ @GetMapping("/get-by-id")
+ R getById(@RequestParam Long id);
+
+ @NoToken
+ @GetMapping("/get-by-dept-id")
+ R getByDeptId(@RequestParam Long deptId);
+
+ @NoToken
+ @GetMapping("/get-first-mch")
+ R getFirstMch(@RequestParam List deptIds);
+
+}
diff --git a/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/feign/RemoteWalletService.java b/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/feign/RemoteWalletService.java
index f1956c7e5..5523ff404 100644
--- a/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/feign/RemoteWalletService.java
+++ b/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/feign/RemoteWalletService.java
@@ -7,7 +7,6 @@ import com.bsd.pjcloud.wallet.api.constant.WalletTypeCodeEnum;
import com.bsd.pjcloud.wallet.api.entity.WalletManageEntity;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.List;
diff --git a/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/vo/MchManageVo.java b/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/vo/MchManageVo.java
new file mode 100644
index 000000000..2dfb00085
--- /dev/null
+++ b/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/vo/MchManageVo.java
@@ -0,0 +1,12 @@
+package com.bsd.pjcloud.wallet.api.vo;
+
+import com.bsd.pjcloud.admin.api.vo.base.BaseDeptInterface;
+import com.bsd.pjcloud.wallet.api.entity.MchManageEntity;
+import lombok.Data;
+
+@Data
+public class MchManageVo extends MchManageEntity implements BaseDeptInterface {
+
+ private String deptName;
+
+}
diff --git a/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/vo/code/MchCollectionCodeVo.java b/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/vo/code/MchCollectionCodeVo.java
new file mode 100644
index 000000000..ea4af2c79
--- /dev/null
+++ b/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/vo/code/MchCollectionCodeVo.java
@@ -0,0 +1,23 @@
+package com.bsd.pjcloud.wallet.api.vo.code;
+
+import lombok.Data;
+
+@Data
+public class MchCollectionCodeVo {
+ /**
+ * 商户Id
+ */
+ private Long id;
+ /**
+ * 商户名
+ */
+ private String name;
+ /**
+ * 商户类型
+ */
+ private String type;
+
+ public String getFileName() {
+ return "merchant_collect_money_code_" + id;
+ }
+}
diff --git a/pjcloud-wallet/pjcloud-wallet-api/src/main/resources/META-INF/spring/org.springframework.cloud.openfeign.FeignClient.imports b/pjcloud-wallet/pjcloud-wallet-api/src/main/resources/META-INF/spring/org.springframework.cloud.openfeign.FeignClient.imports
index 66232e3fa..958a7276d 100644
--- a/pjcloud-wallet/pjcloud-wallet-api/src/main/resources/META-INF/spring/org.springframework.cloud.openfeign.FeignClient.imports
+++ b/pjcloud-wallet/pjcloud-wallet-api/src/main/resources/META-INF/spring/org.springframework.cloud.openfeign.FeignClient.imports
@@ -1 +1,2 @@
-com.bsd.pjcloud.wallet.api.feign.RemoteWalletService
\ No newline at end of file
+com.bsd.pjcloud.wallet.api.feign.RemoteWalletService
+com.bsd.pjcloud.wallet.api.feign.RemoteMchService
\ No newline at end of file
diff --git a/pjcloud-merchant/pjcloud-merchant-biz/src/main/java/merchant/controller/MchManageController.java b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/controller/MchManageController.java
similarity index 53%
rename from pjcloud-merchant/pjcloud-merchant-biz/src/main/java/merchant/controller/MchManageController.java
rename to pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/controller/MchManageController.java
index aff9a7492..b0e0d952b 100644
--- a/pjcloud-merchant/pjcloud-merchant-biz/src/main/java/merchant/controller/MchManageController.java
+++ b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/controller/MchManageController.java
@@ -1,14 +1,20 @@
-package merchant.controller;
+package com.bsd.pjcloud.wallet.controller;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.util.ObjectUtil;
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.util.BeanUtils;
import com.bsd.pjcloud.common.core.util.R;
import com.bsd.pjcloud.common.log.annotation.SysLog;
-import merchant.entity.MchManageEntity;
-import merchant.service.MchManageService;
+import com.bsd.pjcloud.common.security.annotation.Inner;
+import com.bsd.pjcloud.wallet.api.constant.WalletTypeCodeEnum;
+import com.bsd.pjcloud.wallet.api.dto.MchManageDto;
+import com.bsd.pjcloud.wallet.api.entity.MchManageEntity;
+import com.bsd.pjcloud.wallet.api.entity.WalletManageEntity;
+import com.bsd.pjcloud.wallet.service.MchManageService;
import org.springframework.security.access.prepost.PreAuthorize;
import com.bsd.pjcloud.common.excel.annotation.ResponseExcel;
import io.swagger.v3.oas.annotations.security.SecurityRequirement;
@@ -24,8 +30,8 @@ import java.util.List;
/**
* 商户管理
*
- * @author pjcloud
- * @date 2024-12-27 17:25:08
+ * @author dzc
+ * @date 2025-01-02 11:09:26
*/
@RestController
@RequiredArgsConstructor
@@ -36,6 +42,34 @@ public class MchManageController {
private final MchManageService mchManageService;
+ /* ************************************* start 远程调用 start ************************************* */
+
+ @Inner
+ @GetMapping("/get-by-id")
+ public R getById(@RequestParam Long id) {
+ MchManageEntity mchManage = mchManageService.getById(id);
+ if (ObjectUtil.isEmpty(mchManage)) return R.failed("商户不存在");
+ return R.ok(BeanUtils.toBean(mchManage, MchManageDto.class));
+ }
+
+ @Inner
+ @GetMapping("/get-by-dept-id")
+ public R getByDeptId(@RequestParam Long deptId) {
+ MchManageDto mchManage = mchManageService.getByDeptId(deptId);
+ if (ObjectUtil.isEmpty(mchManage)) return R.failed("商户不存在");
+ return R.ok(mchManage);
+ }
+
+ @Inner
+ @GetMapping("/get-first-mch")
+ public R getFirstMch(@RequestParam List deptIds) {
+ MchManageDto mchManage = mchManageService.getFirstMch(deptIds);
+ if (ObjectUtil.isEmpty(mchManage)) return R.failed("商户不存在");
+ return R.ok(mchManage);
+ }
+
+ /* ************************************* end 远程调用 end ************************************* */
+
/**
* 分页查询
*
@@ -45,12 +79,26 @@ public class MchManageController {
*/
@Operation(summary = "分页查询", description = "分页查询")
@GetMapping("/page")
- @PreAuthorize("@pms.hasPermission('mch_mchManage_view')")
+ @PreAuthorize("@pms.hasPermission('wallet_mchManage_view')")
public R getMchManagePage(@ParameterObject Page page, @ParameterObject MchManageEntity mchManage) {
LambdaQueryWrapper wrapper = Wrappers.lambdaQuery();
return R.ok(mchManageService.page(page, wrapper));
}
+ /**
+ * 分页复杂查询
+ *
+ * @param page 分页对象
+ * @param dto 商户管理
+ * @return
+ */
+ @Operation(summary = "分页复杂查询", description = "分页查询")
+ @GetMapping("/page")
+ @PreAuthorize("@pms.hasPermission('wallet_mchManage_view')")
+ public R getMchManagePage(@ParameterObject Page page, @ParameterObject MchManageDto dto) {
+ return R.ok(mchManageService.pageJoin(page, dto));
+ }
+
/**
* 通过id查询商户管理
@@ -60,8 +108,8 @@ public class MchManageController {
*/
@Operation(summary = "通过id查询", description = "通过id查询")
@GetMapping("/{id}")
- @PreAuthorize("@pms.hasPermission('mch_mchManage_view')")
- public R getById(@PathVariable("id") Long id) {
+ @PreAuthorize("@pms.hasPermission('wallet_mchManage_view')")
+ public R getDetail(@PathVariable("id") Long id) {
return R.ok(mchManageService.getById(id));
}
@@ -74,9 +122,9 @@ public class MchManageController {
@Operation(summary = "新增商户管理", description = "新增商户管理")
@SysLog("新增商户管理")
@PostMapping
- @PreAuthorize("@pms.hasPermission('mch_mchManage_add')")
+ @PreAuthorize("@pms.hasPermission('wallet_mchManage_add')")
public R save(@RequestBody MchManageEntity mchManage) {
- return R.ok(mchManageService.save(mchManage));
+ return R.ok(mchManageService.create(mchManage));
}
/**
@@ -88,9 +136,10 @@ public class MchManageController {
@Operation(summary = "修改商户管理", description = "修改商户管理")
@SysLog("修改商户管理")
@PutMapping
- @PreAuthorize("@pms.hasPermission('mch_mchManage_edit')")
+ @PreAuthorize("@pms.hasPermission('wallet_mchManage_edit')")
public R updateById(@RequestBody MchManageEntity mchManage) {
- return R.ok(mchManageService.updateById(mchManage));
+ mchManageService.edit(mchManage);
+ return R.ok(true);
}
/**
@@ -102,9 +151,10 @@ public class MchManageController {
@Operation(summary = "通过id删除商户管理", description = "通过id删除商户管理")
@SysLog("通过id删除商户管理")
@DeleteMapping
- @PreAuthorize("@pms.hasPermission('mch_mchManage_del')")
+ @PreAuthorize("@pms.hasPermission('wallet_mchManage_del')")
public R removeById(@RequestBody Long[] ids) {
- return R.ok(mchManageService.removeBatchByIds(CollUtil.toList(ids)));
+ mchManageService.delByIds(CollUtil.toList(ids));
+ return R.ok(true);
}
@@ -117,7 +167,7 @@ public class MchManageController {
*/
@ResponseExcel
@GetMapping("/export")
- @PreAuthorize("@pms.hasPermission('mch_mchManage_export')")
+ @PreAuthorize("@pms.hasPermission('wallet_mchManage_export')")
public List export(MchManageEntity mchManage, Long[] ids) {
return mchManageService.list(Wrappers.lambdaQuery(mchManage).in(ArrayUtil.isNotEmpty(ids), MchManageEntity::getId, ids));
}
diff --git a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/mapper/MchManageMapper.java b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/mapper/MchManageMapper.java
new file mode 100644
index 000000000..04b3bde97
--- /dev/null
+++ b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/mapper/MchManageMapper.java
@@ -0,0 +1,21 @@
+package com.bsd.pjcloud.wallet.mapper;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.bsd.pjcloud.common.data.datascope.PjcloudBaseMapper;
+import com.bsd.pjcloud.wallet.api.dto.MchManageDto;
+import com.bsd.pjcloud.wallet.api.entity.MchManageEntity;
+import com.bsd.pjcloud.wallet.api.vo.MchManageVo;
+import com.github.yulichang.query.MPJLambdaQueryWrapper;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface MchManageMapper extends PjcloudBaseMapper {
+
+
+ default Page pageJoin(Page page, MchManageDto dto) {
+ MPJLambdaQueryWrapper wrapper = new MPJLambdaQueryWrapper()
+ .selectAll(MchManageEntity.class)
+ .likeIfExists(MchManageEntity::getName, dto.getName());
+ return selectJoinPage(page, MchManageVo.class, wrapper);
+ }
+}
\ No newline at end of file
diff --git a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/MchManageService.java b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/MchManageService.java
new file mode 100644
index 000000000..83e52d323
--- /dev/null
+++ b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/MchManageService.java
@@ -0,0 +1,25 @@
+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.wallet.api.dto.MchManageDto;
+import com.bsd.pjcloud.wallet.api.entity.MchManageEntity;
+import com.bsd.pjcloud.wallet.api.vo.MchManageVo;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public interface MchManageService extends IService {
+
+ Long create(MchManageEntity dto);
+
+ void edit(MchManageEntity dto);
+
+ void delByIds(ArrayList list);
+
+ Page pageJoin(Page page, MchManageDto dto);
+
+ MchManageDto getByDeptId(Long deptId);
+
+ MchManageDto getFirstMch(List deptIds);
+}
\ No newline at end of file
diff --git a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/MchManageServiceImpl.java b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/MchManageServiceImpl.java
new file mode 100644
index 000000000..366ceaab0
--- /dev/null
+++ b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/MchManageServiceImpl.java
@@ -0,0 +1,175 @@
+package com.bsd.pjcloud.wallet.service.impl;
+
+import cn.hutool.core.util.ObjectUtil;
+import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.bsd.pjcloud.admin.api.entity.SysDept;
+import com.bsd.pjcloud.admin.api.feign.RemoteDeptService;
+import com.bsd.pjcloud.admin.api.feign.RemoteFileService;
+import com.bsd.pjcloud.admin.api.utils.DataUtil;
+import com.bsd.pjcloud.common.core.constant.CacheConstants;
+import com.bsd.pjcloud.common.core.exception.CheckedException;
+import com.bsd.pjcloud.common.core.util.BeanUtils;
+import com.bsd.pjcloud.common.core.util.QRCodeImageGenerator;
+import com.bsd.pjcloud.common.core.util.R;
+import com.bsd.pjcloud.wallet.api.dto.MchManageDto;
+import com.bsd.pjcloud.wallet.api.entity.MchManageEntity;
+import com.bsd.pjcloud.wallet.api.vo.MchManageVo;
+import com.bsd.pjcloud.wallet.api.vo.code.MchCollectionCodeVo;
+import com.bsd.pjcloud.wallet.mapper.MchManageMapper;
+import com.bsd.pjcloud.wallet.service.MchManageService;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.cache.annotation.CachePut;
+import org.springframework.cache.annotation.Cacheable;
+import org.springframework.data.redis.core.StringRedisTemplate;
+import org.springframework.mock.web.MockMultipartFile;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.io.ByteArrayInputStream;
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 商户管理
+ *
+ * @author dzc
+ * @date 2025-01-02 11:09:26
+ */
+@Validated
+@Slf4j
+@RequiredArgsConstructor
+@Service
+public class MchManageServiceImpl extends ServiceImpl implements MchManageService {
+
+ private final String TAG = "商户管理";
+
+ private final RemoteDeptService remoteDeptService;
+ private final RemoteFileService remoteFileService;
+
+ private final StringRedisTemplate redisTemplate;
+
+ @Override
+ @Cacheable(value = CacheConstants.WALLET_DETAIL, key = "#id", condition = "#id != null", unless = "#result == null")
+ public MchManageEntity getById(Serializable id) {
+ return super.getById(id);
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public Long create(MchManageEntity dto) {
+ if (existName(dto.getName(), null)) {
+ throw new CheckedException("商户名不能重复");
+ }
+ if (existDeptId(dto.getDeptId(), null)) {
+ throw new CheckedException("改部门已经绑定过商户");
+ }
+ baseMapper.insert(dto);
+ try {
+ MchCollectionCodeVo mchCollectionCode = new MchCollectionCodeVo();
+ BeanUtils.toBean(dto, MchCollectionCodeVo.class);
+ byte[] bytes = QRCodeImageGenerator.generateQrCodeImage(JSON.toJSONString(mchCollectionCode), 1024);
+ MultipartFile multipartFile = new MockMultipartFile("file", mchCollectionCode.getFileName() + ".png", "image/png", new ByteArrayInputStream(bytes));
+ R upload = remoteFileService.upload(multipartFile, null, null, null);
+ Map data = (Map) upload.getData();
+ String url = (String) data.get("url");
+ MchManageEntity merchantInfoEntity = new MchManageEntity();
+ merchantInfoEntity.setCollectionCode(url);
+ merchantInfoEntity.setId(dto.getId());
+ updateById(merchantInfoEntity);
+ } catch (Exception e) {
+ e.printStackTrace();
+ log.error("|{}|新增商户,生成收款码错误dto:|{}|error:|{}|", TAG, JSON.toJSONString(dto), e.getMessage());
+ }
+ return dto.getId();
+ }
+
+ @Override
+ @CachePut(value = CacheConstants.WALLET_MCH, key = "dto.getId()", condition = "dto.getId() != null", unless = "#result == null ")
+ public void edit(MchManageEntity dto) {
+ if (existName(dto.getName(), null)) {
+ throw new CheckedException("商户名不能重复");
+ }
+ if (existDeptId(dto.getDeptId(), null)) {
+ throw new CheckedException("改部门已经绑定过商户");
+ }
+ MchManageEntity mchManage = getById(dto.getId());
+ if (ObjectUtil.isEmpty(mchManage)) {
+ throw new CheckedException("商户不存在");
+ }
+ baseMapper.updateById(dto);
+ }
+
+ @Override
+ public void delByIds(ArrayList list) {
+ if (ObjectUtil.isEmpty(list)) return;
+ delByIds(list);
+ // 删除缓存
+ list.forEach(v -> redisTemplate.opsForValue().getAndDelete(CacheConstants.WALLET_MCH + v));
+ }
+
+ @Override
+ public Page pageJoin(Page page, MchManageDto dto) {
+ Page list = baseMapper.pageJoin(page, dto);
+ if (ObjectUtil.isNotEmpty(list.getRecords())) {
+ // 部门
+ List deptIds = list.getRecords().stream().map(MchManageVo::getDeptId).distinct().toList();
+ R