lianghanqiang vor 4 Jahren
Ursprung
Commit
f4e112e848
100 geänderte Dateien mit 5724 neuen und 3 gelöschten Zeilen
  1. 42 1
      pom.xml
  2. 9 2
      src/main/java/org/springblade/common/cache/CacheNames.java
  3. 116 0
      src/main/java/org/springblade/common/cache/PaymentCache.java
  4. 43 0
      src/main/java/org/springblade/common/enums/ResCode.java
  5. 168 0
      src/main/java/org/springblade/common/utils/OtpUtils.java
  6. 141 0
      src/main/java/org/springblade/common/utils/RSASecretUtil.java
  7. 39 0
      src/main/java/org/springblade/gateway/app_gateway/controller/AgentController.java
  8. 28 0
      src/main/java/org/springblade/gateway/app_gateway/entity/vo/AgenterInfoVO.java
  9. 128 0
      src/main/java/org/springblade/ldt/account/controller/AccountController.java
  10. 34 0
      src/main/java/org/springblade/ldt/account/dto/AccountDTO.java
  11. 61 0
      src/main/java/org/springblade/ldt/account/entity/Account.java
  12. 42 0
      src/main/java/org/springblade/ldt/account/mapper/AccountMapper.java
  13. 18 0
      src/main/java/org/springblade/ldt/account/mapper/AccountMapper.xml
  14. 41 0
      src/main/java/org/springblade/ldt/account/service/IAccountService.java
  15. 41 0
      src/main/java/org/springblade/ldt/account/service/impl/AccountServiceImpl.java
  16. 36 0
      src/main/java/org/springblade/ldt/account/vo/AccountVO.java
  17. 49 0
      src/main/java/org/springblade/ldt/account/wrapper/AccountWrapper.java
  18. 128 0
      src/main/java/org/springblade/ldt/activity/controller/ActivityController.java
  19. 128 0
      src/main/java/org/springblade/ldt/activity/controller/JoinRecordController.java
  20. 34 0
      src/main/java/org/springblade/ldt/activity/dto/ActivityDTO.java
  21. 34 0
      src/main/java/org/springblade/ldt/activity/dto/JoinRecordDTO.java
  22. 127 0
      src/main/java/org/springblade/ldt/activity/entity/Activity.java
  23. 71 0
      src/main/java/org/springblade/ldt/activity/entity/JoinRecord.java
  24. 42 0
      src/main/java/org/springblade/ldt/activity/mapper/ActivityMapper.java
  25. 31 0
      src/main/java/org/springblade/ldt/activity/mapper/ActivityMapper.xml
  26. 42 0
      src/main/java/org/springblade/ldt/activity/mapper/JoinRecordMapper.java
  27. 20 0
      src/main/java/org/springblade/ldt/activity/mapper/JoinRecordMapper.xml
  28. 41 0
      src/main/java/org/springblade/ldt/activity/service/IActivityService.java
  29. 41 0
      src/main/java/org/springblade/ldt/activity/service/IJoinRecordService.java
  30. 41 0
      src/main/java/org/springblade/ldt/activity/service/impl/ActivityServiceImpl.java
  31. 41 0
      src/main/java/org/springblade/ldt/activity/service/impl/JoinRecordServiceImpl.java
  32. 36 0
      src/main/java/org/springblade/ldt/activity/vo/ActivityVO.java
  33. 36 0
      src/main/java/org/springblade/ldt/activity/vo/JoinRecordVO.java
  34. 49 0
      src/main/java/org/springblade/ldt/activity/wrapper/ActivityWrapper.java
  35. 49 0
      src/main/java/org/springblade/ldt/activity/wrapper/JoinRecordWrapper.java
  36. 128 0
      src/main/java/org/springblade/ldt/agent/controller/AgentRecordController.java
  37. 34 0
      src/main/java/org/springblade/ldt/agent/dto/AgentRecordDTO.java
  38. 71 0
      src/main/java/org/springblade/ldt/agent/entity/AgentRecord.java
  39. 42 0
      src/main/java/org/springblade/ldt/agent/mapper/AgentRecordMapper.java
  40. 20 0
      src/main/java/org/springblade/ldt/agent/mapper/AgentRecordMapper.xml
  41. 41 0
      src/main/java/org/springblade/ldt/agent/service/IAgentRecordService.java
  42. 41 0
      src/main/java/org/springblade/ldt/agent/service/impl/AgentRecordServiceImpl.java
  43. 36 0
      src/main/java/org/springblade/ldt/agent/vo/AgentRecordVO.java
  44. 49 0
      src/main/java/org/springblade/ldt/agent/wrapper/AgentRecordWrapper.java
  45. 128 0
      src/main/java/org/springblade/ldt/bills/controller/BillsController.java
  46. 128 0
      src/main/java/org/springblade/ldt/bills/controller/WithdrawRecController.java
  47. 34 0
      src/main/java/org/springblade/ldt/bills/dto/BillsDTO.java
  48. 34 0
      src/main/java/org/springblade/ldt/bills/dto/WithdrawRecDTO.java
  49. 113 0
      src/main/java/org/springblade/ldt/bills/entity/Bills.java
  50. 122 0
      src/main/java/org/springblade/ldt/bills/entity/WithdrawRec.java
  51. 42 0
      src/main/java/org/springblade/ldt/bills/mapper/BillsMapper.java
  52. 28 0
      src/main/java/org/springblade/ldt/bills/mapper/BillsMapper.xml
  53. 42 0
      src/main/java/org/springblade/ldt/bills/mapper/WithdrawRecMapper.java
  54. 30 0
      src/main/java/org/springblade/ldt/bills/mapper/WithdrawRecMapper.xml
  55. 41 0
      src/main/java/org/springblade/ldt/bills/service/IBillsService.java
  56. 41 0
      src/main/java/org/springblade/ldt/bills/service/IWithdrawRecService.java
  57. 41 0
      src/main/java/org/springblade/ldt/bills/service/impl/BillsServiceImpl.java
  58. 41 0
      src/main/java/org/springblade/ldt/bills/service/impl/WithdrawRecServiceImpl.java
  59. 36 0
      src/main/java/org/springblade/ldt/bills/vo/BillsVO.java
  60. 36 0
      src/main/java/org/springblade/ldt/bills/vo/WithdrawRecVO.java
  61. 49 0
      src/main/java/org/springblade/ldt/bills/wrapper/BillsWrapper.java
  62. 49 0
      src/main/java/org/springblade/ldt/bills/wrapper/WithdrawRecWrapper.java
  63. 128 0
      src/main/java/org/springblade/ldt/feedback/controller/FeedbackController.java
  64. 34 0
      src/main/java/org/springblade/ldt/feedback/dto/FeedbackDTO.java
  65. 76 0
      src/main/java/org/springblade/ldt/feedback/entity/Feedback.java
  66. 42 0
      src/main/java/org/springblade/ldt/feedback/mapper/FeedbackMapper.java
  67. 21 0
      src/main/java/org/springblade/ldt/feedback/mapper/FeedbackMapper.xml
  68. 41 0
      src/main/java/org/springblade/ldt/feedback/service/IFeedbackService.java
  69. 41 0
      src/main/java/org/springblade/ldt/feedback/service/impl/FeedbackServiceImpl.java
  70. 36 0
      src/main/java/org/springblade/ldt/feedback/vo/FeedbackVO.java
  71. 49 0
      src/main/java/org/springblade/ldt/feedback/wrapper/FeedbackWrapper.java
  72. 128 0
      src/main/java/org/springblade/ldt/mall/controller/MallController.java
  73. 34 0
      src/main/java/org/springblade/ldt/mall/dto/MallDTO.java
  74. 112 0
      src/main/java/org/springblade/ldt/mall/entity/Mall.java
  75. 42 0
      src/main/java/org/springblade/ldt/mall/mapper/MallMapper.java
  76. 28 0
      src/main/java/org/springblade/ldt/mall/mapper/MallMapper.xml
  77. 41 0
      src/main/java/org/springblade/ldt/mall/service/IMallService.java
  78. 41 0
      src/main/java/org/springblade/ldt/mall/service/impl/MallServiceImpl.java
  79. 36 0
      src/main/java/org/springblade/ldt/mall/vo/MallVO.java
  80. 49 0
      src/main/java/org/springblade/ldt/mall/wrapper/MallWrapper.java
  81. 128 0
      src/main/java/org/springblade/ldt/platform/controller/PlatformSettingController.java
  82. 34 0
      src/main/java/org/springblade/ldt/platform/dto/PlatformSettingDTO.java
  83. 56 0
      src/main/java/org/springblade/ldt/platform/entity/PlatformSetting.java
  84. 42 0
      src/main/java/org/springblade/ldt/platform/mapper/PlatformSettingMapper.java
  85. 17 0
      src/main/java/org/springblade/ldt/platform/mapper/PlatformSettingMapper.xml
  86. 41 0
      src/main/java/org/springblade/ldt/platform/service/IPlatformSettingService.java
  87. 41 0
      src/main/java/org/springblade/ldt/platform/service/impl/PlatformSettingServiceImpl.java
  88. 36 0
      src/main/java/org/springblade/ldt/platform/vo/PlatformSettingVO.java
  89. 49 0
      src/main/java/org/springblade/ldt/platform/wrapper/PlatformSettingWrapper.java
  90. 128 0
      src/main/java/org/springblade/ldt/shop/controller/AuditController.java
  91. 128 0
      src/main/java/org/springblade/ldt/shop/controller/ShopController.java
  92. 34 0
      src/main/java/org/springblade/ldt/shop/dto/AuditDTO.java
  93. 34 0
      src/main/java/org/springblade/ldt/shop/dto/ShopDTO.java
  94. 81 0
      src/main/java/org/springblade/ldt/shop/entity/Audit.java
  95. 183 0
      src/main/java/org/springblade/ldt/shop/entity/Shop.java
  96. 42 0
      src/main/java/org/springblade/ldt/shop/mapper/AuditMapper.java
  97. 22 0
      src/main/java/org/springblade/ldt/shop/mapper/AuditMapper.xml
  98. 42 0
      src/main/java/org/springblade/ldt/shop/mapper/ShopMapper.java
  99. 42 0
      src/main/java/org/springblade/ldt/shop/mapper/ShopMapper.xml
  100. 41 0
      src/main/java/org/springblade/ldt/shop/service/IAuditService.java

+ 42 - 1
pom.xml

@@ -5,7 +5,7 @@
     <modelVersion>4.0.0</modelVersion>
 
     <groupId>org.springblade</groupId>
-    <artifactId>BladeX-Boot</artifactId>
+    <artifactId>GUOXIN_LDT</artifactId>
     <packaging>jar</packaging>
     <version>2.8.2.RELEASE</version>
 
@@ -200,6 +200,47 @@
             <artifactId>lombok</artifactId>
             <scope>provided</scope>
         </dependency>
+        <!-- hutools -->
+        <dependency>
+            <groupId>cn.hutool</groupId>
+            <artifactId>hutool-all</artifactId>
+            <version>5.7.9</version>
+        </dependency>
+
+        <!-- obs sdk -->
+        <dependency>
+            <groupId>com.huaweicloud</groupId>
+            <artifactId>esdk-obs-java</artifactId>
+            <version>3.20.6.2</version>
+        </dependency>
+        <!--  PKCS7Padding -->
+        <dependency>
+            <groupId>org.bouncycastle</groupId>
+            <artifactId>bcprov-jdk15to18</artifactId>
+            <version>1.68</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-websocket</artifactId>
+            <version>2.1.6.RELEASE</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-web</artifactId>
+            <version>2.1.6.RELEASE</version>
+            <exclusions>
+                <exclusion>
+                    <groupId>org.springframework.boot</groupId>
+                    <artifactId>spring-boot-starter-tomcat</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-undertow</artifactId>
+        </dependency>
     </dependencies>
 
     <build>

+ 9 - 2
src/main/java/org/springblade/common/cache/CacheNames.java

@@ -51,11 +51,18 @@ public interface CacheNames {
 	/**
 	 * 验证码key
 	 */
-	String CAPTCHA_KEY = "blade:auth::blade:captcha:";
+	String CAPTCHA_KEY = "ldt:auth::blade:captcha:";
 
 	/**
 	 * 登录失败key
 	 */
-	String USER_FAIL_KEY = "blade:user::blade:fail:";
+	String USER_FAIL_KEY = "ldt:user::blade:fail:";
+
+
+	/* 支付模块  */
+	String PAYMENT = "payment";
+
+	/* 商家扫用户付款码  */
+	String SHOPSCANUSER = "shopscanuser";
 
 }

+ 116 - 0
src/main/java/org/springblade/common/cache/PaymentCache.java

@@ -0,0 +1,116 @@
+package org.springblade.common.cache;
+
+
+import com.alibaba.fastjson.JSON;
+import org.springblade.common.utils.RSASecretUtil;
+import org.springblade.core.cache.utils.CacheUtil;
+import org.springblade.core.tool.utils.SpringUtil;
+import org.springframework.data.redis.core.RedisTemplate;
+
+import java.util.concurrent.TimeUnit;
+
+/**
+ * @author: lianghanqiang
+ * @description: 支付模块缓存
+ * @since: 7/30/21 -- 9:37 AM
+ */
+public class PaymentCache {
+
+	public static final String QR_CODE = "qrcode:";
+	public static final String BAR_CODE = "barcode:";
+	public static final String PAY_INFO = "payinfo:";
+	public static final String ORDER_INFO = "orderInfo:";
+
+	private static final String PRIVATEKEY = "MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCVj9vx7e6z+5kD43EnxZvfIZ299SwYxYzjAgIfweu/Ot73mRzAzVbbCsbUuWGYgqpN9otzjHze3hGOys61SA8hCUhg4yuzkZu/C7F5pgN9AkUOhcS2qgOyuwlWnxn8QyyyZGnIBH1Juua0UUi6oRKK7geOmGViXuoYUGoX1rLv2TQLVSOe1vf377BmPmtjForS8OgGWJ1bO5zo8V6yGGV2g8dj2A1Q+xbUKPVsU+0xCVSrJbLWgJx7apKkX+E9xoh8J01T3hE6/m1SSQePcDZsjOoy93CeCLNY0tmw5F93gpwlO4L+oxGVQHWtku6dHW8TVP7t9DAW+UcDwsaVaNk5AgMBAAECggEAH52/ow7nLQj8ucO0wfGWF78ld2iCn+Hy/HIKPOhji5NIWxL07xT5TWijy4g8x16n3b9Gj3CdXQeYspTQyaWn/RXXRRQAwv7+643vQIYFqsF2E7HXeb3K9ldvi+4qMheJNVTgv7WjPpjR+EBOnZU7ND9JPa2dkQP7fJRTOSLbxLPTa3pIBQqsuNZyPI3h3XxIyXya24ncenVLRJNsYUgA63KOS79sft3kqPuEVDOWrenvAEeby4bCbx31Z3pPlXiA/5O4vDQrb3GxCj6qKs3CJ9mqVItQg0W1GJALC9NMwOUVgv5CNKGfhwByfgit2/ODGceRkuirnj9u9VXq1cUVYQKBgQDt2EOWUFDQg8pFj6yzi6nkhq6k/DYTOXi9jX7HEg6YPTb0ah5DOvL0/q9zFvDNZyNbmJ0KQye3Ep9teTkTQ3S63T6AsXuMWa7hy5gUAstRZIcKbwIxdBQHb7gNSX9sugrr5uuYCXNMo29uPcVvxsoPSe+VWvqSDafGfgezCGcvXQKBgQCg+nTKVcE3K1tH0lElk/m1dFTOzsTai0b2FowcnqnukaxvqreavS4rY7feNqQBDL3uiSdsdnlFY3bpMrIvqKSwT/5D+CUafRAePvak87fV9c548pqlYCrX69GFMMQHBputSRIkCiTwIrX8ainjt7yuhJH1E81VU0lZaGhmmT2fjQKBgB3jy7qcJUvPBCBxydZWeudJNbFuMK2Bz3aizYfe8Q6Ywss8eskgI2A+kXX5MBHgIEVmjHW5ssgDAx4S2eVd2NGS9EPgChK9QokFuPrqzvpPk9jv0mq8l7fHhm3FCspzJuQ2hOz6Yw8CiwJjqOg/Jy18sSsn381zAd6j//uz1qPRAoGAGV29/5ApxR7A4H1kqg46P/yXzIrKfEGMKgT9iRj7YAt2Z5Y4HlsHJnEtLQfhKgUu/KKCItY8X9G/kBmb+GSTpvDD+UPl3NmuK4XyaaW55y43ndlkwwB3X9TaDCnWCeFhsJmeES3ECk797EtyVF7EjZ94PG0lYvefzEXmhZxKGJUCgYBQqWaku95MIkn7KpJfWNEMgATPobFd2eQhONsEM+7THzuCqQxuSZPuFZGJMtBHwmHj13m5MUiL9rz1XJmybdA9UL5HOab2OSJGd2DanTLRz99bK5zo5rLIuZW2nRvscFH0H7lhS8sROykKz0yvyFO0Ww05vYQCD/Uvb/v2zZxTfQ==";
+	private static final String PUBLICKEY = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAlY/b8e3us/uZA+NxJ8Wb3yGdvfUsGMWM4wICH8Hrvzre95kcwM1W2wrG1LlhmIKqTfaLc4x83t4RjsrOtUgPIQlIYOMrs5GbvwuxeaYDfQJFDoXEtqoDsrsJVp8Z/EMssmRpyAR9SbrmtFFIuqESiu4HjphlYl7qGFBqF9ay79k0C1Ujntb39++wZj5rYxaK0vDoBlidWzuc6PFeshhldoPHY9gNUPsW1Cj1bFPtMQlUqyWy1oCce2qSpF/hPcaIfCdNU94ROv5tUkkHj3A2bIzqMvdwngizWNLZsORfd4KcJTuC/qMRlUB1rZLunR1vE1T+7fQwFvlHA8LGlWjZOQIDAQAB";
+
+	private static RedisTemplate redisTemplate;
+
+	static   {
+		 redisTemplate = SpringUtil.getBean("redisTemplate");
+	}
+
+	/**
+	 * MD5串获取二维码信息,key:MD5 ,value: JSON
+	 *
+	 * @param md5Str MD5
+	 * @return T 信息实体
+	 */
+	public static <T> T getCodeInfo(String md5Str,Class<T> clazz) {
+		String content = (String) CacheUtil.get(CacheNames.PAYMENT,":"+PAY_INFO,md5Str);
+		return JSON.parseObject(content,clazz);
+	}
+
+	/**
+	 * MD5 缓存 二维码信息 key:MD5 ,value: JSON
+	 *
+	 * @param md5Str MD5
+	 * @return
+	 */
+	public static void putCodeInfo(String md5Str,Object object) {
+		CacheUtil.put(CacheNames.PAYMENT,":"+PAY_INFO,md5Str, JSON.toJSONString(object));
+	}
+
+	/**
+	 * MD5 缓存 二维码信息 key:MD5 ,value: JSON
+	 *
+	 * @param md5Str MD5
+	 * @param expireTime 过期时间
+	 * @return
+	 */
+	public static void putCodeInfoWithEx(String md5Str,Object object,Long expireTime) {
+		redisTemplate.opsForValue().set(CacheNames.PAYMENT+":"+PAY_INFO+md5Str, JSON.toJSONString(object),expireTime, TimeUnit.SECONDS);
+	}
+
+//
+//	/**
+//	 * 	缓存付款码订单信息
+//	 * @param billRecord 订单信息
+//	 * */
+//	public static void putOrderInfo(BillRecord billRecord,String userId){
+//		String text = JSON.toJSONString(billRecord);
+//		String secret = null;
+//		try {
+//			secret = RSASecretUtil.privateEncrypt(text,RSASecretUtil.getPrivateKey(PRIVATEKEY));
+//		} catch (Exception e) {
+//			throw new BizException(ResCode.ENCODE_FAIL);
+//		}
+//		CacheUtil.put(CacheNames.PAYMENT, ":" + PAY_INFO, userId,secret);
+//	}
+//
+//	/**
+//	 * 	获取付款码订单信息
+//	 * @param
+//	 * */
+//	public static BillRecord getOrderInfo(String userId ){
+//		 String secret = (String) CacheUtil.get(CacheNames.PAYMENT, ":" + PAY_INFO, userId);
+//		String text = null;
+//		try {
+//			text = RSASecretUtil.publicDecrypt(secret,RSASecretUtil.getPublicKey(PUBLICKEY));
+//		} catch (Exception e) {
+//			throw new BizException(ResCode.DECODE_FAIL);
+//		}
+//		return JSON.parseObject(text,BillRecord.class);
+//	}
+//
+//	/**
+//	 *	缓存订单回调信息
+//	 * @param billId 订单id
+//	 * @param successParams 回调参数
+//	 * @return
+//	 */
+//	public static void putSuccessParams(String billId, SuccessParams successParams) {
+//		CacheUtil.put(CacheNames.PAYMENT, ORDER_INFO, billId, JSON.toJSONString(successParams),false);
+//	}
+//
+//	/**
+//	 *	获取订单回调信息
+//	 * @param billId 订单id
+//	 * @return
+//	 */
+//	public static SuccessParams getSuccessParams(String billId) {
+//		String params =  CacheUtil.get(CacheNames.PAYMENT, ORDER_INFO, billId,String.class,false);
+//		return JSON.parseObject(params,SuccessParams.class);
+//	}
+
+}

