wangtao01 2 年之前
父节点
当前提交
e21c916b06
共有 100 个文件被更改,包括 2823 次插入2296 次删除
  1. 7 0
      tour-common/pom.xml
  2. 14 0
      tour-common/src/main/java/com/tour/common/annotation/BindAgent.java
  3. 12 2
      tour-common/src/main/java/com/tour/common/core/domain/entity/SysUser.java
  4. 5 0
      tour-common/src/main/java/com/tour/common/core/redis/RedisCache.java
  5. 166 0
      tour-common/src/main/java/com/tour/common/utils/PingyingUtil.java
  6. 2 3
      tour-core/src/main/java/com/tour/system/controller/common/CommonController.java
  7. 24 22
      tour-core/src/main/java/com/tour/system/controller/system/SysProfileController.java
  8. 6 0
      tour-module/pom.xml
  9. 74 7
      tour-module/src/main/java/com/tour/module/domain/Agent.java
  10. 10 0
      tour-module/src/main/java/com/tour/module/domain/AgentWithdrawal.java
  11. 5 3
      tour-module/src/main/java/com/tour/module/domain/Line.java
  12. 94 0
      tour-module/src/main/java/com/tour/module/domain/MakeCard.java
  13. 71 0
      tour-module/src/main/java/com/tour/module/domain/MakeCardAllocation.java
  14. 34 0
      tour-module/src/main/java/com/tour/module/domain/Region.java
  15. 0 86
      tour-module/src/main/java/com/tour/module/domain/dto/AddressUpdateDto.java
  16. 0 80
      tour-module/src/main/java/com/tour/module/domain/dto/ArtWorkSearchDto.java
  17. 0 37
      tour-module/src/main/java/com/tour/module/domain/dto/AuthDto.java
  18. 0 26
      tour-module/src/main/java/com/tour/module/domain/dto/CheckOrderDto.java
  19. 0 14
      tour-module/src/main/java/com/tour/module/domain/dto/CirculationDto.java
  20. 0 79
      tour-module/src/main/java/com/tour/module/domain/dto/MemberAddressDTO.java
  21. 0 24
      tour-module/src/main/java/com/tour/module/domain/dto/MemberCarDto.java
  22. 0 23
      tour-module/src/main/java/com/tour/module/domain/dto/MemberCollectDto.java
  23. 0 129
      tour-module/src/main/java/com/tour/module/domain/dto/MemberDTO.java
  24. 0 31
      tour-module/src/main/java/com/tour/module/domain/dto/OrderDto.java
  25. 26 0
      tour-module/src/main/java/com/tour/module/domain/dto/RegionDto.java
  26. 0 35
      tour-module/src/main/java/com/tour/module/domain/dto/WebOrderDTO.java
  27. 0 28
      tour-module/src/main/java/com/tour/module/domain/dto/WebWorkDto.java
  28. 0 114
      tour-module/src/main/java/com/tour/module/domain/dto/WorkAgencyDto.java
  29. 5 0
      tour-module/src/main/java/com/tour/module/mapper/AgentMapper.java
  30. 14 0
      tour-module/src/main/java/com/tour/module/mapper/MakeCardAllocationMapper.java
  31. 17 0
      tour-module/src/main/java/com/tour/module/mapper/MakeCardMapper.java
  32. 2 0
      tour-module/src/main/java/com/tour/module/mapper/OrderCommissonMapper.java
  33. 13 0
      tour-module/src/main/java/com/tour/module/mapper/RegionMapper.java
  34. 0 105
      tour-module/src/main/java/com/tour/module/request/ArtistRequest.java
  35. 107 0
      tour-module/src/main/java/com/tour/module/request/LineRequet.java
  36. 0 58
      tour-module/src/main/java/com/tour/module/request/NewsCategoryRequest.java
  37. 0 24
      tour-module/src/main/java/com/tour/module/request/TopicRequest.java
  38. 0 86
      tour-module/src/main/java/com/tour/module/request/WorkRequest.java
  39. 89 1
      tour-module/src/main/java/com/tour/module/service/IAgentService.java
  40. 3 0
      tour-module/src/main/java/com/tour/module/service/IAgentWithdrawalService.java
  41. 5 1
      tour-module/src/main/java/com/tour/module/service/ILineService.java
  42. 21 0
      tour-module/src/main/java/com/tour/module/service/IMakeCardAllocationService.java
  43. 25 0
      tour-module/src/main/java/com/tour/module/service/IMakeCardService.java
  44. 1 0
      tour-module/src/main/java/com/tour/module/service/IOrderCommissonService.java
  45. 23 0
      tour-module/src/main/java/com/tour/module/service/IRegionService.java
  46. 293 18
      tour-module/src/main/java/com/tour/module/service/impl/AgentServiceImpl.java
  47. 54 1
      tour-module/src/main/java/com/tour/module/service/impl/AgentWithdrawalServiceImpl.java
  48. 115 5
      tour-module/src/main/java/com/tour/module/service/impl/LineServiceImpl.java
  49. 36 0
      tour-module/src/main/java/com/tour/module/service/impl/MakeCardAllocationServiceImpl.java
  50. 62 0
      tour-module/src/main/java/com/tour/module/service/impl/MakeCardServiceImpl.java
  51. 14 0
      tour-module/src/main/java/com/tour/module/service/impl/OrderCommissonServiceImpl.java
  52. 131 0
      tour-module/src/main/java/com/tour/module/service/impl/RegionServiceImpl.java
  53. 0 60
      tour-module/src/main/java/com/tour/module/vo/ArtWordListVo.java
  54. 0 20
      tour-module/src/main/java/com/tour/module/vo/CirculationVO.java
  55. 0 40
      tour-module/src/main/java/com/tour/module/vo/CollectVo.java
  56. 6 5
      tour-module/src/main/java/com/tour/module/vo/LineVo.java
  57. 53 0
      tour-module/src/main/java/com/tour/module/vo/MakeCardVo.java
  58. 0 22
      tour-module/src/main/java/com/tour/module/vo/MemberCarVo.java
  59. 0 50
      tour-module/src/main/java/com/tour/module/vo/NewsCategoryVo.java
  60. 26 6
      tour-module/src/main/java/com/tour/module/vo/OrderCommissonVo.java
  61. 0 108
      tour-module/src/main/java/com/tour/module/vo/WebArtistVo.java
  62. 0 13
      tour-module/src/main/java/com/tour/module/vo/WebAttributionExtOptionVo.java
  63. 0 21
      tour-module/src/main/java/com/tour/module/vo/WebAttributionExtVo.java
  64. 0 13
      tour-module/src/main/java/com/tour/module/vo/WebAttributionValueExtVo.java
  65. 0 13
      tour-module/src/main/java/com/tour/module/vo/WebAttributionValueVo.java
  66. 0 17
      tour-module/src/main/java/com/tour/module/vo/WebAttributionVo.java
  67. 0 55
      tour-module/src/main/java/com/tour/module/vo/WebCollectVo.java
  68. 0 127
      tour-module/src/main/java/com/tour/module/vo/WebMemberVo.java
  69. 0 58
      tour-module/src/main/java/com/tour/module/vo/WebNewsCategoryVo.java
  70. 0 20
      tour-module/src/main/java/com/tour/module/vo/WebTopicSkipVo.java
  71. 0 48
      tour-module/src/main/java/com/tour/module/vo/WebTopicVo.java
  72. 0 64
      tour-module/src/main/java/com/tour/module/vo/WebWorkVo.java
  73. 0 114
      tour-module/src/main/java/com/tour/module/vo/WorkAgencyVo.java
  74. 0 189
      tour-module/src/main/java/com/tour/module/vo/WorkDetailVo.java
  75. 0 92
      tour-module/src/main/java/com/tour/module/vo/WorkExcel.java
  76. 0 28
      tour-module/src/main/java/com/tour/module/vo/WorkSizeVo.java
  77. 0 29
      tour-module/src/main/java/com/tour/module/vo/WorkVo.java
  78. 13 1
      tour-module/src/main/resources/mapper/module/AgentMapper.xml
  79. 29 0
      tour-module/src/main/resources/mapper/module/MakeCardMapper.xml
  80. 17 0
      tour-module/src/main/resources/mapper/module/MarkCardAllocationMapper.xml
  81. 24 0
      tour-module/src/main/resources/mapper/module/OrderCommissonMapper.xml
  82. 7 0
      tour-module/src/main/resources/mapper/module/RegionMapper.xml
  83. 28 0
      tour-oms/src/main/java/com/tour/web/config/WebMvcConfig.java
  84. 64 0
      tour-oms/src/main/java/com/tour/web/controller/AgentCommissonController.java
  85. 219 0
      tour-oms/src/main/java/com/tour/web/controller/AgentController.java
  86. 91 0
      tour-oms/src/main/java/com/tour/web/controller/AgentLevelController.java
  87. 80 38
      tour-oms/src/main/java/com/tour/web/controller/AgentWithdrawalController.java
  88. 79 0
      tour-oms/src/main/java/com/tour/web/controller/LineController.java
  89. 101 0
      tour-oms/src/main/java/com/tour/web/controller/MakeCardAllocationController.java
  90. 85 0
      tour-oms/src/main/java/com/tour/web/controller/MakeCardController.java
  91. 42 0
      tour-oms/src/main/java/com/tour/web/controller/RegionController.java
  92. 101 0
      tour-oms/src/main/java/com/tour/web/interceptor/BindAgentInterceptor.java
  93. 2 1
      tour-oms/src/main/resources/application.yml
  94. 0 2
      tour-oms/src/main/test/java/Test.java
  95. 二进制
      web-ui/public/favicon.ico
  96. 24 0
      web-ui/src/api/areaMixins.js
  97. 82 0
      web-ui/src/api/module/agent.js
  98. 53 0
      web-ui/src/api/module/agentWithdrawal.js
  99. 17 0
      web-ui/src/api/module/area.js
  100. 0 0
      web-ui/src/api/module/artist.js

+ 7 - 0
tour-common/pom.xml

@@ -235,6 +235,13 @@
             <artifactId>weixin-java-miniapp</artifactId>
             <version>4.5.0</version>
         </dependency>
+
+        <!--中文转拼音-->
+        <dependency>
+            <groupId>com.github.stuxuhai</groupId>
+            <artifactId>jpinyin</artifactId>
+            <version>1.1.8</version>
+        </dependency>
     </dependencies>
 
 </project>

+ 14 - 0
tour-common/src/main/java/com/tour/common/annotation/BindAgent.java

@@ -0,0 +1,14 @@
+package com.tour.common.annotation;
+
+import java.lang.annotation.*;
+
+/**
+ * 指定代理商的查询接口
+ * @author 叶君翔
+ * @date 2022/03/16 10:06
+ */
+@Target(ElementType.METHOD)
+@Retention(RetentionPolicy.RUNTIME)
+@Documented
+public @interface BindAgent {
+}

+ 12 - 2
tour-common/src/main/java/com/tour/common/core/domain/entity/SysUser.java

@@ -98,7 +98,7 @@ public class SysUser extends BaseEntity
 
     /** 岗位组 */
     private Long[] postIds;
-
+    private List<Long> agentIds;
     public Integer getType() {
         return type;
     }
@@ -313,6 +313,12 @@ public class SysUser extends BaseEntity
         this.agentId = agentId;
     }
 
+
+
+    public List<Long> getAgentIds() {
+        return agentIds;
+    }
+
     public Long getDspId() {
         return dspId;
     }
@@ -321,6 +327,10 @@ public class SysUser extends BaseEntity
         this.dspId = dspId;
     }
 
+    public void setAgentIds(List<Long> agentIds) {
+        this.agentIds = agentIds;
+    }
+
     @Override
     public String toString() {
         return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
@@ -345,7 +355,7 @@ public class SysUser extends BaseEntity
             .append("remark", getRemark())
             .append("dept", getDept())
             .append("agentId", getAgentId())
-            .append("dspId", getDspId())
+//            .append("dspId", getDspId())
             .append("type",getType())
             .toString();
     }

+ 5 - 0
tour-common/src/main/java/com/tour/common/core/redis/RedisCache.java

@@ -236,4 +236,9 @@ public class RedisCache
     {
         return redisTemplate.opsForList().range(key, 0, end);
     }
+
+    public Boolean hasKey(final String key) {
+        Boolean hasKey = redisTemplate.hasKey(key);
+        return hasKey != null && hasKey;
+    }
 }

+ 166 - 0
tour-common/src/main/java/com/tour/common/utils/PingyingUtil.java