+ 43 - 0
src/main/java/org/springblade/common/enums/ResCode.java

@@ -0,0 +1,43 @@
+package org.springblade.common.enums;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+import org.springblade.core.tool.api.IResultCode;
+
+/**
+ * @author: lianghanqiang
+ * @description: 响应状态枚举
+ * @since: 7/29/21 -- 2:30 PM
+ */
+@Getter
+@AllArgsConstructor
+public enum ResCode implements IResultCode {
+
+
+
+
+
+	/*  支付模块  */
+	PAY_FAIL(511,"支付异常"),
+	PAY_TYPE_ERROR(512,"支付方式错误"),
+	PAY_SCENE_ERROR(512,"支付场景错误"),
+
+
+	/*	动态密码	*/
+	ID_NOT_NULL(521,"ID串不能为空"),
+
+
+	/*	加密,解密模块	*/
+	ENCODE_FAIL(501,"加密失败"),
+	DECODE_FAIL(502,"解密失败"),
+
+
+	/*  通用   */
+	FAIL(500,"系统异常!");
+
+
+
+	Integer code;
+	String message;
+
+}

+ 168 - 0
src/main/java/org/springblade/common/utils/OtpUtils.java

@@ -0,0 +1,168 @@
+package org.springblade.common.utils;
+
+import cn.hutool.core.lang.Assert;
+import org.springblade.common.enums.ResCode;
+import org.springblade.core.log.exception.ServiceException;
+
+import javax.crypto.Mac;
+import javax.crypto.spec.SecretKeySpec;
+import java.lang.reflect.UndeclaredThrowableException;
+import java.math.BigInteger;
+import java.security.GeneralSecurityException;
+import java.util.Date;
+
+/**
+ * @author: lianghanqiang
+ * @description:	TOP 一次性加密口令
+ * @since: 8/2/21 -- 10:48 AM
+ */
+public class OtpUtils {
+//	649957
+	public static void main(String[] args) {
+		System.out.println(generateMyTOTP("1423159010830884865"));
+	}
+
+	/**
+	 * 	id变形常量
+	 * */
+	private static final Long TRANSFORM_PARAMS = 95963L;
+
+	/**
+	 * 共享密钥
+	 */
+	private static final String SECRET_KEY = "";
+
+	/**
+	 * 时间步长 单位:毫秒 作为口令变化的时间周期
+	 */
+	private static final long STEP = 60000;
+
+	/**
+	 * 转码位数 [1-8]
+	 */
+	private static final int CODE_DIGITS = 6;
+
+	/**
+	 * 初始化时间
+	 */
+	private static final long INITIAL_TIME = 0;
+
+
+	/**
+	 * 数子量级
+	 */
+	private static final int[] DIGITS_POWER = {1, 10, 100, 1000, 10000, 100000, 1000000, 10000000, 100000000};
+
+	private OtpUtils() {
+
+	}
+
+	/**
+	 * 生成一次性密码
+	 *
+	 * @param id
+	 * @return String
+	 */
+	public static String generateMyTOTP(String id) {
+		Assert.notBlank(id,()-> new ServiceException(ResCode.ID_NOT_NULL));
+		long now = new Date().getTime();
+		String time = Long.toHexString(timeFactor(now)).toUpperCase();
+		return generateTOTP(id + SECRET_KEY, time);
+	}
+
+
+
+	/**
+	 * 获取动态因子
+	 *
+	 * @param targetTime 指定时间
+	 * @return long
+	 */
+	private static long timeFactor(long targetTime) {
+		return (targetTime - INITIAL_TIME) / STEP;
+	}
+
+	/**
+	 * 哈希加密
+	 *
+	 * @param crypto   加密算法
+	 * @param keyBytes 密钥数组
+	 * @param text     加密内容
+	 * @return byte[]
+	 */
+	private static byte[] hmac_sha(String crypto, byte[] keyBytes, byte[] text) {
+		try {
+			Mac hmac;
+			hmac = Mac.getInstance(crypto);
+			SecretKeySpec macKey = new SecretKeySpec(keyBytes, "AES");
+			hmac.init(macKey);
+			return hmac.doFinal(text);
+		} catch (GeneralSecurityException gse) {
+			throw new UndeclaredThrowableException(gse);
+		}
+	}
+
+	private static byte[] hexStr2Bytes(String hex) {
+		byte[] bArray = new BigInteger("10" + hex, 16).toByteArray();
+		byte[] ret = new byte[bArray.length - 1];
+		System.arraycopy(bArray, 1, ret, 0, ret.length);
+		return ret;
+	}
+
+	private static String generateTOTP(String key, String time) {
+		return generateTOTP(key, time, "HmacSHA1");
+	}
+
+
+	private static String generateTOTP(String key, String time, String crypto) {
+		StringBuilder timeBuilder = new StringBuilder(time);
+		while (timeBuilder.length() < 16)
+			timeBuilder.insert(0, "0");
+		time = timeBuilder.toString();
+
+		byte[] msg = hexStr2Bytes(time);
+		byte[] k = key.getBytes();
+//		byte[] k = Base32.decode(key);
+		byte[] hash = hmac_sha(crypto, k, msg);
+		return truncate(hash);
+	}
+
+	/**
+	 * 截断函数
+	 *
+	 * @param target 20字节的字符串
+	 * @return String
+	 */
+	private static String truncate(byte[] target) {
+		StringBuilder result;
+		int offset = target[target.length - 1] & 0xf;
+		int binary = ((target[offset] & 0x7f) << 24)
+			| ((target[offset + 1] & 0xff) << 16)
+			| ((target[offset + 2] & 0xff) << 8) | (target[offset + 3] & 0xff);
+
+		int otp = binary % DIGITS_POWER[CODE_DIGITS];
+		result = new StringBuilder(Integer.toString(otp));
+		while (result.length() < CODE_DIGITS) {
+			result.insert(0, "0");
+		}
+		return result.toString();
+	}
+
+
+	/**
+	 * 	校验口令
+	 * */
+	public static boolean validate(String id,String code) {
+		String s = generateMyTOTP(id);
+		return code.equals((Long.valueOf(id))+s);
+	}
+
+
+	/**
+	 * 	根据code获取用户Id
+	 * */
+	public static String getIdFormCode(String code) {
+		return Long.valueOf(code.substring(0,19))+"";
+	}
+
+}

+ 141 - 0
src/main/java/org/springblade/common/utils/RSASecretUtil.java

@@ -0,0 +1,141 @@
+package org.springblade.common.utils;
+
+import cn.hutool.core.codec.Base64;
+import lombok.extern.slf4j.Slf4j;
+
+import javax.crypto.Cipher;
+import java.security.*;
+import java.security.interfaces.RSAPrivateKey;
+import java.security.interfaces.RSAPublicKey;
+import java.security.spec.InvalidKeySpecException;
+import java.security.spec.PKCS8EncodedKeySpec;
+import java.security.spec.X509EncodedKeySpec;
+
+
+/**
+ * @author: lianghanqiang
+ * @description: 秘钥工具
+ * @since: 8/2/21 -- 9:40 AM
+ */
+@Slf4j
+public class RSASecretUtil {
+
+	public static final String CHARSET = "UTF-8";
+	public static final String RSA_ALGORITHM = "RSA";
+
+	/**
+	 * 	生成秘钥对
+	 * */
+	private static void generateKeyPair() throws NoSuchAlgorithmException {
+		KeyPairGenerator keyTools = KeyPairGenerator.getInstance("RSA");
+		KeyPair keyPair = keyTools.generateKeyPair();
+		System.out.println(Base64.encode(keyPair.getPrivate().getEncoded()));
+		System.out.println(Base64.encode(keyPair.getPublic().getEncoded()));
+	}
+
+	/**
+	 * 得到公钥
+	 * @param publicKey 密钥字符串(经过base64编码)
+	 * @throws Exception
+	 */
+	public static RSAPublicKey getPublicKey(String publicKey) throws NoSuchAlgorithmException, InvalidKeySpecException {
+		//通过X509编码的Key指令获得公钥对象
+		KeyFactory keyFactory = KeyFactory.getInstance(RSA_ALGORITHM);
+		X509EncodedKeySpec x509KeySpec = new X509EncodedKeySpec(Base64.decode(publicKey));
+		RSAPublicKey key = (RSAPublicKey) keyFactory.generatePublic(x509KeySpec);
+		return key;
+	}
+
+	/**
+	 * 得到私钥
+	 * @param privateKey 密钥字符串(经过base64编码)
+	 * @throws Exception
+	 */
+	public static RSAPrivateKey getPrivateKey(String privateKey) throws NoSuchAlgorithmException, InvalidKeySpecException {
+		//通过PKCS#8编码的Key指令获得私钥对象
+		KeyFactory keyFactory = KeyFactory.getInstance(RSA_ALGORITHM);
+		PKCS8EncodedKeySpec pkcs8KeySpec = new PKCS8EncodedKeySpec(Base64.decode(privateKey));
+		RSAPrivateKey key = (RSAPrivateKey) keyFactory.generatePrivate(pkcs8KeySpec);
+		return key;
+	}
+
+	/**
+	 * 公钥加密
+	 * @param data
+	 * @param publicKey
+	 * @return
+	 */
+	public static String publicEncrypt(String data, RSAPublicKey publicKey){
+		return encode(data, publicKey);
+	}
+
+
+
+	/**
+	 * 私钥解密
+	 * @param data
+	 * @param privateKey
+	 * @return
+	 */
+
+	public static String privateDecrypt(String data, RSAPrivateKey privateKey){
+		return decode(data,privateKey);
+	}
+
+	/**
+	 * 私钥加密
+	 * @param data
+	 * @param privateKey
+	 * @return
+	 */
+
+	public static String privateEncrypt(String data, RSAPrivateKey privateKey){
+		return encode(data, privateKey);
+	}
+
+	/**
+	 * 公钥解密
+	 * @param data
+	 * @param publicKey
+	 * @return
+	 */
+
+	public static String publicDecrypt(String data, RSAPublicKey publicKey){
+		return decode(data, publicKey);
+	}
+
+
+
+	private static String decode(String data, Key key ) {
+		try{
+			Cipher cipher = Cipher.getInstance(RSA_ALGORITHM);
+			cipher.init(Cipher.DECRYPT_MODE, key);
+			return new String(cipher.doFinal(Base64.decode(data)),CHARSET);
+		}catch(Exception e){
+			throw new RuntimeException("解密字符串[" + data + "]时遇到异常", e);
+		}
+	}
+
+
+	private static String encode(String data, Key key) {
+		try{
+			Cipher cipher = Cipher.getInstance(RSA_ALGORITHM);
+			cipher.init(Cipher.ENCRYPT_MODE, key);
+			return Base64.encode(cipher.doFinal(data.getBytes()));
+		}catch(Exception e){
+			throw new RuntimeException("加密字符串[" + data + "]时遇到异常", e);
+		}
+	}
+
+
+	public static void main(String[] args) throws NoSuchAlgorithmException, InvalidKeySpecException {
+		String PRIVATEKEY = "MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCVj9vx7e6z+5kD43EnxZvfIZ299SwYxYzjAgIfweu/Ot73mRzAzVbbCsbUuWGYgqpN9otzjHze3hGOys61SA8hCUhg4yuzkZu/C7F5pgN9AkUOhcS2qgOyuwlWnxn8QyyyZGnIBH1Juua0UUi6oRKK7geOmGViXuoYUGoX1rLv2TQLVSOe1vf377BmPmtjForS8OgGWJ1bO5zo8V6yGGV2g8dj2A1Q+xbUKPVsU+0xCVSrJbLWgJx7apKkX+E9xoh8J01T3hE6/m1SSQePcDZsjOoy93CeCLNY0tmw5F93gpwlO4L+oxGVQHWtku6dHW8TVP7t9DAW+UcDwsaVaNk5AgMBAAECggEAH52/ow7nLQj8ucO0wfGWF78ld2iCn+Hy/HIKPOhji5NIWxL07xT5TWijy4g8x16n3b9Gj3CdXQeYspTQyaWn/RXXRRQAwv7+643vQIYFqsF2E7HXeb3K9ldvi+4qMheJNVTgv7WjPpjR+EBOnZU7ND9JPa2dkQP7fJRTOSLbxLPTa3pIBQqsuNZyPI3h3XxIyXya24ncenVLRJNsYUgA63KOS79sft3kqPuEVDOWrenvAEeby4bCbx31Z3pPlXiA/5O4vDQrb3GxCj6qKs3CJ9mqVItQg0W1GJALC9NMwOUVgv5CNKGfhwByfgit2/ODGceRkuirnj9u9VXq1cUVYQKBgQDt2EOWUFDQg8pFj6yzi6nkhq6k/DYTOXi9jX7HEg6YPTb0ah5DOvL0/q9zFvDNZyNbmJ0KQye3Ep9teTkTQ3S63T6AsXuMWa7hy5gUAstRZIcKbwIxdBQHb7gNSX9sugrr5uuYCXNMo29uPcVvxsoPSe+VWvqSDafGfgezCGcvXQKBgQCg+nTKVcE3K1tH0lElk/m1dFTOzsTai0b2FowcnqnukaxvqreavS4rY7feNqQBDL3uiSdsdnlFY3bpMrIvqKSwT/5D+CUafRAePvak87fV9c548pqlYCrX69GFMMQHBputSRIkCiTwIrX8ainjt7yuhJH1E81VU0lZaGhmmT2fjQKBgB3jy7qcJUvPBCBxydZWeudJNbFuMK2Bz3aizYfe8Q6Ywss8eskgI2A+kXX5MBHgIEVmjHW5ssgDAx4S2eVd2NGS9EPgChK9QokFuPrqzvpPk9jv0mq8l7fHhm3FCspzJuQ2hOz6Yw8CiwJjqOg/Jy18sSsn381zAd6j//uz1qPRAoGAGV29/5ApxR7A4H1kqg46P/yXzIrKfEGMKgT9iRj7YAt2Z5Y4HlsHJnEtLQfhKgUu/KKCItY8X9G/kBmb+GSTpvDD+UPl3NmuK4XyaaW55y43ndlkwwB3X9TaDCnWCeFhsJmeES3ECk797EtyVF7EjZ94PG0lYvefzEXmhZxKGJUCgYBQqWaku95MIkn7KpJfWNEMgATPobFd2eQhONsEM+7THzuCqQxuSZPuFZGJMtBHwmHj13m5MUiL9rz1XJmybdA9UL5HOab2OSJGd2DanTLRz99bK5zo5rLIuZW2nRvscFH0H7lhS8sROykKz0yvyFO0Ww05vYQCD/Uvb/v2zZxTfQ==";
+		String PUBLICKEY = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAlY/b8e3us/uZA+NxJ8Wb3yGdvfUsGMWM4wICH8Hrvzre95kcwM1W2wrG1LlhmIKqTfaLc4x83t4RjsrOtUgPIQlIYOMrs5GbvwuxeaYDfQJFDoXEtqoDsrsJVp8Z/EMssmRpyAR9SbrmtFFIuqESiu4HjphlYl7qGFBqF9ay79k0C1Ujntb39++wZj5rYxaK0vDoBlidWzuc6PFeshhldoPHY9gNUPsW1Cj1bFPtMQlUqyWy1oCce2qSpF/hPcaIfCdNU94ROv5tUkkHj3A2bIzqMvdwngizWNLZsORfd4KcJTuC/qMRlUB1rZLunR1vE1T+7fQwFvlHA8LGlWjZOQIDAQAB";
+		RSAPrivateKey privateKey = getPrivateKey(PRIVATEKEY);
+		RSAPublicKey publicKey = getPublicKey(PUBLICKEY);
+		String text = "123456789";
+		String secret = privateEncrypt(text,privateKey);
+		System.out.println(secret);
+		System.out.println(publicDecrypt(secret,publicKey));
+	}
+}

+ 39 - 0
src/main/java/org/springblade/gateway/app_gateway/controller/AgentController.java

@@ -0,0 +1,39 @@
+package org.springblade.gateway.app_gateway.controller;
+
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springblade.app_gateway.entity.vo.AgenterInfoVO;
+import org.springblade.core.tool.api.R;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import javax.validation.constraints.NotBlank;
+
+/**
+ * @author: lianghanqiang
+ * @description: 代理控制器
+ * @since: 8/23/21 -- 2:54 PM
+ */
+@RestController
+@RequestMapping("/app/agent")
+@Api(tags = "APP代理商模块")
+public class AgentController {
+
+	@ApiOperation("获取代理商信息")
+	@GetMapping("agenterInfo")
+	public R<AgenterInfoVO> agenterInfo(@NotBlank String userId){
+		return R.data(AgenterInfoVO.builder().build());
+	}
+
+	@ApiOperation("获取收益明细")
+	@GetMapping("earningsDetail")
+	public R earningsDetail(@NotBlank String userId){
+		return R.data(null);
+	}
+
+	@ApiOperation("获取推广明细")
+	@GetMapping("promoteDetail")
+	public R promoteDetail(@NotBlank String userId){
+		return R.data(null);
+	}
+}

+ 28 - 0
src/main/java/org/springblade/gateway/app_gateway/entity/vo/AgenterInfoVO.java

@@ -0,0 +1,28 @@
+package org.springblade.gateway.app_gateway.entity.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Builder;
+import lombok.Data;
+
+/**
+ * @author: lianghanqiang
+ * @description:
+ * @since: 8/23/21 -- 2:48 PM
+ */
+@Data
+@Builder
+public class AgenterInfoVO {
+
+	@ApiModelProperty("今日收益")
+	Double todayEarning;
+	@ApiModelProperty("总收益")
+	Double totalEarning;
+	@ApiModelProperty("代理商类型")
+	String agenterType;
+	@ApiModelProperty("推广数量")
+	Integer promoteNum;
+	@ApiModelProperty("代理商名称")
+	String agenterName;
+	@ApiModelProperty("代理商头像")
+	String agenterAvatar;
+}

+ 128 - 0
src/main/java/org/springblade/ldt/account/controller/AccountController.java

@@ -0,0 +1,128 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.ldt.account.controller;
+
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
+import lombok.AllArgsConstructor;
+import javax.validation.Valid;
+
+import org.springblade.core.mp.support.Condition;
+import org.springblade.core.mp.support.Query;
+import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.utils.Func;
+import org.springframework.web.bind.annotation.*;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.ldt.account.entity.Account;
+import org.springblade.ldt.account.vo.AccountVO;
+import org.springblade.ldt.account.wrapper.AccountWrapper;
+import org.springblade.ldt.account.service.IAccountService;
+import org.springblade.core.boot.ctrl.BladeController;
+
+/**
+ *  控制器
+ *
+ * @author BladeX
+ * @since 2021-08-24
+ */
+@RestController
+@AllArgsConstructor
+@RequestMapping("ldt_account/account")
+@Api(value = "", tags = "接口")
+public class AccountController extends BladeController {
+
+	private final IAccountService accountService;
+
+	/**
+	 * 详情
+	 */
+	@GetMapping("/detail")
+	@ApiOperationSupport(order = 1)
+	@ApiOperation(value = "详情", notes = "传入account")
+	public R<AccountVO> detail(Account account) {
+		Account detail = accountService.getOne(Condition.getQueryWrapper(account));
+		return R.data(AccountWrapper.build().entityVO(detail));
+	}
+
+	/**
+	 * 分页 
+	 */
+	@GetMapping("/list")
+	@ApiOperationSupport(order = 2)
+	@ApiOperation(value = "分页", notes = "传入account")
+	public R<IPage<AccountVO>> list(Account account, Query query) {
+		IPage<Account> pages = accountService.page(Condition.getPage(query), Condition.getQueryWrapper(account));
+		return R.data(AccountWrapper.build().pageVO(pages));
+	}
+
+
+	/**
+	 * 自定义分页 
+	 */
+	@GetMapping("/page")
+	@ApiOperationSupport(order = 3)
+	@ApiOperation(value = "分页", notes = "传入account")
+	public R<IPage<AccountVO>> page(AccountVO account, Query query) {
+		IPage<AccountVO> pages = accountService.selectAccountPage(Condition.getPage(query), account);
+		return R.data(pages);
+	}
+
+	/**
+	 * 新增 
+	 */
+	@PostMapping("/save")
+	@ApiOperationSupport(order = 4)
+	@ApiOperation(value = "新增", notes = "传入account")
+	public R save(@Valid @RequestBody Account account) {
+		return R.status(accountService.save(account));
+	}
+
+	/**
+	 * 修改 
+	 */
+	@PostMapping("/update")
+	@ApiOperationSupport(order = 5)
+	@ApiOperation(value = "修改", notes = "传入account")
+	public R update(@Valid @RequestBody Account account) {
+		return R.status(accountService.updateById(account));
+	}
+
+	/**
+	 * 新增或修改 
+	 */
+	@PostMapping("/submit")
+	@ApiOperationSupport(order = 6)
+	@ApiOperation(value = "新增或修改", notes = "传入account")
+	public R submit(@Valid @RequestBody Account account) {
+		return R.status(accountService.saveOrUpdate(account));
+	}
+
+	
+	/**
+	 * 删除 
+	 */
+	@PostMapping("/remove")
+	@ApiOperationSupport(order = 8)
+	@ApiOperation(value = "删除", notes = "传入ids")
+	public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
+		return R.status(accountService.removeByIds(Func.toLongList(ids)));
+	}
+
+	
+}

+ 34 - 0
src/main/java/org/springblade/ldt/account/dto/AccountDTO.java

@@ -0,0 +1,34 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.ldt.account.dto;
+
+import org.springblade.ldt.account.entity.Account;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 数据传输对象实体类
+ *
+ * @author BladeX
+ * @since 2021-08-24
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class AccountDTO extends Account {
+	private static final long serialVersionUID = 1L;
+
+}

+ 61 - 0
src/main/java/org/springblade/ldt/account/entity/Account.java

@@ -0,0 +1,61 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.ldt.account.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * 实体类
+ *
+ * @author BladeX
+ * @since 2021-08-24
+ */
+@Data
+@TableName("ldt_account")
+@ApiModel(value = "Account对象", description = "Account对象")
+public class Account implements Serializable {
+
+	private static final long serialVersionUID = 1L;
+
+	/**
+	* 账户ID
+	*/
+		@ApiModelProperty(value = "账户ID")
+		private Long id;
+	/**
+	* 账号,手机号
+	*/
+		@ApiModelProperty(value = "账号,手机号")
+		private String phone;
+	/**
+	* 密码
+	*/
+		@ApiModelProperty(value = "密码")
+		private String secret;
+	/**
+	* 账户类型,商家,商场
+	*/
+		@ApiModelProperty(value = "账户类型,商家,商场")
+		private String type;
+
+
+}

+ 42 - 0
src/main/java/org/springblade/ldt/account/mapper/AccountMapper.java

@@ -0,0 +1,42 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.ldt.account.mapper;
+
+import org.springblade.ldt.account.entity.Account;
+import org.springblade.ldt.account.vo.AccountVO;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import java.util.List;
+
+/**
+ *  Mapper 接口
+ *
+ * @author BladeX
+ * @since 2021-08-24
+ */
+public interface AccountMapper extends BaseMapper<Account> {
+
+	/**
+	 * 自定义分页
+	 *
+	 * @param page
+	 * @param account
+	 * @return
+	 */
+	List<AccountVO> selectAccountPage(IPage page, AccountVO account);
+
+}

+ 18 - 0
src/main/java/org/springblade/ldt/account/mapper/AccountMapper.xml

@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.springblade.ldt.account.mapper.AccountMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="accountResultMap" type="org.springblade.ldt.account.entity.Account">
+        <id column="id" property="id"/>
+        <result column="phone" property="phone"/>
+        <result column="secret" property="secret"/>
+        <result column="type" property="type"/>
+    </resultMap>
+
+
+    <select id="selectAccountPage" resultMap="accountResultMap">
+        select * from ldt_account where is_deleted = 0
+    </select>
+
+</mapper>

+ 41 - 0
src/main/java/org/springblade/ldt/account/service/IAccountService.java

@@ -0,0 +1,41 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.ldt.account.service;
+
+import org.springblade.ldt.account.entity.Account;
+import org.springblade.ldt.account.vo.AccountVO;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+
+/**
+ *  服务类
+ *
+ * @author BladeX
+ * @since 2021-08-24
+ */
+public interface IAccountService extends IService<Account> {
+
+	/**
+	 * 自定义分页
+	 *
+	 * @param page
+	 * @param account
+	 * @return
+	 */
+	IPage<AccountVO> selectAccountPage(IPage<AccountVO> page, AccountVO account);
+
+}

+ 41 - 0
src/main/java/org/springblade/ldt/account/service/impl/AccountServiceImpl.java

@@ -0,0 +1,41 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.ldt.account.service.impl;
+
+import org.springblade.ldt.account.entity.Account;
+import org.springblade.ldt.account.vo.AccountVO;
+import org.springblade.ldt.account.mapper.AccountMapper;
+import org.springblade.ldt.account.service.IAccountService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+
+/**
+ *  服务实现类
+ *
+ * @author BladeX
+ * @since 2021-08-24
+ */
+@Service
+public class AccountServiceImpl extends ServiceImpl<AccountMapper, Account> implements IAccountService {
+
+	@Override
+	public IPage<AccountVO> selectAccountPage(IPage<AccountVO> page, AccountVO account) {
+		return page.setRecords(baseMapper.selectAccountPage(page, account));
+	}
+
+}

+ 36 - 0
src/main/java/org/springblade/ldt/account/vo/AccountVO.java

@@ -0,0 +1,36 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.ldt.account.vo;
+
+import org.springblade.ldt.account.entity.Account;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import io.swagger.annotations.ApiModel;
+
+/**
+ * 视图实体类
+ *
+ * @author BladeX
+ * @since 2021-08-24
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ApiModel(value = "AccountVO对象", description = "AccountVO对象")
+public class AccountVO extends Account {
+	private static final long serialVersionUID = 1L;
+
+}

+ 49 - 0
src/main/java/org/springblade/ldt/account/wrapper/AccountWrapper.java

@@ -0,0 +1,49 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.ldt.account.wrapper;
+
+import org.springblade.core.mp.support.BaseEntityWrapper;
+import org.springblade.core.tool.utils.BeanUtil;
+import org.springblade.ldt.account.entity.Account;
+import org.springblade.ldt.account.vo.AccountVO;
+import java.util.Objects;
+
+/**
+ * 包装类,返回视图层所需的字段
+ *
+ * @author BladeX
+ * @since 2021-08-24
+ */
+public class AccountWrapper extends BaseEntityWrapper<Account, AccountVO>  {
+
+	public static AccountWrapper build() {
+		return new AccountWrapper();
+ 	}
+
+	@Override
+	public AccountVO entityVO(Account account) {
+		AccountVO accountVO = Objects.requireNonNull(BeanUtil.copy(account, AccountVO.class));
+
+		//User createUser = UserCache.getUser(account.getCreateUser());
+		//User updateUser = UserCache.getUser(account.getUpdateUser());
+		//accountVO.setCreateUserName(createUser.getName());
+		//accountVO.setUpdateUserName(updateUser.getName());
+
+		return accountVO;
+	}
+
+}

+ 128 - 0
src/main/java/org/springblade/ldt/activity/controller/ActivityController.java

@@ -0,0 +1,128 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.ldt.activity.controller;
+
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
+import lombok.AllArgsConstructor;
+import javax.validation.Valid;
+
+import org.springblade.core.mp.support.Condition;
+import org.springblade.core.mp.support.Query;
+import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.utils.Func;
+import org.springframework.web.bind.annotation.*;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.ldt.activity.entity.Activity;
+import org.springblade.ldt.activity.vo.ActivityVO;
+import org.springblade.ldt.activity.wrapper.ActivityWrapper;
+import org.springblade.ldt.activity.service.IActivityService;
+import org.springblade.core.boot.ctrl.BladeController;
+
+/**
+ *  控制器
+ *
+ * @author BladeX
+ * @since 2021-08-24
+ */
+@RestController
+@AllArgsConstructor
+@RequestMapping("ldt_activity/activity")
+@Api(value = "", tags = "接口")
+public class ActivityController extends BladeController {
+
+	private final IActivityService activityService;
+
+	/**
+	 * 详情
+	 */
+	@GetMapping("/detail")
+	@ApiOperationSupport(order = 1)
+	@ApiOperation(value = "详情", notes = "传入activity")
+	public R<ActivityVO> detail(Activity activity) {
+		Activity detail = activityService.getOne(Condition.getQueryWrapper(activity));
+		return R.data(ActivityWrapper.build().entityVO(detail));
+	}
+
+	/**
+	 * 分页 
+	 */
+	@GetMapping("/list")
+	@ApiOperationSupport(order = 2)
+	@ApiOperation(value = "分页", notes = "传入activity")
+	public R<IPage<ActivityVO>> list(Activity activity, Query query) {
+		IPage<Activity> pages = activityService.page(Condition.getPage(query), Condition.getQueryWrapper(activity));
+		return R.data(ActivityWrapper.build().pageVO(pages));
+	}
+
+
+	/**
+	 * 自定义分页 
+	 */
+	@GetMapping("/page")
+	@ApiOperationSupport(order = 3)
+	@ApiOperation(value = "分页", notes = "传入activity")
+	public R<IPage<ActivityVO>> page(ActivityVO activity, Query query) {
+		IPage<ActivityVO> pages = activityService.selectActivityPage(Condition.getPage(query), activity);
+		return R.data(pages);
+	}
+
+	/**
+	 * 新增 
+	 */
+	@PostMapping("/save")
+	@ApiOperationSupport(order = 4)
+	@ApiOperation(value = "新增", notes = "传入activity")
+	public R save(@Valid @RequestBody Activity activity) {
+		return R.status(activityService.save(activity));
+	}
+
+	/**
+	 * 修改 
+	 */
+	@PostMapping("/update")
+	@ApiOperationSupport(order = 5)
+	@ApiOperation(value = "修改", notes = "传入activity")
+	public R update(@Valid @RequestBody Activity activity) {
+		return R.status(activityService.updateById(activity));
+	}
+
+	/**
+	 * 新增或修改 
+	 */
+	@PostMapping("/submit")
+	@ApiOperationSupport(order = 6)
+	@ApiOperation(value = "新增或修改", notes = "传入activity")
+	public R submit(@Valid @RequestBody Activity activity) {
+		return R.status(activityService.saveOrUpdate(activity));
+	}
+
+	
+	/**
+	 * 删除 
+	 */
+	@PostMapping("/remove")
+	@ApiOperationSupport(order = 8)
+	@ApiOperation(value = "删除", notes = "传入ids")
+	public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
+		return R.status(activityService.removeByIds(Func.toLongList(ids)));
+	}
+
+	
+}

+ 128 - 0
src/main/java/org/springblade/ldt/activity/controller/JoinRecordController.java

@@ -0,0 +1,128 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.ldt.activity.controller;
+
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
+import lombok.AllArgsConstructor;
+import javax.validation.Valid;
+
+import org.springblade.core.mp.support.Condition;
+import org.springblade.core.mp.support.Query;
+import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.utils.Func;
+import org.springframework.web.bind.annotation.*;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.ldt.activity.entity.JoinRecord;
+import org.springblade.ldt.activity.vo.JoinRecordVO;
+import org.springblade.ldt.activity.wrapper.JoinRecordWrapper;
+import org.springblade.ldt.activity.service.IJoinRecordService;
+import org.springblade.core.boot.ctrl.BladeController;
+
+/**
+ *  控制器
+ *
+ * @author BladeX
+ * @since 2021-08-24
+ */
+@RestController
+@AllArgsConstructor
+@RequestMapping("ldt_activity/joinrecord")
+@Api(value = "", tags = "接口")
+public class JoinRecordController extends BladeController {
+
+	private final IJoinRecordService joinRecordService;
+
+	/**
+	 * 详情
+	 */
+	@GetMapping("/detail")
+	@ApiOperationSupport(order = 1)
+	@ApiOperation(value = "详情", notes = "传入joinRecord")
+	public R<JoinRecordVO> detail(JoinRecord joinRecord) {
+		JoinRecord detail = joinRecordService.getOne(Condition.getQueryWrapper(joinRecord));
+		return R.data(JoinRecordWrapper.build().entityVO(detail));
+	}
+
+	/**
+	 * 分页 
+	 */
+	@GetMapping("/list")
+	@ApiOperationSupport(order = 2)
+	@ApiOperation(value = "分页", notes = "传入joinRecord")
+	public R<IPage<JoinRecordVO>> list(JoinRecord joinRecord, Query query) {
+		IPage<JoinRecord> pages = joinRecordService.page(Condition.getPage(query), Condition.getQueryWrapper(joinRecord));
+		return R.data(JoinRecordWrapper.build().pageVO(pages));
+	}
+
+
+	/**
+	 * 自定义分页 
+	 */
+	@GetMapping("/page")
+	@ApiOperationSupport(order = 3)
+	@ApiOperation(value = "分页", notes = "传入joinRecord")
+	public R<IPage<JoinRecordVO>> page(JoinRecordVO joinRecord, Query query) {
+		IPage<JoinRecordVO> pages = joinRecordService.selectJoinRecordPage(Condition.getPage(query), joinRecord);
+		return R.data(pages);
+	}
+
+	/**
+	 * 新增 
+	 */
+	@PostMapping("/save")
+	@ApiOperationSupport(order = 4)
+	@ApiOperation(value = "新增", notes = "传入joinRecord")
+	public R save(@Valid @RequestBody JoinRecord joinRecord) {
+		return R.status(joinRecordService.save(joinRecord));
+	}
+
+	/**
+	 * 修改 
+	 */
+	@PostMapping("/update")
+	@ApiOperationSupport(order = 5)
+	@ApiOperation(value = "修改", notes = "传入joinRecord")
+	public R update(@Valid @RequestBody JoinRecord joinRecord) {
+		return R.status(joinRecordService.updateById(joinRecord));
+	}
+
+	/**
+	 * 新增或修改 
+	 */
+	@PostMapping("/submit")
+	@ApiOperationSupport(order = 6)
+	@ApiOperation(value = "新增或修改", notes = "传入joinRecord")
+	public R submit(@Valid @RequestBody JoinRecord joinRecord) {
+		return R.status(joinRecordService.saveOrUpdate(joinRecord));
+	}
+
+	
+	/**
+	 * 删除 
+	 */
+	@PostMapping("/remove")
+	@ApiOperationSupport(order = 8)
+	@ApiOperation(value = "删除", notes = "传入ids")
+	public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
+		return R.status(joinRecordService.removeByIds(Func.toLongList(ids)));
+	}
+
+	
+}

+ 34 - 0
src/main/java/org/springblade/ldt/activity/dto/ActivityDTO.java

@@ -0,0 +1,34 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.ldt.activity.dto;
+
+import org.springblade.ldt.activity.entity.Activity;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 数据传输对象实体类
+ *
+ * @author BladeX
+ * @since 2021-08-24
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class ActivityDTO extends Activity {
+	private static final long serialVersionUID = 1L;
+
+}

+ 34 - 0
src/main/java/org/springblade/ldt/activity/dto/JoinRecordDTO.java

@@ -0,0 +1,34 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.ldt.activity.dto;
+
+import org.springblade.ldt.activity.entity.JoinRecord;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 数据传输对象实体类
+ *
+ * @author BladeX
+ * @since 2021-08-24
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class JoinRecordDTO extends JoinRecord {
+	private static final long serialVersionUID = 1L;
+
+}

+ 127 - 0
src/main/java/org/springblade/ldt/activity/entity/Activity.java

@@ -0,0 +1,127 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.ldt.activity.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.time.LocalDateTime;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * 实体类
+ *
+ * @author BladeX
+ * @since 2021-08-24
+ */
+@Data
+@TableName("ldt_activity")
+@ApiModel(value = "Activity对象", description = "Activity对象")
+public class Activity implements Serializable {
+
+	private static final long serialVersionUID = 1L;
+
+	/**
+	* 活动ID
+	*/
+		@ApiModelProperty(value = "活动ID")
+		private Long id;
+	/**
+	* 活动标题
+	*/
+		@ApiModelProperty(value = "活动标题")
+		private String title;
+	/**
+	* 活动海报
+	*/
+		@ApiModelProperty(value = "活动海报")
+		private String poster;
+	/**
+	* 供应价(活动折扣)
+	*/
+		@ApiModelProperty(value = "供应价(活动折扣)")
+		private Double discount;
+	/**
+	* 活动开始时间
+	*/
+		@ApiModelProperty(value = "活动开始时间")
+		private LocalDateTime beginTime;
+	/**
+	* 活动结束时间
+	*/
+		@ApiModelProperty(value = "活动结束时间")
+		private LocalDateTime endTime;
+	/**
+	* 审核状态(审核中,通过,拒绝)
+	*/
+		@ApiModelProperty(value = "审核状态(审核中,通过,拒绝)")
+		private String auditStatus;
+	/**
+	* 活动描述
+	*/
+		@ApiModelProperty(value = "活动描述")
+		private String intro;
+	/**
+	* 发起账户
+	*/
+		@ApiModelProperty(value = "发起账户")
+		private Long launchId;
+	/**
+	* 可选值:商家、商场
+	*/
+		@ApiModelProperty(value = "可选值:商家、商场")
+		private String launchType;
+	/**
+	* 创建人
+	*/
+		@ApiModelProperty(value = "创建人")
+		private Long createUser;
+	/**
+	* 创建部门
+	*/
+		@ApiModelProperty(value = "创建部门")
+		private Long createDept;
+	/**
+	* 创建时间
+	*/
+		@ApiModelProperty(value = "创建时间")
+		private LocalDateTime createTime;
+	/**
+	* 修改人
+	*/
+		@ApiModelProperty(value = "修改人")
+		private Long updateUser;
+	/**
+	* 修改时间
+	*/
+		@ApiModelProperty(value = "修改时间")
+		private LocalDateTime updateTime;
+	/**
+	* 状态
+	*/
+		@ApiModelProperty(value = "状态")
+		private Integer status;
+	/**
+	* 是否已删除
+	*/
+		@ApiModelProperty(value = "是否已删除")
+		private Integer isDeleted;
+
+
+}