@@ -0,0 +1,166 @@
+package com.tour.common.utils;
+import com.github.stuxuhai.jpinyin.ChineseHelper;
+import com.github.stuxuhai.jpinyin.PinyinFormat;
+import com.github.stuxuhai.jpinyin.PinyinHelper;
+
+/**
+ * @author wangtao
+ * @date 2023/2/21
+ */
+public class PingyingUtil {
+
+
+
+
+    /**
+     * 转换为有声调的拼音字符串
+     *
+     * @param pinYinStr 汉字
+     * @return 有声调的拼音字符串
+     */
+    public static String changeToMarkPinYin(String pinYinStr) {
+
+        String tempStr = null;
+
+        try {
+            tempStr = PinyinHelper.convertToPinyinString(pinYinStr, " ", PinyinFormat.WITH_TONE_MARK);
+
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return tempStr;
+
+    }
+
+
+    /**
+     * 转换为数字声调字符串
+     *
+     * @param pinYinStr 需转换的汉字
+     * @return 转换完成的拼音字符串
+     */
+    public static String changeToNumberPinYin(String pinYinStr) {
+
+        String tempStr = null;
+
+        try {
+            tempStr = PinyinHelper.convertToPinyinString(pinYinStr, " ", PinyinFormat.WITH_TONE_NUMBER);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+
+        return tempStr;
+
+    }
+
+    /**
+     * 转换为不带音调的拼音字符串
+     *
+     * @param pinYinStr 需转换的汉字
+     * @return 拼音字符串
+     */
+    public static String changeToTonePinYin(String pinYinStr) {
+
+        String tempStr = null;
+
+        try {
+            tempStr = PinyinHelper.convertToPinyinString(pinYinStr, "", PinyinFormat.WITHOUT_TONE);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return tempStr;
+
+    }
+
+    /**
+     * 转换为每个汉字对应拼音首字母字符串
+     *
+     * @param pinYinStr 需转换的汉字
+     * @return 拼音字符串
+     */
+    public static String changeToGetShortPinYin(String pinYinStr) {
+
+        String tempStr = null;
+
+        try {
+            tempStr = PinyinHelper.getShortPinyin(pinYinStr);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return tempStr;
+
+    }
+
+    /**
+     * 检查汉字是否为多音字
+     *
+     * @param pinYinStr 需检查的汉字
+     * @return true 多音字,false 不是多音字
+     */
+    public static boolean checkPinYin(char pinYinStr) {
+
+        boolean check = false;
+        try {
+            check = PinyinHelper.hasMultiPinyin(pinYinStr);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return check;
+    }
+
+    /**
+     * 简体转换为繁体
+     *
+     * @param pinYinStr
+     * @return
+     */
+    public static String changeToTraditional(String pinYinStr) {
+
+        String tempStr = null;
+        try {
+            tempStr = ChineseHelper.convertToTraditionalChinese(pinYinStr);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return tempStr;
+
+    }
+
+    /**
+     * 繁体转换为简体
+     *
+     * @param pinYinSt
+     * @return
+     */
+    public static String changeToSimplified(String pinYinSt) {
+
+        String tempStr = null;
+
+        try {
+            tempStr = ChineseHelper.convertToSimplifiedChinese(pinYinSt);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+
+        return tempStr;
+
+    }
+
+//    public static void main(String[] args) {
+//        String str = "长沙市";
+////        System.out.println("转换为有声调的拼音字符串:" + changeToMarkPinYin(str));
+//        System.out.println("转换为不带音调的拼音字符串:" + changeToTonePinYin(str));
+//        String str1 = "重庆市";
+////        System.out.println("转换为有声调的拼音字符串:" + changeToMarkPinYin(str));
+//        System.out.println("转换为不带音调的拼音字符串:" + changeToTonePinYin(str1));
+//        String str2= "苏州市";
+////        System.out.println("转换为有声调的拼音字符串:" + changeToMarkPinYin(str));
+//        System.out.println("转换为不带音调的拼音字符串:" + changeToTonePinYin(str2));
+////
+//        String strFanTi = "誰是程序員";
+//        System.out.println("繁体转换为简体:" + changeToSimplified(strFanTi));
+//        System.out.println("重" + "重是否是多音字:" + checkPinYin('重'));
+//        System.out.println("厦" + "是否是多音字:" + checkPinYin('厦'));
+//        System.out.println("鼠" + "是否是多音字:" + checkPinYin('鼠'));
+//    }
+}

+ 2 - 3
tour-core/src/main/java/com/tour/system/controller/common/CommonController.java

@@ -66,12 +66,11 @@ public class CommonController {
      * 通用上传请求
      */
     @PostMapping("/common/upload")
-    public Result uploadFile(MultipartFile file, String filePath) throws Exception {
+    public Result uploadFile(MultipartFile file) throws Exception {
         try
         {
-
             // 上传并返回新文件名称
-            String fileName = FileUploadUtils.upload(filePath, file);
+            String fileName = FileUploadUtils.upload(ProjectConfig.getUploadPath(), file);
             String url = serverConfig.getUrl() + fileName;
             Result ajax = Result.success();
             ajax.put("url", url);

+ 24 - 22
tour-core/src/main/java/com/tour/system/controller/system/SysProfileController.java

@@ -1,6 +1,7 @@
 package com.tour.system.controller.system;
 
 import com.tour.common.annotation.Log;
+import com.tour.common.config.ProjectConfig;
 import com.tour.common.core.controller.BaseController;
 import com.tour.common.core.domain.Result;
 import com.tour.common.core.domain.entity.SysUser;
@@ -8,6 +9,7 @@ import com.tour.common.core.domain.model.LoginUser;
 import com.tour.common.enums.BusinessType;
 import com.tour.common.utils.SecurityUtils;
 import com.tour.common.utils.ServletUtils;
+import com.tour.common.utils.file.FileUploadUtils;
 import com.tour.framework.web.service.TokenService;
 import com.tour.system.service.ISysUserService;
 import lombok.RequiredArgsConstructor;
@@ -103,35 +105,35 @@ public class SysProfileController extends BaseController
      */
     @Log(title = "用户头像", businessType = BusinessType.UPDATE)
     @PostMapping("/avatar")
-    public Result avatar(@RequestParam("avatarfile") MultipartFile avatar) throws IOException
+    public Result avatar(@RequestParam("avatarfile") MultipartFile file) throws IOException
     {
-//        if (!file.isEmpty()){
-//            LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
-//            String avatar = FileUploadUtils.upload(ProjectConfig.getAvatarPath(), file);
-//            if (userService.updateUserAvatar(loginUser.getUsername(), avatar))
-//            {
-//                Result ajax = Result.success();
-//                ajax.put("imgUrl", avatar);
-//                // 更新缓存用户头像
-//                loginUser.getUser().setAvatar(avatar);
-//                tokenService.setLoginUser(loginUser);
-//                return ajax;
-//            }
-//        }
-        String url = null;
-        try {
+        if (!file.isEmpty()){
             LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
-       //     url = OSSFactory.build(cloudStorageConfig).uploadSuffix(avatar.getInputStream(), "." + "jpg");
-            if (userService.updateUserAvatar(loginUser.getUsername(), url)){
+             String avatarurl= FileUploadUtils.upload(ProjectConfig.getAvatarPath(), file);
+            if (userService.updateUserAvatar(loginUser.getUsername(), avatarurl))
+            {
                 Result ajax = Result.success();
-                ajax.put("imgUrl", url);
-                loginUser.getUser().setAvatar(url);
+                ajax.put("imgUrl", avatarurl);
+                // 更新缓存用户头像
+                loginUser.getUser().setAvatar(avatarurl);
                 tokenService.setLoginUser(loginUser);
                 return ajax;
             }
-        } catch (Exception e) {
-            return Result.error("上传文件失败");
         }
+//        String url = null;
+//        try {
+//            LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
+//       //     url = OSSFactory.build(cloudStorageConfig).uploadSuffix(avatar.getInputStream(), "." + "jpg");
+//            if (userService.updateUserAvatar(loginUser.getUsername(), url)){
+//                Result ajax = Result.success();
+//                ajax.put("imgUrl", url);
+//                loginUser.getUser().setAvatar(url);
+//                tokenService.setLoginUser(loginUser);
+//                return ajax;
+//            }
+//        } catch (Exception e) {
+//            return Result.error("上传文件失败");
+//        }
         return Result.success();
     }
 }

+ 6 - 0
tour-module/pom.xml

@@ -21,5 +21,11 @@
             <artifactId>tour-common</artifactId>
             <version>1.0.0</version>
         </dependency>
+        <dependency>
+            <groupId>com.tour</groupId>
+            <artifactId>tour-core</artifactId>
+            <version>1.0.0</version>
+            <scope>compile</scope>
+        </dependency>
     </dependencies>
 </project>

+ 74 - 7
tour-module/src/main/java/com/tour/module/domain/Agent.java

@@ -45,22 +45,60 @@ private static final long serialVersionUID=1L;
     /** 上级代理 */
     @ApiModelProperty(value = "上级代理")
     private Long pid;
+    /** 所在省 */
+    @Excel(name = "所在省")
+    private String provinceId;
+
+    /** 所在城市 */
+    @Excel(name = "所在城市")
+    private String cityId;
+
+    /** 所在区 */
+    @Excel(name = "所在区")
+    private String districtId;
+
+    /** 代理商等级 */
+    @Excel(name = "代理商等级")
+    private Long agentLevel;
+
+    /** 佣金类型 1->金额,0->比例 */
+    @Excel(name = "佣金类型")
+    private Integer type;
+
+    /** 佣金比率
+     * type = 1 代表金额
+     * type = 0 代表比例
+     **/
+    @Excel(name = "佣金比率")
+    private BigDecimal commissonRate;
+
+    private String provinceName;
 
-    /** 城市 */
-    @ApiModelProperty(value = "城市")
     private String cityName;
 
-    /** 区 */
-    @ApiModelProperty(value = "区")
-    private String area;
+    private String districtName;
+    /** 联系人 */
+    @Excel(name = "联系人")
+    private String contactName;
 
+    /** 代理商头像 */
+    @Excel(name = "代理商头像")
+    private String avatar;
+
+    /** 联系手机 */
+    @Excel(name = "联系手机")
+    private String mobile;
+
+    /** 地址 */
+    @Excel(name = "地址")
+    private String address;
     /** 1无效 0有效 */
     @ApiModelProperty(value = "1无效 0有效")
     private String status;
 
     /** 分成比例 70 */
-    @ApiModelProperty(value = "分成比例 70")
-    private Integer rate;
+//    @ApiModelProperty(value = "分成比例 70")
+//    private Integer rate;
 
     /** $column.columnComment */
     @ApiModelProperty(value = "可提现金额")
@@ -94,6 +132,35 @@ private static final long serialVersionUID=1L;
     @TableLogic
     private Integer deleted;
 
+    /** 有效期开始时间 */
+    @Excel(name = "有效期开始时间" , width = 30, dateFormat = "yyyy-MM-dd")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date validStartDate;
+
+    /** 有效期结束时间 */
+    @Excel(name = "有效期结束时间" , width = 30, dateFormat = "yyyy-MM-dd")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date validEndDate;
+
+
     @TableField(exist = false)
     private Map<String, Object> params = new HashMap<>();
+
+    @TableField(exist = false)
+    private Integer valid;
+
+    /** 开始时间 */
+    @Excel(name = "开始时间" , width = 30, dateFormat = "yyyy-MM-dd")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @TableField(exist = false)
+    private Date startTime;
+
+    /** 结束时间 */
+    @Excel(name = "结束时间" , width = 30, dateFormat = "yyyy-MM-dd")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @TableField(exist = false)
+    private Date endTime;
+
+    @TableField(exist = false)
+    private String pAgentName;
 }

+ 10 - 0
tour-module/src/main/java/com/tour/module/domain/AgentWithdrawal.java

@@ -16,6 +16,7 @@ import java.math.BigDecimal;
 import java.io.Serializable;
 import java.util.Date;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -45,6 +46,8 @@ private static final long serialVersionUID=1L;
     @ApiModelProperty(value = "提现金额")
     private BigDecimal amount;
 
+    private BigDecimal arrivalAmount;
+
     /** 账户名称 */
     @ApiModelProperty(value = "账户名称")
     private String accountName;
@@ -76,6 +79,8 @@ private static final long serialVersionUID=1L;
 
     /** 更新者 */
     private String updateBy;
+    private String rate;
+    private String remark;
 
     /** 创建时间 */
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@@ -92,4 +97,9 @@ private static final long serialVersionUID=1L;
 
     @TableField(exist = false)
     private Map<String, Object> params = new HashMap<>();
+
+    @TableField(exist = false)
+    private String agentName;
+
+    private List<Long> agentIds;
 }

+ 5 - 3
tour-module/src/main/java/com/tour/module/domain/Line.java

@@ -77,7 +77,7 @@ private static final long serialVersionUID=1L;
 
     /** 展示图 */
     @Excel(name = "展示图")
-    private String img;
+    private String image;
 
     /** 类型 1热门 2品质 3 经典 */
     @Excel(name = "类型 1热门 2品质 3 经典")
@@ -85,11 +85,11 @@ private static final long serialVersionUID=1L;
 
     /** 省 */
     @Excel(name = "省")
-    private String province;
+    private String provinceName;
 
     /** 市 */
     @Excel(name = "市")
-    private String city;
+    private String cityName;
 
     /** 佣金 */
     @Excel(name = "佣金")
@@ -122,4 +122,6 @@ private static final long serialVersionUID=1L;
 
     @TableField(exist = false)
     private Map<String, Object> params = new HashMap<>();
+    @TableField(exist = false)
+    private String address;
 }

+ 94 - 0
tour-module/src/main/java/com/tour/module/domain/MakeCard.java

@@ -0,0 +1,94 @@
+package com.tour.module.domain;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.tour.common.annotation.Excel;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * 制卡对象 tour_mark_card
+ *
+ * @author zoe
+ * @date 2023-06-02
+ */
+@Data
+@NoArgsConstructor
+@Accessors(chain = true)
+@TableName("tour_make_card")
+public class MakeCard implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+
+    /**
+     * $column.columnComment
+     */
+    @TableId(value = "id")
+    private Long id;
+
+    /**
+     * 制卡活动名称
+     */
+    @Excel(name = "制卡活动名称")
+    private String makeCardName;
+
+    /**
+     * 制卡数量
+     */
+    @Excel(name = "制卡数量")
+    private Long cardNum;
+
+    /**
+     * 状态: 0正常 1禁用
+     */
+    @Excel(name = "状态: 0正常 1禁用")
+    private Integer status;
+
+    /**
+     * 创建者
+     */
+    private String createBy;
+
+    /**
+     * 更新者
+     */
+    private String updateBy;
+
+    /**
+     * 创建时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
+    private Date createTime;
+
+    /**
+     * 更新时间
+     */
+    @TableField(update = "now()")
+    private Date updateTime;
+
+    /**
+     * 删除标识位: 0正常 1删除
+     */
+    @TableLogic
+    private Integer deleted;
+    @TableField(exist = false)
+    private String startTime;
+    @TableField(exist = false)
+    private String endTime;
+    @TableField(exist = false)
+    private Integer num;
+
+    @TableField(exist = false)
+    private Map<String, Object> params = new HashMap<>();
+}

+ 71 - 0
tour-module/src/main/java/com/tour/module/domain/MakeCardAllocation.java

@@ -0,0 +1,71 @@
+package com.tour.module.domain;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.tour.common.annotation.Excel;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * 制卡分配情况对象 tour_mark_card_allocation
+ * 
+ * @author zoe
+ * @date 2023-06-02
+ */
+@Data
+@NoArgsConstructor
+@Accessors(chain = true)
+@TableName("tour_make_card_allocation")
+public class MakeCardAllocation implements Serializable {
+
+private static final long serialVersionUID=1L;
+
+
+    /** $column.columnComment */
+    @TableId(value = "id")
+    private Long id;
+
+    /** 制卡id */
+    @Excel(name = "制卡id")
+    private Long makeId;
+
+    /** 代理商 */
+    @Excel(name = "代理商")
+    private Long agentId;
+
+    /** 分发卡数量 */
+    @Excel(name = "分发卡数量")
+    private Long num;
+
+    /** 创建者 */
+    private String createBy;
+
+    /** 更新者 */
+    private String updateBy;
+
+    /** 创建时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
+    private Date createTime;
+
+    /** 更新时间 */
+    @TableField(update = "now()")
+    private Date updateTime;
+
+    /** 删除标识位: 0正常 1删除 */
+    @TableLogic
+    private Integer deleted;
+
+    @TableField(exist = false)
+    private Map<String, Object> params = new HashMap<>();
+
+}

+ 34 - 0
tour-module/src/main/java/com/tour/module/domain/Region.java

@@ -0,0 +1,34 @@
+package com.tour.module.domain;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+
+/**
+ * Demo class
+ *
+ * @author zangbin
+ * @date 2022/11/3 10:45
+ */
+@Data
+@NoArgsConstructor
+@Accessors(chain = true)
+@TableName("tour_region")
+public class Region implements Serializable {
+
+    @TableId(value = "id")
+    private Long id;
+
+    private String name;
+
+    private Long parentId;
+
+    /** 删除标识位: 0正常 1删除 */
+    @TableLogic
+    private Integer deleted;
+}

+ 0 - 86
tour-module/src/main/java/com/tour/module/domain/dto/AddressUpdateDto.java

@@ -1,86 +0,0 @@
-package com.tour.module.domain.dto;
-
-import com.tour.module.vo.BaseVo;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.NoArgsConstructor;
-import lombok.experimental.Accessors;
-import org.hibernate.validator.constraints.Length;
-
-import javax.validation.constraints.NotBlank;
-import javax.validation.constraints.NotNull;
-import javax.validation.constraints.Pattern;
-
-@EqualsAndHashCode(callSuper = true)
-@Data
-@NoArgsConstructor
-@Accessors(chain = true)
-@ApiModel
-public class AddressUpdateDto extends BaseVo {
-
-    /**
-     * 收货地址ID
-     */
-    @NotNull(message="收货地址ID不能为空")
-    @ApiModelProperty(value = "收货地址ID",required = true)
-    private Long id;
-
-    /** 关联的用户id */
-    @ApiModelProperty(value = "用户id",required = true)
-    private Long memberId;
-
-    /** 收件人 */
-    @NotBlank(message="收件人姓名不能为空")
-    @ApiModelProperty(value = "收件人姓名",required = true)
-    private String receiver;
-
-    /** 收件人手机号 */
-    @NotBlank(message="收件人手机号不能为空")
-    @Length(min = 11, max = 11, message = "手机号只能为11位")
-    @Pattern(regexp = "^[1][3,4,5,6,7,8,9][0-9]{9}$", message = "手机号格式有误")
-    @ApiModelProperty(value = "收件人手机号",required = true)
-    private String phone;
-
-    /** 收货地址(完整地址) */
-    @NotBlank(message="收货地址(完整地址)不能为空")
-    @ApiModelProperty(value = "收货地址(完整地址) ",required = true)
-    private String address;
-
-    /** 省ID */
-    @ApiModelProperty(value = "省ID",required = true)
-    private Long provinceId;
-
-    /** 省名称 */
-    @NotBlank(message="省名称不能为空")
-    @ApiModelProperty(value = "省名称",required = true)
-    private String provinceName;
-
-    /** 市ID */
-    @ApiModelProperty(value = "市ID",required = true)
-    private Long cityId;
-
-    /** 市名称 */
-    @NotBlank(message="市名称不能为空")
-    @ApiModelProperty(value = "市名称",required = true)
-    private String cityName;
-
-    /** 区ID */
-    @ApiModelProperty(value = "区ID",required = true)
-    private Long areaId;
-
-    /** 区名称 */
-    @NotBlank(message="区名称不能为空")
-    @ApiModelProperty(value = "区名称",required = true)
-    private String area;
-
-    /** 详细地址 */
-    @NotBlank(message="街道信息不能为空")
-    @ApiModelProperty(value = "详细地址",required = true)
-    private String street;
-
-    /** 是否为默认地址(0不默认 1默认) */
-    @ApiModelProperty(value = "是否为默认地址(0不默认 1默认) ")
-    private Integer isDefault;
-}

+ 0 - 80
tour-module/src/main/java/com/tour/module/domain/dto/ArtWorkSearchDto.java

@@ -1,80 +0,0 @@
-package com.tour.module.domain.dto;
-
-import com.tour.module.vo.BaseVo;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.NoArgsConstructor;
-import lombok.experimental.Accessors;
-
-import java.util.List;
-
-@EqualsAndHashCode(callSuper = true)
-@Data
-@NoArgsConstructor
-@Accessors(chain = true)
-@ApiModel("艺术品筛选参数")
-public class ArtWorkSearchDto extends BaseVo {
-
-    @ApiModelProperty(value = "属性id列表")
-    private List<Long> attributionIds;
-
-    @ApiModelProperty(value = "属性值id列表")
-    private List<Long> attributionValueIds;
-
-    @ApiModelProperty(value = "价格排序(0为正序,1为倒序)")
-    private Integer priceSort;
-
-    @ApiModelProperty(value = "年代排序(0为正序,1为倒序)")
-    private Integer yearSort;
-
-    @ApiModelProperty(value = "尺寸排序(0为正序,1为倒序)")
-    private Integer sizeSort;
-
-    @ApiModelProperty(value = "作品状态(0为未出售,1为已出售)")
-    private Integer workStatus;
-
-    @ApiModelProperty(value = "作品名称或者作者名称")
-    private String name;
-
-    @ApiModelProperty(value = "价格区间ID")
-    private Long priceId;
-
-    @ApiModelProperty(value = "尺寸大小ID")
-    private Long sizeId;
-
-    @ApiModelProperty(value = "颜色ID")
-    private Long colourId;
-
-    @ApiModelProperty(value = "形状ID")
-    private Long shapeId;
-
-    @ApiModelProperty(value = "类型ID")
-    private Long categoryId;
-
-    @ApiModelProperty(value = "题材ID")
-    private Long themeId;
-
-    @ApiModelProperty(value = "风格ID")
-    private Long styleId;
-
-    @ApiModelProperty(value = "用户ID")
-    private Long memberId;
-
-    @ApiModelProperty(value = "PC端尺寸ID")
-    private Long webSizeId;
-
-    @ApiModelProperty(value = "PC端作家ID")
-    private Long artistId;
-
-    @ApiModelProperty(value = "站点ID")
-    private Long siteId;
-
-    //ios审核专用商品
-    private Integer iosArt;
-//    private Double height;
-//
-//    private Double width;
-
-}

+ 0 - 37
tour-module/src/main/java/com/tour/module/domain/dto/AuthDto.java

@@ -1,37 +0,0 @@
-package com.tour.module.domain.dto;
-
-import com.tour.module.validator.group.TwoGroup;
-import com.tour.module.vo.BaseVo;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.NoArgsConstructor;
-import lombok.experimental.Accessors;
-import org.hibernate.validator.constraints.Length;
-
-import javax.validation.constraints.NotBlank;
-
-@EqualsAndHashCode(callSuper = true)
-@Data
-@NoArgsConstructor
-@Accessors(chain = true)
-@ApiModel("实名认证参数类")
-public class AuthDto extends BaseVo {
-
-    @NotBlank(message = "身份证号不能为空",groups = {TwoGroup.class})
-    @Length(min = 18, max = 18, message = "身份证号码只能为18位",groups = {TwoGroup.class})
-    @ApiModelProperty(value = "身份证号")
-    private String idCard;
-
-    /** 银行卡号 */
-    @ApiModelProperty(value = "银行卡号")
-    private String bankCard;
-
-    @NotBlank(message = "姓名不能为空",groups = {TwoGroup.class})
-    @ApiModelProperty(value = "姓名")
-    private String name;
-
-    private Integer certType;
-
-}

+ 0 - 26
tour-module/src/main/java/com/tour/module/domain/dto/CheckOrderDto.java

@@ -1,26 +0,0 @@
-package com.tour.module.domain.dto;
-
-import com.tour.module.vo.BaseVo;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.NoArgsConstructor;
-import lombok.experimental.Accessors;
-
-import javax.validation.constraints.NotNull;
-
-@EqualsAndHashCode(callSuper = true)
-@Data
-@NoArgsConstructor
-@Accessors(chain = true)
-@ApiModel("下单购买参数类")
-public class CheckOrderDto extends BaseVo {
-
-    @ApiModelProperty(value = "用户ID",required = true)
-    private Long memberId;
-
-    @ApiModelProperty(value = "作品ID",required = true)
-    @NotNull(message="作品ID不能为空")
-    private Long workId;
-}

+ 0 - 14
tour-module/src/main/java/com/tour/module/domain/dto/CirculationDto.java

@@ -1,14 +0,0 @@
-package com.tour.module.domain.dto;
-
-import com.tour.module.vo.BaseVo;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-
-@EqualsAndHashCode(callSuper = true)
-@Data
-public class CirculationDto extends BaseVo {
-
-    private String workNo;
-
-    private String workName;
-}

+ 0 - 79
tour-module/src/main/java/com/tour/module/domain/dto/MemberAddressDTO.java

@@ -1,79 +0,0 @@
-package com.tour.module.domain.dto;
-
-import com.tour.module.vo.BaseVo;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.NoArgsConstructor;
-import lombok.experimental.Accessors;
-import org.hibernate.validator.constraints.Length;
-
-import javax.validation.constraints.NotBlank;
-import javax.validation.constraints.NotNull;
-import javax.validation.constraints.Pattern;
-
-@EqualsAndHashCode(callSuper = true)
-@Data
-@NoArgsConstructor
-@Accessors(chain = true)
-@ApiModel
-public class MemberAddressDTO extends BaseVo {
-
-    /** 关联的用户id */
-    @ApiModelProperty(value = "用户id",required = true)
-    private Long memberId;
-
-    /** 收件人 */
-    @NotBlank(message="收件人姓名不能为空")
-    @ApiModelProperty(value = "收件人姓名",required = true)
-    private String receiver;
-
-    /** 收件人手机号 */
-    @NotBlank(message="收件人手机号不能为空")
-    @Length(min = 11, max = 11, message = "手机号只能为11位")
-    @Pattern(regexp = "^[1][3,4,5,6,7,8,9][0-9]{9}$", message = "手机号格式有误")
-    @ApiModelProperty(value = "收件人手机号",required = true)
-    private String phone;
-
-    /** 收货地址(完整地址) */
-    @NotBlank(message="收货地址(完整地址)不能为空")
-    @ApiModelProperty(value = "收货地址(完整地址) ",required = true)
-    private String address;
-
-    /** 省ID */
-    @ApiModelProperty(value = "省ID",required = true)
-    private Long provinceId;
-
-    /** 省名称 */
-    @NotBlank(message="省名称不能为空")
-    @ApiModelProperty(value = "省名称",required = true)
-    private String provinceName;
-
-    /** 市ID */
-    @ApiModelProperty(value = "市ID",required = true)
-    private Long cityId;
-
-    /** 市名称 */
-    @NotBlank(message="市名称不能为空")
-    @ApiModelProperty(value = "市名称",required = true)
-    private String cityName;
-
-    /** 区ID */
-    @ApiModelProperty(value = "区ID",required = true)
-    private Long areaId;
-
-    /** 区名称 */
-    @NotBlank(message="区名称不能为空")
-    @ApiModelProperty(value = "区名称",required = true)
-    private String area;
-
-    /** 详细地址 */
-    @NotBlank(message="街道信息不能为空")
-    @ApiModelProperty(value = "详细地址",required = true)
-    private String street;
-
-    /** 是否为默认地址(0不默认 1默认) */
-    @ApiModelProperty(value = "是否为默认地址(0不默认 1默认) ")
-    private Integer isDefault;
-}

+ 0 - 24
tour-module/src/main/java/com/tour/module/domain/dto/MemberCarDto.java

@@ -1,24 +0,0 @@
-package com.tour.module.domain.dto;
-
-import com.tour.module.vo.BaseVo;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.NoArgsConstructor;
-import lombok.experimental.Accessors;
-
-import javax.validation.constraints.NotNull;
-
-@EqualsAndHashCode(callSuper = true)
-@Data
-@NoArgsConstructor
-@Accessors(chain = true)
-@ApiModel("购物车")
-public class MemberCarDto extends BaseVo {
-
-    @ApiModelProperty(value = "作品id",required = true)
-    @NotNull(message = "作品id不能为空")
-    private Long workId;
-
-}

+ 0 - 23
tour-module/src/main/java/com/tour/module/domain/dto/MemberCollectDto.java

@@ -1,23 +0,0 @@
-package com.tour.module.domain.dto;
-
-import com.tour.module.vo.BaseVo;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.NoArgsConstructor;
-import lombok.experimental.Accessors;
-
-import javax.validation.constraints.NotNull;
-
-@EqualsAndHashCode(callSuper = true)
-@Data
-@NoArgsConstructor
-@Accessors(chain = true)
-@ApiModel("我的收藏")
-public class MemberCollectDto extends BaseVo {
-
-    @ApiModelProperty(value = "作品ID", required = true)
-    @NotNull(message = "作品ID不能为空")
-    private Long workId;
-}

+ 0 - 129
tour-module/src/main/java/com/tour/module/domain/dto/MemberDTO.java

@@ -1,129 +0,0 @@
-package com.tour.module.domain.dto;
-
-import com.tour.module.validator.group.OneGroup;
-import com.tour.module.validator.group.TwoGroup;
-import com.fasterxml.jackson.annotation.JsonFormat;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-import lombok.NoArgsConstructor;
-import lombok.experimental.Accessors;
-import org.hibernate.validator.constraints.Length;
-
-import javax.validation.constraints.NotBlank;
-import javax.validation.constraints.Pattern;
-import java.io.Serializable;
-import java.util.Date;
-
-/**
- * 用户对象 art_member
- * 
- * @author zoe
- * @date 2022-03-31
- */
-@Data
-@NoArgsConstructor
-@Accessors(chain = true)
-@ApiModel
-public class MemberDTO implements Serializable {
-
-private static final long serialVersionUID=1L;
-
-    /** 手机号码 */
-    @NotBlank(message = "手机号不能为空",groups = {OneGroup.class,TwoGroup.class})
-    @Length(min = 11, max = 11, message = "手机号只能为11位",groups = {OneGroup.class,TwoGroup.class})
-    @Pattern(regexp = "^[1][3,4,5,6,7,8,9][0-9]{9}$", message = "手机号格式有误",groups = {OneGroup.class,TwoGroup.class})
-    @ApiModelProperty(value = "手机号码")
-    private String mobile;
-
-    /** 密码 */
-    @NotBlank(message = "密码不能为空",groups = {OneGroup.class,TwoGroup.class})
-    @ApiModelProperty(value = "密码")
-    private String password;
-
-    /**
-     * 确认密码
-     */
-    @NotBlank(message = "确认密码不能为空",groups = {OneGroup.class,TwoGroup.class})
-    @ApiModelProperty(value = "确认密码")
-    private String confirmPassword;
-
-    /** 注册使用推荐码 */
-    @ApiModelProperty(value = "注册使用推荐码")
-    private String recommendRegCode;
-
-    /** 平台【0未知】【1安卓】【2IOS】 */
-    @ApiModelProperty(value = "类型 0:未知 1:android 2:ios(特别注意:会员注册接口该参数必须)")
-    private Integer platform;
-
-    /**
-     * 验证码
-     */
-    @ApiModelProperty(value = "验证码")
-    private String captcha;
-
-    /** 昵称 */
-    @ApiModelProperty(value = "昵称")
-    private String nickName;
-
-    /** 个人推荐码 */
-    @ApiModelProperty(value = "个人推荐码")
-    private String recommendCode;
-
-
-    /** 推荐用户数量 */
-    @ApiModelProperty(value = "推荐用户数量")
-    private Long recommendNum;
-
-    /** 头像 */
-    @ApiModelProperty(value = "头像")
-    private String avatar;
-
-    /** 用户真实姓名 */
-    @NotBlank(message = "真实姓名不能为空",groups = {TwoGroup.class})
-    @ApiModelProperty(value = "真实姓名")
-    private String name;
-
-    /** 性别【0未知】【1男】【2女】 */
-    @ApiModelProperty(value = "性别【0未知】【1男】【2女】")
-    private Integer gender;
-
-    /** 生日 */
-    @JsonFormat(pattern = "yyyy-MM-dd")
-    @ApiModelProperty(value = "生日")
-    private Date birthday;
-
-    /** 电子邮箱 */
-    @ApiModelProperty(value = "电子邮箱")
-    private String email;
-
-    /** 收藏数量 */
-    @ApiModelProperty(value = "收藏数量")
-    private Long favoritesNum;
-
-    /** 是否身份认证(0未认证 1已认证) */
-    @ApiModelProperty(value = "是否身份认证(0未认证 1已认证)")
-    private Integer isIdAuth;
-
-    /** 个人证件号码 */
-    @NotBlank(message = "个人证件号码不能为空",groups = {TwoGroup.class})
-//    @Length(min = 18, max = 18, message = "身份证号码只能为18位",groups = {TwoGroup.class})
-    @ApiModelProperty(value = "个人证件号码")
-    private String idCard;
-
-    /** 是否银行卡认证(0未认证 1已认证) */
-    @ApiModelProperty(value = "是否银行卡认证(0未认证 1已认证)")
-    private Integer isBankAuth;
-
-    /** 银行卡号 */
-    @ApiModelProperty(value = "银行卡号")
-    private String bankCard;
-
-    /** 银行卡预留手机号 */
-    @ApiModelProperty(value = "银行卡预留手机号")
-    private String reservedPhone;
-
-    /** 个人证件类型 */
-    @ApiModelProperty(value = "个人证件类型(0:中国大陆身份证;1:台湾来往大陆通行证;2:港澳来往大陆通行证;3:护照)")
-    private Integer certType;
-}

+ 0 - 31
tour-module/src/main/java/com/tour/module/domain/dto/OrderDto.java

@@ -1,31 +0,0 @@
-package com.tour.module.domain.dto;
-
-import com.tour.module.vo.BaseVo;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.NoArgsConstructor;
-import lombok.experimental.Accessors;
-
-import javax.validation.constraints.NotNull;
-
-@EqualsAndHashCode(callSuper = true)
-@Data
-@NoArgsConstructor
-@Accessors(chain = true)
-@ApiModel("下单")
-public class OrderDto extends BaseVo {
-
-
-    @ApiModelProperty(value = "作品id",required = true)
-    @NotNull(message = "作品id不能为空")
-    private Long workId;
-
-    @ApiModelProperty(value = "地址id",required = true)
-    @NotNull(message = "地址id不能为空")
-    private Long addressId;
-
-    @ApiModelProperty(value = "备注")
-    private String remark;
-}

+ 26 - 0
tour-module/src/main/java/com/tour/module/domain/dto/RegionDto.java

@@ -0,0 +1,26 @@
+package com.tour.module.domain.dto;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * Demo class
+ *
+ * @author zangbin
+ * @date 2022/11/3 10:58
+ */
+@Data
+public class RegionDto {
+
+    private Integer level;
+    
+    private String id;
+
+    private String name;
+
+    private String py;
+
+
+    private List<RegionDto> childs;
+}

+ 0 - 35
tour-module/src/main/java/com/tour/module/domain/dto/WebOrderDTO.java

@@ -1,35 +0,0 @@
-package com.tour.module.domain.dto;
-
-import lombok.Data;
-import lombok.NoArgsConstructor;
-import lombok.experimental.Accessors;
-
-import java.io.Serializable;
-
-@Data
-@NoArgsConstructor
-@Accessors(chain = true)
-public class WebOrderDTO implements Serializable {
-
-    private static final long serialVersionUID = 1L;
-
-    private String orderSn;
-
-    private String workName;
-
-    private String buyPhone;
-
-    private String startTime;
-
-    private String endTime;
-
-    private Integer status;
-
-    private Integer payType;
-
-    private Long workId;
-
-    /** 1:变更记录查询(对应已完成的订单)*/
-    private Integer queryType;
-
-}

+ 0 - 28
tour-module/src/main/java/com/tour/module/domain/dto/WebWorkDto.java

@@ -1,28 +0,0 @@
-package com.tour.module.domain.dto;
-
-import com.tour.module.vo.BaseVo;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-
-@EqualsAndHashCode(callSuper = true)
-@Data
-public class WebWorkDto extends BaseVo {
-
-    private String workNo;
-
-    private String workName;
-
-    private String workTime;
-
-    private Double highestPrice;
-
-    private String artistName;
-
-    private Double lowestPrice;
-
-    private Integer workStatus;
-
-    private Integer IsUp;
-
-    private String siteName;
-}

+ 0 - 114
tour-module/src/main/java/com/tour/module/domain/dto/WorkAgencyDto.java

@@ -1,114 +0,0 @@
-package com.tour.module.domain.dto;
-
-import com.tour.common.annotation.Excel;
-import com.tour.module.vo.BaseVo;
-import com.baomidou.mybatisplus.annotation.TableId;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-
-import java.util.List;
-import java.util.Map;
-
-@EqualsAndHashCode(callSuper = true)
-@Data
-public class WorkAgencyDto extends BaseVo {
-
-    /** ID */
-    @TableId(value = "id")
-    private Long id;
-
-    /** 机构名称 */
-    @Excel(name = "机构名称")
-    private String name;
-
-    /** 机构营业执照注册号 */
-    @Excel(name = "机构营业执照注册号")
-    private String licenseRegistrationNo;
-
-    /** 机构组织代码 */
-    @Excel(name = "机构组织代码")
-    private String organizationCode;
-
-    /** 企业地址 */
-    @Excel(name = "企业地址")
-    private String address;
-
-    /** 营业期限 */
-    @Excel(name = "营业期限")
-    private Integer businessTerm;
-
-    /** 申请人 */
-    @Excel(name = "申请人")
-    private String applicant;
-
-    /** 职务 */
-    @Excel(name = "职务")
-    private String jobTitle;
-
-    /** 证件类型 */
-    @Excel(name = "证件类型")
-    private String documentType;
-
-    /** 证件号码 */
-    @Excel(name = "证件号码")
-    private String documentNo;
-
-    /** 手机号码 */
-    @Excel(name = "手机号码")
-    private String phone;
-
-    /** 电子邮箱 */
-    @Excel(name = "电子邮箱")
-    private String email;
-
-    /** 认证执行标准 */
-    @Excel(name = "认证执行标准")
-    private String executiveStandard;
-
-    /** 证书类型 */
-    @Excel(name = "证书类型")
-    private String certificateType;
-
-    private String workId;
-
-    /**
-     * 艺术品类型
-     */
-    @Excel(name = "艺术品类型")
-    private String type;
-
-    /**
-     * 艺术品材质
-     */
-    @Excel(name = "艺术品材质")
-    private String material;
-
-    /**
-     * 平尺数
-     */
-    @Excel(name = "平尺数")
-    private Integer squareFeet;
-
-    /**
-     * 表现形式
-     */
-    @Excel(name = "表现形式")
-    private String formOfExpression;
-
-    private List<String> featurePointBitmap;
-
-    /**
-     * 艺术品落款
-     */
-    private String signature;
-
-    /**
-     * 艺术品名章
-     */
-    private String seal;
-
-    /**
-     * 艺术品和艺术家合照
-     */
-    private String groupPhoto;
-}

+ 5 - 0
tour-module/src/main/java/com/tour/module/mapper/AgentMapper.java

@@ -2,6 +2,9 @@ package com.tour.module.mapper;
 
 import com.tour.module.domain.Agent;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 /**
  * 代理商信息Mapper接口
@@ -10,5 +13,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  * @date 2023-05-23
  */
 public interface AgentMapper extends BaseMapper<Agent> {
+    List<Agent> getAgentAll(Long id);
+    Agent selectByMobile(@Param("mobile") String mobile, @Param("id") Long id);
 
 }

+ 14 - 0
tour-module/src/main/java/com/tour/module/mapper/MakeCardAllocationMapper.java

@@ -0,0 +1,14 @@
+package com.tour.module.mapper;
+
+import com.tour.module.domain.MakeCardAllocation;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * 制卡分配情况Mapper接口
+ *
+ * @author zoe
+ * @date 2023-06-02
+ */
+public interface MakeCardAllocationMapper extends BaseMapper<MakeCardAllocation> {
+
+}

+ 17 - 0
tour-module/src/main/java/com/tour/module/mapper/MakeCardMapper.java

@@ -0,0 +1,17 @@
+package com.tour.module.mapper;
+
+import com.tour.module.domain.MakeCard;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+import java.util.List;
+
+/**
+ * 制卡Mapper接口
+ *
+ * @author zoe
+ * @date 2023-06-02
+ */
+public interface MakeCardMapper extends BaseMapper<MakeCard> {
+
+    List<MakeCard> getList(MakeCard markCard);
+}

+ 2 - 0
tour-module/src/main/java/com/tour/module/mapper/OrderCommissonMapper.java

@@ -3,6 +3,7 @@ package com.tour.module.mapper;
 import com.tour.module.domain.OrderCommisson;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.tour.module.vo.OrderCommissonVo;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 
@@ -15,5 +16,6 @@ import java.util.List;
 public interface OrderCommissonMapper extends BaseMapper<OrderCommisson> {
 
     List<OrderCommissonVo> queryListByAgentId(Long agentId);
+    List<OrderCommissonVo> commissonList(@Param("params")OrderCommissonVo orderCommissonVo);
 
 }

+ 13 - 0
tour-module/src/main/java/com/tour/module/mapper/RegionMapper.java

@@ -0,0 +1,13 @@
+package com.tour.module.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.tour.module.domain.Region;
+
+/**
+ * Demo class
+ *
+ * @author zangbin
+ * @date 2022/11/3 10:49
+ */
+public interface RegionMapper extends BaseMapper<Region> {
+}

+ 0 - 105
tour-module/src/main/java/com/tour/module/request/ArtistRequest.java

@@ -1,105 +0,0 @@
-package com.tour.module.request;
-
-import com.tour.common.annotation.Excel;
-import com.tour.module.vo.BaseVo;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.fasterxml.jackson.annotation.JsonFormat;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-
-import java.util.Date;
-import java.util.List;
-
-@EqualsAndHashCode(callSuper = true)
-@Data
-public class ArtistRequest extends BaseVo {
-
-    /** ID */
-    @TableId(value = "id")
-    private Long id;
-
-    /** 真实姓名 */
-    @Excel(name = "真实姓名")
-    private String realName;
-
-    /** 真实姓名(姓的拼音首字母) */
-    @Excel(name = "真实姓名(姓的拼音首字母)")
-    private String nameInitial;
-
-    /** 艺名 */
-    @Excel(name = "艺名")
-    private String artName;
-
-    /** 头像对应的url地址 */
-    @Excel(name = "头像对应的url地址")
-    private String avatar;
-
-    /** 手机号码 */
-    @Excel(name = "手机号码")
-    private String phone;
-
-    /** 性别【0未知】【1男】【2女】 */
-    @Excel(name = "性别【0未知】【1男】【2女】")
-    private Integer gender;
-
-    /** 生日 */
-    @Excel(name = "生日" , width = 30, dateFormat = "yyyy-MM-dd")
-    @JsonFormat(pattern = "yyyy-MM-dd")
-    private Date birthday;
-
-    /** 电子邮箱 */
-    @Excel(name = "电子邮箱")
-    private String email;
-
-    /** 所属协会信息 */
-    @Excel(name = "所属协会信息")
-    private String association;
-
-    /** 个人简绍 */
-    @Excel(name = "个人简绍")
-    private String about;
-
-    /** 简介 */
-    @Excel(name = "简介")
-    private String briefAbout;
-
-    /** 是否上架(0未上架 1上架) */
-    @Excel(name = "是否上架" , readConverterExp = "0=未上架,1=上架")
-    private Integer isUp;
-
-    /** 热门推荐(0不推荐 1推荐) */
-    @Excel(name = "热门推荐" , readConverterExp = "0=不推荐,1=推荐")
-    private Integer isHot;
-
-    /** 曾用名 */
-    @Excel(name = "曾用名")
-    private String nameUsedBefore;
-
-    /** 证件类型 */
-    @Excel(name = "证件类型")
-    private String documentType;
-
-    /** 证件号码 */
-    @Excel(name = "证件号码")
-    private String idNumber;
-
-    /** 籍贯 */
-    @Excel(name = "籍贯")
-    private String nativePlace;
-
-    /** 艺术形式 */
-    @Excel(name = "艺术形式")
-    private String formsOfArt;
-
-    /** 毕业院校 */
-    @Excel(name = "毕业院校")
-    private String graduatedFrom;
-
-    /** 证书照片列表 */
-    @Excel(name = "证书照片列表")
-    private List<String> certificates;
-
-    private String delFlag;
-
-    private Date updateTime;
-}

+ 107 - 0
tour-module/src/main/java/com/tour/module/request/LineRequet.java

@@ -0,0 +1,107 @@
+package com.tour.module.request;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.tour.common.annotation.Excel;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 旅行线路对象 tour_line
+ * 
+ * @author zoe
+ * @date 2023-05-23
+ */
+@Data
+@NoArgsConstructor
+@Accessors(chain = true)
+public class LineRequet implements Serializable {
+
+private static final long serialVersionUID=1L;
+
+    private Long id;
+
+
+    private String title;
+
+
+    private String subTitle;
+
+    /** 原价 */
+    private BigDecimal originalPrice;
+
+    /** 会员价 */
+
+    private BigDecimal memberPrice;
+
+    /** $column.columnComment */
+    private Long agentId;
+
+    /** 月售 */
+    private Long saleNum;
+
+    /** 好评 */
+    private String comment;
+
+    /** 累计服务 */
+    private String totalService;
+
+    /** 线路行程 */
+    private List<String> tourRemark;
+
+    /** 购票须知 */
+    @Excel(name = "购票须知")
+    private List<String> ticketNotice;
+
+    /** 展示图 */
+    @Excel(name = "展示图")
+    private List<String> image;
+
+    /** 类型 1热门 2品质 3 经典 */
+    @Excel(name = "类型 1热门 2品质 3 经典")
+    private Integer type;
+
+    /** 省 */
+    @Excel(name = "省")
+    private String provinceName;
+
+    /** 市 */
+    @Excel(name = "市")
+    private String cityName;
+
+    /** 佣金 */
+    private BigDecimal commisson;
+
+    /** 状态: 0正常 1禁用 */
+    private Integer status;
+
+    /** 删除标志(0代表存在 1代表删除) */
+    private String delFlag;
+
+    /** 创建者 */
+    private String createBy;
+
+    /** 更新者 */
+    private String updateBy;
+
+    /** 创建时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date createTime;
+
+    /** 更新时间 */
+    private Date updateTime;
+
+    /** 删除标识位: 0正常 1删除 */
+    private Integer deleted;
+
+    @TableField(exist = false)
+    private Map<String, Object> params = new HashMap<>();
+}

+ 0 - 58
tour-module/src/main/java/com/tour/module/request/NewsCategoryRequest.java

@@ -1,58 +0,0 @@
-package com.tour.module.request;
-
-import com.tour.common.annotation.Excel;
-import com.tour.module.vo.BaseVo;
-import com.baomidou.mybatisplus.annotation.TableId;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-
-import java.util.List;
-
-@EqualsAndHashCode(callSuper = true)
-@Data
-public class NewsCategoryRequest extends BaseVo {
-
-    /** ID */
-    @TableId(value = "id")
-    @ApiModelProperty(value = "资讯分类ID")
-    private Long id;
-
-    /** 分类名称 */
-    @Excel(name = "分类名称")
-    @ApiModelProperty(value = "分类名称")
-    private String name;
-
-    /** 排序 */
-    @Excel(name = "排序")
-    @ApiModelProperty(value = "排序")
-    private Long sort;
-
-    /** 上级分类id */
-    @Excel(name = "上级分类id")
-    @ApiModelProperty(value = "上级分类id")
-    private Long parentId;
-
-    /** 等级(1一级 2二级) */
-    @Excel(name = "等级" , readConverterExp = "1=一级,2=二级")
-    @ApiModelProperty(value = "等级(1一级 2二级) ")
-    private Long level;
-
-    /** 类型: 1资讯  */
-    @Excel(name = "类型: 1资讯 ")
-    @ApiModelProperty(value = " 类型: 1资讯 ")
-    private Integer type;
-
-    /** 对应图片的url地址 */
-    @Excel(name = "对应图片的url地址")
-    @ApiModelProperty(value = "对应图片的url地址")
-    private List<String> image;
-
-    @Excel(name = "热门推荐:0不推荐  1推荐")
-    @ApiModelProperty(value = "热门推荐:0不推荐  1推荐")
-    private Integer isHot;
-
-    @Excel(name = "资讯数量")
-    @ApiModelProperty(value = "资讯数量")
-    private Integer newsNum;
-}

+ 0 - 24
tour-module/src/main/java/com/tour/module/request/TopicRequest.java

@@ -1,24 +0,0 @@
-package com.tour.module.request;
-
-import com.tour.module.vo.BaseVo;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-
-import java.util.List;
-
-@EqualsAndHashCode(callSuper = true)
-@Data
-public class TopicRequest extends BaseVo {
-
-    private Long id;
-
-    private String name;
-
-    private List<String> image;
-
-    private Integer sort;
-
-    private List<Long> ids;
-
-    private List<String> imageArr;
-}

+ 0 - 86
tour-module/src/main/java/com/tour/module/request/WorkRequest.java

@@ -1,86 +0,0 @@
-package com.tour.module.request;
-
-import com.tour.common.annotation.Excel;
-import com.tour.module.vo.BaseVo;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-
-import java.util.List;
-
-@EqualsAndHashCode(callSuper = true)
-@Data
-public class WorkRequest extends BaseVo {
-
-    private Long id;
-
-    private Long artistId;
-
-    private String workDesc;
-
-    private List<String> image;
-
-    private String price;
-
-    private Long priceRangeId;
-
-    private Long workCategoryId;
-
-    private Long workColourId;
-
-    private String workName;
-
-    private String workNo;
-
-    private Long workShapeId;
-
-    private Long workSizeId;
-
-    private Long workStatus;
-
-    private Long workStyleId;
-
-    private Long workThemeId;
-
-    private String workTime;
-
-    private String workRemark;
-
-    private Long ibecId;
-
-    private Long memberId;
-
-    private Long isUp;
-
-    private Long isHot;
-
-    private Long topicId;
-
-    private String registrationName;
-
-    private String certificateName;
-
-
-    /**
-     * 图片高
-     */
-    private Long imageHeight;
-    /**
-     * 图片宽
-     */
-    private Long imageWidth;
-
-    /**
-     * 作品登记证书
-     */
-    private List<String> registrationCertificate;
-
-
-    private List<String> workCertificate;
-
-
-    private List<List<Long>> attributionId;
-
-    private Long siteId;
-    private Integer iosArt;
-
-}

+ 89 - 1
tour-module/src/main/java/com/tour/module/service/IAgentService.java

@@ -1,7 +1,10 @@
 package com.tour.module.service;
 
+import com.tour.common.core.domain.entity.SysUser;
 import com.tour.module.domain.Agent;
 import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.math.BigDecimal;
 import java.util.List;
 
 /**
@@ -17,5 +20,90 @@ public interface IAgentService extends IService<Agent> {
      * @param agent 实体
      * @return 列表
      */
-    List<Agent> queryList(Agent agent);
+    List<Agent> queryList(Agent agent, SysUser user);
+
+    List<Agent> selectAgentList(Agent agent, SysUser user);
+
+    /**
+     * 查询所有的代理商
+     * @return
+     */
+    List<Agent> getAgentAll(SysUser user);
+
+    Agent getInfoById(Long id);
+
+    Agent getInfo(Long id, SysUser user);
+
+    Boolean createAgent(Agent agent, SysUser user) throws Exception;
+
+    BigDecimal getMaxRete(SysUser user);
+
+    List<Agent> selectAgentListByStatus(Integer status);
+
+    List<Agent> selectByPid(Integer id);
+
+    Integer getSAgentNum(List<Long> agentIds, String todayStartDate);
+
+    void updateAgentListAmount(List<Agent> list);
+
+    List<Integer> getAgentIdsByPid(Integer id);
+
+    List<Long> listAgent(Long id);
+
+    /**
+     * 查询自己和下级以及下下级的id
+     *
+     * @param id
+     * @return
+     */
+    List<Integer> getIds(Integer id);
+
+    /**
+     * 根据渠道商查找代理商的id
+     *
+     * @param dspId
+     * @return
+     */
+    List<Integer> getAgentIdsByDspId(Integer dspId);
+
+    Boolean updateAgent(Agent agent);
+
+    /**
+     * 按区域查询代理商(一级代理商)
+     *
+     * @param cityName     市
+     * @param districtName 区
+     * @return
+     */
+    Agent findByArea(String cityName, String districtName);
+
+    /**
+     * 根据pid查找一级代理商
+     *
+     * @param pid
+     * @return
+     */
+    Agent getByPid(Long pid);
+
+    /**
+     * 查询代理商的下级代理商
+     * @param pid
+     * @return
+     */
+    List<Long> selectByPid(Long pid);
+
+    void updateAgentStatus(Integer id);
+
+
+    BigDecimal getMinBindFee(String cityId);
+
+
+
+    /**
+     * 获取一级代理商
+     * @return 代理商列表
+     */
+    List<Agent> queryFirstLevelList();
+//    Long getAgentDeliveryPackageId(Long agentId);
+    Agent getInfo(SysUser user);
 }

+ 3 - 0
tour-module/src/main/java/com/tour/module/service/IAgentWithdrawalService.java

@@ -1,5 +1,7 @@
 package com.tour.module.service;
 
+import com.alipay.api.AlipayApiException;
+import com.tour.common.core.domain.entity.SysUser;
 import com.tour.module.domain.AgentWithdrawal;
 import com.baomidou.mybatisplus.extension.service.IService;
 import java.util.List;
@@ -18,4 +20,5 @@ public interface IAgentWithdrawalService extends IService<AgentWithdrawal> {
      * @return 列表
      */
     List<AgentWithdrawal> queryList(AgentWithdrawal agentWithdrawal);
+    Boolean withdrawal(AgentWithdrawal agentWithdrawal, SysUser user) throws AlipayApiException;
 }

+ 5 - 1
tour-module/src/main/java/com/tour/module/service/ILineService.java

@@ -2,6 +2,7 @@ package com.tour.module.service;
 
 import com.tour.module.domain.Line;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.tour.module.request.LineRequet;
 import com.tour.module.vo.LineVo;
 
 import java.util.List;
@@ -21,5 +22,8 @@ public interface ILineService extends IService<Line> {
      */
     List<Line> queryList(LineVo line);
 
-    Line getDetail(Long id);
+    LineVo getDetail(Long id);
+
+    int saveline(LineRequet requet);
+    int updateline(LineRequet requet);
 }

+ 21 - 0
tour-module/src/main/java/com/tour/module/service/IMakeCardAllocationService.java

@@ -0,0 +1,21 @@
+package com.tour.module.service;
+
+import com.tour.module.domain.MakeCardAllocation;
+import com.baomidou.mybatisplus.extension.service.IService;
+import java.util.List;
+
+/**
+ * 制卡分配情况Service接口
+ *
+ * @author zoe
+ * @date 2023-06-02
+ */
+public interface IMakeCardAllocationService extends IService<MakeCardAllocation> {
+
+    /**
+     * 查询列表
+     * @param MakeCardAllocation 实体
+     * @return 列表
+     */
+    List<MakeCardAllocation> queryList(MakeCardAllocation MakeCardAllocation);
+}

+ 25 - 0
tour-module/src/main/java/com/tour/module/service/IMakeCardService.java

@@ -0,0 +1,25 @@
+package com.tour.module.service;
+
+import com.tour.module.domain.MakeCard;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.tour.module.vo.MakeCardVo;
+
+import java.util.List;
+
+/**
+ * 制卡Service接口
+ *
+ * @author zoe
+ * @date 2023-06-02
+ */
+public interface IMakeCardService extends IService<MakeCard> {
+
+    /**
+     * 查询列表
+     * @param markCard 实体
+     * @return 列表
+     */
+    List<MakeCard> queryList(MakeCard markCard);
+    List<MakeCard> getList(MakeCard markCard);
+    MakeCardVo getInfo(Long id);
+}

+ 1 - 0
tour-module/src/main/java/com/tour/module/service/IOrderCommissonService.java

@@ -21,4 +21,5 @@ public interface IOrderCommissonService extends IService<OrderCommisson> {
      */
     List<OrderCommisson> queryList(OrderCommisson orderCommisson);
     List<OrderCommissonVo> queryListByAgentId(Long agentId);
+    List<OrderCommissonVo> commissonList(OrderCommissonVo orderCommissonVo);
 }

+ 23 - 0
tour-module/src/main/java/com/tour/module/service/IRegionService.java

@@ -0,0 +1,23 @@
+package com.tour.module.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.tour.module.domain.Region;
+import com.tour.module.domain.dto.RegionDto;
+
+
+import java.util.List;
+
+/**
+ * Demo class
+ *
+ * @author zangbin
+ * @date 2022/11/3 10:48
+ */
+public interface IRegionService extends IService<Region> {
+
+    List<RegionDto> getList();
+
+    List<RegionDto> getAllList();
+
+    List<RegionDto> getCityList();
+}

+ 293 - 18
tour-module/src/main/java/com/tour/module/service/impl/AgentServiceImpl.java

@@ -1,5 +1,14 @@
 package com.tour.module.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.tour.common.constant.UserConstants;
+import com.tour.common.core.domain.entity.SysUser;
+import com.tour.common.enums.UserTypeEnums;
+import com.tour.common.enums.UserTypeJoinRoleEnums;
+import com.tour.common.exception.CustomException;
+import com.tour.common.utils.SecurityUtils;
+import com.tour.system.service.ISysUserService;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -9,6 +18,12 @@ import com.tour.module.mapper.AgentMapper;
 import com.tour.module.domain.Agent;
 import com.tour.module.service.IAgentService;
 
+import javax.annotation.Resource;
+import java.awt.image.BufferedImage;
+import java.io.InputStream;
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
 import java.util.Map;
 
@@ -21,33 +36,293 @@ import java.util.Map;
 @Service
 public class AgentServiceImpl extends ServiceImpl<AgentMapper, Agent> implements IAgentService {
 
+
+    @Resource
+    ISysUserService userService;
+
     @Override
-    public List<Agent> queryList(Agent agent) {
+    public List<Agent> queryList(Agent agent, SysUser user) {
         LambdaQueryWrapper<Agent> lqw = Wrappers.lambdaQuery();
-        if (StringUtils.isNotBlank(agent.getAgentName())){
-            lqw.like(Agent::getAgentName ,agent.getAgentName());
+
+        if (agent.getPid() != null) {
+            lqw.eq(Agent::getPid, agent.getPid());
+        } else {
+            if (user.getType().equals(UserTypeEnums.AGENT.getCode())) {
+                lqw.eq(Agent::getPid, user.getAgentId()).or().eq(Agent::getId, user.getAgentId());
+            }
+        }
+        if (StringUtils.isNotBlank(agent.getAgentName())) {
+            lqw.like(Agent::getAgentName, agent.getAgentName());
+        }
+
+        if (agent.getAgentLevel() != null) {
+            lqw.eq(Agent::getAgentLevel, agent.getAgentLevel());
+        }
+        if (agent.getCommissonRate() != null) {
+            lqw.eq(Agent::getCommissonRate, agent.getCommissonRate());
+        }
+        if (StringUtils.isNotBlank(agent.getContactName())) {
+            lqw.like(Agent::getContactName, agent.getContactName());
+        }
+        if (StringUtils.isNotBlank(agent.getAvatar())) {
+            lqw.eq(Agent::getAvatar, agent.getAvatar());
+        }
+        if (StringUtils.isNotBlank(agent.getMobile())) {
+            lqw.like(Agent::getMobile, agent.getMobile());
+        }
+        if (StringUtils.isNotBlank(agent.getAddress())) {
+            lqw.eq(Agent::getAddress, agent.getAddress());
+        }
+        if (StringUtils.isNotBlank(agent.getProvinceName()) && StringUtils.isBlank(agent.getCityName()) && StringUtils.isBlank(agent.getDistrictName())) {
+            List<Agent> provinceList = baseMapper.selectList(new QueryWrapper<Agent>().like("province_name", agent.getProvinceName()).isNull("pid"));
+            List<Long> provinceIds = new ArrayList<>();
+            provinceList.forEach(province -> {
+                provinceIds.add(province.getId());
+            });
+            if (provinceIds.size() > 0) {
+                lqw.and(wrapper -> wrapper.in(Agent::getId, provinceIds).or().in(Agent::getPid, provinceIds));
+            } else {
+                lqw.eq(Agent::getId, -1);
+            }
+            // lqw.like(Agent::getProvinceName ,agent.getProvinceName());
         }
-        if (agent.getPid() != null){
-            lqw.eq(Agent::getPid ,agent.getPid());
+        if (StringUtils.isNotBlank(agent.getCityName()) && StringUtils.isBlank(agent.getDistrictName())) {
+            List<Agent> cityList = baseMapper.selectList(new QueryWrapper<Agent>().like("province_name", agent.getProvinceName())
+                    .like("city_name", agent.getCityName()).isNull("pid"));
+            List<Long> cityIds = new ArrayList<>();
+            cityList.forEach(city -> {
+                cityIds.add(city.getId());
+            });
+            if (cityIds.size() > 0) {
+                lqw.and(wrapper -> wrapper.in(Agent::getId, cityIds).or().in(Agent::getPid, cityIds));
+            } else {
+                lqw.eq(Agent::getId, -1);
+            }
+            // lqw.like(Agent::getCityName ,agent.getCityName());
         }
-        if (StringUtils.isNotBlank(agent.getCityName())){
-            lqw.like(Agent::getCityName ,agent.getCityName());
+        if (StringUtils.isNotBlank(agent.getDistrictName())) {
+            List<Agent> districtList = baseMapper.selectList(new QueryWrapper<Agent>().like("province_name", agent.getProvinceName())
+                    .like("city_name", agent.getCityName())
+                    .like("district_name", agent.getDistrictName()).isNull("pid"));
+            List<Long> districtIds = new ArrayList<>();
+            districtList.forEach(district -> {
+                districtIds.add(district.getId());
+            });
+            if (districtIds.size() > 0) {
+                lqw.and(wrapper -> wrapper.in(Agent::getId, districtIds).or().in(Agent::getPid, districtIds));
+            } else {
+                lqw.eq(Agent::getId, -1);
+            }
+            // lqw.like(Agent::getDistrictName ,agent.getDistrictName());
         }
-        if (StringUtils.isNotBlank(agent.getArea())){
-            lqw.eq(Agent::getArea ,agent.getArea());
+
+        if (CollectionUtils.isNotEmpty(user.getAgentIds())) {
+            lqw.in(Agent::getId, user.getAgentIds());
+        }
+
+        if (agent.getStartTime() != null) {
+            lqw.ge(Agent::getCreateTime, agent.getStartTime());
         }
-        if (StringUtils.isNotBlank(agent.getStatus())){
-            lqw.eq(Agent::getStatus ,agent.getStatus());
+        if (agent.getEndTime() != null) {
+            lqw.le(Agent::getCreateTime, agent.getEndTime());
         }
-        if (agent.getRate() != null){
-            lqw.eq(Agent::getRate ,agent.getRate());
+        if (CollectionUtils.isNotEmpty(user.getAgentIds())) {
+            lqw.in(Agent::getId, user.getAgentIds());
         }
-        if (agent.getAmount() != null){
-            lqw.eq(Agent::getAmount ,agent.getAmount());
+
+
+        if (agent.getValid() != null && agent.getValid() != 0) {
+            if (agent.getValid() == 1) {
+                lqw.apply("DATEDIFF(valid_end_date,valid_start_date) <= 30");
+            }
+
+            if (agent.getValid() == 2) {
+                lqw.apply("DATEDIFF(valid_end_date,valid_start_date) <= 60");
+            }
+
+            if (agent.getValid() == 3) {
+                lqw.apply("DATEDIFF(valid_end_date,valid_start_date) <= 180");
+            }
         }
-        if (agent.getWithdrawalAmount() != null){
-            lqw.eq(Agent::getWithdrawalAmount ,agent.getWithdrawalAmount());
+        lqw.ne(Agent::getPid, 0);
+        lqw.orderByDesc(Agent::getCreateTime);
+        List<Agent> list = this.list(lqw);
+        list.stream().forEach(agent1 -> {
+            Agent parentAgent = this.getById(agent1.getPid());
+            if (parentAgent != null) {
+                agent1.setPAgentName(parentAgent.getAgentName());
+            }
+        });
+        return list;
+    }
+
+    @Override
+    public List<Agent> selectAgentList(Agent agent, SysUser user) {
+        List<Agent> list = new ArrayList<>();
+        if (user.getType().equals(UserTypeEnums.AGENT.getCode())) {
+            list = baseMapper.getAgentAll(user.getAgentId());
+        } else {
+            list = this.list();
         }
-        return this.list(lqw);
+        return list;
+    }
+
+    @Override
+    public List<Agent> getAgentAll(SysUser user) {
+        return null;
+    }
+
+    @Override
+    public Agent getInfoById(Long id) {
+        return null;
+    }
+
+    @Override
+    public Agent getInfo(Long id, SysUser user) {
+        Agent agent = this.getById(id);
+//        if (agent != null) {
+//            Agent superAgent = this.getById(agent.getPid());
+//            if (superAgent != null && superAgent.getPid() == null) {
+//                agent.setProvinceName(superAgent.getProvinceName());
+//                agent.setCityName(superAgent.getCityName());
+//                agent.setDistrictName(superAgent.getDistrictName());
+//            } else if (superAgent != null && superAgent.getPid() != null) {
+//                Agent superLowAgent = this.getById(superAgent.getPid());
+//                agent.setProvinceName(superLowAgent.getProvinceName());
+//                agent.setCityName(superLowAgent.getCityName());
+//                agent.setDistrictName(superLowAgent.getDistrictName());
+//            }
+//        }
+        return agent;
+    }
+
+    @Override
+    public Boolean createAgent(Agent agent, SysUser user) throws Exception {
+        Agent agents = baseMapper.selectByMobile(agent.getMobile(), null);
+//        Integer gentLevel = null;
+        if (agents != null) {
+            throw new CustomException("代理商已存在,请勿重复创建!");
+        }
+        if (UserConstants.NOT_UNIQUE.equals(userService.checkUserNameUnique(agent.getMobile()))) {
+            throw new CustomException("该手机号码为系统管理员账号,创建失败!");
+        }
+        if (agent.getMobile().length() > 11) {
+            throw new CustomException("手机号过长,规定为11位!");
+        }
+//     if (user.getType().equals(UserTypeEnums.AGENT.getCode())) {
+        Agent parentAgent = this.getById(user.getAgentId());
+        if (parentAgent != null) {
+            agent.setPid(parentAgent.getId());
+        }else{
+            agent.setPid(1L);
+        }
+
+        agent.setProvinceName(agent.getProvinceName());
+        agent.setCityName(agent.getCityName());
+        agent.setDistrictName(agent.getDistrictName());
+        agent.setCreateTime(new Date());
+        this.save(agent);
+
+        //创建代理商后台账号
+        SysUser agentUser = new SysUser();
+        agentUser.setUserName(agent.getMobile());
+        agentUser.setNickName(agent.getMobile());
+        agentUser.setType(UserTypeEnums.AGENT.getCode());
+        agentUser.setPhonenumber(agent.getMobile());
+        agentUser.setAgentId(agent.getId());
+
+        agentUser.setPassword(agent.getMobile().substring(6));
+        agentUser.setCreateBy(SecurityUtils.getUsername());
+        agentUser.setPassword(SecurityUtils.encryptPassword(agentUser.getPassword()));
+        Long[] roleIds = {UserTypeJoinRoleEnums.AGENT.getRoleId()};
+        agentUser.setRoleIds(roleIds);
+        userService.insertUser(agentUser);
+        return true;
+    }
+
+    @Override
+    public BigDecimal getMaxRete(SysUser user) {
+        return null;
+    }
+
+    @Override
+    public List<Agent> selectAgentListByStatus(Integer status) {
+        return null;
+    }
+
+    @Override
+    public List<Agent> selectByPid(Integer id) {
+        return null;
+    }
+
+    @Override
+    public Integer getSAgentNum(List<Long> agentIds, String todayStartDate) {
+        return null;
+    }
+
+    @Override
+    public void updateAgentListAmount(List<Agent> list) {
+
+    }
+
+    @Override
+    public List<Integer> getAgentIdsByPid(Integer id) {
+        return null;
+    }
+
+    @Override
+    public List<Long> listAgent(Long id) {
+        return null;
+    }
+
+    @Override
+    public List<Integer> getIds(Integer id) {
+        return null;
+    }
+
+    @Override
+    public List<Integer> getAgentIdsByDspId(Integer dspId) {
+        return null;
+    }
+
+    @Override
+    public Boolean updateAgent(Agent agent) {
+        return null;
+    }
+
+    @Override
+    public Agent findByArea(String cityName, String districtName) {
+        return null;
+    }
+
+    @Override
+    public Agent getByPid(Long pid) {
+        return null;
+    }
+
+    @Override
+    public List<Long> selectByPid(Long pid) {
+        return null;
+    }
+
+    @Override
+    public void updateAgentStatus(Integer id) {
+
+    }
+
+    @Override
+    public BigDecimal getMinBindFee(String cityId) {
+        return null;
+    }
+
+    @Override
+    public List<Agent> queryFirstLevelList() {
+        return null;
+    }
+
+    @Override
+    public Agent getInfo( SysUser user) {
+        Agent agent = this.getById(user.getAgentId());
+        return agent;
     }
 }

+ 54 - 1
tour-module/src/main/java/com/tour/module/service/impl/AgentWithdrawalServiceImpl.java

@@ -1,5 +1,12 @@
 package com.tour.module.service.impl;
 
+import com.alipay.api.AlipayApiException;
+import com.tour.common.core.domain.entity.SysUser;
+import com.tour.common.enums.UserTypeEnums;
+import com.tour.common.enums.WithdrawalStatus;
+import com.tour.common.exception.CustomException;
+import com.tour.module.domain.Agent;
+import com.tour.module.service.IAgentService;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -8,7 +15,10 @@ import org.apache.commons.lang3.StringUtils;
 import com.tour.module.mapper.AgentWithdrawalMapper;
 import com.tour.module.domain.AgentWithdrawal;
 import com.tour.module.service.IAgentWithdrawalService;
+import org.springframework.transaction.annotation.Transactional;
 
+import javax.annotation.Resource;
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 
@@ -21,6 +31,9 @@ import java.util.Map;
 @Service
 public class AgentWithdrawalServiceImpl extends ServiceImpl<AgentWithdrawalMapper, AgentWithdrawal> implements IAgentWithdrawalService {
 
+    @Resource
+    IAgentService iAgentService;
+
     @Override
     public List<AgentWithdrawal> queryList(AgentWithdrawal agentWithdrawal) {
         LambdaQueryWrapper<AgentWithdrawal> lqw = Wrappers.lambdaQuery();
@@ -48,7 +61,47 @@ public class AgentWithdrawalServiceImpl extends ServiceImpl<AgentWithdrawalMappe
         if (agentWithdrawal.getStatus() != null){
             lqw.eq(AgentWithdrawal::getStatus ,agentWithdrawal.getStatus());
         }
+        if (agentWithdrawal.getAgentIds() != null&&agentWithdrawal.getAgentIds().size()>0){
+            lqw.in(AgentWithdrawal::getAgentId ,agentWithdrawal.getAgentIds());
+        }
         lqw.orderByDesc(AgentWithdrawal::getCreateTime);
-        return this.list(lqw);
+        List<AgentWithdrawal> list = this.list(lqw);
+        list.forEach(agentWithdrawals -> {
+            if (agentWithdrawals.getAgentId() != null){
+                Agent agent = iAgentService.getById(agentWithdrawals.getAgentId());
+                agentWithdrawals.setAgentName(agent == null ? null : agent.getAgentName());
+            }
+            if(agentWithdrawals.getType()==1){
+                agentWithdrawals.setAccountNo(agentWithdrawals.getBankName()+"/"+agentWithdrawals.getBankNo());
+            }
+        });
+        return list;
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public Boolean withdrawal(AgentWithdrawal agentWithdrawal, SysUser user) throws AlipayApiException {
+
+        AgentWithdrawal agentWithdrawals = this.getById(agentWithdrawal.getId());
+        Agent agent = iAgentService.getById(agentWithdrawals.getAgentId());
+        if (agent == null){
+            throw new CustomException("未找到代理商信息,稍后再试!");
+        }
+        if (agentWithdrawals == null){
+            throw new CustomException("风险操作,已被系统拦截!");
+        }
+        agentWithdrawals.setStatus(agentWithdrawal.getStatus());
+        agentWithdrawals.setRemark(agentWithdrawal.getRemark());
+        // 同意提现
+        if (agentWithdrawals.getStatus().equals(WithdrawalStatus.SUCCESS.getStatus())){
+            this.updateById(agentWithdrawals);
+        } else {
+            // 拒绝提现
+            // 还原代理商账户余额
+            agent.setAmount(agent.getAmount().add(agentWithdrawals.getAmount()));
+            iAgentService.updateById(agent);
+            this.updateById(agentWithdrawals);
+        }
+        return true;
     }
 }

+ 115 - 5
tour-module/src/main/java/com/tour/module/service/impl/LineServiceImpl.java

@@ -1,5 +1,8 @@
 package com.tour.module.service.impl;
 
+
+import com.tour.common.utils.bean.BeanUtils;
+import com.tour.module.request.LineRequet;
 import com.tour.module.vo.LineVo;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -10,8 +13,11 @@ import com.tour.module.mapper.LineMapper;
 import com.tour.module.domain.Line;
 import com.tour.module.service.ILineService;
 
+import java.util.Arrays;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * 旅行线路Service业务层处理
@@ -37,19 +43,123 @@ public class LineServiceImpl extends ServiceImpl<LineMapper, Line> implements IL
 //        if (StringUtils.isNotBlank(line.getProvince())) {
 //            lqw.like(Line::getProvince, line.getProvince());
 //        }
-        if (StringUtils.isNotBlank(line.getCity())) {
-            lqw.like(Line::getCity, line.getCity()).or().like(Line::getProvince, line.getProvince());
+        if (StringUtils.isNotBlank(line.getCityName())) {
+            lqw.like(Line::getCityName, line.getCityName()).or().like(Line::getProvinceName, line.getProvinceName());
         }
         lqw.eq(Line::getStatus, 0);
-        return this.list(lqw);
+        List<Line> list = this.list(lqw);
+        list.stream().forEach(item -> {
+            item.setAddress(item.getProvinceName()+item.getCityName());
+        });
+        return list;
     }
 
     @Override
-    public Line getDetail(Long id) {
+    public LineVo getDetail(Long id) {
+        LineVo vo = new LineVo();
         LambdaQueryWrapper<Line> lqw = Wrappers.lambdaQuery();
         lqw.eq(Line::getId, id);
         lqw.eq(Line::getStatus, 0);
         Line item = this.getOne(lqw);
-        return item;
+        BeanUtils.copyBeanProp(vo, item);
+        List<String> productImageList = Arrays.asList(StringUtils.split(item.getImage(), ","));
+        List<Map<String, String>> productList = productImageList.stream().map(productImage -> {
+            Map<String, String> product = new HashMap<>();
+            product.put("url", productImage);
+            return product;
+        }).collect(Collectors.toList());
+        vo.setImage(productList);
+
+        List<String> remarkImageList = Arrays.asList(StringUtils.split(item.getTourRemark(), ","));
+        List<Map<String, String>> remarkList = remarkImageList.stream().map(productImage -> {
+            Map<String, String> product = new HashMap<>();
+            product.put("url", productImage);
+            return product;
+        }).collect(Collectors.toList());
+        vo.setTourRemark(remarkList);
+
+        List<String> noticeImageList = Arrays.asList(StringUtils.split(item.getTicketNotice(), ","));
+        List<Map<String, String>> noticeList = noticeImageList.stream().map(productImage -> {
+            Map<String, String> product = new HashMap<>();
+            product.put("url", productImage);
+            return product;
+        }).collect(Collectors.toList());
+        vo.setTicketNotice(noticeList);
+        return vo;
+    }
+
+    @Override
+    public int saveline(LineRequet requet) {
+        Line line = new Line();
+        BeanUtils.copyBeanProp(line, requet);
+        StringBuilder stringBuilder = new StringBuilder();
+        for (int i = 0; i < requet.getImage().size(); i++) {
+            if (i >= (requet.getImage().size() - 1)) {
+                stringBuilder.append(requet.getImage().get(i));
+            } else {
+                stringBuilder.append(requet.getImage().get(i)).append(",");
+            }
+        }
+        line.setImage(stringBuilder.toString());
+
+
+        StringBuilder stringBuilder1 = new StringBuilder();
+        for (int i = 0; i < requet.getTourRemark().size(); i++) {
+            if (i >= (requet.getTourRemark().size() - 1)) {
+                stringBuilder1.append(requet.getTourRemark().get(i));
+            } else {
+                stringBuilder1.append(requet.getTourRemark().get(i)).append(",");
+            }
+        }
+        line.setTourRemark(stringBuilder1.toString());
+
+
+        StringBuilder stringBuilder2 = new StringBuilder();
+        for (int i = 0; i < requet.getTicketNotice().size(); i++) {
+            if (i >= (requet.getTicketNotice().size() - 1)) {
+                stringBuilder2.append(requet.getTicketNotice().get(i));
+            } else {
+                stringBuilder2.append(requet.getTicketNotice().get(i)).append(",");
+            }
+        }
+        line.setTicketNotice(stringBuilder2.toString());
+
+        return baseMapper.insert(line);
+    }
+
+    @Override
+    public int updateline(LineRequet requet) {
+        Line line = new Line();
+        BeanUtils.copyBeanProp(line, requet);
+        StringBuilder stringBuilder = new StringBuilder();
+        for (int i = 0; i < requet.getImage().size(); i++) {
+            if (i >= (requet.getImage().size() - 1)) {
+                stringBuilder.append(requet.getImage().get(i));
+            } else {
+                stringBuilder.append(requet.getImage().get(i)).append(",");
+            }
+        }
+        line.setImage(stringBuilder.toString());
+
+        StringBuilder stringBuilder1 = new StringBuilder();
+        for (int i = 0; i < requet.getTourRemark().size(); i++) {
+            if (i >= (requet.getTourRemark().size() - 1)) {
+                stringBuilder1.append(requet.getTourRemark().get(i));
+            } else {
+                stringBuilder1.append(requet.getTourRemark().get(i)).append(",");
+            }
+        }
+        line.setTourRemark(stringBuilder1.toString());
+
+        StringBuilder stringBuilder2 = new StringBuilder();
+        for (int i = 0; i < requet.getTicketNotice().size(); i++) {
+            if (i >= (requet.getTicketNotice().size() - 1)) {
+                stringBuilder2.append(requet.getTicketNotice().get(i));
+            } else {
+                stringBuilder2.append(requet.getTicketNotice().get(i)).append(",");
+            }
+        }
+        line.setTicketNotice(stringBuilder2.toString());
+        return baseMapper.updateById(line);
     }
 }

+ 36 - 0
tour-module/src/main/java/com/tour/module/service/impl/MakeCardAllocationServiceImpl.java

@@ -0,0 +1,36 @@
+package com.tour.module.service.impl;
+
+import org.springframework.stereotype.Service;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.tour.module.mapper.MakeCardAllocationMapper;
+import com.tour.module.domain.MakeCardAllocation;
+import com.tour.module.service.IMakeCardAllocationService;
+
+import java.util.List;
+
+/**
+ * 制卡分配情况Service业务层处理
+ *
+ * @author zoe
+ * @date 2023-06-02
+ */
+@Service
+public class MakeCardAllocationServiceImpl extends ServiceImpl<MakeCardAllocationMapper, MakeCardAllocation> implements IMakeCardAllocationService {
+
+    @Override
+    public List<MakeCardAllocation> queryList(MakeCardAllocation makeCardAllocation) {
+        LambdaQueryWrapper<MakeCardAllocation> lqw = Wrappers.lambdaQuery();
+        if (makeCardAllocation.getMakeId() != null){
+            lqw.eq(MakeCardAllocation::getMakeId ,makeCardAllocation.getMakeId());
+        }
+        if (makeCardAllocation.getAgentId() != null){
+            lqw.eq(MakeCardAllocation::getAgentId ,makeCardAllocation.getAgentId());
+        }
+        if (makeCardAllocation.getNum() != null){
+            lqw.eq(MakeCardAllocation::getNum ,makeCardAllocation.getNum());
+        }
+        return this.list(lqw);
+    }
+}

+ 62 - 0
tour-module/src/main/java/com/tour/module/service/impl/MakeCardServiceImpl.java

@@ -0,0 +1,62 @@
+package com.tour.module.service.impl;
+
+import com.tour.module.domain.MakeCardAllocation;
+import com.tour.module.service.IMakeCardAllocationService;
+import com.tour.module.vo.MakeCardVo;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Service;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import org.apache.commons.lang3.StringUtils;
+import com.tour.module.mapper.MakeCardMapper;
+import com.tour.module.domain.MakeCard;
+import com.tour.module.service.IMakeCardService;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * 制卡Service业务层处理
+ *
+ * @author zoe
+ * @date 2023-06-02
+ */
+@Service
+public class MakeCardServiceImpl extends ServiceImpl<MakeCardMapper, MakeCard> implements IMakeCardService {
+
+    @Resource
+    IMakeCardAllocationService iMakeCardAllocationService;
+
+    @Override
+    public List<MakeCard> queryList(MakeCard markCard) {
+        LambdaQueryWrapper<MakeCard> lqw = Wrappers.lambdaQuery();
+        if (StringUtils.isNotBlank(markCard.getMakeCardName())) {
+            lqw.like(MakeCard::getMakeCardName, markCard.getMakeCardName());
+        }
+        if (markCard.getCardNum() != null) {
+            lqw.eq(MakeCard::getCardNum, markCard.getCardNum());
+        }
+        if (markCard.getStatus() != null) {
+            lqw.eq(MakeCard::getStatus, markCard.getStatus());
+        }
+        return this.list(lqw);
+    }
+
+    @Override
+    public List<MakeCard> getList(MakeCard makeCard) {
+        return baseMapper.getList(makeCard);
+    }
+
+    @Override
+    public MakeCardVo getInfo(Long id) {
+        MakeCardVo vo = new MakeCardVo();
+        MakeCard card = baseMapper.selectById(id);
+        BeanUtils.copyProperties(card,vo);
+        MakeCardAllocation MakeCardAllocation = new MakeCardAllocation();
+        MakeCardAllocation.setMakeId(id);
+        List<MakeCardAllocation> list = iMakeCardAllocationService.queryList(MakeCardAllocation);
+        vo.setList(list);
+        return vo;
+    }
+}

+ 14 - 0
tour-module/src/main/java/com/tour/module/service/impl/OrderCommissonServiceImpl.java

@@ -1,5 +1,6 @@
 package com.tour.module.service.impl;
 
+import com.tour.module.domain.Agent;
 import com.tour.module.vo.OrderCommissonVo;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -10,6 +11,8 @@ import com.tour.module.mapper.OrderCommissonMapper;
 import com.tour.module.domain.OrderCommisson;
 import com.tour.module.service.IOrderCommissonService;
 
+import java.math.BigDecimal;
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 
@@ -41,4 +44,15 @@ public class OrderCommissonServiceImpl extends ServiceImpl<OrderCommissonMapper,
     public List<OrderCommissonVo> queryListByAgentId(Long agentId) {
         return baseMapper.queryListByAgentId(agentId);
     }
+
+    @Override
+    public List<OrderCommissonVo> commissonList(OrderCommissonVo orderCommissonVo) {
+        List<OrderCommissonVo> list = baseMapper.commissonList(orderCommissonVo);
+        list.stream().forEach(vo -> {
+                vo.setCommissonType("线路返佣");
+                vo.setStatus("正常");
+                vo.setCommissonRate(new BigDecimal(vo.getCommissonRate().intValue()));
+        });
+        return list;
+    }
 }

+ 131 - 0
tour-module/src/main/java/com/tour/module/service/impl/RegionServiceImpl.java

@@ -0,0 +1,131 @@
+package com.tour.module.service.impl;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.tour.common.core.redis.RedisCache;
+import com.tour.common.utils.PingyingUtil;
+import com.tour.common.utils.StringUtils;
+import com.tour.module.domain.Region;
+import com.tour.module.domain.dto.RegionDto;
+import com.tour.module.mapper.RegionMapper;
+import com.tour.module.service.IRegionService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Demo class
+ *
+ * @author zangbin
+ * @date 2022/11/3 10:48
+ */
+@Service
+public class RegionServiceImpl extends ServiceImpl<RegionMapper, Region> implements IRegionService {
+
+    @Autowired
+    private RedisCache redisCache;
+
+    @Override
+    public List<RegionDto> getList() {
+        if(!redisCache.hasKey("CITY_LIST")){
+            List<Region> list = baseMapper.selectList(new QueryWrapper<Region>().eq("deleted", 0));
+            JSONArray result = buildTree(JSONArray.parseArray(JSON.toJSONString(list)),"id","parentId","childs");
+            List<RegionDto> regionDtos = JSONObject.parseArray(result.toString(), RegionDto.class);
+            redisCache.setCacheList("CITY_LIST",regionDtos);
+            return regionDtos;
+        }else{
+            return redisCache.getCacheList("CITY_LIST");
+        }
+    }
+
+    @Override
+    public List<RegionDto> getAllList() {
+        RegionDto dto = new RegionDto();
+        dto.setId("0");
+        dto.setName("全国");
+        List<RegionDto> list = getList();
+        list.add(0, dto);
+        return list;
+    }
+
+    public static JSONArray buildTree(JSONArray arr, String id, String pid, String childs) {
+        //新建一个JSONArray来接收组装成树形结构的返回值
+        JSONArray jsonArray = new JSONArray();
+        //新建一个JSONObject对象
+        JSONObject hash = new JSONObject();
+        //将数组转换为object格式
+        for (int i = 0; i < arr.size(); i++) {
+            //获取当前的JSON对象
+            JSONObject json = (JSONObject) arr.get(i);
+            //把当前id作为键,当前JSON对象作为值 put回hash这个Object对象中
+            //这里的put方法类似于map的put方法
+            hash.put(json.getString(id), json);
+        }
+        //遍历结果集
+        for (int j = 0; j < arr.size(); j++) {
+            Integer level = 0;
+            //单条记录
+            JSONObject aVal = (JSONObject) arr.get(j);
+            //在hash中取出key为单条记录中pid的值
+            String pidStr = "";
+            //如果父级id不等于null
+            if (aVal.get(pid) != null) {
+                pidStr = aVal.get(pid).toString();
+            }
+            //从hash这个对象中获取父级对象  parent
+            JSONObject hashParent = (JSONObject) hash.get(pidStr);
+            //如果记录的pid存在,则说明它有父节点,将她添加到孩子节点的集合中
+            if (hashParent != null) {
+                //检查是否有child属性
+                if (hashParent.get(childs) != null) {
+                    level = 2;
+                    if (StringUtils.isNotBlank(hashParent.getString("parentId"))) {
+                        level = 3;
+                    }
+                    aVal.put("level", level);
+                    //有子节点 则先将子节点取出
+                    JSONArray children = (JSONArray) hashParent.get(childs);
+                    //然后把当前这个对象放进子节点之中
+                    children.add(aVal);
+                    //最后把子节点在放回父节点之中
+                    hashParent.put(childs, children);
+                } else {
+                    //无子节点 则新建一个子节点
+                    level = 2;
+                    if (StringUtils.isNotBlank(hashParent.getString("parentId"))) {
+                        level = 3;
+                    }
+                    aVal.put("level", level);
+                    JSONArray children = new JSONArray();
+                    //然后再把当前对象放进去
+                    children.add(aVal);
+                    //最后在放回父节点之中
+                    hashParent.put(childs, children);
+                }
+            } else {
+                level = 1;
+                aVal.put("level", level);
+                jsonArray.add(aVal);
+            }
+        }
+        return jsonArray;
+
+    }
+   public List<RegionDto> getCityList(){
+       List<RegionDto> list = getList();
+       List<RegionDto> listCtiy = new ArrayList<>();
+       for(RegionDto dto:list){
+           listCtiy.addAll(dto.getChilds());
+       }
+       for(RegionDto dto:listCtiy){
+           dto.setChilds(null);
+           dto.setPy(PingyingUtil.changeToTonePinYin(dto.getName()).toUpperCase());
+       }
+        return listCtiy;
+    }
+}

+ 0 - 60
tour-module/src/main/java/com/tour/module/vo/ArtWordListVo.java

@@ -1,60 +0,0 @@
-package com.tour.module.vo;
-
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-
-
-@EqualsAndHashCode(callSuper = true)
-@Data
-@ApiModel("艺术品列表")
-public class ArtWordListVo extends BaseVo {
-
-    @ApiModelProperty("id")
-    private Long id;
-
-    @ApiModelProperty("艺术品名称")
-    private String workName;
-
-    @ApiModelProperty("年代")
-    private String year;
-
-    @ApiModelProperty("尺寸")
-    private String size;
-
-    @ApiModelProperty("作者")
-    private String author;
-
-    @ApiModelProperty("价格")
-    private Double price;
-
-    @ApiModelProperty("作品图片地址")
-    private String imageUrl;
-
-    @ApiModelProperty("作品状态")
-    private Integer workStatus;
-
-    @ApiModelProperty("作品类型")
-    private String workCategory;
-
-    @ApiModelProperty("题材类型")
-    private String workTheme;
-
-    @ApiModelProperty("作品编号")
-    private String workNo;
-
-    @ApiModelProperty("是否收藏(0:未收藏;1:已收藏)")
-    private Integer collect;
-
-    /**
-     * 图片高
-     */
-    private Integer imageHeight;
-    /**
-     * 图片宽
-     */
-    private Integer imageWidth;
-    private Integer artistId;
-    private String authorAvatar;
-}

+ 0 - 20
tour-module/src/main/java/com/tour/module/vo/CirculationVO.java

@@ -1,20 +0,0 @@
-package com.tour.module.vo;
-
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-
-import java.util.Date;
-
-@EqualsAndHashCode(callSuper = true)
-@Data
-public class CirculationVO extends BaseVo{
-
-    private String artworkNo;
-
-    private String assuranceUnit;
-
-    private String artworkName;
-
-    private Date depositTime;
-
-}

+ 0 - 40
tour-module/src/main/java/com/tour/module/vo/CollectVo.java

@@ -1,40 +0,0 @@
-package com.tour.module.vo;
-
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-
-
-@EqualsAndHashCode(callSuper = true)
-@Data
-@ApiModel("我的收藏")
-public class CollectVo extends BaseVo{
-
-    @ApiModelProperty("我的收藏对应ID")
-    private Long id;
-
-    @ApiModelProperty("艺术品ID")
-    private Long workId;
-
-    @ApiModelProperty("艺术品名称")
-    private String workName;
-
-    @ApiModelProperty("尺寸")
-    private String size;
-
-    @ApiModelProperty("作者")
-    private String author;
-
-    @ApiModelProperty("价格")
-    private Double price;
-
-    @ApiModelProperty("作品类型")
-    private String workCategory;
-
-    @ApiModelProperty("题材类型")
-    private String workTheme;
-
-    @ApiModelProperty("作品图片地址")
-    private String imageUrl;
-}

+ 6 - 5
tour-module/src/main/java/com/tour/module/vo/LineVo.java

@@ -11,6 +11,7 @@ import java.io.Serializable;
 import java.math.BigDecimal;
 import java.util.Date;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -54,15 +55,15 @@ private static final long serialVersionUID=1L;
     private String totalService;
 
     /** 线路行程 */
-    private String tourRemark;
+    private List<Map<String,String>> tourRemark;
 
     /** 购票须知 */
     @Excel(name = "购票须知")
-    private String ticketNotice;
+    private List<Map<String,String>> ticketNotice;
 
     /** 展示图 */
     @Excel(name = "展示图")
-    private String img;
+    private List<Map<String,String>> image;
 
     /** 类型 1热门 2品质 3 经典 */
     @Excel(name = "类型 1热门 2品质 3 经典")
@@ -70,11 +71,11 @@ private static final long serialVersionUID=1L;
 
     /** 省 */
     @Excel(name = "省")
-    private String province;
+    private String provinceName;
 
     /** 市 */
     @Excel(name = "市")
-    private String city;
+    private String cityName;
 
     /** 佣金 */
     private BigDecimal commisson;

+ 53 - 0
tour-module/src/main/java/com/tour/module/vo/MakeCardVo.java

@@ -0,0 +1,53 @@
+package com.tour.module.vo;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.tour.common.annotation.Excel;
+import com.tour.module.domain.MakeCardAllocation;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 制卡对象 tour_mark_card
+ *
+ * @author zoe
+ * @date 2023-06-02
+ */
+@Data
+@NoArgsConstructor
+@Accessors(chain = true)
+public class MakeCardVo implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    private Long id;
+
+    /**
+     * 制卡活动名称
+     */
+
+    private String makeCardName;
+
+    /**
+     * 制卡数量
+     */
+
+    private Long cardNum;
+
+    /**
+     * 状态: 0正常 1禁用
+     */
+    private Integer status;
+
+    private List<MakeCardAllocation> list;
+}

+ 0 - 22
tour-module/src/main/java/com/tour/module/vo/MemberCarVo.java

@@ -1,22 +0,0 @@
-package com.tour.module.vo;
-
-
-import lombok.Data;
-
-
-@Data
-public class MemberCarVo {
-
-    /** 主键ID */
-    private Long id;
-
-    /** 艺术作品ID */
-    private WorkVo workVo;
-
-    /** 数量 */
-    private Long num;
-
-    /** 用户ID */
-    private Long memberId;
-
-}

+ 0 - 50
tour-module/src/main/java/com/tour/module/vo/NewsCategoryVo.java

@@ -1,50 +0,0 @@
-package com.tour.module.vo;
-
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-
-import java.util.List;
-
-
-@EqualsAndHashCode(callSuper = true)
-@Data
-@ApiModel("资讯分类vo类")
-public class NewsCategoryVo extends BaseVo{
-
-    /** ID */
-    @ApiModelProperty(value = "资讯分类ID")
-    private Long id;
-
-    /** 分类名称 */
-    @ApiModelProperty(value = "分类名称")
-    private String name;
-
-    /** 排序 */
-    @ApiModelProperty(value = "排序")
-    private Long sort;
-
-    /** 上级分类id */
-    @ApiModelProperty(value = "上级分类id")
-    private Long parentId;
-
-    /** 等级(1一级 2二级) */
-    @ApiModelProperty(value = "等级(1一级 2二级) ")
-    private Long level;
-
-    /** 类型: 1资讯  */
-    @ApiModelProperty(value = " 类型: 1资讯 ")
-    private Integer type;
-
-    @ApiModelProperty(value = "热门推荐:0不推荐  1推荐")
-    private Integer isHot;
-
-    @ApiModelProperty(value = "资讯数量")
-    private Integer newsNum;
-
-    @ApiModelProperty(value = "banner图片列表")
-    private List<String> bannerList;
-
-
-}

+ 26 - 6
tour-module/src/main/java/com/tour/module/vo/OrderCommissonVo.java

@@ -12,8 +12,6 @@ import java.util.Date;
 import java.util.List;
 
 /**
- *
- * 
  * @author zoe
  * @date 2023-05-23
  */
@@ -22,21 +20,43 @@ import java.util.List;
 @Accessors(chain = true)
 public class OrderCommissonVo implements Serializable {
 
-private static final long serialVersionUID=1L;
+    private static final long serialVersionUID = 1L;
 
     private String cardNo;
 
 
     private String cardKey;
 
-    /** 下单人 */
+    /**
+     * 下单人
+     */
     private String name;
-    /** 分佣金额 */
+    /**
+     * 分佣金额
+     */
     private BigDecimal commisson;
 
-    /** 分佣时间 */
+    /**
+     * 分佣时间
+     */
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private Date createTime;
 
+    private String agentName;
 
+    private BigDecimal commissonRate;
+    //返佣类型
+    private String commissonType;
+    private Integer type;
+    private String status;
+
+    private Integer agentId;
+
+    private BigDecimal totalAmount;
+
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private String startTime;
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private String endTime;
+    private   List<Long> agentIds;
 }

+ 0 - 108
tour-module/src/main/java/com/tour/module/vo/WebArtistVo.java

@@ -1,108 +0,0 @@
-package com.tour.module.vo;
-
-import com.tour.common.annotation.Excel;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.fasterxml.jackson.annotation.JsonFormat;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
-
-@EqualsAndHashCode(callSuper = true)
-@Data
-public class WebArtistVo extends BaseVo{
-    /** ID */
-    @TableId(value = "id")
-    private Long id;
-
-    /** 真实姓名 */
-    @Excel(name = "真实姓名")
-    private String realName;
-
-    /** 真实姓名(姓的拼音首字母) */
-    @Excel(name = "真实姓名(姓的拼音首字母)")
-    private String nameInitial;
-
-    /** 艺名 */
-    @Excel(name = "艺名")
-    private String artName;
-
-    /** 头像对应的url地址 */
-    @Excel(name = "头像对应的url地址")
-    private String avatar;
-
-    /** 手机号码 */
-    @Excel(name = "手机号码")
-    private String phone;
-
-    /** 性别【0未知】【1男】【2女】 */
-    @Excel(name = "性别【0未知】【1男】【2女】")
-    private Integer gender;
-
-    /** 生日 */
-    @Excel(name = "生日" , width = 30, dateFormat = "yyyy-MM-dd")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    private Date birthday;
-
-    /** 电子邮箱 */
-    @Excel(name = "电子邮箱")
-    private String email;
-
-    /** 所属协会信息 */
-    @Excel(name = "所属协会信息")
-    private String association;
-
-    /** 个人简绍 */
-    @Excel(name = "个人简绍")
-    private String about;
-
-    /** 简介 */
-    @Excel(name = "简介")
-    private String briefAbout;
-
-    /** 是否上架(0未上架 1上架) */
-    @Excel(name = "是否上架" , readConverterExp = "0=未上架,1=上架")
-    private Integer isUp;
-
-    /** 热门推荐(0不推荐 1推荐) */
-    @Excel(name = "热门推荐" , readConverterExp = "0=不推荐,1=推荐")
-    private Integer isHot;
-
-    /** 曾用名 */
-    @Excel(name = "曾用名")
-    private String nameUsedBefore;
-
-    /** 证件类型 */
-    @Excel(name = "证件类型")
-    private String documentType;
-
-    /** 证件号码 */
-    @Excel(name = "证件号码")
-    private String idNumber;
-
-    /** 籍贯 */
-    @Excel(name = "籍贯")
-    private String nativePlace;
-
-    /** 艺术形式 */
-    @Excel(name = "艺术形式")
-    private String formsOfArt;
-
-    /** 毕业院校 */
-    @Excel(name = "毕业院校")
-    private String graduatedFrom;
-
-    /** 是否上链 */
-    private Integer isSubmit;
-
-    /** 证书照片列表以逗号隔开 */
-    @Excel(name = "证书照片列表以逗号隔开")
-    private String certificates;
-
-    /** 证书照片列表数组 */
-    @Excel(name = "证书照片列表数组")
-    private List<Map<String,String>> certificatesArr = new ArrayList<>();
-}

+ 0 - 13
tour-module/src/main/java/com/tour/module/vo/WebAttributionExtOptionVo.java

@@ -1,13 +0,0 @@
-package com.tour.module.vo;
-
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-
-import java.util.List;
-
-@EqualsAndHashCode(callSuper = true)
-@Data
-public class WebAttributionExtOptionVo extends BaseVo{
-
-    List<WebAttributionExtVo> options;
-}

+ 0 - 21
tour-module/src/main/java/com/tour/module/vo/WebAttributionExtVo.java

@@ -1,21 +0,0 @@
-package com.tour.module.vo;
-
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-
-import java.util.List;
-
-/**
- * 商品额外属性级联vo类
- */
-@EqualsAndHashCode(callSuper = true)
-@Data
-public class WebAttributionExtVo extends BaseVo{
-
-    private Long value;
-
-    private String label;
-
-    private List<WebAttributionValueExtVo> children;
-
-}

+ 0 - 13
tour-module/src/main/java/com/tour/module/vo/WebAttributionValueExtVo.java

@@ -1,13 +0,0 @@
-package com.tour.module.vo;
-
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-
-@EqualsAndHashCode(callSuper = true)
-@Data
-public class WebAttributionValueExtVo extends BaseVo{
-
-    private Long value;
-
-    private String label;
-}

+ 0 - 13
tour-module/src/main/java/com/tour/module/vo/WebAttributionValueVo.java

@@ -1,13 +0,0 @@
-package com.tour.module.vo;
-
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-
-@EqualsAndHashCode(callSuper = true)
-@Data
-public class WebAttributionValueVo extends BaseVo{
-
-    private Long id;
-
-    private String name;
-}

+ 0 - 17
tour-module/src/main/java/com/tour/module/vo/WebAttributionVo.java

@@ -1,17 +0,0 @@
-package com.tour.module.vo;
-
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-
-import java.util.List;
-
-@EqualsAndHashCode(callSuper = true)
-@Data
-public class WebAttributionVo extends BaseVo{
-
-    private String attr;
-
-    private List<WebAttributionValueVo> data;
-
-
-}

+ 0 - 55
tour-module/src/main/java/com/tour/module/vo/WebCollectVo.java

@@ -1,55 +0,0 @@
-package com.tour.module.vo;
-
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-
-@EqualsAndHashCode(callSuper = true)
-@Data
-@ApiModel("PC端我的收藏")
-public class WebCollectVo extends BaseVo{
-
-    @ApiModelProperty("id")
-    private Long id;
-
-    @ApiModelProperty("艺术品名称")
-    private String workName;
-
-    @ApiModelProperty("年代")
-    private String year;
-
-    @ApiModelProperty("尺寸")
-    private String size;
-
-    @ApiModelProperty("作者")
-    private String author;
-
-    @ApiModelProperty("价格")
-    private Double price;
-
-    @ApiModelProperty("作品图片地址")
-    private String imageUrl;
-
-    @ApiModelProperty("作品状态")
-    private Integer workStatus;
-
-    @ApiModelProperty("作品类型")
-    private String workCategory;
-
-    @ApiModelProperty("题材类型")
-    private String workTheme;
-
-    @ApiModelProperty("作品编号")
-    private String workNo;
-
-    /**
-     * 图片高
-     */
-    private Integer imageHeight;
-    /**
-     * 图片宽
-     */
-    private Integer imageWidth;
-
-}

+ 0 - 127
tour-module/src/main/java/com/tour/module/vo/WebMemberVo.java

@@ -1,127 +0,0 @@
-package com.tour.module.vo;
-
-import com.tour.common.annotation.Excel;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.fasterxml.jackson.annotation.JsonFormat;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-
-import java.util.Date;
-
-@EqualsAndHashCode(callSuper = true)
-@Data
-public class WebMemberVo extends BaseVo{
-
-    /** ID */
-    @TableId(value = "id")
-    private Long id;
-
-    /** 昵称 */
-    @Excel(name = "昵称")
-    private String nickName;
-
-    /** 用户真实姓名 */
-    @Excel(name = "真实姓名")
-    private String name;
-
-    /** 手机号码 */
-    @Excel(name = "手机号码")
-    private String mobile;
-
-    /** 密码 */
-    private String password;
-
-    /** 是否身份认证(0未认证 1已认证) */
-    private Integer isIdAuth;
-
-    /** 身份证号 */
-    @Excel(name = "身份证号")
-    private String idCard;
-
-    /** 是否银行卡认证(0未认证 1已认证) */
-    private Integer isBankAuth;
-
-    /** 银行卡号 */
-    @Excel(name = "银行卡号")
-    private String bankCard;
-
-    /** 银行卡预留手机号 */
-    private String reservedPhone;
-
-    /** 个人推荐码 */
-    @Excel(name = "个人推荐码")
-    private String recommendCode;
-
-    /** 推荐人 */
-    @Excel(name = "推荐人")
-    private String recommendName;
-
-    /** 个人推荐码对应的二维码url地址 */
-    private String recommendQr;
-
-    /** 注册使用推荐码 */
-    private String recommendRegCode;
-
-    /** 推荐用户数量 */
-    @Excel(name = "邀请用户数")
-    private Long recommendNum;
-
-    /** 下单次数 */
-    @Excel(name = "下单次数")
-    private Integer orderCount;
-
-    /** 头像 */
-    private String avatar;
-
-    /** 封面 */
-    private String cover;
-
-    /** 性别【0未知】【1男】【2女】 */
-    private Integer gender;
-
-    /** 生日 */
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    private Date birthday;
-
-    /** 电子邮箱 */
-    private String email;
-
-    /** 所在区域 */
-    private String location;
-
-    /** 星座 */
-    private String constellation;
-
-    /** 签名 */
-    private String motto;
-
-    /** 收藏数量 */
-    private Long favoritesNum;
-
-    /** 用户类型【1普通用户】【2经纪人】【3VIP】 */
-    private Integer type;
-
-    /** 用户来源【0真实注册用户】【1导入虚拟用户】 */
-    private Integer source;
-
-    /** 平台【0未知】【1安卓】【2IOS】 */
-    private Integer platform;
-
-    /** 状态: 0正常 1禁用 */
-    private Integer status;
-
-    /** 删除标志(0代表存在 1代表删除) */
-    private String delFlag;
-
-    /** 创建者 */
-    private String createBy;
-
-    /** 更新者 */
-    private String updateBy;
-
-    /** 创建时间 */
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    @Excel(name = "注册时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
-    private Date createTime;
-
-}

+ 0 - 58
tour-module/src/main/java/com/tour/module/vo/WebNewsCategoryVo.java

@@ -1,58 +0,0 @@
-package com.tour.module.vo;
-
-import com.tour.common.annotation.Excel;
-import com.baomidou.mybatisplus.annotation.TableId;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-
-import java.util.List;
-import java.util.Map;
-
-@EqualsAndHashCode(callSuper = true)
-@Data
-public class WebNewsCategoryVo extends BaseVo{
-
-    /** ID */
-    @TableId(value = "id")
-    @ApiModelProperty(value = "资讯分类ID")
-    private Long id;
-
-    /** 分类名称 */
-    @Excel(name = "分类名称")
-    @ApiModelProperty(value = "分类名称")
-    private String name;
-
-    /** 排序 */
-    @Excel(name = "排序")
-    @ApiModelProperty(value = "排序")
-    private Long sort;
-
-    /** 上级分类id */
-    @Excel(name = "上级分类id")
-    @ApiModelProperty(value = "上级分类id")
-    private Long parentId;
-
-    /** 等级(1一级 2二级) */
-    @Excel(name = "等级" , readConverterExp = "1=一级,2=二级")
-    @ApiModelProperty(value = "等级(1一级 2二级) ")
-    private Long level;
-
-    /** 类型: 1资讯  */
-    @Excel(name = "类型: 1资讯 ")
-    @ApiModelProperty(value = " 类型: 1资讯 ")
-    private Integer type;
-
-    /** 对应图片的url地址 */
-    @Excel(name = "对应图片的url地址")
-    @ApiModelProperty(value = "对应图片的url地址")
-    private List<Map<String,String>> image;
-
-    @Excel(name = "热门推荐:0不推荐  1推荐")
-    @ApiModelProperty(value = "热门推荐:0不推荐  1推荐")
-    private Integer isHot;
-
-    @Excel(name = "资讯数量")
-    @ApiModelProperty(value = "资讯数量")
-    private Integer newsNum;
-}

+ 0 - 20
tour-module/src/main/java/com/tour/module/vo/WebTopicSkipVo.java

@@ -1,20 +0,0 @@
-package com.tour.module.vo;
-
-import lombok.Data;
-
-@Data
-public class WebTopicSkipVo extends BaseVo{
-
-    /** 图片url地址*/
-    private String image;
-
-    /** 资讯标题*/
-    private String title;
-
-    /** 作品名称*/
-    private String workName;
-
-    /** 关联要跳转信息的ID */
-    private Long relationId;
-
-}

+ 0 - 48
tour-module/src/main/java/com/tour/module/vo/WebTopicVo.java

@@ -1,48 +0,0 @@
-package com.tour.module.vo;
-
-import com.tour.common.annotation.Excel;
-import com.baomidou.mybatisplus.annotation.TableId;
-import lombok.Data;
-
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
-
-@Data
-public class WebTopicVo extends BaseVo{
-    /** 主键ID */
-    @TableId(value = "id")
-    private Long id;
-
-    /** 主题名称 */
-    @Excel(name = "主题名称")
-    private String name;
-
-    /** 状态(0未上架 1上架) */
-    @Excel(name = "状态" , readConverterExp = "0=未上架,1=上架")
-    private Integer status;
-
-    /** 图片url地址(多张图片以逗号隔开) */
-    @Excel(name = "图片url地址")
-    private String image;
-
-    /** 主题类型(1艺术品 2资讯) */
-    private Integer type;
-
-    /** 热门推荐:0不推荐 1推荐(注:资讯主题专用) */
-    private Integer isHot;
-
-    /** 排序 */
-    private Integer sort;
-
-    /** 创建时间 */
-    private Date createTime;
-
-    /** 关联商品或资讯数量 */
-    private Integer count;
-
-    private List<Long> ids = new ArrayList<>();
-
-    private List<Map<String,Object>> tags;
-}

+ 0 - 64
tour-module/src/main/java/com/tour/module/vo/WebWorkVo.java

@@ -1,64 +0,0 @@
-package com.tour.module.vo;
-
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-
-@EqualsAndHashCode(callSuper = true)
-@Data
-public class WebWorkVo extends BaseVo{
-
-    /**
-     * id
-     */
-    private Long id;
-
-    /**
-     * 作品编号
-     */
-    private String workNo;
-
-    /**
-     * 作品图片
-     */
-    private String image;
-
-    /**
-     * 作品名称
-     */
-    private String workName;
-
-    /**
-     * 作者姓名
-     */
-    private String author;
-
-    /**
-     * 尺寸
-     */
-    private String size;
-
-    /**
-     * 年代
-     */
-    private String year;
-
-    /**
-     * 收藏数
-     */
-    private String count;
-
-    /**
-     * 价格
-     */
-    private Double price;
-
-    private String workStatus;
-
-    private Integer isUp;
-
-    private Integer isSubmit;
-
-    private String workDesc;
-
-    private String siteName;
-}

+ 0 - 114
tour-module/src/main/java/com/tour/module/vo/WorkAgencyVo.java

@@ -1,114 +0,0 @@
-package com.tour.module.vo;
-
-import com.tour.common.annotation.Excel;
-import com.baomidou.mybatisplus.annotation.TableId;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-
-import java.util.List;
-import java.util.Map;
-
-@EqualsAndHashCode(callSuper = true)
-@Data
-public class WorkAgencyVo extends BaseVo{
-
-    /** ID */
-    @TableId(value = "id")
-    private Long id;
-
-    /** 机构名称 */
-    @Excel(name = "机构名称")
-    private String name;
-
-    /** 机构营业执照注册号 */
-    @Excel(name = "机构营业执照注册号")
-    private String licenseRegistrationNo;
-
-    /** 机构组织代码 */
-    @Excel(name = "机构组织代码")
-    private String organizationCode;
-
-    /** 企业地址 */
-    @Excel(name = "企业地址")
-    private String address;
-
-    /** 营业期限 */
-    @Excel(name = "营业期限")
-    private Integer businessTerm;
-
-    /** 申请人 */
-    @Excel(name = "申请人")
-    private String applicant;
-
-    /** 职务 */
-    @Excel(name = "职务")
-    private String jobTitle;
-
-    /** 证件类型 */
-    @Excel(name = "证件类型")
-    private String documentType;
-
-    /** 证件号码 */
-    @Excel(name = "证件号码")
-    private String documentNo;
-
-    /** 手机号码 */
-    @Excel(name = "手机号码")
-    private String phone;
-
-    /** 电子邮箱 */
-    @Excel(name = "电子邮箱")
-    private String email;
-
-    /** 认证执行标准 */
-    @Excel(name = "认证执行标准")
-    private String executiveStandard;
-
-    /** 证书类型 */
-    @Excel(name = "证书类型")
-    private String certificateType;
-
-    private String workId;
-
-    /**
-     * 艺术品类型
-     */
-    @Excel(name = "艺术品类型")
-    private String type;
-
-    /**
-     * 艺术品材质
-     */
-    @Excel(name = "艺术品材质")
-    private String material;
-
-    /**
-     * 平尺数
-     */
-    @Excel(name = "平尺数")
-    private Integer squareFeet;
-
-    /**
-     * 表现形式
-     */
-    @Excel(name = "表现形式")
-    private String formOfExpression;
-
-    private List<Map<String,String>> featurePointBitmap;
-
-
-    /**
-     * 艺术品落款
-     */
-    private String signature;
-
-    /**
-     * 艺术品名章
-     */
-    private String seal;
-
-    /**
-     * 艺术品和艺术家合照
-     */
-    private String groupPhoto;
-}

+ 0 - 189
tour-module/src/main/java/com/tour/module/vo/WorkDetailVo.java

@@ -1,189 +0,0 @@
-package com.tour.module.vo;
-
-import com.tour.common.annotation.Excel;
-import com.baomidou.mybatisplus.annotation.TableId;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-
-import java.math.BigDecimal;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
-@EqualsAndHashCode(callSuper = true)
-@Data
-public class WorkDetailVo extends BaseVo{
-    /** ID */
-    @TableId(value = "id")
-    private Long id;
-
-    /** 作者ID */
-    @Excel(name = "作者ID")
-    private Long artistId;
-
-    /** 持有者ID */
-    @Excel(name = "持有者ID")
-    private Long memberId;
-
-    /** 经纪公司ID */
-    @Excel(name = "经纪公司ID")
-    private Long ibecId;
-
-    /** 作家名称 */
-    @Excel(name = "作家名称")
-    private String artistName;
-
-    /** 作品编号 */
-    @Excel(name = "作品编号")
-    private String workNo;
-
-    /** 作品名称 */
-    @Excel(name = "作品名称")
-    private String workName;
-
-    /** 作品图片对应的url地址 */
-    @Excel(name = "作品图片对应的url地址")
-    private List<Map<String,String>> image;
-
-    /** 创作时间 */
-    @Excel(name = "创作时间")
-    private String workTime;
-
-    /** 作品介绍 */
-    @Excel(name = "作品介绍")
-    private String workDesc;
-
-    /** 艺术品细节 */
-    @Excel(name = "艺术品细节")
-    private String workDetail;
-
-    /** 作品价格 */
-    @Excel(name = "作品价格")
-    private BigDecimal price;
-
-    /** 艺术品现状备注(签署合同使用) */
-    @Excel(name = "艺术品现状备注(签署合同使用)")
-    private String workRemark;
-
-    /** 作品状态(0未出售 1已出售) */
-    @Excel(name = "作品状态" , readConverterExp = "0=未出售,1=已出售")
-    private Integer workStatus;
-
-    /** 是否上架(0未上架 1上架) */
-    @Excel(name = "是否上架" , readConverterExp = "0=未上架,1=上架")
-    private Integer isUp;
-
-    /** 热门推荐(0不推荐 1推荐) */
-    @Excel(name = "热门推荐" , readConverterExp = "0=不推荐,1=推荐")
-    private Integer isHot;
-
-    /** 删除标志(0代表存在 1代表删除) */
-    private String delFlag;
-
-    /** 创建者 */
-    private String createBy;
-
-    /** 更新者 */
-    private String updateBy;
-
-    /** 作品尺寸ID */
-    @Excel(name = "作品尺寸ID")
-    private Long workSizeId;
-
-    /** 价格区间ID */
-    @Excel(name = "价格区间ID")
-    private Long priceRangeId;
-
-    /** 艺术品形状ID */
-    @Excel(name = "艺术品形状ID")
-    private Long workShapeId;
-
-    /** 艺术品颜色ID */
-    @Excel(name = "艺术品颜色ID")
-    private Long workColourId;
-
-    /** 艺术品类型ID */
-    @Excel(name = "艺术品类型ID")
-    private Long workCategoryId;
-
-    /** 艺术品题材ID */
-    @Excel(name = "艺术品题材ID")
-    private Long workThemeId;
-
-    /** 艺术品风格ID */
-    @Excel(name = "艺术品风格ID")
-    private Long workStyleId;
-
-    private Long topicId;
-
-    private Long siteId;
-
-    /**
-     * 艺术品类型
-     */
-    @Excel(name = "艺术品类型")
-    private String type;
-
-    /**
-     * 艺术品材质
-     */
-    @Excel(name = "艺术品材质")
-    private String material;
-
-    /**
-     * 平尺数
-     */
-    @Excel(name = "平尺数")
-    private Integer squareFeet;
-
-    /**
-     * 表现形式
-     */
-    @Excel(name = "表现形式")
-    private String formOfExpression;
-
-    private List<Map<String,String>> featurePointBitmap;
-
-    /**
-     * 艺术品落款
-     */
-    private String signature;
-
-    /**
-     * 艺术品名章
-     */
-    private String seal;
-
-    /**
-     * 艺术品和艺术家合照
-     */
-    private String groupPhoto;
-
-    private String agencyName;
-    private String licenseRegistrationNo;
-    private String organizationCode;
-    private String address;
-    private Integer businessTerm;
-    private String applicant;
-    private String jobTitle;
-    private String documentType;
-    private String documentNo;
-    private String phone;
-    private String email;
-    private String executiveStandard;
-    private String certificateType;
-
-    private List<Map<String,String>> workCertificate;
-
-    private List<Map<String,String>> registrationCertificate;
-
-    private String registrationName;
-
-    private String certificateName;
-
-    private Boolean isDisabled;
-
-    private Integer iosArt;
-
-    private List<List<Long>> attributionId = new ArrayList<>();
-}

+ 0 - 92
tour-module/src/main/java/com/tour/module/vo/WorkExcel.java

@@ -1,92 +0,0 @@
-package com.tour.module.vo;
-
-import com.tour.common.annotation.Excel;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-
-import java.math.BigDecimal;
-
-@EqualsAndHashCode(callSuper = true)
-@Data
-public class WorkExcel extends BaseVo{
-
-    /** 作品编号 */
-    @Excel(name = "作品编号")
-    private String workNo;
-
-    /** 作品名称 */
-    @Excel(name = "作品名称")
-    private String workName;
-
-    /** 作家名称 */
-    @Excel(name = "作家名称")
-    private String artistName;
-
-    @Excel(name = "当前持有者")
-    private String memberName;
-
-    /** 经纪公司ID */
-    @Excel(name = "经纪公司")
-    private String  ibecName;
-
-
-    /** 创作时间(格式:年份YYYY) */
-    @Excel(name = "创作时间(格式:年份YYYY)")
-    private String workTime;
-
-    /** 作品介绍 */
-    @Excel(name = "作品介绍")
-    private String workDesc;
-
-
-    /** 作品价格 */
-    @Excel(name = "作品价格")
-    private BigDecimal price;
-
-    /** 艺术品现状备注(签署合同使用) */
-    @Excel(name = "艺术品现状备注")
-    private String workRemark;
-
-    /** 作品状态 */
-    @Excel(name = "作品状态" , readConverterExp = "0=未出售,1=已出售")
-    private String workStatus;
-
-    /** 是否上架(0未上架 1上架) */
-    @Excel(name = "是否上架" , readConverterExp = "0=未上架,1=上架")
-    private Integer isUp;
-
-    /** 热门推荐(0不推荐 1推荐) */
-    @Excel(name = "热门推荐" , readConverterExp = "0=不推荐,1=推荐")
-    private Integer isHot;
-
-    @Excel(name = "是否上链" , readConverterExp = "0=未上链,1=已上链")
-    private Integer isSubmit;
-
-    /** 作品尺寸ID */
-    @Excel(name = "作品尺寸ID")
-    private String workSizeName;
-
-    /** 价格区间ID */
-    @Excel(name = "价格区间ID")
-    private String priceRangeName;
-
-    /** 艺术品形状ID */
-    @Excel(name = "艺术品形状ID")
-    private String workShapeName;
-
-    /** 艺术品颜色ID */
-    @Excel(name = "艺术品颜色ID")
-    private String workColourName;
-
-    /** 艺术品类型ID */
-    @Excel(name = "艺术品类型ID")
-    private String workCategoryName;
-
-    /** 艺术品题材 */
-    @Excel(name = "艺术品题材")
-    private String workThemeName;
-
-    /** 作品风格 */
-    @Excel(name = "作品风格")
-    private String workStyleName;
-}

+ 0 - 28
tour-module/src/main/java/com/tour/module/vo/WorkSizeVo.java

@@ -1,28 +0,0 @@
-package com.tour.module.vo;
-
-import com.tour.common.annotation.Excel;
-import com.baomidou.mybatisplus.annotation.TableId;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-
-@EqualsAndHashCode(callSuper = true)
-@Data
-public class WorkSizeVo extends BaseVo{
-    /** ID */
-    @TableId(value = "id")
-    private Integer id;
-
-    /** 方式名称 */
-    @Excel(name = "方式名称")
-    private String name;
-
-    /** 长度 */
-    @Excel(name = "长度")
-    private Integer length;
-
-    /** 宽度 */
-    @Excel(name = "宽度")
-    private Integer width;
-
-    private String content;
-}

+ 0 - 29
tour-module/src/main/java/com/tour/module/vo/WorkVo.java

@@ -1,29 +0,0 @@
-package com.tour.module.vo;
-
-import lombok.Data;
-
-import java.math.BigDecimal;
-
-@Data
-public class WorkVo extends BaseVo{
-    /** ID */
-    private Long id;
-
-    /** 作家名称 */
-    private String artistName;
-
-    /**
-     * 作品尺寸
-     */
-    private String size;
-
-    /**
-     * 作品价格
-     */
-    private BigDecimal price;
-
-    /**
-     * 作品类型
-     */
-    private String category;
-}

+ 13 - 1
tour-module/src/main/resources/mapper/module/AgentMapper.xml

@@ -13,11 +13,23 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="status"    column="status"    />
         <result property="rate"    column="rate"    />
         <result property="amount"    column="amount"    />
-        <result property="withdrawalAmont"    column="withdrawal_amont"    />
+        <result property="withdrawalAmount"    column="withdrawal_amount"    />
         <result property="delFlag"    column="del_flag"    />
         <result property="createBy"    column="create_by"    />
         <result property="updateBy"    column="update_by"    />
     </resultMap>
 
+    <select id="getAgentAll" resultType="com.tour.module.domain.Agent">
+        select  * from tour_agent where 1 = 1
+        <if test="id != null">
+            and id = #{id} or pid = #{id}
+        </if>
+    </select>
 
+    <select id="selectByMobile" resultType="com.tour.module.domain.Agent">
+        SELECT * FROM tour_agent WHERE mobile = #{mobile} and deleted = 0
+        <if test="id != null">
+            AND id != #{id}
+        </if>
+    </select>
 </mapper>

+ 29 - 0
tour-module/src/main/resources/mapper/module/MakeCardMapper.xml

@@ -0,0 +1,29 @@
+<?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="com.tour.module.mapper.MakeCardMapper">
+    
+    <resultMap type="MakeCard" id="MakeCardResult">
+        <result property="id"    column="id"    />
+        <result property="makeCardName"    column="make_card_name"    />
+        <result property="cardNum"    column="card_num"    />
+        <result property="status"    column="status"    />
+        <result property="createBy"    column="create_by"    />
+        <result property="updateBy"    column="update_by"    />
+    </resultMap>
+    <select id="getList" resultType="com.tour.module.domain.MakeCard">
+        select t.id,t.card_num,t.create_time,t.make_card_name,IFNULL(sum(a.num),0) num
+        from tour_make_card  t left join tour_make_card_allocation a on t.id = a.make_id
+        <if test="makeCardName!=null and makeCardName!=''">make_card_name like concat('%', #{makeCardName}, '%')</if>
+        <if test="startTime != null and  startTime != ''">
+            AND t.create_time >= #{startTime}
+        </if>
+        <if test="endTime != null and endTime != ''">
+            AND #{endTime} >=t.create_time
+        </if>
+        GROUP BY t.id
+    </select>
+
+
+</mapper>

+ 17 - 0
tour-module/src/main/resources/mapper/module/MarkCardAllocationMapper.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="com.tour.module.mapper.MakeCardAllocationMapper">
+    
+    <resultMap type="MakeCardAllocation" id="MakeCardAllocationResult">
+        <result property="id"    column="id"    />
+        <result property="makeId"    column="make_id"    />
+        <result property="agentId"    column="agent_id"    />
+        <result property="num"    column="num"    />
+        <result property="createBy"    column="create_by"    />
+        <result property="updateBy"    column="update_by"    />
+    </resultMap>
+
+
+</mapper>

+ 24 - 0
tour-module/src/main/resources/mapper/module/OrderCommissonMapper.xml

@@ -19,4 +19,28 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         SELECT a.agent_name,o.card_key,t.create_time,t.commisson from tour_order_commisson t join tour_agent a on t.agent_id = a.id join tour_order o on t.order_id= o.order_id
         where t.agent_id=#{agentId} order by t.create_time desc
     </select>
+
+    <select id="commissonList" resultType="com.tour.module.vo.OrderCommissonVo">
+        select c.amount as totalAmount,c.agent_id,c.commisson,c.create_time, a.agent_name,a.commisson_rate,a.type
+        from tour_order_commisson c join tour_agent a on c.agent_id = a.id
+        where 1=1
+        <if test="params.agentIds != null  and params.agentIds.size>0">
+            AND c.agent_id in
+            <foreach collection="params.agentIds" index="index" item="agentId" open="(" separator="," close=")">
+                #{agentId}
+            </foreach>
+        </if>
+        <if test="params.agentId != null ">
+            AND c.agent_id = #{params.agentId}
+        </if>
+        <if test="params.startTime != null and params.startTime != ''">
+            AND c.create_time>= #{params.startTime}
+        </if>
+        <if test="params.endTime != null and params.endTime != ''">
+            AND  #{params.endTime}>=c.create_time
+        </if>
+
+        order by c.create_time desc
+    </select>
+
 </mapper>

+ 7 - 0
tour-module/src/main/resources/mapper/module/RegionMapper.xml

@@ -0,0 +1,7 @@
+<?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="com.ydd.module.mapper.RegionMapper">
+
+</mapper>

+ 28 - 0
tour-oms/src/main/java/com/tour/web/config/WebMvcConfig.java

@@ -0,0 +1,28 @@
+//package com.tour.web.config;
+//
+//import com.ydd.web.interceptor.BindAgentInterceptor;
+//import lombok.RequiredArgsConstructor;
+//import org.springframework.beans.factory.annotation.Autowired;
+//import org.springframework.context.annotation.Configuration;
+//import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
+//import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
+//
+///**
+// * web全局配置
+// * @author 叶君翔
+// * @date 2022/03/16 10:06
+// */
+//@Configuration
+//@RequiredArgsConstructor(onConstructor_ = @Autowired)
+//public class WebMvcConfig implements WebMvcConfigurer {
+//
+//    private final BindAgentInterceptor bindAgentInterceptor;
+//
+//    @Override
+//    public void addInterceptors(InterceptorRegistry registry) {
+//
+//        registry.addInterceptor(bindAgentInterceptor).addPathPatterns("/**")
+//                .excludePathPatterns("/swagger/**");
+//    }
+//
+//}

+ 64 - 0
tour-oms/src/main/java/com/tour/web/controller/AgentCommissonController.java

@@ -0,0 +1,64 @@
+package com.tour.web.controller;
+
+import com.alipay.api.AlipayApiException;
+import com.tour.common.annotation.Log;
+import com.tour.common.core.controller.BaseController;
+import com.tour.common.core.domain.Result;
+import com.tour.common.core.domain.entity.SysUser;
+import com.tour.common.core.page.TableDataInfo;
+import com.tour.common.enums.BusinessType;
+import com.tour.common.enums.UserTypeEnums;
+import com.tour.common.utils.poi.ExcelUtil;
+import com.tour.module.domain.AgentWithdrawal;
+import com.tour.module.service.IAgentService;
+import com.tour.module.service.IAgentWithdrawalService;
+import com.tour.module.service.IOrderCommissonService;
+import com.tour.module.vo.OrderCommissonVo;
+import lombok.RequiredArgsConstructor;
+import org.apache.commons.collections4.CollectionUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+/**
+ * 代理商佣金返现记录Controller
+ */
+@RequiredArgsConstructor(onConstructor_ = @Autowired)
+@RestController
+@RequestMapping("/module/commisson")
+public class AgentCommissonController extends BaseController {
+
+    private final IOrderCommissonService iOrderCommissonService;
+
+    private final IAgentService iAgentService;
+    /**
+     * 查询代理商提现申请列表
+     */
+    @PreAuthorize("@ss.hasPermi('module:commisson:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(OrderCommissonVo orderCommissonVo) {
+        SysUser user = getSysUser();
+
+        // 允许查看的代理商数据
+        if(UserTypeEnums.AGENT.getCode().equals(user.getType())){
+            List<Long> ids = new ArrayList();
+            ids.add(user.getAgentId());
+            List<Integer> agentIds = iAgentService.getAgentIdsByPid(user.getAgentId().intValue());
+            if (CollectionUtils.isNotEmpty(agentIds)) {
+                for (Integer item : agentIds) {
+                    ids.add(Long.parseLong(String.valueOf(item)));
+                }
+            }
+            orderCommissonVo.setAgentIds(ids);
+        }
+        startPage();
+        List<OrderCommissonVo> list = iOrderCommissonService.commissonList(orderCommissonVo);
+        return getDataTable(list);
+    }
+
+
+}

+ 219 - 0
tour-oms/src/main/java/com/tour/web/controller/AgentController.java

@@ -0,0 +1,219 @@
+package com.tour.web.controller;
+
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+
+import com.tour.common.annotation.Log;
+import com.tour.common.constant.Constants;
+import com.tour.common.core.controller.BaseController;
+import com.tour.common.core.domain.Result;
+import com.tour.common.core.domain.entity.SysUser;
+import com.tour.common.core.page.TableDataInfo;
+import com.tour.common.enums.BusinessType;
+import com.tour.common.enums.UserTypeEnums;
+import com.tour.core.utils.HttpContextUtils;
+import com.tour.module.domain.Agent;
+import com.tour.module.service.IAgentService;
+import com.tour.system.service.ISysConfigService;
+import lombok.RequiredArgsConstructor;
+import org.apache.commons.collections4.CollectionUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.validation.Valid;
+import java.math.BigDecimal;
+import java.util.*;
+
+/**
+ * 代理商Controller
+ *
+ * @author douya
+ * @date 2021-02-01
+ */
+@RequiredArgsConstructor(onConstructor_ = @Autowired)
+@RestController
+@RequestMapping("/module/agent" )
+public class AgentController extends BaseController {
+
+    private final IAgentService iAgentService;
+
+    private final ISysConfigService iSysConfigService;
+
+
+
+//    @Autowired
+//    private CommissionDto commissionDto;
+@PreAuthorize("@ss.hasPermi('module:agent:list')")
+@GetMapping("/list")
+public TableDataInfo list(Agent agent) {
+
+    SysUser user = getSysUser();
+    List<Long> ids = new ArrayList();
+    // 允许查看的代理商数据
+    if(UserTypeEnums.AGENT.getCode().equals(user.getType())){
+        ids.add(user.getAgentId());
+        List<Integer> agentIds = iAgentService.getAgentIdsByPid(user.getAgentId().intValue());
+        if (CollectionUtils.isNotEmpty(agentIds)) {
+            for (Integer item : agentIds) {
+                ids.add(Long.parseLong(String.valueOf(item)));
+            }
+        }
+        user.setAgentIds(ids);
+    }
+
+    startPage();
+    List<Agent> list = iAgentService.queryList(agent,user);
+    return getDataTable(list);
+}
+    /**
+     * 代理商列表(不分页)
+     */
+    @GetMapping("/getAgentList")
+    public Result getAgentList(Agent agent){
+        SysUser user = getSysUser();
+        List<Agent> list = iAgentService.queryList(agent,user);
+        return Result.success(list);
+    }
+
+    /**
+     * 查询自己和下级代理商
+     */
+    @GetMapping("/getAgentAll")
+    public Result getAgentAll(){
+        SysUser user = getSysUser();
+        List<Agent> list = iAgentService.getAgentAll(user);
+        return Result.success(list);
+    }
+
+
+    /**
+     * 查询所有代理商列表
+     */
+    @GetMapping("/list/all")
+    public Result listAll(Agent agent) {
+        startPage();
+        SysUser user = getSysUser();
+        List<Agent> list = iAgentService.queryList(agent,user);
+        Map map = new HashMap();
+        map.put("list",getDataTable(list));
+        map.put("type",user.getType());
+        return Result.success(map);
+    }
+
+    @GetMapping("/list/agent")
+    public Result listAgent(Agent agent) {
+        SysUser user = getSysUser();
+        List<Agent> list = iAgentService.selectAgentList(agent,user);
+        Map map = new HashMap();
+        map.put("list",getDataTable(list));
+        map.put("type",user.getType());
+        return Result.success(map);
+    }
+
+    /**
+     * 获取代理商详细信息
+     */
+    @GetMapping(value = "/info" )
+    public Result getInfo(Long id) {
+        SysUser user = getSysUser();
+        if (id == null) {
+            if (user.getType().equals(UserTypeEnums.AGENT.getCode())) {
+                id = user.getAgentId();
+            }
+        }
+        return Result.success(iAgentService.getInfo(id, user));
+    }
+
+
+    @GetMapping(value = "/getUserAgentId" )
+    public Result getUserAgentId() {
+        SysUser user = getSysUser();
+        return Result.success(iAgentService.getInfo( user));
+    }
+    /**
+     * 获取登录用户创建代理时,允许的最大抽佣比率
+     */
+    @GetMapping(value = "/getMaxRete")
+    public Result getMaxRete(){
+        Map map = new HashMap();
+        SysUser user = getSysUser();
+        map.put("maxRate",iAgentService.getMaxRete(user));
+        map.put("qishouMax",new BigDecimal(iSysConfigService.selectConfigByKey("QISHOU_MAX")));
+
+        BigDecimal huolalaMax = BigDecimal.ZERO;
+        BigDecimal bindingThirdMax = BigDecimal.ZERO;
+        if (user.getType().equals(UserTypeEnums.AGENT.getCode())) {
+            Agent agent = iAgentService.getById(user.getAgentId());
+
+        }else {
+            huolalaMax = new BigDecimal(iSysConfigService.selectConfigByKey("HUOLALA_MAX"));
+            // bindingThirdMax = new BigDecimal(iSysConfigService.selectConfigByKey("BINDING_THIRD_FEE"));
+        }
+        map.put("huolalaMax",huolalaMax);
+        map.put("bindingThirdMax",bindingThirdMax);
+
+        return Result.success(map);
+    }
+
+    /**
+     * 新增代理商
+     */
+    @Log(title = "代理商" , businessType = BusinessType.INSERT)
+    @PostMapping
+    public Result add(@RequestBody Agent agent) throws Exception {
+        SysUser user = getSysUser();
+        return toAjax(iAgentService.createAgent(agent,user) ? 1 : 0);
+    }
+
+    /**
+     * 修改代理商
+     */
+    @Log(title = "代理商" , businessType = BusinessType.UPDATE)
+    @PutMapping
+    public Result edit(@RequestBody Agent agent) {
+        return toAjax(iAgentService.updateAgent(agent) ? 1 : 0);
+    }
+
+    /**
+     * 删除代理商
+     */
+    @PreAuthorize("@ss.hasPermi('module:agent:remove')" )
+    @Log(title = "代理商" , businessType = BusinessType.DELETE)
+    @DeleteMapping("/{ids}" )
+    public Result remove(@PathVariable Long[] ids) {
+        return toAjax(iAgentService.removeByIds(Arrays.asList(ids)) ? 1 : 0);
+    }
+
+    @GetMapping("/updateAgentStatus")
+    @Log(title = "变更代理商状态" , businessType = BusinessType.UPDATE)
+    public Result updateAgentStatus(Integer id){
+        iAgentService.updateAgentStatus(id);
+        return Result.success();
+    }
+
+    /**
+     * 一级代理商列表(不分页)
+     */
+    @GetMapping("/getFirstAgentList")
+    public Result getFirstAgentList(Agent agent){
+        SysUser user = getSysUser();
+        // List<Agent> list = iAgentService.list(new QueryWrapper<Agent>().isNull("pid").eq("status", 1).eq("deleted", 0));
+        List<Agent> list = iAgentService.list(new QueryWrapper<Agent>().eq("status", 1).eq("deleted", 0));
+        return Result.success(list);
+    }
+
+    @GetMapping("/getLoginUser")
+    public Result getLoginUser(){
+        SysUser user = getSysUser();
+        Agent agent = null;
+        if (user.getType().equals(UserTypeEnums.AGENT.getCode())) {
+            agent = iAgentService.getById(user.getAgentId());
+        }
+        Long pid = agent == null ? null : agent.getPid();
+        return Result.success(pid);
+    }
+
+}

+ 91 - 0
tour-oms/src/main/java/com/tour/web/controller/AgentLevelController.java

@@ -0,0 +1,91 @@
+//package com.tour.web.controller;
+//
+//import lombok.RequiredArgsConstructor;
+//import org.springframework.beans.factory.annotation.Autowired;
+//import org.springframework.security.access.prepost.PreAuthorize;
+//import org.springframework.web.bind.annotation.*;
+//
+//import java.util.ArrayList;
+//import java.util.Arrays;
+//import java.util.List;
+//
+///**
+// * 代理商等级Controller
+// *
+// * @author douya
+// * @date 2021-02-01
+// */
+//@RequiredArgsConstructor(onConstructor_ = @Autowired)
+//@RestController
+//@RequestMapping("/module/agentLevel" )
+//public class AgentLevelController extends BaseController {
+//
+//    private final IAgentLevelService iAgentLevelService;
+//
+//    /**
+//     * 获取代理商等级
+//     */
+//    @GetMapping("/getAgentLevelList")
+//    public Result getAgentLevelList(AgentLevel agentLevel){
+//        SysUser user = getSysUser();
+//        if (user.getType().equals(UserTypeEnums.PLATFORM.getCode())){
+//            return Result.success(new ArrayList<>());
+//        }
+//        List<AgentLevel> list = iAgentLevelService.queryList(agentLevel,user);
+//        return Result.success(list);
+//    }
+//
+//    /**
+//     * 查询代理商等级列表
+//     */
+//    @PreAuthorize("@ss.hasPermi('module:agentLevel:list')")
+//    @GetMapping("/list")
+//    public TableDataInfo list(AgentLevel agentLevel) {
+//        startPage();
+//        SysUser user = getSysUser();
+//        if (user.getType().equals(UserTypeEnums.PLATFORM.getCode())){
+//            return getDataTable(new ArrayList<>());
+//        }
+//        List<AgentLevel> list = iAgentLevelService.queryList(agentLevel,user);
+//        return getDataTable(list);
+//    }
+//
+//    /**
+//     * 获取代理商等级详细信息
+//     */
+//    @PreAuthorize("@ss.hasPermi('module:agentLevel:query')" )
+//    @GetMapping(value = "/{id}" )
+//    public Result getInfo(@PathVariable("id" ) Long id) {
+//        return Result.success(iAgentLevelService.getById(id));
+//    }
+//
+//    /**
+//     * 新增代理商等级
+//     */
+//    @PreAuthorize("@ss.hasPermi('module:agentLevel:add')" )
+//    @Log(title = "代理商等级" , businessType = BusinessType.INSERT)
+//    @PostMapping
+//    public Result add(@RequestBody AgentLevel agentLevel) {
+//        return toAjax(iAgentLevelService.createAgentLevel(agentLevel,getSysUser()) ? 1 : 0);
+//    }
+//
+//    /**
+//     * 修改代理商等级
+//     */
+//    @PreAuthorize("@ss.hasPermi('module:agentLevel:edit')" )
+//    @Log(title = "代理商等级" , businessType = BusinessType.UPDATE)
+//    @PutMapping
+//    public Result edit(@RequestBody AgentLevel agentLevel) {
+//        return toAjax(iAgentLevelService.updateById(agentLevel) ? 1 : 0);
+//    }
+//
+//    /**
+//     * 删除代理商等级
+//     */
+//    @PreAuthorize("@ss.hasPermi('module:agentLevel:remove')" )
+//    @Log(title = "代理商等级" , businessType = BusinessType.DELETE)
+//    @DeleteMapping("/{ids}" )
+//    public Result remove(@PathVariable Long[] ids) {
+//        return toAjax(iAgentLevelService.removeByIds(Arrays.asList(ids)) ? 1 : 0);
+//    }
+//}

+ 80 - 38
tour-oms/src/main/java/com/tour/web/controller/AgentWithdrawalController.java

@@ -1,33 +1,33 @@
 package com.tour.web.controller;
 
-import java.util.List;
-import java.util.Arrays;
-
-import lombok.RequiredArgsConstructor;
-import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.PutMapping;
-import org.springframework.web.bind.annotation.DeleteMapping;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import com.alipay.api.AlipayApiException;
 import com.tour.common.annotation.Log;
 import com.tour.common.core.controller.BaseController;
 import com.tour.common.core.domain.Result;
+import com.tour.common.core.domain.entity.SysUser;
+import com.tour.common.core.page.TableDataInfo;
 import com.tour.common.enums.BusinessType;
+import com.tour.common.enums.UserTypeEnums;
+import com.tour.common.utils.poi.ExcelUtil;
 import com.tour.module.domain.AgentWithdrawal;
+import com.tour.module.service.IAgentService;
 import com.tour.module.service.IAgentWithdrawalService;
-import com.tour.common.utils.poi.ExcelUtil;
-import com.tour.common.core.page.TableDataInfo;
+import lombok.RequiredArgsConstructor;
+import org.apache.commons.collections4.CollectionUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
 
 /**
- * 代理商提现记录Controller
- * 
- * @author zoe
- * @date 2023-05-23
+ * 代理商提现申请Controller
+ *
+ * @author douya
+ * @date 2021-03-16
  */
 @RequiredArgsConstructor(onConstructor_ = @Autowired)
 @RestController
@@ -35,23 +35,57 @@ import com.tour.common.core.page.TableDataInfo;
 public class AgentWithdrawalController extends BaseController {
 
     private final IAgentWithdrawalService iAgentWithdrawalService;
+    private final IAgentService iAgentService;
+
+    /**
+     * 查询提现费率
+     */
+    @GetMapping("/getAgentWithdrawalRate")
+    public Result getAgentWithdrawalRate(){
+        SysUser user = getSysUser();
+//        if (user.getType().equals(UserTypeEnums.DSP.getCode())){
+//        if(user.getDspId()==null){
+//            user.setDspId(11L);
+//        }
+       // DspConfig dspConfig = iDspConfigService.getById(user.getDspId());
+//        }
+        return Result.success("0.006");
+    }
+
+    /**
+     * 修改提现费率
+     */
+
 
     /**
-     * 查询代理商提现记录列表
+     * 查询代理商提现申请列表
      */
     @PreAuthorize("@ss.hasPermi('module:agentWithdrawal:list')")
     @GetMapping("/list")
     public TableDataInfo list(AgentWithdrawal agentWithdrawal) {
+        SysUser user = getSysUser();
+        if (user.getType().equals(UserTypeEnums.AGENT.getCode())) {
+           // agentWithdrawal.setAgentId(user.getAgentId());
+            List<Long> ids = new ArrayList();
+            ids.add(user.getAgentId());
+            List<Integer> agentIds = iAgentService.getAgentIdsByPid(user.getAgentId().intValue());
+            if (CollectionUtils.isNotEmpty(agentIds)) {
+                for (Integer item : agentIds) {
+                    ids.add(Long.parseLong(String.valueOf(item)));
+                }
+            }
+            agentWithdrawal.setAgentIds(ids);
+        }
         startPage();
         List<AgentWithdrawal> list = iAgentWithdrawalService.queryList(agentWithdrawal);
         return getDataTable(list);
     }
 
     /**
-     * 导出代理商提现记录列表
+     * 导出代理商提现申请列表
      */
     @PreAuthorize("@ss.hasPermi('module:agentWithdrawal:export')" )
-    @Log(title = "代理商提现记录" , businessType = BusinessType.EXPORT)
+    @Log(title = "代理商提现申请" , businessType = BusinessType.EXPORT)
     @GetMapping("/export" )
     public Result export(AgentWithdrawal agentWithdrawal) {
         List<AgentWithdrawal> list = iAgentWithdrawalService.queryList(agentWithdrawal);
@@ -60,39 +94,47 @@ public class AgentWithdrawalController extends BaseController {
     }
 
     /**
-     * 获取代理商提现记录详细信息
+     * 获取代理商提现申请详细信息
      */
     @PreAuthorize("@ss.hasPermi('module:agentWithdrawal:query')" )
     @GetMapping(value = "/{id}" )
     public Result getInfo(@PathVariable("id" ) Long id) {
-        return Result.success(iAgentWithdrawalService.getById(id));
+       AgentWithdrawal agentWithdrawal =  iAgentWithdrawalService.getById(id);
+        if(agentWithdrawal.getType()==1){
+            agentWithdrawal.setAccountNo(agentWithdrawal.getBankName()+"/"+agentWithdrawal.getBankNo());
+        }
+        return Result.success(agentWithdrawal);
     }
 
     /**
-     * 新增代理商提现记录
+     * 新增代理商提现申请
      */
-    @PreAuthorize("@ss.hasPermi('module:agentWithdrawal:add')" )
-    @Log(title = "代理商提现记录" , businessType = BusinessType.INSERT)
-    @PostMapping
-    public Result add(@RequestBody AgentWithdrawal agentWithdrawal) {
-        return toAjax(iAgentWithdrawalService.save(agentWithdrawal) ? 1 : 0);
-    }
+//    @PreAuthorize("@ss.hasPermi('module:agentWithdrawal:add')" )
+//    @Log(title = "代理商提现申请" , businessType = BusinessType.INSERT)
+//    @PostMapping
+//    public Result add(@RequestBody AgentWithdrawal agentWithdrawal) {
+//        SysUser user = getSysUser();
+//        return toAjax(iAgentWithdrawalService.create(agentWithdrawal,user) ? 1 : 0);
+//    }
 
     /**
-     * 修改代理商提现记录
+     * 审核代理商提现申请
      */
     @PreAuthorize("@ss.hasPermi('module:agentWithdrawal:edit')" )
-    @Log(title = "代理商提现记录" , businessType = BusinessType.UPDATE)
+    @Log(title = "代理商提现申请" , businessType = BusinessType.UPDATE)
     @PutMapping
-    public Result edit(@RequestBody AgentWithdrawal agentWithdrawal) {
-        return toAjax(iAgentWithdrawalService.updateById(agentWithdrawal) ? 1 : 0);
+    public Result edit(@RequestBody AgentWithdrawal agentWithdrawal) throws AlipayApiException {
+        synchronized (agentWithdrawal.getAccountName().intern()) {
+            SysUser user = getSysUser();
+            return toAjax(iAgentWithdrawalService.withdrawal(agentWithdrawal,user) ? 1 : 0);
+        }
     }
 
     /**
-     * 删除代理商提现记录
+     * 删除代理商提现申请
      */
     @PreAuthorize("@ss.hasPermi('module:agentWithdrawal:remove')" )
-    @Log(title = "代理商提现记录" , businessType = BusinessType.DELETE)
+    @Log(title = "代理商提现申请" , businessType = BusinessType.DELETE)
     @DeleteMapping("/{ids}" )
     public Result remove(@PathVariable Long[] ids) {
         return toAjax(iAgentWithdrawalService.removeByIds(Arrays.asList(ids)) ? 1 : 0);

+ 79 - 0
tour-oms/src/main/java/com/tour/web/controller/LineController.java

@@ -0,0 +1,79 @@
+package com.tour.web.controller;
+
+import com.tour.common.annotation.Log;
+import com.tour.common.core.controller.BaseController;
+import com.tour.common.core.domain.Result;
+import com.tour.common.core.domain.entity.SysUser;
+import com.tour.common.core.page.TableDataInfo;
+import com.tour.common.enums.BusinessType;
+import com.tour.module.domain.Line;
+import com.tour.module.request.LineRequet;
+import com.tour.module.service.ILineService;
+import com.tour.module.vo.LineVo;
+import lombok.RequiredArgsConstructor;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * 代理商佣金返现记录Controller
+ */
+@RequiredArgsConstructor(onConstructor_ = @Autowired)
+@RestController
+@RequestMapping("/module/line")
+public class LineController extends BaseController {
+
+    private final ILineService iLineService;
+
+    /**
+     * 查询代理商提现申请列表
+     */
+    @PreAuthorize("@ss.hasPermi('module:line:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(LineVo line) {
+        SysUser user = getSysUser();
+        startPage();
+        List<Line> list = iLineService.queryList(line);
+        return getDataTable(list);
+    }
+
+    /**
+     * 新增线路
+     */
+    @Log(title = "新增线路" , businessType = BusinessType.INSERT)
+    @PostMapping
+    public Result add(@RequestBody LineRequet requet) throws Exception {
+        SysUser user = getSysUser();
+        return toAjax(iLineService.saveline(requet));
+    }
+
+    /**
+     * 修改线路
+     */
+    @Log(title = "修改线路" , businessType = BusinessType.UPDATE)
+    @PutMapping
+    public Result edit(@RequestBody LineRequet requet) {
+        return toAjax(iLineService.updateline(requet) );
+    }
+
+    @GetMapping(value = "/info" )
+    public Result getInfo(Long id) {
+        SysUser user = getSysUser();
+
+        return Result.success(iLineService.getDetail(id));
+    }
+
+
+    /**
+     * 删除线路
+     */
+    @PreAuthorize("@ss.hasPermi('module:line:remove')" )
+    @Log(title = "删除线路" , businessType = BusinessType.DELETE)
+    @DeleteMapping("/{id}" )
+    public Result remove(@PathVariable Long id) {
+        return toAjax(iLineService.removeById(id )? 1 : 0);
+    }
+
+}

+ 101 - 0
tour-oms/src/main/java/com/tour/web/controller/MakeCardAllocationController.java

@@ -0,0 +1,101 @@
+package com.tour.web.controller;
+
+import java.util.List;
+import java.util.Arrays;
+
+import lombok.RequiredArgsConstructor;
+import com.tour.common.annotation.Log;
+import com.tour.common.core.controller.BaseController;
+import com.tour.common.core.domain.Result;
+import com.tour.common.core.page.TableDataInfo;
+import com.tour.common.enums.BusinessType;
+import com.tour.common.utils.poi.ExcelUtil;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import com.tour.module.domain.MakeCardAllocation;
+import com.tour.module.service.IMakeCardAllocationService;
+
+/**
+ * 制卡分配情况Controller
+ * 
+ * @author zoe
+ * @date 2023-06-02
+ */
+@RequiredArgsConstructor(onConstructor_ = @Autowired)
+@RestController
+@RequestMapping("/module/MakeCardAllocation" )
+public class MakeCardAllocationController extends BaseController {
+
+    private final IMakeCardAllocationService iMakeCardAllocationService;
+
+    /**
+     * 查询制卡分配情况列表
+     */
+    @PreAuthorize("@ss.hasPermi('module:MakeCardAllocation:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(MakeCardAllocation MakeCardAllocation) {
+        startPage();
+        List<MakeCardAllocation> list = iMakeCardAllocationService.queryList(MakeCardAllocation);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出制卡分配情况列表
+     */
+    @PreAuthorize("@ss.hasPermi('module:MakeCardAllocation:export')" )
+    @Log(title = "制卡分配情况" , businessType = BusinessType.EXPORT)
+    @GetMapping("/export" )
+    public Result export(MakeCardAllocation MakeCardAllocation) {
+        List<MakeCardAllocation> list = iMakeCardAllocationService.queryList(MakeCardAllocation);
+        ExcelUtil<MakeCardAllocation> util = new ExcelUtil<MakeCardAllocation>(MakeCardAllocation.class);
+        return util.exportExcel(list, "MakeCardAllocation" );
+    }
+
+    /**
+     * 获取制卡分配情况详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('module:MakeCardAllocation:query')" )
+    @GetMapping(value = "/{id}" )
+    public Result getInfo(@PathVariable("id" ) Long id) {
+        return Result.success(iMakeCardAllocationService.getById(id));
+    }
+
+    /**
+     * 新增制卡分配情况
+     */
+    @PreAuthorize("@ss.hasPermi('module:MakeCardAllocation:add')" )
+    @Log(title = "制卡分配情况" , businessType = BusinessType.INSERT)
+    @PostMapping
+    public Result add(@RequestBody MakeCardAllocation MakeCardAllocation) {
+        return toAjax(iMakeCardAllocationService.save(MakeCardAllocation) ? 1 : 0);
+    }
+
+    /**
+     * 修改制卡分配情况
+     */
+    @PreAuthorize("@ss.hasPermi('module:MakeCardAllocation:edit')" )
+    @Log(title = "制卡分配情况" , businessType = BusinessType.UPDATE)
+    @PutMapping
+    public Result edit(@RequestBody MakeCardAllocation MakeCardAllocation) {
+        return toAjax(iMakeCardAllocationService.updateById(MakeCardAllocation) ? 1 : 0);
+    }
+
+    /**
+     * 删除制卡分配情况
+     */
+    @PreAuthorize("@ss.hasPermi('module:MakeCardAllocation:remove')" )
+    @Log(title = "制卡分配情况" , businessType = BusinessType.DELETE)
+    @DeleteMapping("/{ids}" )
+    public Result remove(@PathVariable Long[] ids) {
+        return toAjax(iMakeCardAllocationService.removeByIds(Arrays.asList(ids)) ? 1 : 0);
+    }
+}

+ 85 - 0
tour-oms/src/main/java/com/tour/web/controller/MakeCardController.java

@@ -0,0 +1,85 @@
+package com.tour.web.controller;
+
+import com.tour.common.annotation.Log;
+import com.tour.common.core.controller.BaseController;
+import com.tour.common.core.domain.Result;
+import com.tour.common.core.page.TableDataInfo;
+import com.tour.common.enums.BusinessType;
+import com.tour.module.domain.MakeCard;
+import com.tour.module.service.IMakeCardService;
+import lombok.RequiredArgsConstructor;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.Arrays;
+import java.util.List;
+
+/**
+ * 制卡Controller
+ * 
+ * @author
+ * @date 2023-06-02
+ */
+@RequiredArgsConstructor(onConstructor_ = @Autowired)
+@RestController
+@RequestMapping("/module/markCard" )
+public class MakeCardController extends BaseController {
+
+    private final IMakeCardService iMarkCardService;
+
+    /**
+     * 查询制卡列表
+     */
+    @PreAuthorize("@ss.hasPermi('module:markCard:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(MakeCard markCard) {
+        startPage();
+        List<MakeCard> list = iMarkCardService.getList(markCard);
+        return getDataTable(list);
+    }
+
+
+
+    /**
+     * 获取制卡详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('module:markCard:query')" )
+    @GetMapping(value = "/{id}" )
+    public Result getInfo(@PathVariable("id" ) Long id) {
+        return Result.success(iMarkCardService.getInfo(id));
+    }
+
+    /**
+     * 新增制卡
+     */
+    @PreAuthorize("@ss.hasPermi('module:markCard:add')" )
+    @Log(title = "制卡" , businessType = BusinessType.INSERT)
+    @PostMapping
+    public Result add(@RequestBody MakeCard markCard) {
+        return toAjax(iMarkCardService.save(markCard) ? 1 : 0);
+    }
+
+    /**
+     * 修改制卡
+     */
+    @PreAuthorize("@ss.hasPermi('module:markCard:edit')" )
+    @Log(title = "制卡" , businessType = BusinessType.UPDATE)
+    @PutMapping
+    public Result edit(@RequestBody MakeCard markCard) {
+        return toAjax(iMarkCardService.updateById(markCard) ? 1 : 0);
+    }
+
+    /**
+     * 删除制卡
+     */
+    @PreAuthorize("@ss.hasPermi('module:markCard:remove')" )
+    @Log(title = "制卡" , businessType = BusinessType.DELETE)
+    @DeleteMapping("/{ids}" )
+    public Result remove(@PathVariable Long[] ids) {
+        return toAjax(iMarkCardService.removeByIds(Arrays.asList(ids)) ? 1 : 0);
+    }
+
+
+
+}

+ 42 - 0
tour-oms/src/main/java/com/tour/web/controller/RegionController.java

@@ -0,0 +1,42 @@
+package com.tour.web.controller;
+
+import com.tour.common.core.controller.BaseController;
+import com.tour.common.core.domain.Result;
+import com.tour.module.domain.dto.RegionDto;
+import com.tour.module.service.IRegionService;
+import lombok.RequiredArgsConstructor;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+/**
+ * Demo class
+ *
+ * @author zangbin
+ * @date 2022/11/3 10:44
+ */
+@RestController
+@RequestMapping("/module/region")
+@RequiredArgsConstructor(onConstructor_ = @Autowired)
+public class RegionController extends BaseController {
+
+    private final IRegionService iRegionService;
+
+    @RequestMapping("/getList")
+    public Result getList() {
+        List<RegionDto> list = iRegionService.getList();
+        return Result.success(list);
+    }
+
+    /**
+     * 返回省市区树形结构,拼接全国
+     * @return
+     */
+    @RequestMapping("/getAllList")
+    public Result getAllList() {
+        List<RegionDto> list = iRegionService.getAllList();
+        return Result.success(list);
+    }
+}

+ 101 - 0
tour-oms/src/main/java/com/tour/web/interceptor/BindAgentInterceptor.java

@@ -0,0 +1,101 @@
+//package com.ydd.web.interceptor;
+//
+//
+//import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+//import com.google.common.collect.Lists;
+//import com.tour.common.annotation.BindAgent;
+//import com.tour.common.core.domain.entity.SysUser;
+//import com.tour.common.utils.SecurityUtils;
+//import com.tour.module.service.IAgentService;
+//import com.ydd.common.annotation.BindAgent;
+//import com.ydd.common.constant.Constants;
+//import com.ydd.common.core.domain.entity.SysRole;
+//import com.ydd.common.core.domain.entity.SysUser;
+//import com.ydd.common.enums.UserTypeEnums;
+//import com.ydd.common.enums.UserTypeJoinRoleEnums;
+//import com.ydd.common.utils.SecurityUtils;
+//import com.ydd.module.domain.SysUserBindAgent;
+//import com.ydd.module.service.IAgentService;
+//import com.ydd.module.service.ISysUserBindAgentService;
+//import lombok.RequiredArgsConstructor;
+//import lombok.extern.slf4j.Slf4j;
+//import org.apache.commons.collections4.CollectionUtils;
+//import org.apache.commons.lang.StringUtils;
+//import org.apache.commons.lang.math.NumberUtils;
+//import org.omg.PortableServer.LIFESPAN_POLICY_ID;
+//import org.springframework.beans.factory.annotation.Autowired;
+//import org.springframework.context.annotation.Configuration;
+//import org.springframework.web.method.HandlerMethod;
+//import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
+//
+//import javax.servlet.http.HttpServletRequest;
+//import javax.servlet.http.HttpServletResponse;
+//import java.util.HashSet;
+//import java.util.List;
+//import java.util.Set;
+//
+///**
+// * 相关权限过滤关联代理商的数据
+// *
+// * @author 叶君翔
+// * @date 2022-03-17 15:38
+// */
+//@Slf4j
+//@Configuration
+//@RequiredArgsConstructor(onConstructor_ = @Autowired)
+//public class BindAgentInterceptor extends HandlerInterceptorAdapter {
+//
+//    private final ISysUserBindAgentService bindAgentService;
+//
+//    private final IAgentService iAgentService;
+//
+//    @Override
+//    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
+//        if (handler instanceof HandlerMethod) {
+//            BindAgent bindAgent = ((HandlerMethod) handler).getMethodAnnotation(BindAgent.class);
+//            if (bindAgent == null) {
+//                return true;
+//            }
+//            SysUser sysUser = SecurityUtils.getLoginUser().getUser();
+//            if (sysUser == null) {
+//                return true;
+//            }
+//            List<SysUserBindAgent> list = Lists.newArrayList();
+//            // 客服、市场角色
+//            if (sysUser.getType().equals(UserTypeEnums.DSP_CUSTOMER.getCode())
+//                    || sysUser.getType().equals(UserTypeEnums.DSP_MARKET.getCode())) {
+//                list = bindAgentService.list(new QueryWrapper<SysUserBindAgent>()
+//                        .eq("user_id", sysUser.getUserId())
+//                        .eq("deleted", 0)
+//                        .orderByDesc("id"));
+//            }
+//            if (CollectionUtils.isEmpty(list)) {
+//                return true;
+//            }
+//            SysUserBindAgent sysUserBindAgent = list.get(0);
+//            if (sysUserBindAgent == null || StringUtils.isBlank(sysUserBindAgent.getAgentId())) {
+//                return true;
+//            }
+//            log.info("关联代理商: {}", sysUserBindAgent.getAgentId());
+//            Set<Long> set = new HashSet<>();
+//            String[] agentIdArr = sysUserBindAgent.getAgentId().split(",");
+//            for (String agentIdStr : agentIdArr) {
+//                if (NumberUtils.isNumber(agentIdStr)) {
+//                    long agentId = Long.parseLong(agentIdStr);
+//                    set.add(agentId);
+//                    List<Integer> agentIds = iAgentService.getAgentIdsByPid(Integer.parseInt(agentIdStr));
+//                    if (CollectionUtils.isNotEmpty(agentIds)) {
+//                        for (Integer item : agentIds) {
+//                            set.add(Long.parseLong(String.valueOf(item)));
+//                        }
+//                    }
+//                }
+//            }
+//            log.info("可查看的代理商数据 agentIds: {}", set);
+//            request.setAttribute(Constants.SYS_USER_BIND_AGENT, Lists.newArrayList(set));
+//        }
+//        return true;
+//    }
+//
+//
+//}

+ 2 - 1
tour-oms/src/main/resources/application.yml

@@ -9,7 +9,8 @@ project:
   # 实例演示开关
   demoEnabled: true
   # 文件路径,使用jvm系统变量,兼容windows和linux
-  profile: ${user.dir}/upload/uploadPath
+  profile: D:/uploadPath
+#  profile: /home/uploadPath
   # 获取ip地址开关
   addressEnabled: false
   # 验证码类型 math 数组计算 char 字符验证

+ 0 - 2
tour-oms/src/main/test/java/Test.java

@@ -2,8 +2,6 @@ import com.alibaba.fastjson.JSONObject;
 import com.tour.WebApplication;
 import com.tour.common.sms.SmsService;
 import com.tour.module.contract.service.impl.ContractServiceImplNew;
-import com.tour.module.domain.dto.ArtWorkSearchDto;
-import com.tour.module.vo.ArtWordListVo;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import org.junit.runner.RunWith;

二进制
web-ui/public/favicon.ico


+ 24 - 0
web-ui/src/api/areaMixins.js

@@ -0,0 +1,24 @@
+import { getAreaList } from "@/api/module/area";
+
+// 省市区公共组件,用于其它页面mixins混入
+export const areaMixins = {
+    components: {},
+    data() {
+        return {    
+            region: []
+        }
+    },
+    mounted() {},
+    created() {
+        // 便于特定的组件里重写
+        this.getList(); 
+    },
+    computed: {},
+    methods: {
+        getList() {
+            getAreaList().then(response => {
+                this.region = response.data
+            })
+        }
+    },
+}

+ 82 - 0
web-ui/src/api/module/agent.js

@@ -0,0 +1,82 @@
+import request from '@/utils/request'
+
+// 查询代理商列表
+export function listAgent(query) {
+  return request({
+    url: '/module/agent/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询客户商家列表
+export function listMerchant(query) {
+  return request({
+    url: '/module/merchant/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询门店列表
+export function listShop(query) {
+  return request({
+    url: '/module/agent/shopListByAgentId',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询代理商详细
+export function getAgent(id) {
+  var url = '/module/agent/info'
+  if (id != undefined){
+    url = '/module/agent/info?id=' + id
+  }
+  return request({
+    url: url,
+    method: 'get'
+  })
+}
+
+// 新增代理商
+export function addAgent(data) {
+  return request({
+    url: '/module/agent',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改代理商
+export function updateAgent(data) {
+  return request({
+    url: '/module/agent',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除代理商
+export function delAgent(id) {
+  return request({
+    url: '/module/agent/' + id,
+    method: 'delete'
+  })
+}
+
+// 导出代理商
+export function exportAgent(query) {
+  return request({
+    url: '/module/agent/export',
+    method: 'get',
+    params: query
+  })
+}
+
+export function getLoginUser() {
+  return request({
+    url: '/module/agent/getLoginUser',
+    method: 'get'
+  })
+}

+ 53 - 0
web-ui/src/api/module/agentWithdrawal.js

@@ -0,0 +1,53 @@
+import request from '@/utils/request'
+
+// 查询代理商提现申请列表
+export function listAgentWithdrawal(query) {
+  return request({
+    url: '/module/agentWithdrawal/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询代理商提现申请详细
+export function getAgentWithdrawal(id) {
+  return request({
+    url: '/module/agentWithdrawal/' + id,
+    method: 'get'
+  })
+}
+
+// 新增代理商提现申请
+export function addAgentWithdrawal(data) {
+  return request({
+    url: '/module/agentWithdrawal',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改代理商提现申请
+export function updateAgentWithdrawal(data) {
+  return request({
+    url: '/module/agentWithdrawal',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除代理商提现申请
+export function delAgentWithdrawal(id) {
+  return request({
+    url: '/module/agentWithdrawal/' + id,
+    method: 'delete'
+  })
+}
+
+// 导出代理商提现申请
+export function exportAgentWithdrawal(query) {
+  return request({
+    url: '/module/agentWithdrawal/export',
+    method: 'get',
+    params: query
+  })
+}

+ 17 - 0
web-ui/src/api/module/area.js

@@ -0,0 +1,17 @@
+import request from '@/utils/request'
+
+export function getAreaList(query) {
+    return request({
+      url: '/module/region/getList',
+      method: 'get',
+      params: query
+    })
+  }
+
+  export function geAlltAreaList(query) {
+    return request({
+      url: '/module/region/getAllList',
+      method: 'get',
+      params: query
+    })
+  }

+ 0 - 0
web-ui/src/api/module/artist.js


部分文件因为文件数量过多而无法显示