+ 71 - 0
src/main/java/org/springblade/ldt/activity/entity/JoinRecord.java

@@ -0,0 +1,71 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.ldt.activity.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * 实体类
+ *
+ * @author BladeX
+ * @since 2021-08-24
+ */
+@Data
+@TableName("ldt_join_record")
+@ApiModel(value = "JoinRecord对象", description = "JoinRecord对象")
+public class JoinRecord implements Serializable {
+
+	private static final long serialVersionUID = 1L;
+
+	/**
+	* 参与ID
+	*/
+		@ApiModelProperty(value = "参与ID")
+		private Long id;
+	/**
+	* 活动ID
+	*/
+		@ApiModelProperty(value = "活动ID")
+		private Long activityId;
+	/**
+	* 参与者ID
+	*/
+		@ApiModelProperty(value = "参与者ID")
+		private Long joinId;
+	/**
+	* 参与者标题
+	*/
+		@ApiModelProperty(value = "参与者标题")
+		private String joinName;
+	/**
+	* 参与折扣
+	*/
+		@ApiModelProperty(value = "参与折扣")
+		private Double discount;
+	/**
+	* 参与者logo
+	*/
+		@ApiModelProperty(value = "参与者logo")
+		private String joinLogo;
+
+
+}

+ 42 - 0
src/main/java/org/springblade/ldt/activity/mapper/ActivityMapper.java

@@ -0,0 +1,42 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.ldt.activity.mapper;
+
+import org.springblade.ldt.activity.entity.Activity;
+import org.springblade.ldt.activity.vo.ActivityVO;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import java.util.List;
+
+/**
+ *  Mapper 接口
+ *
+ * @author BladeX
+ * @since 2021-08-24
+ */
+public interface ActivityMapper extends BaseMapper<Activity> {
+
+	/**
+	 * 自定义分页
+	 *
+	 * @param page
+	 * @param activity
+	 * @return
+	 */
+	List<ActivityVO> selectActivityPage(IPage page, ActivityVO activity);
+
+}

+ 31 - 0
src/main/java/org/springblade/ldt/activity/mapper/ActivityMapper.xml

@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.springblade.ldt.activity.mapper.ActivityMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="activityResultMap" type="org.springblade.ldt.activity.entity.Activity">
+        <id column="id" property="id"/>
+        <result column="title" property="title"/>
+        <result column="poster" property="poster"/>
+        <result column="discount" property="discount"/>
+        <result column="begin_time" property="beginTime"/>
+        <result column="end_time" property="endTime"/>
+        <result column="audit_status" property="auditStatus"/>
+        <result column="intro" property="intro"/>
+        <result column="launch_id" property="launchId"/>
+        <result column="launch_type" property="launchType"/>
+        <result column="create_user" property="createUser"/>
+        <result column="create_dept" property="createDept"/>
+        <result column="create_time" property="createTime"/>
+        <result column="update_user" property="updateUser"/>
+        <result column="update_time" property="updateTime"/>
+        <result column="status" property="status"/>
+        <result column="is_deleted" property="isDeleted"/>
+    </resultMap>
+
+
+    <select id="selectActivityPage" resultMap="activityResultMap">
+        select * from ldt_activity where is_deleted = 0
+    </select>
+
+</mapper>

+ 42 - 0
src/main/java/org/springblade/ldt/activity/mapper/JoinRecordMapper.java

@@ -0,0 +1,42 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.ldt.activity.mapper;
+
+import org.springblade.ldt.activity.entity.JoinRecord;
+import org.springblade.ldt.activity.vo.JoinRecordVO;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import java.util.List;
+
+/**
+ *  Mapper 接口
+ *
+ * @author BladeX
+ * @since 2021-08-24
+ */
+public interface JoinRecordMapper extends BaseMapper<JoinRecord> {
+
+	/**
+	 * 自定义分页
+	 *
+	 * @param page
+	 * @param joinRecord
+	 * @return
+	 */
+	List<JoinRecordVO> selectJoinRecordPage(IPage page, JoinRecordVO joinRecord);
+
+}

+ 20 - 0
src/main/java/org/springblade/ldt/activity/mapper/JoinRecordMapper.xml

@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.springblade.ldt.activity.mapper.JoinRecordMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="joinRecordResultMap" type="org.springblade.ldt.activity.entity.JoinRecord">
+        <id column="id" property="id"/>
+        <result column="activity_id" property="activityId"/>
+        <result column="join_id" property="joinId"/>
+        <result column="join_name" property="joinName"/>
+        <result column="discount" property="discount"/>
+        <result column="join_logo" property="joinLogo"/>
+    </resultMap>
+
+
+    <select id="selectJoinRecordPage" resultMap="joinRecordResultMap">
+        select * from ldt_join_record where is_deleted = 0
+    </select>
+
+</mapper>

+ 41 - 0
src/main/java/org/springblade/ldt/activity/service/IActivityService.java

@@ -0,0 +1,41 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.ldt.activity.service;
+
+import org.springblade.ldt.activity.entity.Activity;
+import org.springblade.ldt.activity.vo.ActivityVO;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+
+/**
+ *  服务类
+ *
+ * @author BladeX
+ * @since 2021-08-24
+ */
+public interface IActivityService extends IService<Activity> {
+
+	/**
+	 * 自定义分页
+	 *
+	 * @param page
+	 * @param activity
+	 * @return
+	 */
+	IPage<ActivityVO> selectActivityPage(IPage<ActivityVO> page, ActivityVO activity);
+
+}

+ 41 - 0
src/main/java/org/springblade/ldt/activity/service/IJoinRecordService.java

@@ -0,0 +1,41 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.ldt.activity.service;
+
+import org.springblade.ldt.activity.entity.JoinRecord;
+import org.springblade.ldt.activity.vo.JoinRecordVO;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+
+/**
+ *  服务类
+ *
+ * @author BladeX
+ * @since 2021-08-24
+ */
+public interface IJoinRecordService extends IService<JoinRecord> {
+
+	/**
+	 * 自定义分页
+	 *
+	 * @param page
+	 * @param joinRecord
+	 * @return
+	 */
+	IPage<JoinRecordVO> selectJoinRecordPage(IPage<JoinRecordVO> page, JoinRecordVO joinRecord);
+
+}

+ 41 - 0
src/main/java/org/springblade/ldt/activity/service/impl/ActivityServiceImpl.java

@@ -0,0 +1,41 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.ldt.activity.service.impl;
+
+import org.springblade.ldt.activity.entity.Activity;
+import org.springblade.ldt.activity.vo.ActivityVO;
+import org.springblade.ldt.activity.mapper.ActivityMapper;
+import org.springblade.ldt.activity.service.IActivityService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+
+/**
+ *  服务实现类
+ *
+ * @author BladeX
+ * @since 2021-08-24
+ */
+@Service
+public class ActivityServiceImpl extends ServiceImpl<ActivityMapper, Activity> implements IActivityService {
+
+	@Override
+	public IPage<ActivityVO> selectActivityPage(IPage<ActivityVO> page, ActivityVO activity) {
+		return page.setRecords(baseMapper.selectActivityPage(page, activity));
+	}
+
+}

+ 41 - 0
src/main/java/org/springblade/ldt/activity/service/impl/JoinRecordServiceImpl.java

@@ -0,0 +1,41 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.ldt.activity.service.impl;
+
+import org.springblade.ldt.activity.entity.JoinRecord;
+import org.springblade.ldt.activity.vo.JoinRecordVO;
+import org.springblade.ldt.activity.mapper.JoinRecordMapper;
+import org.springblade.ldt.activity.service.IJoinRecordService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+
+/**
+ *  服务实现类
+ *
+ * @author BladeX
+ * @since 2021-08-24
+ */
+@Service
+public class JoinRecordServiceImpl extends ServiceImpl<JoinRecordMapper, JoinRecord> implements IJoinRecordService {
+
+	@Override
+	public IPage<JoinRecordVO> selectJoinRecordPage(IPage<JoinRecordVO> page, JoinRecordVO joinRecord) {
+		return page.setRecords(baseMapper.selectJoinRecordPage(page, joinRecord));
+	}
+
+}

+ 36 - 0
src/main/java/org/springblade/ldt/activity/vo/ActivityVO.java

@@ -0,0 +1,36 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.ldt.activity.vo;
+
+import org.springblade.ldt.activity.entity.Activity;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import io.swagger.annotations.ApiModel;
+
+/**
+ * 视图实体类
+ *
+ * @author BladeX
+ * @since 2021-08-24
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ApiModel(value = "ActivityVO对象", description = "ActivityVO对象")
+public class ActivityVO extends Activity {
+	private static final long serialVersionUID = 1L;
+
+}

+ 36 - 0
src/main/java/org/springblade/ldt/activity/vo/JoinRecordVO.java

@@ -0,0 +1,36 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.ldt.activity.vo;
+
+import org.springblade.ldt.activity.entity.JoinRecord;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import io.swagger.annotations.ApiModel;
+
+/**
+ * 视图实体类
+ *
+ * @author BladeX
+ * @since 2021-08-24
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ApiModel(value = "JoinRecordVO对象", description = "JoinRecordVO对象")
+public class JoinRecordVO extends JoinRecord {
+	private static final long serialVersionUID = 1L;
+
+}

+ 49 - 0
src/main/java/org/springblade/ldt/activity/wrapper/ActivityWrapper.java

@@ -0,0 +1,49 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.ldt.activity.wrapper;
+
+import org.springblade.core.mp.support.BaseEntityWrapper;
+import org.springblade.core.tool.utils.BeanUtil;
+import org.springblade.ldt.activity.entity.Activity;
+import org.springblade.ldt.activity.vo.ActivityVO;
+import java.util.Objects;
+
+/**
+ * 包装类,返回视图层所需的字段
+ *
+ * @author BladeX
+ * @since 2021-08-24
+ */
+public class ActivityWrapper extends BaseEntityWrapper<Activity, ActivityVO>  {
+
+	public static ActivityWrapper build() {
+		return new ActivityWrapper();
+ 	}
+
+	@Override
+	public ActivityVO entityVO(Activity activity) {
+		ActivityVO activityVO = Objects.requireNonNull(BeanUtil.copy(activity, ActivityVO.class));
+
+		//User createUser = UserCache.getUser(activity.getCreateUser());
+		//User updateUser = UserCache.getUser(activity.getUpdateUser());
+		//activityVO.setCreateUserName(createUser.getName());
+		//activityVO.setUpdateUserName(updateUser.getName());
+
+		return activityVO;
+	}
+
+}

+ 49 - 0
src/main/java/org/springblade/ldt/activity/wrapper/JoinRecordWrapper.java

@@ -0,0 +1,49 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.ldt.activity.wrapper;
+
+import org.springblade.core.mp.support.BaseEntityWrapper;
+import org.springblade.core.tool.utils.BeanUtil;
+import org.springblade.ldt.activity.entity.JoinRecord;
+import org.springblade.ldt.activity.vo.JoinRecordVO;
+import java.util.Objects;
+
+/**
+ * 包装类,返回视图层所需的字段
+ *
+ * @author BladeX
+ * @since 2021-08-24
+ */
+public class JoinRecordWrapper extends BaseEntityWrapper<JoinRecord, JoinRecordVO>  {
+
+	public static JoinRecordWrapper build() {
+		return new JoinRecordWrapper();
+ 	}
+
+	@Override
+	public JoinRecordVO entityVO(JoinRecord joinRecord) {
+		JoinRecordVO joinRecordVO = Objects.requireNonNull(BeanUtil.copy(joinRecord, JoinRecordVO.class));
+
+		//User createUser = UserCache.getUser(joinRecord.getCreateUser());
+		//User updateUser = UserCache.getUser(joinRecord.getUpdateUser());
+		//joinRecordVO.setCreateUserName(createUser.getName());
+		//joinRecordVO.setUpdateUserName(updateUser.getName());
+
+		return joinRecordVO;
+	}
+
+}

+ 128 - 0
src/main/java/org/springblade/ldt/agent/controller/AgentRecordController.java

@@ -0,0 +1,128 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.ldt.agent.controller;
+
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
+import lombok.AllArgsConstructor;
+import javax.validation.Valid;
+
+import org.springblade.core.mp.support.Condition;
+import org.springblade.core.mp.support.Query;
+import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.utils.Func;
+import org.springframework.web.bind.annotation.*;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.ldt.agent.entity.AgentRecord;
+import org.springblade.ldt.agent.vo.AgentRecordVO;
+import org.springblade.ldt.agent.wrapper.AgentRecordWrapper;
+import org.springblade.ldt.agent.service.IAgentRecordService;
+import org.springblade.core.boot.ctrl.BladeController;
+
+/**
+ *  控制器
+ *
+ * @author BladeX
+ * @since 2021-08-24
+ */
+@RestController
+@AllArgsConstructor
+@RequestMapping("ldt_agent/agentrecord")
+@Api(value = "", tags = "接口")
+public class AgentRecordController extends BladeController {
+
+	private final IAgentRecordService agentRecordService;
+
+	/**
+	 * 详情
+	 */
+	@GetMapping("/detail")
+	@ApiOperationSupport(order = 1)
+	@ApiOperation(value = "详情", notes = "传入agentRecord")
+	public R<AgentRecordVO> detail(AgentRecord agentRecord) {
+		AgentRecord detail = agentRecordService.getOne(Condition.getQueryWrapper(agentRecord));
+		return R.data(AgentRecordWrapper.build().entityVO(detail));
+	}
+
+	/**
+	 * 分页 
+	 */
+	@GetMapping("/list")
+	@ApiOperationSupport(order = 2)
+	@ApiOperation(value = "分页", notes = "传入agentRecord")
+	public R<IPage<AgentRecordVO>> list(AgentRecord agentRecord, Query query) {
+		IPage<AgentRecord> pages = agentRecordService.page(Condition.getPage(query), Condition.getQueryWrapper(agentRecord));
+		return R.data(AgentRecordWrapper.build().pageVO(pages));
+	}
+
+
+	/**
+	 * 自定义分页 
+	 */
+	@GetMapping("/page")
+	@ApiOperationSupport(order = 3)
+	@ApiOperation(value = "分页", notes = "传入agentRecord")
+	public R<IPage<AgentRecordVO>> page(AgentRecordVO agentRecord, Query query) {
+		IPage<AgentRecordVO> pages = agentRecordService.selectAgentRecordPage(Condition.getPage(query), agentRecord);
+		return R.data(pages);
+	}
+
+	/**
+	 * 新增 
+	 */
+	@PostMapping("/save")
+	@ApiOperationSupport(order = 4)
+	@ApiOperation(value = "新增", notes = "传入agentRecord")
+	public R save(@Valid @RequestBody AgentRecord agentRecord) {
+		return R.status(agentRecordService.save(agentRecord));
+	}
+
+	/**
+	 * 修改 
+	 */
+	@PostMapping("/update")
+	@ApiOperationSupport(order = 5)
+	@ApiOperation(value = "修改", notes = "传入agentRecord")
+	public R update(@Valid @RequestBody AgentRecord agentRecord) {
+		return R.status(agentRecordService.updateById(agentRecord));
+	}
+
+	/**
+	 * 新增或修改 
+	 */
+	@PostMapping("/submit")
+	@ApiOperationSupport(order = 6)
+	@ApiOperation(value = "新增或修改", notes = "传入agentRecord")
+	public R submit(@Valid @RequestBody AgentRecord agentRecord) {
+		return R.status(agentRecordService.saveOrUpdate(agentRecord));
+	}
+
+	
+	/**
+	 * 删除 
+	 */
+	@PostMapping("/remove")
+	@ApiOperationSupport(order = 8)
+	@ApiOperation(value = "删除", notes = "传入ids")
+	public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
+		return R.status(agentRecordService.removeByIds(Func.toLongList(ids)));
+	}
+
+	
+}

+ 34 - 0
src/main/java/org/springblade/ldt/agent/dto/AgentRecordDTO.java

@@ -0,0 +1,34 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.ldt.agent.dto;
+
+import org.springblade.ldt.agent.entity.AgentRecord;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 数据传输对象实体类
+ *
+ * @author BladeX
+ * @since 2021-08-24
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class AgentRecordDTO extends AgentRecord {
+	private static final long serialVersionUID = 1L;
+
+}

+ 71 - 0
src/main/java/org/springblade/ldt/agent/entity/AgentRecord.java

@@ -0,0 +1,71 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.ldt.agent.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * 实体类
+ *
+ * @author BladeX
+ * @since 2021-08-24
+ */
+@Data
+@TableName("ldt_agent_record")
+@ApiModel(value = "AgentRecord对象", description = "AgentRecord对象")
+public class AgentRecord implements Serializable {
+
+	private static final long serialVersionUID = 1L;
+
+	/**
+	* 代理记录ID
+	*/
+		@ApiModelProperty(value = "代理记录ID")
+		private Long id;
+	/**
+	* 用户ID
+	*/
+		@ApiModelProperty(value = "用户ID")
+		private Long accountId;
+	/**
+	* 城市合伙人、渠道代理商
+	*/
+		@ApiModelProperty(value = "城市合伙人、渠道代理商")
+		private String agentType;
+	/**
+	* 代理城市
+	*/
+		@ApiModelProperty(value = "代理城市")
+		private String agentArea;
+	/**
+	* 代理商邀请码
+	*/
+		@ApiModelProperty(value = "代理商邀请码")
+		private String agentCode;
+	/**
+	* 城市编码
+	*/
+		@ApiModelProperty(value = "城市编码")
+		private String areaCode;
+
+
+}

+ 42 - 0
src/main/java/org/springblade/ldt/agent/mapper/AgentRecordMapper.java

@@ -0,0 +1,42 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.ldt.agent.mapper;
+
+import org.springblade.ldt.agent.entity.AgentRecord;
+import org.springblade.ldt.agent.vo.AgentRecordVO;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import java.util.List;
+
+/**
+ *  Mapper 接口
+ *
+ * @author BladeX
+ * @since 2021-08-24
+ */
+public interface AgentRecordMapper extends BaseMapper<AgentRecord> {
+
+	/**
+	 * 自定义分页
+	 *
+	 * @param page
+	 * @param agentRecord
+	 * @return
+	 */
+	List<AgentRecordVO> selectAgentRecordPage(IPage page, AgentRecordVO agentRecord);
+
+}

+ 20 - 0
src/main/java/org/springblade/ldt/agent/mapper/AgentRecordMapper.xml

@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.springblade.ldt.agent.mapper.AgentRecordMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="agentRecordResultMap" type="org.springblade.ldt.agent.entity.AgentRecord">
+        <id column="id" property="id"/>
+        <result column="account_id" property="accountId"/>
+        <result column="agent_type" property="agentType"/>
+        <result column="agent_area" property="agentArea"/>
+        <result column="agent_code" property="agentCode"/>
+        <result column="area_code" property="areaCode"/>
+    </resultMap>
+
+
+    <select id="selectAgentRecordPage" resultMap="agentRecordResultMap">
+        select * from ldt_agent_record where is_deleted = 0
+    </select>
+
+</mapper>

+ 41 - 0
src/main/java/org/springblade/ldt/agent/service/IAgentRecordService.java

@@ -0,0 +1,41 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.ldt.agent.service;
+
+import org.springblade.ldt.agent.entity.AgentRecord;
+import org.springblade.ldt.agent.vo.AgentRecordVO;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+
+/**
+ *  服务类
+ *
+ * @author BladeX
+ * @since 2021-08-24
+ */
+public interface IAgentRecordService extends IService<AgentRecord> {
+
+	/**
+	 * 自定义分页
+	 *
+	 * @param page
+	 * @param agentRecord
+	 * @return
+	 */
+	IPage<AgentRecordVO> selectAgentRecordPage(IPage<AgentRecordVO> page, AgentRecordVO agentRecord);
+
+}

+ 41 - 0
src/main/java/org/springblade/ldt/agent/service/impl/AgentRecordServiceImpl.java

@@ -0,0 +1,41 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.ldt.agent.service.impl;
+
+import org.springblade.ldt.agent.entity.AgentRecord;
+import org.springblade.ldt.agent.vo.AgentRecordVO;
+import org.springblade.ldt.agent.mapper.AgentRecordMapper;
+import org.springblade.ldt.agent.service.IAgentRecordService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+
+/**
+ *  服务实现类
+ *
+ * @author BladeX
+ * @since 2021-08-24
+ */
+@Service
+public class AgentRecordServiceImpl extends ServiceImpl<AgentRecordMapper, AgentRecord> implements IAgentRecordService {
+
+	@Override
+	public IPage<AgentRecordVO> selectAgentRecordPage(IPage<AgentRecordVO> page, AgentRecordVO agentRecord) {
+		return page.setRecords(baseMapper.selectAgentRecordPage(page, agentRecord));
+	}
+
+}

+ 36 - 0
src/main/java/org/springblade/ldt/agent/vo/AgentRecordVO.java

@@ -0,0 +1,36 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.ldt.agent.vo;
+
+import org.springblade.ldt.agent.entity.AgentRecord;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import io.swagger.annotations.ApiModel;
+
+/**
+ * 视图实体类
+ *
+ * @author BladeX
+ * @since 2021-08-24
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ApiModel(value = "AgentRecordVO对象", description = "AgentRecordVO对象")
+public class AgentRecordVO extends AgentRecord {
+	private static final long serialVersionUID = 1L;
+
+}

+ 49 - 0
src/main/java/org/springblade/ldt/agent/wrapper/AgentRecordWrapper.java

@@ -0,0 +1,49 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.ldt.agent.wrapper;
+
+import org.springblade.core.mp.support.BaseEntityWrapper;
+import org.springblade.core.tool.utils.BeanUtil;
+import org.springblade.ldt.agent.entity.AgentRecord;
+import org.springblade.ldt.agent.vo.AgentRecordVO;
+import java.util.Objects;
+
+/**
+ * 包装类,返回视图层所需的字段
+ *
+ * @author BladeX
+ * @since 2021-08-24
+ */
+public class AgentRecordWrapper extends BaseEntityWrapper<AgentRecord, AgentRecordVO>  {
+
+	public static AgentRecordWrapper build() {
+		return new AgentRecordWrapper();
+ 	}
+
+	@Override
+	public AgentRecordVO entityVO(AgentRecord agentRecord) {
+		AgentRecordVO agentRecordVO = Objects.requireNonNull(BeanUtil.copy(agentRecord, AgentRecordVO.class));
+
+		//User createUser = UserCache.getUser(agentRecord.getCreateUser());
+		//User updateUser = UserCache.getUser(agentRecord.getUpdateUser());
+		//agentRecordVO.setCreateUserName(createUser.getName());
+		//agentRecordVO.setUpdateUserName(updateUser.getName());
+
+		return agentRecordVO;
+	}
+
+}

+ 128 - 0
src/main/java/org/springblade/ldt/bills/controller/BillsController.java

@@ -0,0 +1,128 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.ldt.bills.controller;
+
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
+import lombok.AllArgsConstructor;
+import javax.validation.Valid;
+
+import org.springblade.core.mp.support.Condition;
+import org.springblade.core.mp.support.Query;
+import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.utils.Func;
+import org.springframework.web.bind.annotation.*;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.ldt.bills.entity.Bills;
+import org.springblade.ldt.bills.vo.BillsVO;
+import org.springblade.ldt.bills.wrapper.BillsWrapper;
+import org.springblade.ldt.bills.service.IBillsService;
+import org.springblade.core.boot.ctrl.BladeController;
+
+/**
+ *  控制器
+ *
+ * @author BladeX
+ * @since 2021-08-24
+ */
+@RestController
+@AllArgsConstructor
+@RequestMapping("ldt_bills/bills")
+@Api(value = "", tags = "接口")
+public class BillsController extends BladeController {
+
+	private final IBillsService billsService;
+
+	/**
+	 * 详情
+	 */
+	@GetMapping("/detail")
+	@ApiOperationSupport(order = 1)
+	@ApiOperation(value = "详情", notes = "传入bills")
+	public R<BillsVO> detail(Bills bills) {
+		Bills detail = billsService.getOne(Condition.getQueryWrapper(bills));
+		return R.data(BillsWrapper.build().entityVO(detail));
+	}
+
+	/**
+	 * 分页 
+	 */
+	@GetMapping("/list")
+	@ApiOperationSupport(order = 2)
+	@ApiOperation(value = "分页", notes = "传入bills")
+	public R<IPage<BillsVO>> list(Bills bills, Query query) {
+		IPage<Bills> pages = billsService.page(Condition.getPage(query), Condition.getQueryWrapper(bills));
+		return R.data(BillsWrapper.build().pageVO(pages));
+	}
+
+
+	/**
+	 * 自定义分页 
+	 */
+	@GetMapping("/page")
+	@ApiOperationSupport(order = 3)
+	@ApiOperation(value = "分页", notes = "传入bills")
+	public R<IPage<BillsVO>> page(BillsVO bills, Query query) {
+		IPage<BillsVO> pages = billsService.selectBillsPage(Condition.getPage(query), bills);
+		return R.data(pages);
+	}
+
+	/**
+	 * 新增 
+	 */
+	@PostMapping("/save")
+	@ApiOperationSupport(order = 4)
+	@ApiOperation(value = "新增", notes = "传入bills")
+	public R save(@Valid @RequestBody Bills bills) {
+		return R.status(billsService.save(bills));
+	}
+
+	/**
+	 * 修改 
+	 */
+	@PostMapping("/update")
+	@ApiOperationSupport(order = 5)
+	@ApiOperation(value = "修改", notes = "传入bills")
+	public R update(@Valid @RequestBody Bills bills) {
+		return R.status(billsService.updateById(bills));
+	}
+
+	/**
+	 * 新增或修改 
+	 */
+	@PostMapping("/submit")
+	@ApiOperationSupport(order = 6)
+	@ApiOperation(value = "新增或修改", notes = "传入bills")
+	public R submit(@Valid @RequestBody Bills bills) {
+		return R.status(billsService.saveOrUpdate(bills));
+	}
+
+	
+	/**
+	 * 删除 
+	 */
+	@PostMapping("/remove")
+	@ApiOperationSupport(order = 8)
+	@ApiOperation(value = "删除", notes = "传入ids")
+	public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
+		return R.status(billsService.removeByIds(Func.toLongList(ids)));
+	}
+
+	
+}

+ 128 - 0
src/main/java/org/springblade/ldt/bills/controller/WithdrawRecController.java

@@ -0,0 +1,128 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.ldt.bills.controller;
+
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
+import lombok.AllArgsConstructor;
+import javax.validation.Valid;
+
+import org.springblade.core.mp.support.Condition;
+import org.springblade.core.mp.support.Query;
+import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.utils.Func;
+import org.springframework.web.bind.annotation.*;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.ldt.bills.entity.WithdrawRec;
+import org.springblade.ldt.bills.vo.WithdrawRecVO;
+import org.springblade.ldt.bills.wrapper.WithdrawRecWrapper;
+import org.springblade.ldt.bills.service.IWithdrawRecService;
+import org.springblade.core.boot.ctrl.BladeController;
+
+/**
+ *  控制器
+ *
+ * @author BladeX
+ * @since 2021-08-24
+ */
+@RestController
+@AllArgsConstructor
+@RequestMapping("ldt_bills/withdrawrec")
+@Api(value = "", tags = "接口")
+public class WithdrawRecController extends BladeController {
+
+	private final IWithdrawRecService withdrawRecService;
+
+	/**
+	 * 详情
+	 */
+	@GetMapping("/detail")
+	@ApiOperationSupport(order = 1)
+	@ApiOperation(value = "详情", notes = "传入withdrawRec")
+	public R<WithdrawRecVO> detail(WithdrawRec withdrawRec) {
+		WithdrawRec detail = withdrawRecService.getOne(Condition.getQueryWrapper(withdrawRec));
+		return R.data(WithdrawRecWrapper.build().entityVO(detail));
+	}
+
+	/**
+	 * 分页 
+	 */
+	@GetMapping("/list")
+	@ApiOperationSupport(order = 2)
+	@ApiOperation(value = "分页", notes = "传入withdrawRec")
+	public R<IPage<WithdrawRecVO>> list(WithdrawRec withdrawRec, Query query) {
+		IPage<WithdrawRec> pages = withdrawRecService.page(Condition.getPage(query), Condition.getQueryWrapper(withdrawRec));
+		return R.data(WithdrawRecWrapper.build().pageVO(pages));
+	}
+
+
+	/**
+	 * 自定义分页 
+	 */
+	@GetMapping("/page")
+	@ApiOperationSupport(order = 3)
+	@ApiOperation(value = "分页", notes = "传入withdrawRec")
+	public R<IPage<WithdrawRecVO>> page(WithdrawRecVO withdrawRec, Query query) {
+		IPage<WithdrawRecVO> pages = withdrawRecService.selectWithdrawRecPage(Condition.getPage(query), withdrawRec);
+		return R.data(pages);
+	}
+
+	/**
+	 * 新增 
+	 */
+	@PostMapping("/save")
+	@ApiOperationSupport(order = 4)
+	@ApiOperation(value = "新增", notes = "传入withdrawRec")
+	public R save(@Valid @RequestBody WithdrawRec withdrawRec) {
+		return R.status(withdrawRecService.save(withdrawRec));
+	}
+
+	/**
+	 * 修改 
+	 */
+	@PostMapping("/update")
+	@ApiOperationSupport(order = 5)
+	@ApiOperation(value = "修改", notes = "传入withdrawRec")
+	public R update(@Valid @RequestBody WithdrawRec withdrawRec) {
+		return R.status(withdrawRecService.updateById(withdrawRec));
+	}
+
+	/**
+	 * 新增或修改 
+	 */
+	@PostMapping("/submit")
+	@ApiOperationSupport(order = 6)
+	@ApiOperation(value = "新增或修改", notes = "传入withdrawRec")
+	public R submit(@Valid @RequestBody WithdrawRec withdrawRec) {
+		return R.status(withdrawRecService.saveOrUpdate(withdrawRec));
+	}
+
+	
+	/**
+	 * 删除 
+	 */
+	@PostMapping("/remove")
+	@ApiOperationSupport(order = 8)
+	@ApiOperation(value = "删除", notes = "传入ids")
+	public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
+		return R.status(withdrawRecService.removeByIds(Func.toLongList(ids)));
+	}
+
+	
+}

+ 34 - 0
src/main/java/org/springblade/ldt/bills/dto/BillsDTO.java

@@ -0,0 +1,34 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.ldt.bills.dto;
+
+import org.springblade.ldt.bills.entity.Bills;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 数据传输对象实体类
+ *
+ * @author BladeX
+ * @since 2021-08-24
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class BillsDTO extends Bills {
+	private static final long serialVersionUID = 1L;
+
+}

+ 34 - 0
src/main/java/org/springblade/ldt/bills/dto/WithdrawRecDTO.java

@@ -0,0 +1,34 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.ldt.bills.dto;
+
+import org.springblade.ldt.bills.entity.WithdrawRec;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 数据传输对象实体类
+ *
+ * @author BladeX
+ * @since 2021-08-24
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class WithdrawRecDTO extends WithdrawRec {
+	private static final long serialVersionUID = 1L;
+
+}

+ 113 - 0
src/main/java/org/springblade/ldt/bills/entity/Bills.java

@@ -0,0 +1,113 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.ldt.bills.entity;
+
+import java.math.BigDecimal;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.time.LocalDateTime;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * 实体类
+ *
+ * @author BladeX
+ * @since 2021-08-24
+ */
+@Data
+@TableName("ldt_bills")
+@ApiModel(value = "Bills对象", description = "Bills对象")
+public class Bills implements Serializable {
+
+	private static final long serialVersionUID = 1L;
+
+	/**
+	* 付款流水号
+	*/
+		@ApiModelProperty(value = "付款流水号")
+		private Long id;
+	/**
+	* 付款方
+	*/
+		@ApiModelProperty(value = "付款方")
+		private Long payId;
+	/**
+	* 收款方
+	*/
+		@ApiModelProperty(value = "收款方")
+		private Long receiveId;
+	/**
+	* 金额原价
+	*/
+		@ApiModelProperty(value = "金额原价")
+		private String cost;
+	/**
+	* 折扣
+	*/
+		@ApiModelProperty(value = "折扣")
+		private Double discount;
+	/**
+	* 实付金额
+	*/
+		@ApiModelProperty(value = "实付金额")
+		private BigDecimal price;
+	/**
+	* 交易类型(用户付款,代理充值,商场充值)
+	*/
+		@ApiModelProperty(value = "交易类型(用户付款,代理充值,商场充值)")
+		private String type;
+	/**
+	* 付款方式
+	*/
+		@ApiModelProperty(value = "付款方式")
+		private String payway;
+	/**
+	* 付款渠道
+	*/
+		@ApiModelProperty(value = "付款渠道")
+		private String channel;
+	/**
+	* 渠道订单号
+	*/
+		@ApiModelProperty(value = "渠道订单号")
+		private String channelId;
+	/**
+	* 待付款,付款成功,取消付款
+	*/
+		@ApiModelProperty(value = "待付款,付款成功,取消付款")
+		private String paystatus;
+	/**
+	* 订单标题
+	*/
+		@ApiModelProperty(value = "订单标题")
+		private String title;
+	/**
+	* 订单描述
+	*/
+		@ApiModelProperty(value = "订单描述")
+		private String billDesc;
+	/**
+	* 订单超时时间
+	*/
+		@ApiModelProperty(value = "订单超时时间")
+		private LocalDateTime exTime;
+
+
+}

+ 122 - 0
src/main/java/org/springblade/ldt/bills/entity/WithdrawRec.java

@@ -0,0 +1,122 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.ldt.bills.entity;
+
+import java.math.BigDecimal;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * 实体类
+ *
+ * @author BladeX
+ * @since 2021-08-24
+ */
+@Data
+@TableName("ldt_withdraw_rec")
+@ApiModel(value = "WithdrawRec对象", description = "WithdrawRec对象")
+public class WithdrawRec implements Serializable {
+
+	private static final long serialVersionUID = 1L;
+
+	/**
+	* 提现记录id
+	*/
+		@ApiModelProperty(value = "提现记录id")
+		private Long id;
+	/**
+	* 提现用户类型: 1-商家
+	*/
+		@ApiModelProperty(value = "提现用户类型: 1-商家")
+		private Integer ownerType;
+	/**
+	* 提现用户id: 若owner_type = 1则为商家id
+	*/
+		@ApiModelProperty(value = "提现用户id: 若owner_type = 1则为商家id")
+		private Long ownerId;
+	/**
+	* 提现金额
+	*/
+		@ApiModelProperty(value = "提现金额")
+		private BigDecimal price;
+	/**
+	* 需扣积分价值
+	*/
+		@ApiModelProperty(value = "需扣积分价值")
+		private BigDecimal pointValue;
+	/**
+	* 实际提现金额
+	*/
+		@ApiModelProperty(value = "实际提现金额")
+		private BigDecimal actualPrice;
+	/**
+	* 提现手续费
+	*/
+		@ApiModelProperty(value = "提现手续费")
+		private BigDecimal fee;
+	/**
+	* 提现状态: 1-待确定 2-已到账 3-失败
+	*/
+		@ApiModelProperty(value = "提现状态: 1-待确定 2-已到账 3-失败")
+		private Integer withdrawStatus;
+	/**
+	* 提现订单号
+	*/
+		@ApiModelProperty(value = "提现订单号")
+		private String orderId;
+	/**
+	* 提现渠道:yeePay(易宝支付)
+	*/
+		@ApiModelProperty(value = "提现渠道:yeePay(易宝支付)")
+		private String channel;
+	/**
+	* 银行类型
+	*/
+		@ApiModelProperty(value = "银行类型")
+		private String bankCode;
+	/**
+	* 接收人真实姓名
+	*/
+		@ApiModelProperty(value = "接收人真实姓名")
+		private String receiverAccountName;
+	/**
+	* 接收人的银行账号
+	*/
+		@ApiModelProperty(value = "接收人的银行账号")
+		private String receiverAccountNo;
+	/**
+	* 到账类型,默认实时到账
+	*/
+		@ApiModelProperty(value = "到账类型,默认实时到账")
+		private String receiveType;
+	/**
+	* 提现到账的金额
+	*/
+		@ApiModelProperty(value = "提现到账的金额")
+		private BigDecimal receiveAmount;
+	/**
+	* 失败原因
+	*/
+		@ApiModelProperty(value = "失败原因")
+		private String failReason;
+
+
+}

+ 42 - 0
src/main/java/org/springblade/ldt/bills/mapper/BillsMapper.java

@@ -0,0 +1,42 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.ldt.bills.mapper;
+
+import org.springblade.ldt.bills.entity.Bills;
+import org.springblade.ldt.bills.vo.BillsVO;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import java.util.List;
+
+/**
+ *  Mapper 接口
+ *
+ * @author BladeX
+ * @since 2021-08-24
+ */
+public interface BillsMapper extends BaseMapper<Bills> {
+
+	/**
+	 * 自定义分页
+	 *
+	 * @param page
+	 * @param bills
+	 * @return
+	 */
+	List<BillsVO> selectBillsPage(IPage page, BillsVO bills);
+
+}

+ 28 - 0
src/main/java/org/springblade/ldt/bills/mapper/BillsMapper.xml

@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.springblade.ldt.bills.mapper.BillsMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="billsResultMap" type="org.springblade.ldt.bills.entity.Bills">
+        <id column="id" property="id"/>
+        <result column="pay_id" property="payId"/>
+        <result column="receive_id" property="receiveId"/>
+        <result column="cost" property="cost"/>
+        <result column="discount" property="discount"/>
+        <result column="price" property="price"/>
+        <result column="type" property="type"/>
+        <result column="payway" property="payway"/>
+        <result column="channel" property="channel"/>
+        <result column="channel_id" property="channelId"/>
+        <result column="paystatus" property="paystatus"/>
+        <result column="title" property="title"/>
+        <result column="bill_desc" property="billDesc"/>
+        <result column="ex_time" property="exTime"/>
+    </resultMap>
+
+
+    <select id="selectBillsPage" resultMap="billsResultMap">
+        select * from ldt_bills where is_deleted = 0
+    </select>
+
+</mapper>

+ 42 - 0
src/main/java/org/springblade/ldt/bills/mapper/WithdrawRecMapper.java

@@ -0,0 +1,42 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.ldt.bills.mapper;
+
+import org.springblade.ldt.bills.entity.WithdrawRec;
+import org.springblade.ldt.bills.vo.WithdrawRecVO;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import java.util.List;
+
+/**
+ *  Mapper 接口
+ *
+ * @author BladeX
+ * @since 2021-08-24
+ */
+public interface WithdrawRecMapper extends BaseMapper<WithdrawRec> {
+
+	/**
+	 * 自定义分页
+	 *
+	 * @param page
+	 * @param withdrawRec
+	 * @return
+	 */
+	List<WithdrawRecVO> selectWithdrawRecPage(IPage page, WithdrawRecVO withdrawRec);
+
+}

+ 30 - 0
src/main/java/org/springblade/ldt/bills/mapper/WithdrawRecMapper.xml

@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.springblade.ldt.bills.mapper.WithdrawRecMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="withdrawRecResultMap" type="org.springblade.ldt.bills.entity.WithdrawRec">
+        <id column="id" property="id"/>
+        <result column="owner_type" property="ownerType"/>
+        <result column="owner_id" property="ownerId"/>
+        <result column="price" property="price"/>
+        <result column="point_value" property="pointValue"/>
+        <result column="actual_price" property="actualPrice"/>
+        <result column="fee" property="fee"/>
+        <result column="withdraw_status" property="withdrawStatus"/>
+        <result column="order_id" property="orderId"/>
+        <result column="channel" property="channel"/>
+        <result column="bank_code" property="bankCode"/>
+        <result column="receiver_account_name" property="receiverAccountName"/>
+        <result column="receiver_account_no" property="receiverAccountNo"/>
+        <result column="receive_type" property="receiveType"/>
+        <result column="receive_amount" property="receiveAmount"/>
+        <result column="fail_reason" property="failReason"/>
+    </resultMap>
+
+
+    <select id="selectWithdrawRecPage" resultMap="withdrawRecResultMap">
+        select * from ldt_withdraw_rec where is_deleted = 0
+    </select>
+
+</mapper>

+ 41 - 0
src/main/java/org/springblade/ldt/bills/service/IBillsService.java

@@ -0,0 +1,41 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.ldt.bills.service;
+
+import org.springblade.ldt.bills.entity.Bills;
+import org.springblade.ldt.bills.vo.BillsVO;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+
+/**
+ *  服务类
+ *
+ * @author BladeX
+ * @since 2021-08-24
+ */
+public interface IBillsService extends IService<Bills> {
+
+	/**
+	 * 自定义分页
+	 *
+	 * @param page
+	 * @param bills
+	 * @return
+	 */
+	IPage<BillsVO> selectBillsPage(IPage<BillsVO> page, BillsVO bills);
+
+}

+ 41 - 0
src/main/java/org/springblade/ldt/bills/service/IWithdrawRecService.java

@@ -0,0 +1,41 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.ldt.bills.service;
+
+import org.springblade.ldt.bills.entity.WithdrawRec;
+import org.springblade.ldt.bills.vo.WithdrawRecVO;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+
+/**
+ *  服务类
+ *
+ * @author BladeX
+ * @since 2021-08-24
+ */
+public interface IWithdrawRecService extends IService<WithdrawRec> {
+
+	/**
+	 * 自定义分页
+	 *
+	 * @param page
+	 * @param withdrawRec
+	 * @return
+	 */
+	IPage<WithdrawRecVO> selectWithdrawRecPage(IPage<WithdrawRecVO> page, WithdrawRecVO withdrawRec);
+
+}

+ 41 - 0
src/main/java/org/springblade/ldt/bills/service/impl/BillsServiceImpl.java

@@ -0,0 +1,41 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.ldt.bills.service.impl;
+
+import org.springblade.ldt.bills.entity.Bills;
+import org.springblade.ldt.bills.vo.BillsVO;
+import org.springblade.ldt.bills.mapper.BillsMapper;
+import org.springblade.ldt.bills.service.IBillsService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+
+/**
+ *  服务实现类
+ *
+ * @author BladeX
+ * @since 2021-08-24
+ */
+@Service
+public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements IBillsService {
+
+	@Override
+	public IPage<BillsVO> selectBillsPage(IPage<BillsVO> page, BillsVO bills) {
+		return page.setRecords(baseMapper.selectBillsPage(page, bills));
+	}
+
+}

+ 41 - 0
src/main/java/org/springblade/ldt/bills/service/impl/WithdrawRecServiceImpl.java

@@ -0,0 +1,41 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.ldt.bills.service.impl;
+
+import org.springblade.ldt.bills.entity.WithdrawRec;
+import org.springblade.ldt.bills.vo.WithdrawRecVO;
+import org.springblade.ldt.bills.mapper.WithdrawRecMapper;
+import org.springblade.ldt.bills.service.IWithdrawRecService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+
+/**
+ *  服务实现类
+ *
+ * @author BladeX
+ * @since 2021-08-24
+ */
+@Service
+public class WithdrawRecServiceImpl extends ServiceImpl<WithdrawRecMapper, WithdrawRec> implements IWithdrawRecService {
+
+	@Override
+	public IPage<WithdrawRecVO> selectWithdrawRecPage(IPage<WithdrawRecVO> page, WithdrawRecVO withdrawRec) {
+		return page.setRecords(baseMapper.selectWithdrawRecPage(page, withdrawRec));
+	}
+
+}

+ 36 - 0
src/main/java/org/springblade/ldt/bills/vo/BillsVO.java

@@ -0,0 +1,36 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.ldt.bills.vo;
+
+import org.springblade.ldt.bills.entity.Bills;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import io.swagger.annotations.ApiModel;
+
+/**
+ * 视图实体类
+ *
+ * @author BladeX
+ * @since 2021-08-24
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ApiModel(value = "BillsVO对象", description = "BillsVO对象")
+public class BillsVO extends Bills {
+	private static final long serialVersionUID = 1L;
+
+}

+ 36 - 0
src/main/java/org/springblade/ldt/bills/vo/WithdrawRecVO.java

@@ -0,0 +1,36 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.ldt.bills.vo;
+
+import org.springblade.ldt.bills.entity.WithdrawRec;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import io.swagger.annotations.ApiModel;
+
+/**
+ * 视图实体类
+ *
+ * @author BladeX
+ * @since 2021-08-24
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ApiModel(value = "WithdrawRecVO对象", description = "WithdrawRecVO对象")
+public class WithdrawRecVO extends WithdrawRec {
+	private static final long serialVersionUID = 1L;
+
+}

+ 49 - 0
src/main/java/org/springblade/ldt/bills/wrapper/BillsWrapper.java

@@ -0,0 +1,49 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.ldt.bills.wrapper;
+
+import org.springblade.core.mp.support.BaseEntityWrapper;
+import org.springblade.core.tool.utils.BeanUtil;
+import org.springblade.ldt.bills.entity.Bills;
+import org.springblade.ldt.bills.vo.BillsVO;
+import java.util.Objects;
+
+/**
+ * 包装类,返回视图层所需的字段
+ *
+ * @author BladeX
+ * @since 2021-08-24
+ */
+public class BillsWrapper extends BaseEntityWrapper<Bills, BillsVO>  {
+
+	public static BillsWrapper build() {
+		return new BillsWrapper();
+ 	}
+
+	@Override
+	public BillsVO entityVO(Bills bills) {
+		BillsVO billsVO = Objects.requireNonNull(BeanUtil.copy(bills, BillsVO.class));
+
+		//User createUser = UserCache.getUser(bills.getCreateUser());
+		//User updateUser = UserCache.getUser(bills.getUpdateUser());
+		//billsVO.setCreateUserName(createUser.getName());
+		//billsVO.setUpdateUserName(updateUser.getName());
+
+		return billsVO;
+	}
+
+}

+ 49 - 0
src/main/java/org/springblade/ldt/bills/wrapper/WithdrawRecWrapper.java

@@ -0,0 +1,49 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.ldt.bills.wrapper;
+
+import org.springblade.core.mp.support.BaseEntityWrapper;
+import org.springblade.core.tool.utils.BeanUtil;
+import org.springblade.ldt.bills.entity.WithdrawRec;
+import org.springblade.ldt.bills.vo.WithdrawRecVO;
+import java.util.Objects;
+
+/**
+ * 包装类,返回视图层所需的字段
+ *
+ * @author BladeX
+ * @since 2021-08-24
+ */
+public class WithdrawRecWrapper extends BaseEntityWrapper<WithdrawRec, WithdrawRecVO>  {
+
+	public static WithdrawRecWrapper build() {
+		return new WithdrawRecWrapper();
+ 	}
+
+	@Override
+	public WithdrawRecVO entityVO(WithdrawRec withdrawRec) {
+		WithdrawRecVO withdrawRecVO = Objects.requireNonNull(BeanUtil.copy(withdrawRec, WithdrawRecVO.class));
+
+		//User createUser = UserCache.getUser(withdrawRec.getCreateUser());
+		//User updateUser = UserCache.getUser(withdrawRec.getUpdateUser());
+		//withdrawRecVO.setCreateUserName(createUser.getName());
+		//withdrawRecVO.setUpdateUserName(updateUser.getName());
+
+		return withdrawRecVO;
+	}
+
+}

+ 128 - 0
src/main/java/org/springblade/ldt/feedback/controller/FeedbackController.java

@@ -0,0 +1,128 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.ldt.feedback.controller;
+
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
+import lombok.AllArgsConstructor;
+import javax.validation.Valid;
+
+import org.springblade.core.mp.support.Condition;
+import org.springblade.core.mp.support.Query;
+import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.utils.Func;
+import org.springframework.web.bind.annotation.*;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.ldt.feedback.entity.Feedback;
+import org.springblade.ldt.feedback.vo.FeedbackVO;
+import org.springblade.ldt.feedback.wrapper.FeedbackWrapper;
+import org.springblade.ldt.feedback.service.IFeedbackService;
+import org.springblade.core.boot.ctrl.BladeController;
+
+/**
+ *  控制器
+ *
+ * @author BladeX
+ * @since 2021-08-24
+ */
+@RestController
+@AllArgsConstructor
+@RequestMapping("ldt_feedback/feedback")
+@Api(value = "", tags = "接口")
+public class FeedbackController extends BladeController {
+
+	private final IFeedbackService feedbackService;
+
+	/**
+	 * 详情
+	 */
+	@GetMapping("/detail")
+	@ApiOperationSupport(order = 1)
+	@ApiOperation(value = "详情", notes = "传入feedback")
+	public R<FeedbackVO> detail(Feedback feedback) {
+		Feedback detail = feedbackService.getOne(Condition.getQueryWrapper(feedback));
+		return R.data(FeedbackWrapper.build().entityVO(detail));
+	}
+
+	/**
+	 * 分页 
+	 */
+	@GetMapping("/list")
+	@ApiOperationSupport(order = 2)
+	@ApiOperation(value = "分页", notes = "传入feedback")
+	public R<IPage<FeedbackVO>> list(Feedback feedback, Query query) {
+		IPage<Feedback> pages = feedbackService.page(Condition.getPage(query), Condition.getQueryWrapper(feedback));
+		return R.data(FeedbackWrapper.build().pageVO(pages));
+	}
+
+
+	/**
+	 * 自定义分页 
+	 */
+	@GetMapping("/page")
+	@ApiOperationSupport(order = 3)
+	@ApiOperation(value = "分页", notes = "传入feedback")
+	public R<IPage<FeedbackVO>> page(FeedbackVO feedback, Query query) {
+		IPage<FeedbackVO> pages = feedbackService.selectFeedbackPage(Condition.getPage(query), feedback);
+		return R.data(pages);
+	}
+
+	/**
+	 * 新增 
+	 */
+	@PostMapping("/save")
+	@ApiOperationSupport(order = 4)
+	@ApiOperation(value = "新增", notes = "传入feedback")
+	public R save(@Valid @RequestBody Feedback feedback) {
+		return R.status(feedbackService.save(feedback));
+	}
+
+	/**
+	 * 修改 
+	 */
+	@PostMapping("/update")
+	@ApiOperationSupport(order = 5)
+	@ApiOperation(value = "修改", notes = "传入feedback")
+	public R update(@Valid @RequestBody Feedback feedback) {
+		return R.status(feedbackService.updateById(feedback));
+	}
+
+	/**
+	 * 新增或修改 
+	 */
+	@PostMapping("/submit")
+	@ApiOperationSupport(order = 6)
+	@ApiOperation(value = "新增或修改", notes = "传入feedback")
+	public R submit(@Valid @RequestBody Feedback feedback) {
+		return R.status(feedbackService.saveOrUpdate(feedback));
+	}
+
+	
+	/**
+	 * 删除 
+	 */
+	@PostMapping("/remove")
+	@ApiOperationSupport(order = 8)
+	@ApiOperation(value = "删除", notes = "传入ids")
+	public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
+		return R.status(feedbackService.removeByIds(Func.toLongList(ids)));
+	}
+
+	
+}

+ 34 - 0
src/main/java/org/springblade/ldt/feedback/dto/FeedbackDTO.java

@@ -0,0 +1,34 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.ldt.feedback.dto;
+
+import org.springblade.ldt.feedback.entity.Feedback;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 数据传输对象实体类
+ *
+ * @author BladeX
+ * @since 2021-08-24
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class FeedbackDTO extends Feedback {
+	private static final long serialVersionUID = 1L;
+
+}

+ 76 - 0
src/main/java/org/springblade/ldt/feedback/entity/Feedback.java

@@ -0,0 +1,76 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.ldt.feedback.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * 实体类
+ *
+ * @author BladeX
+ * @since 2021-08-24
+ */
+@Data
+@TableName("ldt_feedback")
+@ApiModel(value = "Feedback对象", description = "Feedback对象")
+public class Feedback implements Serializable {
+
+	private static final long serialVersionUID = 1L;
+
+	/**
+	* 反馈表
+	*/
+		@ApiModelProperty(value = "反馈表")
+		private Long id;
+	/**
+	* 反馈类型 1-用户反馈 2-商家反馈 3-商场反馈
+	*/
+		@ApiModelProperty(value = "反馈类型 1-用户反馈 2-商家反馈 3-商场反馈")
+		private String type;
+	/**
+	* 当type为1时为用户id  当type为2时为商家id,以此类推
+	*/
+		@ApiModelProperty(value = "当type为1时为用户id  当type为2时为商家id,以此类推")
+		private Long userId;
+	/**
+	* 反馈内容
+	*/
+		@ApiModelProperty(value = "反馈内容")
+		private String content;
+	/**
+	* 图片,多个用“,"隔开
+	*/
+		@ApiModelProperty(value = "图片,多个用“,"隔开")
+		private String pics;
+	/**
+	* 联系方式
+	*/
+		@ApiModelProperty(value = "联系方式")
+		private String phone;
+	/**
+	* 处理状态 0-待处理 1-已处理
+	*/
+		@ApiModelProperty(value = "处理状态 0-待处理 1-已处理")
+		private String handleStatus;
+
+
+}

+ 42 - 0
src/main/java/org/springblade/ldt/feedback/mapper/FeedbackMapper.java

@@ -0,0 +1,42 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.ldt.feedback.mapper;
+
+import org.springblade.ldt.feedback.entity.Feedback;
+import org.springblade.ldt.feedback.vo.FeedbackVO;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import java.util.List;
+
+/**
+ *  Mapper 接口
+ *
+ * @author BladeX
+ * @since 2021-08-24
+ */
+public interface FeedbackMapper extends BaseMapper<Feedback> {
+
+	/**
+	 * 自定义分页
+	 *
+	 * @param page
+	 * @param feedback
+	 * @return
+	 */
+	List<FeedbackVO> selectFeedbackPage(IPage page, FeedbackVO feedback);
+
+}

+ 21 - 0
src/main/java/org/springblade/ldt/feedback/mapper/FeedbackMapper.xml

@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.springblade.ldt.feedback.mapper.FeedbackMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="feedbackResultMap" type="org.springblade.ldt.feedback.entity.Feedback">
+        <id column="id" property="id"/>
+        <result column="type" property="type"/>
+        <result column="user_id" property="userId"/>
+        <result column="content" property="content"/>
+        <result column="pics" property="pics"/>
+        <result column="phone" property="phone"/>
+        <result column="handle_status" property="handleStatus"/>
+    </resultMap>
+
+
+    <select id="selectFeedbackPage" resultMap="feedbackResultMap">
+        select * from ldt_feedback where is_deleted = 0
+    </select>
+
+</mapper>

+ 41 - 0
src/main/java/org/springblade/ldt/feedback/service/IFeedbackService.java

@@ -0,0 +1,41 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.ldt.feedback.service;
+
+import org.springblade.ldt.feedback.entity.Feedback;
+import org.springblade.ldt.feedback.vo.FeedbackVO;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+
+/**
+ *  服务类
+ *
+ * @author BladeX
+ * @since 2021-08-24
+ */
+public interface IFeedbackService extends IService<Feedback> {
+
+	/**
+	 * 自定义分页
+	 *
+	 * @param page
+	 * @param feedback
+	 * @return
+	 */
+	IPage<FeedbackVO> selectFeedbackPage(IPage<FeedbackVO> page, FeedbackVO feedback);
+
+}

+ 41 - 0
src/main/java/org/springblade/ldt/feedback/service/impl/FeedbackServiceImpl.java

@@ -0,0 +1,41 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.ldt.feedback.service.impl;
+
+import org.springblade.ldt.feedback.entity.Feedback;
+import org.springblade.ldt.feedback.vo.FeedbackVO;
+import org.springblade.ldt.feedback.mapper.FeedbackMapper;
+import org.springblade.ldt.feedback.service.IFeedbackService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+
+/**
+ *  服务实现类
+ *
+ * @author BladeX
+ * @since 2021-08-24
+ */
+@Service
+public class FeedbackServiceImpl extends ServiceImpl<FeedbackMapper, Feedback> implements IFeedbackService {
+
+	@Override
+	public IPage<FeedbackVO> selectFeedbackPage(IPage<FeedbackVO> page, FeedbackVO feedback) {
+		return page.setRecords(baseMapper.selectFeedbackPage(page, feedback));
+	}
+
+}

+ 36 - 0
src/main/java/org/springblade/ldt/feedback/vo/FeedbackVO.java

@@ -0,0 +1,36 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.ldt.feedback.vo;
+
+import org.springblade.ldt.feedback.entity.Feedback;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import io.swagger.annotations.ApiModel;
+
+/**
+ * 视图实体类
+ *
+ * @author BladeX
+ * @since 2021-08-24
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ApiModel(value = "FeedbackVO对象", description = "FeedbackVO对象")
+public class FeedbackVO extends Feedback {
+	private static final long serialVersionUID = 1L;
+
+}

+ 49 - 0
src/main/java/org/springblade/ldt/feedback/wrapper/FeedbackWrapper.java

@@ -0,0 +1,49 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.ldt.feedback.wrapper;
+
+import org.springblade.core.mp.support.BaseEntityWrapper;
+import org.springblade.core.tool.utils.BeanUtil;
+import org.springblade.ldt.feedback.entity.Feedback;
+import org.springblade.ldt.feedback.vo.FeedbackVO;
+import java.util.Objects;
+
+/**
+ * 包装类,返回视图层所需的字段
+ *
+ * @author BladeX
+ * @since 2021-08-24
+ */
+public class FeedbackWrapper extends BaseEntityWrapper<Feedback, FeedbackVO>  {
+
+	public static FeedbackWrapper build() {
+		return new FeedbackWrapper();
+ 	}
+
+	@Override
+	public FeedbackVO entityVO(Feedback feedback) {
+		FeedbackVO feedbackVO = Objects.requireNonNull(BeanUtil.copy(feedback, FeedbackVO.class));
+
+		//User createUser = UserCache.getUser(feedback.getCreateUser());
+		//User updateUser = UserCache.getUser(feedback.getUpdateUser());
+		//feedbackVO.setCreateUserName(createUser.getName());
+		//feedbackVO.setUpdateUserName(updateUser.getName());
+
+		return feedbackVO;
+	}
+
+}

+ 128 - 0
src/main/java/org/springblade/ldt/mall/controller/MallController.java

@@ -0,0 +1,128 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.ldt.mall.controller;
+
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
+import lombok.AllArgsConstructor;
+import javax.validation.Valid;
+
+import org.springblade.core.mp.support.Condition;
+import org.springblade.core.mp.support.Query;
+import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.utils.Func;
+import org.springframework.web.bind.annotation.*;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.ldt.mall.entity.Mall;
+import org.springblade.ldt.mall.vo.MallVO;
+import org.springblade.ldt.mall.wrapper.MallWrapper;
+import org.springblade.ldt.mall.service.IMallService;
+import org.springblade.core.boot.ctrl.BladeController;
+
+/**
+ *  控制器
+ *
+ * @author BladeX
+ * @since 2021-08-24
+ */
+@RestController
+@AllArgsConstructor
+@RequestMapping("ldt_mall/mall")
+@Api(value = "", tags = "接口")
+public class MallController extends BladeController {
+
+	private final IMallService mallService;
+
+	/**
+	 * 详情
+	 */
+	@GetMapping("/detail")
+	@ApiOperationSupport(order = 1)
+	@ApiOperation(value = "详情", notes = "传入mall")
+	public R<MallVO> detail(Mall mall) {
+		Mall detail = mallService.getOne(Condition.getQueryWrapper(mall));
+		return R.data(MallWrapper.build().entityVO(detail));
+	}
+
+	/**
+	 * 分页 
+	 */
+	@GetMapping("/list")
+	@ApiOperationSupport(order = 2)
+	@ApiOperation(value = "分页", notes = "传入mall")
+	public R<IPage<MallVO>> list(Mall mall, Query query) {
+		IPage<Mall> pages = mallService.page(Condition.getPage(query), Condition.getQueryWrapper(mall));
+		return R.data(MallWrapper.build().pageVO(pages));
+	}
+
+
+	/**
+	 * 自定义分页 
+	 */
+	@GetMapping("/page")
+	@ApiOperationSupport(order = 3)
+	@ApiOperation(value = "分页", notes = "传入mall")
+	public R<IPage<MallVO>> page(MallVO mall, Query query) {
+		IPage<MallVO> pages = mallService.selectMallPage(Condition.getPage(query), mall);
+		return R.data(pages);
+	}
+
+	/**
+	 * 新增 
+	 */
+	@PostMapping("/save")
+	@ApiOperationSupport(order = 4)
+	@ApiOperation(value = "新增", notes = "传入mall")
+	public R save(@Valid @RequestBody Mall mall) {
+		return R.status(mallService.save(mall));
+	}
+
+	/**
+	 * 修改 
+	 */
+	@PostMapping("/update")
+	@ApiOperationSupport(order = 5)
+	@ApiOperation(value = "修改", notes = "传入mall")
+	public R update(@Valid @RequestBody Mall mall) {
+		return R.status(mallService.updateById(mall));
+	}
+
+	/**
+	 * 新增或修改 
+	 */
+	@PostMapping("/submit")
+	@ApiOperationSupport(order = 6)
+	@ApiOperation(value = "新增或修改", notes = "传入mall")
+	public R submit(@Valid @RequestBody Mall mall) {
+		return R.status(mallService.saveOrUpdate(mall));
+	}
+
+	
+	/**
+	 * 删除 
+	 */
+	@PostMapping("/remove")
+	@ApiOperationSupport(order = 8)
+	@ApiOperation(value = "删除", notes = "传入ids")
+	public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
+		return R.status(mallService.removeByIds(Func.toLongList(ids)));
+	}
+
+	
+}

+ 34 - 0
src/main/java/org/springblade/ldt/mall/dto/MallDTO.java

@@ -0,0 +1,34 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.ldt.mall.dto;
+
+import org.springblade.ldt.mall.entity.Mall;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 数据传输对象实体类
+ *
+ * @author BladeX
+ * @since 2021-08-24
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class MallDTO extends Mall {
+	private static final long serialVersionUID = 1L;
+
+}

+ 112 - 0
src/main/java/org/springblade/ldt/mall/entity/Mall.java

@@ -0,0 +1,112 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.ldt.mall.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.sql.Blob;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * 实体类
+ *
+ * @author BladeX
+ * @since 2021-08-24
+ */
+@Data
+@TableName("ldt_mall")
+@ApiModel(value = "Mall对象", description = "Mall对象")
+public class Mall implements Serializable {
+
+	private static final long serialVersionUID = 1L;
+
+	/**
+	* 商场id
+	*/
+		@ApiModelProperty(value = "商场id")
+		private Long id;
+	/**
+	* 商场名称
+	*/
+		@ApiModelProperty(value = "商场名称")
+		private String mallName;
+	/**
+	* 所在区域编码
+	*/
+		@ApiModelProperty(value = "所在区域编码")
+		private String locationCode;
+	/**
+	* 所在区域
+	*/
+		@ApiModelProperty(value = "所在区域")
+		private String location;
+	/**
+	* 负责人名称
+	*/
+		@ApiModelProperty(value = "负责人名称")
+		private String personName;
+	/**
+	* 负责人联系方式
+	*/
+		@ApiModelProperty(value = "负责人联系方式")
+		private String personTel;
+	/**
+	* 商城logo
+	*/
+		@ApiModelProperty(value = "商城logo")
+		private String logo;
+	/**
+	* 会员数量
+	*/
+		@ApiModelProperty(value = "会员数量")
+		private Integer memberNum;
+	/**
+	* 账户余额
+	*/
+		@ApiModelProperty(value = "账户余额")
+		private Double balance;
+	/**
+	* 积分兑率
+	*/
+		@ApiModelProperty(value = "积分兑率")
+		private Double pointRate;
+	/**
+	* 账期(天)
+	*/
+		@ApiModelProperty(value = "账期(天)")
+		private Integer billDelay;
+	/**
+	* 商场描述
+	*/
+		@ApiModelProperty(value = "商场描述")
+		private String intro;
+	/**
+	* 积分
+	*/
+		@ApiModelProperty(value = "积分")
+		private Double point;
+	/**
+	* 是否启用会员中心
+	*/
+		@ApiModelProperty(value = "是否启用会员中心")
+		private Blob useMember;
+
+
+}

+ 42 - 0
src/main/java/org/springblade/ldt/mall/mapper/MallMapper.java

@@ -0,0 +1,42 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.ldt.mall.mapper;
+
+import org.springblade.ldt.mall.entity.Mall;
+import org.springblade.ldt.mall.vo.MallVO;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import java.util.List;
+
+/**
+ *  Mapper 接口
+ *
+ * @author BladeX
+ * @since 2021-08-24
+ */
+public interface MallMapper extends BaseMapper<Mall> {
+
+	/**
+	 * 自定义分页
+	 *
+	 * @param page
+	 * @param mall
+	 * @return
+	 */
+	List<MallVO> selectMallPage(IPage page, MallVO mall);
+
+}

+ 28 - 0
src/main/java/org/springblade/ldt/mall/mapper/MallMapper.xml

@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.springblade.ldt.mall.mapper.MallMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="mallResultMap" type="org.springblade.ldt.mall.entity.Mall">
+        <id column="id" property="id"/>
+        <result column="mall_name" property="mallName"/>
+        <result column="location_code" property="locationCode"/>
+        <result column="location" property="location"/>
+        <result column="person_name" property="personName"/>
+        <result column="person_tel" property="personTel"/>
+        <result column="logo" property="logo"/>
+        <result column="member_num" property="memberNum"/>
+        <result column="balance" property="balance"/>
+        <result column="point_rate" property="pointRate"/>
+        <result column="bill_delay" property="billDelay"/>
+        <result column="intro" property="intro"/>
+        <result column="point" property="point"/>
+        <result column="use_member" property="useMember"/>
+    </resultMap>
+
+
+    <select id="selectMallPage" resultMap="mallResultMap">
+        select * from ldt_mall where is_deleted = 0
+    </select>
+
+</mapper>

+ 41 - 0
src/main/java/org/springblade/ldt/mall/service/IMallService.java

@@ -0,0 +1,41 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.ldt.mall.service;
+
+import org.springblade.ldt.mall.entity.Mall;
+import org.springblade.ldt.mall.vo.MallVO;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+
+/**
+ *  服务类
+ *
+ * @author BladeX
+ * @since 2021-08-24
+ */
+public interface IMallService extends IService<Mall> {
+
+	/**
+	 * 自定义分页
+	 *
+	 * @param page
+	 * @param mall
+	 * @return
+	 */
+	IPage<MallVO> selectMallPage(IPage<MallVO> page, MallVO mall);
+
+}

+ 41 - 0
src/main/java/org/springblade/ldt/mall/service/impl/MallServiceImpl.java

@@ -0,0 +1,41 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.ldt.mall.service.impl;
+
+import org.springblade.ldt.mall.entity.Mall;
+import org.springblade.ldt.mall.vo.MallVO;
+import org.springblade.ldt.mall.mapper.MallMapper;
+import org.springblade.ldt.mall.service.IMallService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+
+/**
+ *  服务实现类
+ *
+ * @author BladeX
+ * @since 2021-08-24
+ */
+@Service
+public class MallServiceImpl extends ServiceImpl<MallMapper, Mall> implements IMallService {
+
+	@Override
+	public IPage<MallVO> selectMallPage(IPage<MallVO> page, MallVO mall) {
+		return page.setRecords(baseMapper.selectMallPage(page, mall));
+	}
+
+}

+ 36 - 0
src/main/java/org/springblade/ldt/mall/vo/MallVO.java

@@ -0,0 +1,36 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.ldt.mall.vo;
+
+import org.springblade.ldt.mall.entity.Mall;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import io.swagger.annotations.ApiModel;
+
+/**
+ * 视图实体类
+ *
+ * @author BladeX
+ * @since 2021-08-24
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ApiModel(value = "MallVO对象", description = "MallVO对象")
+public class MallVO extends Mall {
+	private static final long serialVersionUID = 1L;
+
+}

+ 49 - 0
src/main/java/org/springblade/ldt/mall/wrapper/MallWrapper.java

@@ -0,0 +1,49 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.ldt.mall.wrapper;
+
+import org.springblade.core.mp.support.BaseEntityWrapper;
+import org.springblade.core.tool.utils.BeanUtil;
+import org.springblade.ldt.mall.entity.Mall;
+import org.springblade.ldt.mall.vo.MallVO;
+import java.util.Objects;
+
+/**
+ * 包装类,返回视图层所需的字段
+ *
+ * @author BladeX
+ * @since 2021-08-24
+ */
+public class MallWrapper extends BaseEntityWrapper<Mall, MallVO>  {
+
+	public static MallWrapper build() {
+		return new MallWrapper();
+ 	}
+
+	@Override
+	public MallVO entityVO(Mall mall) {
+		MallVO mallVO = Objects.requireNonNull(BeanUtil.copy(mall, MallVO.class));
+
+		//User createUser = UserCache.getUser(mall.getCreateUser());
+		//User updateUser = UserCache.getUser(mall.getUpdateUser());
+		//mallVO.setCreateUserName(createUser.getName());
+		//mallVO.setUpdateUserName(updateUser.getName());
+
+		return mallVO;
+	}
+
+}

+ 128 - 0
src/main/java/org/springblade/ldt/platform/controller/PlatformSettingController.java

@@ -0,0 +1,128 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.ldt.platform.controller;
+
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
+import lombok.AllArgsConstructor;
+import javax.validation.Valid;
+
+import org.springblade.core.mp.support.Condition;
+import org.springblade.core.mp.support.Query;
+import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.utils.Func;
+import org.springframework.web.bind.annotation.*;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.ldt.platform.entity.PlatformSetting;
+import org.springblade.ldt.platform.vo.PlatformSettingVO;
+import org.springblade.ldt.platform.wrapper.PlatformSettingWrapper;
+import org.springblade.ldt.platform.service.IPlatformSettingService;
+import org.springblade.core.boot.ctrl.BladeController;
+
+/**
+ *  控制器
+ *
+ * @author BladeX
+ * @since 2021-08-24
+ */
+@RestController
+@AllArgsConstructor
+@RequestMapping("ldt_platform/platformsetting")
+@Api(value = "", tags = "接口")
+public class PlatformSettingController extends BladeController {
+
+	private final IPlatformSettingService platformSettingService;
+
+	/**
+	 * 详情
+	 */
+	@GetMapping("/detail")
+	@ApiOperationSupport(order = 1)
+	@ApiOperation(value = "详情", notes = "传入platformSetting")
+	public R<PlatformSettingVO> detail(PlatformSetting platformSetting) {
+		PlatformSetting detail = platformSettingService.getOne(Condition.getQueryWrapper(platformSetting));
+		return R.data(PlatformSettingWrapper.build().entityVO(detail));
+	}
+
+	/**
+	 * 分页 
+	 */
+	@GetMapping("/list")
+	@ApiOperationSupport(order = 2)
+	@ApiOperation(value = "分页", notes = "传入platformSetting")
+	public R<IPage<PlatformSettingVO>> list(PlatformSetting platformSetting, Query query) {
+		IPage<PlatformSetting> pages = platformSettingService.page(Condition.getPage(query), Condition.getQueryWrapper(platformSetting));
+		return R.data(PlatformSettingWrapper.build().pageVO(pages));
+	}
+
+
+	/**
+	 * 自定义分页 
+	 */
+	@GetMapping("/page")
+	@ApiOperationSupport(order = 3)
+	@ApiOperation(value = "分页", notes = "传入platformSetting")
+	public R<IPage<PlatformSettingVO>> page(PlatformSettingVO platformSetting, Query query) {
+		IPage<PlatformSettingVO> pages = platformSettingService.selectPlatformSettingPage(Condition.getPage(query), platformSetting);
+		return R.data(pages);
+	}
+
+	/**
+	 * 新增 
+	 */
+	@PostMapping("/save")
+	@ApiOperationSupport(order = 4)
+	@ApiOperation(value = "新增", notes = "传入platformSetting")
+	public R save(@Valid @RequestBody PlatformSetting platformSetting) {
+		return R.status(platformSettingService.save(platformSetting));
+	}
+
+	/**
+	 * 修改 
+	 */
+	@PostMapping("/update")
+	@ApiOperationSupport(order = 5)
+	@ApiOperation(value = "修改", notes = "传入platformSetting")
+	public R update(@Valid @RequestBody PlatformSetting platformSetting) {
+		return R.status(platformSettingService.updateById(platformSetting));
+	}
+
+	/**
+	 * 新增或修改 
+	 */
+	@PostMapping("/submit")
+	@ApiOperationSupport(order = 6)
+	@ApiOperation(value = "新增或修改", notes = "传入platformSetting")
+	public R submit(@Valid @RequestBody PlatformSetting platformSetting) {
+		return R.status(platformSettingService.saveOrUpdate(platformSetting));
+	}
+
+	
+	/**
+	 * 删除 
+	 */
+	@PostMapping("/remove")
+	@ApiOperationSupport(order = 8)
+	@ApiOperation(value = "删除", notes = "传入ids")
+	public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
+		return R.status(platformSettingService.removeByIds(Func.toLongList(ids)));
+	}
+
+	
+}

+ 34 - 0
src/main/java/org/springblade/ldt/platform/dto/PlatformSettingDTO.java

@@ -0,0 +1,34 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.ldt.platform.dto;
+
+import org.springblade.ldt.platform.entity.PlatformSetting;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 数据传输对象实体类
+ *
+ * @author BladeX
+ * @since 2021-08-24
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class PlatformSettingDTO extends PlatformSetting {
+	private static final long serialVersionUID = 1L;
+
+}

+ 56 - 0
src/main/java/org/springblade/ldt/platform/entity/PlatformSetting.java

@@ -0,0 +1,56 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.ldt.platform.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * 实体类
+ *
+ * @author BladeX
+ * @since 2021-08-24
+ */
+@Data
+@TableName("ldt_platform_setting")
+@ApiModel(value = "PlatformSetting对象", description = "PlatformSetting对象")
+public class PlatformSetting implements Serializable {
+
+	private static final long serialVersionUID = 1L;
+
+	/**
+	* 设置项ID
+	*/
+		@ApiModelProperty(value = "设置项ID")
+		private Long id;
+	/**
+	* 设置项key
+	*/
+		@ApiModelProperty(value = "设置项key")
+		private String settingKey;
+	/**
+	* 设置项值
+	*/
+		@ApiModelProperty(value = "设置项值")
+		private String settingValue;
+
+
+}

+ 42 - 0
src/main/java/org/springblade/ldt/platform/mapper/PlatformSettingMapper.java

@@ -0,0 +1,42 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.ldt.platform.mapper;
+
+import org.springblade.ldt.platform.entity.PlatformSetting;
+import org.springblade.ldt.platform.vo.PlatformSettingVO;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import java.util.List;
+
+/**
+ *  Mapper 接口
+ *
+ * @author BladeX
+ * @since 2021-08-24
+ */
+public interface PlatformSettingMapper extends BaseMapper<PlatformSetting> {
+
+	/**
+	 * 自定义分页
+	 *
+	 * @param page
+	 * @param platformSetting
+	 * @return
+	 */
+	List<PlatformSettingVO> selectPlatformSettingPage(IPage page, PlatformSettingVO platformSetting);
+
+}

+ 17 - 0
src/main/java/org/springblade/ldt/platform/mapper/PlatformSettingMapper.xml

@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.springblade.ldt.platform.mapper.PlatformSettingMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="platformSettingResultMap" type="org.springblade.ldt.platform.entity.PlatformSetting">
+        <id column="id" property="id"/>
+        <result column="setting_key" property="settingKey"/>
+        <result column="setting_value" property="settingValue"/>
+    </resultMap>
+
+
+    <select id="selectPlatformSettingPage" resultMap="platformSettingResultMap">
+        select * from ldt_platform_setting where is_deleted = 0
+    </select>
+
+</mapper>

+ 41 - 0
src/main/java/org/springblade/ldt/platform/service/IPlatformSettingService.java

@@ -0,0 +1,41 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.ldt.platform.service;
+
+import org.springblade.ldt.platform.entity.PlatformSetting;
+import org.springblade.ldt.platform.vo.PlatformSettingVO;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+
+/**
+ *  服务类
+ *
+ * @author BladeX
+ * @since 2021-08-24
+ */
+public interface IPlatformSettingService extends IService<PlatformSetting> {
+
+	/**
+	 * 自定义分页
+	 *
+	 * @param page
+	 * @param platformSetting
+	 * @return
+	 */
+	IPage<PlatformSettingVO> selectPlatformSettingPage(IPage<PlatformSettingVO> page, PlatformSettingVO platformSetting);
+
+}

+ 41 - 0
src/main/java/org/springblade/ldt/platform/service/impl/PlatformSettingServiceImpl.java

@@ -0,0 +1,41 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.ldt.platform.service.impl;
+
+import org.springblade.ldt.platform.entity.PlatformSetting;
+import org.springblade.ldt.platform.vo.PlatformSettingVO;
+import org.springblade.ldt.platform.mapper.PlatformSettingMapper;
+import org.springblade.ldt.platform.service.IPlatformSettingService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+
+/**
+ *  服务实现类
+ *
+ * @author BladeX
+ * @since 2021-08-24
+ */
+@Service
+public class PlatformSettingServiceImpl extends ServiceImpl<PlatformSettingMapper, PlatformSetting> implements IPlatformSettingService {
+
+	@Override
+	public IPage<PlatformSettingVO> selectPlatformSettingPage(IPage<PlatformSettingVO> page, PlatformSettingVO platformSetting) {
+		return page.setRecords(baseMapper.selectPlatformSettingPage(page, platformSetting));
+	}
+
+}

+ 36 - 0
src/main/java/org/springblade/ldt/platform/vo/PlatformSettingVO.java

@@ -0,0 +1,36 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.ldt.platform.vo;
+
+import org.springblade.ldt.platform.entity.PlatformSetting;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import io.swagger.annotations.ApiModel;
+
+/**
+ * 视图实体类
+ *
+ * @author BladeX
+ * @since 2021-08-24
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ApiModel(value = "PlatformSettingVO对象", description = "PlatformSettingVO对象")
+public class PlatformSettingVO extends PlatformSetting {
+	private static final long serialVersionUID = 1L;
+
+}

+ 49 - 0
src/main/java/org/springblade/ldt/platform/wrapper/PlatformSettingWrapper.java

@@ -0,0 +1,49 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.ldt.platform.wrapper;
+
+import org.springblade.core.mp.support.BaseEntityWrapper;
+import org.springblade.core.tool.utils.BeanUtil;
+import org.springblade.ldt.platform.entity.PlatformSetting;
+import org.springblade.ldt.platform.vo.PlatformSettingVO;
+import java.util.Objects;
+
+/**
+ * 包装类,返回视图层所需的字段
+ *
+ * @author BladeX
+ * @since 2021-08-24
+ */
+public class PlatformSettingWrapper extends BaseEntityWrapper<PlatformSetting, PlatformSettingVO>  {
+
+	public static PlatformSettingWrapper build() {
+		return new PlatformSettingWrapper();
+ 	}
+
+	@Override
+	public PlatformSettingVO entityVO(PlatformSetting platformSetting) {
+		PlatformSettingVO platformSettingVO = Objects.requireNonNull(BeanUtil.copy(platformSetting, PlatformSettingVO.class));
+
+		//User createUser = UserCache.getUser(platformSetting.getCreateUser());
+		//User updateUser = UserCache.getUser(platformSetting.getUpdateUser());
+		//platformSettingVO.setCreateUserName(createUser.getName());
+		//platformSettingVO.setUpdateUserName(updateUser.getName());
+
+		return platformSettingVO;
+	}
+
+}

+ 128 - 0
src/main/java/org/springblade/ldt/shop/controller/AuditController.java

@@ -0,0 +1,128 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.ldt.shop.controller;
+
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
+import lombok.AllArgsConstructor;
+import javax.validation.Valid;
+
+import org.springblade.core.mp.support.Condition;
+import org.springblade.core.mp.support.Query;
+import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.utils.Func;
+import org.springframework.web.bind.annotation.*;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.ldt.shop.entity.Audit;
+import org.springblade.ldt.shop.vo.AuditVO;
+import org.springblade.ldt.shop.wrapper.AuditWrapper;
+import org.springblade.ldt.shop.service.IAuditService;
+import org.springblade.core.boot.ctrl.BladeController;
+
+/**
+ *  控制器
+ *
+ * @author BladeX
+ * @since 2021-08-24
+ */
+@RestController
+@AllArgsConstructor
+@RequestMapping("ldt_shop/audit")
+@Api(value = "", tags = "接口")
+public class AuditController extends BladeController {
+
+	private final IAuditService auditService;
+
+	/**
+	 * 详情
+	 */
+	@GetMapping("/detail")
+	@ApiOperationSupport(order = 1)
+	@ApiOperation(value = "详情", notes = "传入audit")
+	public R<AuditVO> detail(Audit audit) {
+		Audit detail = auditService.getOne(Condition.getQueryWrapper(audit));
+		return R.data(AuditWrapper.build().entityVO(detail));
+	}
+
+	/**
+	 * 分页 
+	 */
+	@GetMapping("/list")
+	@ApiOperationSupport(order = 2)
+	@ApiOperation(value = "分页", notes = "传入audit")
+	public R<IPage<AuditVO>> list(Audit audit, Query query) {
+		IPage<Audit> pages = auditService.page(Condition.getPage(query), Condition.getQueryWrapper(audit));
+		return R.data(AuditWrapper.build().pageVO(pages));
+	}
+
+
+	/**
+	 * 自定义分页 
+	 */
+	@GetMapping("/page")
+	@ApiOperationSupport(order = 3)
+	@ApiOperation(value = "分页", notes = "传入audit")
+	public R<IPage<AuditVO>> page(AuditVO audit, Query query) {
+		IPage<AuditVO> pages = auditService.selectAuditPage(Condition.getPage(query), audit);
+		return R.data(pages);
+	}
+
+	/**
+	 * 新增 
+	 */
+	@PostMapping("/save")
+	@ApiOperationSupport(order = 4)
+	@ApiOperation(value = "新增", notes = "传入audit")
+	public R save(@Valid @RequestBody Audit audit) {
+		return R.status(auditService.save(audit));
+	}
+
+	/**
+	 * 修改 
+	 */
+	@PostMapping("/update")
+	@ApiOperationSupport(order = 5)
+	@ApiOperation(value = "修改", notes = "传入audit")
+	public R update(@Valid @RequestBody Audit audit) {
+		return R.status(auditService.updateById(audit));
+	}
+
+	/**
+	 * 新增或修改 
+	 */
+	@PostMapping("/submit")
+	@ApiOperationSupport(order = 6)
+	@ApiOperation(value = "新增或修改", notes = "传入audit")
+	public R submit(@Valid @RequestBody Audit audit) {
+		return R.status(auditService.saveOrUpdate(audit));
+	}
+
+	
+	/**
+	 * 删除 
+	 */
+	@PostMapping("/remove")
+	@ApiOperationSupport(order = 8)
+	@ApiOperation(value = "删除", notes = "传入ids")
+	public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
+		return R.status(auditService.removeByIds(Func.toLongList(ids)));
+	}
+
+	
+}

+ 128 - 0
src/main/java/org/springblade/ldt/shop/controller/ShopController.java

@@ -0,0 +1,128 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.ldt.shop.controller;
+
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
+import lombok.AllArgsConstructor;
+import javax.validation.Valid;
+
+import org.springblade.core.mp.support.Condition;
+import org.springblade.core.mp.support.Query;
+import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.utils.Func;
+import org.springframework.web.bind.annotation.*;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.ldt.shop.entity.Shop;
+import org.springblade.ldt.shop.vo.ShopVO;
+import org.springblade.ldt.shop.wrapper.ShopWrapper;
+import org.springblade.ldt.shop.service.IShopService;
+import org.springblade.core.boot.ctrl.BladeController;
+
+/**
+ *  控制器
+ *
+ * @author BladeX
+ * @since 2021-08-24
+ */
+@RestController
+@AllArgsConstructor
+@RequestMapping("ldt_shop/shop")
+@Api(value = "", tags = "接口")
+public class ShopController extends BladeController {
+
+	private final IShopService shopService;
+
+	/**
+	 * 详情
+	 */
+	@GetMapping("/detail")
+	@ApiOperationSupport(order = 1)
+	@ApiOperation(value = "详情", notes = "传入shop")
+	public R<ShopVO> detail(Shop shop) {
+		Shop detail = shopService.getOne(Condition.getQueryWrapper(shop));
+		return R.data(ShopWrapper.build().entityVO(detail));
+	}
+
+	/**
+	 * 分页 
+	 */
+	@GetMapping("/list")
+	@ApiOperationSupport(order = 2)
+	@ApiOperation(value = "分页", notes = "传入shop")
+	public R<IPage<ShopVO>> list(Shop shop, Query query) {
+		IPage<Shop> pages = shopService.page(Condition.getPage(query), Condition.getQueryWrapper(shop));
+		return R.data(ShopWrapper.build().pageVO(pages));
+	}
+
+
+	/**
+	 * 自定义分页 
+	 */
+	@GetMapping("/page")
+	@ApiOperationSupport(order = 3)
+	@ApiOperation(value = "分页", notes = "传入shop")
+	public R<IPage<ShopVO>> page(ShopVO shop, Query query) {
+		IPage<ShopVO> pages = shopService.selectShopPage(Condition.getPage(query), shop);
+		return R.data(pages);
+	}
+
+	/**
+	 * 新增 
+	 */
+	@PostMapping("/save")
+	@ApiOperationSupport(order = 4)
+	@ApiOperation(value = "新增", notes = "传入shop")
+	public R save(@Valid @RequestBody Shop shop) {
+		return R.status(shopService.save(shop));
+	}
+
+	/**
+	 * 修改 
+	 */
+	@PostMapping("/update")
+	@ApiOperationSupport(order = 5)
+	@ApiOperation(value = "修改", notes = "传入shop")
+	public R update(@Valid @RequestBody Shop shop) {
+		return R.status(shopService.updateById(shop));
+	}
+
+	/**
+	 * 新增或修改 
+	 */
+	@PostMapping("/submit")
+	@ApiOperationSupport(order = 6)
+	@ApiOperation(value = "新增或修改", notes = "传入shop")
+	public R submit(@Valid @RequestBody Shop shop) {
+		return R.status(shopService.saveOrUpdate(shop));
+	}
+
+	
+	/**
+	 * 删除 
+	 */
+	@PostMapping("/remove")
+	@ApiOperationSupport(order = 8)
+	@ApiOperation(value = "删除", notes = "传入ids")
+	public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
+		return R.status(shopService.removeByIds(Func.toLongList(ids)));
+	}
+
+	
+}

+ 34 - 0
src/main/java/org/springblade/ldt/shop/dto/AuditDTO.java

@@ -0,0 +1,34 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.ldt.shop.dto;
+
+import org.springblade.ldt.shop.entity.Audit;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 数据传输对象实体类
+ *
+ * @author BladeX
+ * @since 2021-08-24
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class AuditDTO extends Audit {
+	private static final long serialVersionUID = 1L;
+
+}

+ 34 - 0
src/main/java/org/springblade/ldt/shop/dto/ShopDTO.java

@@ -0,0 +1,34 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.ldt.shop.dto;
+
+import org.springblade.ldt.shop.entity.Shop;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 数据传输对象实体类
+ *
+ * @author BladeX
+ * @since 2021-08-24
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class ShopDTO extends Shop {
+	private static final long serialVersionUID = 1L;
+
+}

+ 81 - 0
src/main/java/org/springblade/ldt/shop/entity/Audit.java

@@ -0,0 +1,81 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.ldt.shop.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * 实体类
+ *
+ * @author BladeX
+ * @since 2021-08-24
+ */
+@Data
+@TableName("ldt_audit")
+@ApiModel(value = "Audit对象", description = "Audit对象")
+public class Audit implements Serializable {
+
+	private static final long serialVersionUID = 1L;
+
+	/**
+	* 审核数据id
+	*/
+		@ApiModelProperty(value = "审核数据id")
+		private Long id;
+	/**
+	* 身份证-正面
+	*/
+		@ApiModelProperty(value = "身份证-正面")
+		private String idcard1;
+	/**
+	* 身份证-反面
+	*/
+		@ApiModelProperty(value = "身份证-反面")
+		private String idcard2;
+	/**
+	* 主体信息
+	*/
+		@ApiModelProperty(value = "主体信息")
+		private String entity;
+	/**
+	* 法人姓名
+	*/
+		@ApiModelProperty(value = "法人姓名")
+		private String legalPerson;
+	/**
+	* 具体地址
+	*/
+		@ApiModelProperty(value = "具体地址")
+		private String address;
+	/**
+	* 公司网址
+	*/
+		@ApiModelProperty(value = "公司网址")
+		private String webUrl;
+	/**
+	* 营业执照
+	*/
+		@ApiModelProperty(value = "营业执照")
+		private String businessLicense;
+
+
+}

+ 183 - 0
src/main/java/org/springblade/ldt/shop/entity/Shop.java

@@ -0,0 +1,183 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.ldt.shop.entity;
+
+import java.math.BigDecimal;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.sql.Blob;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * 实体类
+ *
+ * @author BladeX
+ * @since 2021-08-24
+ */
+@Data
+@TableName("ldt_shop")
+@ApiModel(value = "Shop对象", description = "Shop对象")
+public class Shop implements Serializable {
+
+	private static final long serialVersionUID = 1L;
+
+	/**
+	* 商户id
+	*/
+		@ApiModelProperty(value = "商户id")
+		private Long id;
+	/**
+	* 代理人
+	*/
+		@ApiModelProperty(value = "代理人")
+		private Long agenter;
+	/**
+	* 商场id
+	*/
+		@ApiModelProperty(value = "商场id")
+		private Long mallId;
+	/**
+	* 负责人
+	*/
+		@ApiModelProperty(value = "负责人")
+		private String personName;
+	/**
+	* 联系方式
+	*/
+		@ApiModelProperty(value = "联系方式")
+		private String tel;
+	/**
+	* 区域编码
+	*/
+		@ApiModelProperty(value = "区域编码")
+		private String locationCode;
+	/**
+	* 区域
+	*/
+		@ApiModelProperty(value = "区域")
+		private String location;
+	/**
+	* 商户封面
+	*/
+		@ApiModelProperty(value = "商户封面")
+		private String poster;
+	/**
+	* 商户名称
+	*/
+		@ApiModelProperty(value = "商户名称")
+		private String name;
+	/**
+	* 商户logo
+	*/
+		@ApiModelProperty(value = "商户logo")
+		private String logo;
+	/**
+	* 商户标签
+	*/
+		@ApiModelProperty(value = "商户标签")
+		private String label;
+	/**
+	* 商户标签key
+	*/
+		@ApiModelProperty(value = "商户标签key")
+		private String labelKey;
+	/**
+	* 销量
+	*/
+		@ApiModelProperty(value = "销量")
+		private Integer tradeNum;
+	/**
+	* 店铺图片
+	*/
+		@ApiModelProperty(value = "店铺图片")
+		private String imgList;
+	/**
+	* 积分兑率
+	*/
+		@ApiModelProperty(value = "积分兑率")
+		private Double pointRate;
+	/**
+	* 积分
+	*/
+		@ApiModelProperty(value = "积分")
+		private BigDecimal point;
+	/**
+	* 账户余额
+	*/
+		@ApiModelProperty(value = "账户余额")
+		private BigDecimal balance;
+	/**
+	* 提现密码
+	*/
+		@ApiModelProperty(value = "提现密码")
+		private String secret;
+	/**
+	* 是否启用会员中心
+	*/
+		@ApiModelProperty(value = "是否启用会员中心")
+		private Blob useMember;
+	/**
+	* 邮箱
+	*/
+		@ApiModelProperty(value = "邮箱")
+		private String email;
+	/**
+	* 总价值
+	*/
+		@ApiModelProperty(value = "总价值")
+		private BigDecimal totalValue;
+	/**
+	* 可提现金额
+	*/
+		@ApiModelProperty(value = "可提现金额")
+		private BigDecimal withdrawTotalPrice;
+	/**
+	* 会员数量
+	*/
+		@ApiModelProperty(value = "会员数量")
+		private Integer memberNum;
+	/**
+	* 审核数据id
+	*/
+		@ApiModelProperty(value = "审核数据id")
+		private Long shopAuditId;
+	/**
+	* 标语,逗号分割
+	*/
+		@ApiModelProperty(value = "标语,逗号分割")
+		private String slogan;
+	/**
+	* 审核状态
+	*/
+		@ApiModelProperty(value = "审核状态")
+		private String auditStatus;
+	/**
+	* 审核意见
+	*/
+		@ApiModelProperty(value = "审核意见")
+		private String audit-comment;
+	/**
+	* 账单应收
+	*/
+		@ApiModelProperty(value = "账单应收")
+		private BigDecimal charge;
+
+
+}

+ 42 - 0
src/main/java/org/springblade/ldt/shop/mapper/AuditMapper.java

@@ -0,0 +1,42 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.ldt.shop.mapper;
+
+import org.springblade.ldt.shop.entity.Audit;
+import org.springblade.ldt.shop.vo.AuditVO;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import java.util.List;
+
+/**
+ *  Mapper 接口
+ *
+ * @author BladeX
+ * @since 2021-08-24
+ */
+public interface AuditMapper extends BaseMapper<Audit> {
+
+	/**
+	 * 自定义分页
+	 *
+	 * @param page
+	 * @param audit
+	 * @return
+	 */
+	List<AuditVO> selectAuditPage(IPage page, AuditVO audit);
+
+}

+ 22 - 0
src/main/java/org/springblade/ldt/shop/mapper/AuditMapper.xml

@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.springblade.ldt.shop.mapper.AuditMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="auditResultMap" type="org.springblade.ldt.shop.entity.Audit">
+        <id column="id" property="id"/>
+        <result column="idcard_1" property="idcard1"/>
+        <result column="idcard_2" property="idcard2"/>
+        <result column="entity" property="entity"/>
+        <result column="legal_person" property="legalPerson"/>
+        <result column="address" property="address"/>
+        <result column="web_url" property="webUrl"/>
+        <result column="business_license" property="businessLicense"/>
+    </resultMap>
+
+
+    <select id="selectAuditPage" resultMap="auditResultMap">
+        select * from ldt_audit where is_deleted = 0
+    </select>
+
+</mapper>

+ 42 - 0
src/main/java/org/springblade/ldt/shop/mapper/ShopMapper.java

@@ -0,0 +1,42 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.ldt.shop.mapper;
+
+import org.springblade.ldt.shop.entity.Shop;
+import org.springblade.ldt.shop.vo.ShopVO;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import java.util.List;
+
+/**
+ *  Mapper 接口
+ *
+ * @author BladeX
+ * @since 2021-08-24
+ */
+public interface ShopMapper extends BaseMapper<Shop> {
+
+	/**
+	 * 自定义分页
+	 *
+	 * @param page
+	 * @param shop
+	 * @return
+	 */
+	List<ShopVO> selectShopPage(IPage page, ShopVO shop);
+
+}

+ 42 - 0
src/main/java/org/springblade/ldt/shop/mapper/ShopMapper.xml

@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.springblade.ldt.shop.mapper.ShopMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="shopResultMap" type="org.springblade.ldt.shop.entity.Shop">
+        <id column="id" property="id"/>
+        <result column="agenter" property="agenter"/>
+        <result column="mall_id" property="mallId"/>
+        <result column="person_name" property="personName"/>
+        <result column="tel" property="tel"/>
+        <result column="location_code" property="locationCode"/>
+        <result column="location" property="location"/>
+        <result column="poster" property="poster"/>
+        <result column="name" property="name"/>
+        <result column="logo" property="logo"/>
+        <result column="label" property="label"/>
+        <result column="label_key" property="labelKey"/>
+        <result column="trade_num" property="tradeNum"/>
+        <result column="img_list" property="imgList"/>
+        <result column="point_rate" property="pointRate"/>
+        <result column="point" property="point"/>
+        <result column="balance" property="balance"/>
+        <result column="secret" property="secret"/>
+        <result column="use_member" property="useMember"/>
+        <result column="email" property="email"/>
+        <result column="total_value" property="totalValue"/>
+        <result column="withdraw_total_price" property="withdrawTotalPrice"/>
+        <result column="member_num" property="memberNum"/>
+        <result column="shop_audit_id" property="shopAuditId"/>
+        <result column="slogan" property="slogan"/>
+        <result column="audit_status" property="auditStatus"/>
+        <result column="audit-comment" property="audit-comment"/>
+        <result column="charge" property="charge"/>
+    </resultMap>
+
+
+    <select id="selectShopPage" resultMap="shopResultMap">
+        select * from ldt_shop where is_deleted = 0
+    </select>
+
+</mapper>

+ 41 - 0
src/main/java/org/springblade/ldt/shop/service/IAuditService.java

@@ -0,0 +1,41 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.ldt.shop.service;
+
+import org.springblade.ldt.shop.entity.Audit;
+import org.springblade.ldt.shop.vo.AuditVO;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+
+/**
+ *  服务类
+ *
+ * @author BladeX
+ * @since 2021-08-24
+ */
+public interface IAuditService extends IService<Audit> {
+
+	/**
+	 * 自定义分页
+	 *
+	 * @param page
+	 * @param audit
+	 * @return
+	 */
+	IPage<AuditVO> selectAuditPage(IPage<AuditVO> page, AuditVO audit);
+
+}

Einige Dateien werden nicht angezeigt, da zu viele Dateien in diesem Diff geändert wurden.