Selaa lähdekoodia

供应商落地页V1.1.1

kaick 1 vuosi sitten
vanhempi
commit
485bcb121f
29 muutettua tiedostoa jossa 1932 lisäystä ja 89 poistoa
  1. 13 0
      src/main/java/com/caimei365/user/controller/BaseApi.java
  2. 47 10
      src/main/java/com/caimei365/user/controller/CmBrandLandingApi.java
  3. 9 8
      src/main/java/com/caimei365/user/mapper/CmBrandBannerMapper.java
  4. 11 10
      src/main/java/com/caimei365/user/mapper/CmBrandFilesMapper.java
  5. 10 9
      src/main/java/com/caimei365/user/mapper/CmBrandLandingMapper.java
  6. 104 0
      src/main/java/com/caimei365/user/mapper/CmQuestionnaireMapper.java
  7. 105 0
      src/main/java/com/caimei365/user/mapper/SysDictMapper.java
  8. 5 3
      src/main/java/com/caimei365/user/model/po/CmBrandLanding.java
  9. 68 0
      src/main/java/com/caimei365/user/model/po/CmQuestionnaire.java
  10. 67 0
      src/main/java/com/caimei365/user/model/po/SysDict.java
  11. 69 0
      src/main/java/com/caimei365/user/model/vo/CmBrandBannerVO.java
  12. 38 0
      src/main/java/com/caimei365/user/model/vo/CmBrandFilesVO.java
  13. 74 0
      src/main/java/com/caimei365/user/model/vo/CmBrandLandingVO.java
  14. 27 0
      src/main/java/com/caimei365/user/model/vo/SysDictVO.java
  15. 8 7
      src/main/java/com/caimei365/user/service/CmBrandBannerService.java
  16. 10 9
      src/main/java/com/caimei365/user/service/CmBrandFilesService.java
  17. 9 8
      src/main/java/com/caimei365/user/service/CmBrandLandingService.java
  18. 109 0
      src/main/java/com/caimei365/user/service/CmQuestionnaireService.java
  19. 110 0
      src/main/java/com/caimei365/user/service/SysDictService.java
  20. 8 7
      src/main/java/com/caimei365/user/service/impl/CmBrandBannerServiceImpl.java
  21. 10 9
      src/main/java/com/caimei365/user/service/impl/CmBrandFilesServiceImpl.java
  22. 9 8
      src/main/java/com/caimei365/user/service/impl/CmBrandLandingServiceImpl.java
  23. 176 0
      src/main/java/com/caimei365/user/service/impl/CmQuestionnaireServiceImpl.java
  24. 1 0
      src/main/java/com/caimei365/user/service/impl/RemoteCallServiceImpl.java
  25. 177 0
      src/main/java/com/caimei365/user/service/impl/SysDictServiceImpl.java
  26. 7 1
      src/main/resources/mapper/CmBrandFilesMapper.xml
  27. 1 0
      src/main/resources/mapper/CmBrandLandingMapper.xml
  28. 328 0
      src/main/resources/mapper/CmQuestionnaireMapper.xml
  29. 322 0
      src/main/resources/mapper/SysDictMapper.xml

+ 13 - 0
src/main/java/com/caimei365/user/controller/BaseApi.java

@@ -6,7 +6,10 @@ import com.caimei365.user.idempotent.IpSave;
 import com.caimei365.user.model.ResponseJson;
 import com.caimei365.user.model.ResponseJson;
 import com.caimei365.user.model.dto.MobileDto;
 import com.caimei365.user.model.dto.MobileDto;
 import com.caimei365.user.model.dto.PasswordDto;
 import com.caimei365.user.model.dto.PasswordDto;
+import com.caimei365.user.model.po.SysDict;
+import com.caimei365.user.model.vo.SysDictVO;
 import com.caimei365.user.service.BaseService;
 import com.caimei365.user.service.BaseService;
+import com.caimei365.user.service.SysDictService;
 import io.swagger.annotations.*;
 import io.swagger.annotations.*;
 import lombok.RequiredArgsConstructor;
 import lombok.RequiredArgsConstructor;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.beans.factory.annotation.Value;
@@ -14,6 +17,7 @@ import org.springframework.http.ResponseEntity;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.bind.annotation.*;
 
 
 import java.util.HashMap;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 import java.util.Map;
 
 
 /**
 /**
@@ -30,6 +34,7 @@ public class BaseApi {
 
 
     private final BaseService baseService;
     private final BaseService baseService;
     private final WeChatService weChatService;
     private final WeChatService weChatService;
+    private final SysDictService sysDictService;
     @Value(value = "${swagger.enabled}")
     @Value(value = "${swagger.enabled}")
     private Boolean swaggerEnabled;
     private Boolean swaggerEnabled;
 
 
@@ -246,4 +251,12 @@ public class BaseApi {
     public ResponseJson getWechatLink(String path, String query, String env) {
     public ResponseJson getWechatLink(String path, String query, String env) {
         return weChatService.getOpenLink(path, query, env);
         return weChatService.getOpenLink(path, query, env);
     }
     }
+    @ApiOperation("获取Dict")
+    @GetMapping("/getDict")
+    public ResponseJson getDict(String type) {
+        if (null == type) {
+            return ResponseJson.error("参数异常:type不能为空!", null);
+        }
+        return ResponseJson.success(sysDictService.getSysDictList(new SysDict().setType(type)));
+    }
 }
 }

+ 47 - 10
src/main/java/com/caimei365/user/controller/CmBrandLandingApi.java

@@ -7,14 +7,9 @@ import com.caimei365.user.model.dto.BaikeProductDto;
 import com.caimei365.user.model.dto.ShopArticleDto;
 import com.caimei365.user.model.dto.ShopArticleDto;
 import com.caimei365.user.model.dto.ShopBannerDto;
 import com.caimei365.user.model.dto.ShopBannerDto;
 import com.caimei365.user.model.dto.ShopUpdateDto;
 import com.caimei365.user.model.dto.ShopUpdateDto;
-import com.caimei365.user.model.po.CmBrandBanner;
-import com.caimei365.user.model.po.CmBrandFiles;
-import com.caimei365.user.model.po.CmBrandLanding;
+import com.caimei365.user.model.po.*;
 import com.caimei365.user.model.vo.*;
 import com.caimei365.user.model.vo.*;
-import com.caimei365.user.service.CmBrandBannerService;
-import com.caimei365.user.service.CmBrandFilesService;
-import com.caimei365.user.service.CmBrandLandingService;
-import com.caimei365.user.service.ShopService;
+import com.caimei365.user.service.*;
 import com.github.pagehelper.PageInfo;
 import com.github.pagehelper.PageInfo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParam;
@@ -24,6 +19,8 @@ import lombok.RequiredArgsConstructor;
 import org.apache.commons.lang.StringUtils;
 import org.apache.commons.lang.StringUtils;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.bind.annotation.*;
 
 
+import javax.annotation.Resource;
+import java.util.Date;
 import java.util.HashMap;
 import java.util.HashMap;
 import java.util.List;
 import java.util.List;
 import java.util.Map;
 import java.util.Map;
@@ -44,6 +41,10 @@ public class CmBrandLandingApi {
 
 
     private final CmBrandFilesService cmBrandFilesService;
     private final CmBrandFilesService cmBrandFilesService;
 
 
+    private final CmQuestionnaireService cmQuestionnaireService;
+    @Resource
+    private RemoteCallService remoteCallService;
+
     /**
     /**
      * 查询供应商落地页资料
      * 查询供应商落地页资料
      *
      *
@@ -56,15 +57,15 @@ public class CmBrandLandingApi {
     @GetMapping("/info")
     @GetMapping("/info")
     public ResponseJson<Map<String, Object>> getShopUserInfo(Integer source) {
     public ResponseJson<Map<String, Object>> getShopUserInfo(Integer source) {
         if(source==null){
         if(source==null){
-            return ResponseJson.error("source异常", null);
+            return ResponseJson.error("source异常", null);
         }
         }
         CmBrandBanner cmBrandBanner = new CmBrandBanner().setType("2");
         CmBrandBanner cmBrandBanner = new CmBrandBanner().setType("2");
         CmBrandLanding landing = new CmBrandLanding().setType("1,2,3");
         CmBrandLanding landing = new CmBrandLanding().setType("1,2,3");
-        if(source==1){
+        if (source == 1) {
             cmBrandBanner.setPcStatus("1");
             cmBrandBanner.setPcStatus("1");
             landing.setPcStatus("1");
             landing.setPcStatus("1");
         }
         }
-        if(source==2){
+        if (source == 2) {
             cmBrandBanner.setAppStatus("1");
             cmBrandBanner.setAppStatus("1");
             landing.setAppStatus("1");
             landing.setAppStatus("1");
         }
         }
@@ -82,4 +83,40 @@ public class CmBrandLandingApi {
         map.put("landing", cmBrandLandings);
         map.put("landing", cmBrandLandings);
         return ResponseJson.success(map);
         return ResponseJson.success(map);
     }
     }
+
+    @ApiOperation("供应商落地页解决方案用户需求")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "userId", required = true, value = "userId"),
+            @ApiImplicitParam(name = "userName", required = true, value = "用户名称"),
+            @ApiImplicitParam(name = "corporateName", required = true, value = "公司名称"),
+            @ApiImplicitParam(name = "mobile", required = true, value = "手机号"),
+            @ApiImplicitParam(name = "level", required = true, value = "方案等级"),
+            @ApiImplicitParam(name = "content", required = true, value = "感兴趣内容 格式:1,2,3")
+    })
+    @PostMapping("/cmQuestionnaire/save")
+    public ResponseJson cmQuestionnaireSave(CmQuestionnaire cmQuestionnaire) {
+        cmQuestionnaire.setType("1");
+        if (StringUtils.isBlank(cmQuestionnaire.getId())) {
+            if (cmQuestionnaire.getType().equals("1")) {
+                //发短信
+                String message = "【采美365】尊敬的客户,已收到您的方案咨询信息,1-3个工作日内采美工作人员将通过此手机号" + cmQuestionnaire.getMobile() + "联系您,期间请留意来电。";
+                if (StringUtils.isNotBlank(cmQuestionnaire.getMobile())) {
+                    CmQuestionnaire byCmQuestionnaire = cmQuestionnaireService.getByCmQuestionnaire(new CmQuestionnaire()
+                            .setLevel(cmQuestionnaire.getLevel())
+                            .setMobile(cmQuestionnaire.getMobile()));
+                    if (byCmQuestionnaire==null||byCmQuestionnaire.getCreateTime().getTime() < (new Date().getTime()-3600000)) {
+                        remoteCallService.remoteSendSms(24, 1, cmQuestionnaire.getMobile(), message);
+                    }
+                    cmQuestionnaireService.addCmQuestionnaire(cmQuestionnaire);
+                }
+                return ResponseJson.success("提交成功");
+            }
+        } else {
+            cmQuestionnaireService.updateCmQuestionnaire(cmQuestionnaire);
+            if (cmQuestionnaire.getType().equals("1")) {
+                return ResponseJson.success("修改成功");
+            }
+        }
+        return ResponseJson.error("参数异常!", null);
+    }
 }
 }

+ 9 - 8
src/main/java/com/caimei365/user/mapper/CmBrandBannerMapper.java

@@ -1,22 +1,23 @@
 package com.caimei365.user.mapper;
 package com.caimei365.user.mapper;
 
 
 import com.caimei365.user.model.po.CmBrandBanner;
 import com.caimei365.user.model.po.CmBrandBanner;
+import com.caimei365.user.model.vo.CmBrandBannerVO;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Mapper;
 
 
 import java.util.List;
 import java.util.List;
 
 
 /**
 /**
  * 首页bannerMapper接口
  * 首页bannerMapper接口
- * 
+ *
  * @author Kaick
  * @author Kaick
  * @date 2023-05-31
  * @date 2023-05-31
  */
  */
 @Mapper
 @Mapper
-public interface CmBrandBannerMapper 
+public interface CmBrandBannerMapper
 {
 {
     /**
     /**
      * 查询首页banner
      * 查询首页banner
-     * 
+     *
      * @param id 首页banner主键
      * @param id 首页banner主键
      * @return 首页banner
      * @return 首页banner
      */
      */
@@ -24,7 +25,7 @@ public interface CmBrandBannerMapper
 
 
     /**
     /**
      * 查询首页banner列表
      * 查询首页banner列表
-     * 
+     *
      * @param cmBrandBanner 首页banner
      * @param cmBrandBanner 首页banner
      * @return 首页banner集合
      * @return 首页banner集合
      */
      */
@@ -32,7 +33,7 @@ public interface CmBrandBannerMapper
 
 
     /**
     /**
      * 新增首页banner
      * 新增首页banner
-     * 
+     *
      * @param cmBrandBanner 首页banner
      * @param cmBrandBanner 首页banner
      * @return 结果
      * @return 结果
      */
      */
@@ -40,7 +41,7 @@ public interface CmBrandBannerMapper
 
 
     /**
     /**
      * 修改首页banner
      * 修改首页banner
-     * 
+     *
      * @param cmBrandBanner 首页banner
      * @param cmBrandBanner 首页banner
      * @return 结果
      * @return 结果
      */
      */
@@ -48,7 +49,7 @@ public interface CmBrandBannerMapper
 
 
     /**
     /**
      * 删除首页banner
      * 删除首页banner
-     * 
+     *
      * @param id 首页banner主键
      * @param id 首页banner主键
      * @return 结果
      * @return 结果
      */
      */
@@ -56,7 +57,7 @@ public interface CmBrandBannerMapper
 
 
     /**
     /**
      * 批量删除首页banner
      * 批量删除首页banner
-     * 
+     *
      * @param ids 需要删除的数据主键集合
      * @param ids 需要删除的数据主键集合
      * @return 结果
      * @return 结果
      */
      */

+ 11 - 10
src/main/java/com/caimei365/user/mapper/CmBrandFilesMapper.java

@@ -1,22 +1,23 @@
 package com.caimei365.user.mapper;
 package com.caimei365.user.mapper;
 
 
 import com.caimei365.user.model.po.CmBrandFiles;
 import com.caimei365.user.model.po.CmBrandFiles;
+import com.caimei365.user.model.vo.CmBrandFilesVO;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Mapper;
 
 
 import java.util.List;
 import java.util.List;
 
 
 /**
 /**
  * 文件资源Mapper接口
  * 文件资源Mapper接口
- * 
+ *
  * @author Kaick
  * @author Kaick
  * @date 2023-05-31
  * @date 2023-05-31
  */
  */
 @Mapper
 @Mapper
-public interface CmBrandFilesMapper 
+public interface CmBrandFilesMapper
 {
 {
     /**
     /**
      * 查询文件资源
      * 查询文件资源
-     * 
+     *
      * @param id 文件资源主键
      * @param id 文件资源主键
      * @return 文件资源
      * @return 文件资源
      */
      */
@@ -24,15 +25,15 @@ public interface CmBrandFilesMapper
 
 
     /**
     /**
      * 查询文件资源列表
      * 查询文件资源列表
-     * 
+     *
      * @param cmBrandFiles 文件资源
      * @param cmBrandFiles 文件资源
      * @return 文件资源集合
      * @return 文件资源集合
      */
      */
-    public List<CmBrandFiles> selectCmBrandFilesList(CmBrandFiles cmBrandFiles);
+    public List<CmBrandFilesVO> selectCmBrandFilesList(CmBrandFiles cmBrandFiles);
 
 
     /**
     /**
      * 新增文件资源
      * 新增文件资源
-     * 
+     *
      * @param cmBrandFiles 文件资源
      * @param cmBrandFiles 文件资源
      * @return 结果
      * @return 结果
      */
      */
@@ -40,7 +41,7 @@ public interface CmBrandFilesMapper
 
 
     /**
     /**
      * 修改文件资源
      * 修改文件资源
-     * 
+     *
      * @param cmBrandFiles 文件资源
      * @param cmBrandFiles 文件资源
      * @return 结果
      * @return 结果
      */
      */
@@ -48,7 +49,7 @@ public interface CmBrandFilesMapper
 
 
     /**
     /**
      * 删除文件资源
      * 删除文件资源
-     * 
+     *
      * @param id 文件资源主键
      * @param id 文件资源主键
      * @return 结果
      * @return 结果
      */
      */
@@ -56,9 +57,9 @@ public interface CmBrandFilesMapper
 
 
     /**
     /**
      * 批量删除文件资源
      * 批量删除文件资源
-     * 
+     *
      * @param ids 需要删除的数据主键集合
      * @param ids 需要删除的数据主键集合
      * @return 结果
      * @return 结果
      */
      */
     public int deleteCmBrandFilesByIds(String[] ids);
     public int deleteCmBrandFilesByIds(String[] ids);
-}
+}

+ 10 - 9
src/main/java/com/caimei365/user/mapper/CmBrandLandingMapper.java

@@ -2,20 +2,21 @@ package com.caimei365.user.mapper;
 
 
 import java.util.List;
 import java.util.List;
 import com.caimei365.user.model.po.CmBrandLanding;
 import com.caimei365.user.model.po.CmBrandLanding;
+import com.caimei365.user.model.vo.CmBrandLandingVO;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Mapper;
 
 
 /**
 /**
  * 供应商落地页资源Mapper接口
  * 供应商落地页资源Mapper接口
- * 
+ *
  * @author Kaick
  * @author Kaick
  * @date 2023-05-31
  * @date 2023-05-31
  */
  */
 @Mapper
 @Mapper
-public interface CmBrandLandingMapper 
+public interface CmBrandLandingMapper
 {
 {
     /**
     /**
      * 查询供应商落地页资源
      * 查询供应商落地页资源
-     * 
+     *
      * @param id 供应商落地页资源主键
      * @param id 供应商落地页资源主键
      * @return 供应商落地页资源
      * @return 供应商落地页资源
      */
      */
@@ -23,7 +24,7 @@ public interface CmBrandLandingMapper
 
 
     /**
     /**
      * 查询供应商落地页资源列表
      * 查询供应商落地页资源列表
-     * 
+     *
      * @param cmBrandLanding 供应商落地页资源
      * @param cmBrandLanding 供应商落地页资源
      * @return 供应商落地页资源集合
      * @return 供应商落地页资源集合
      */
      */
@@ -31,7 +32,7 @@ public interface CmBrandLandingMapper
 
 
     /**
     /**
      * 新增供应商落地页资源
      * 新增供应商落地页资源
-     * 
+     *
      * @param cmBrandLanding 供应商落地页资源
      * @param cmBrandLanding 供应商落地页资源
      * @return 结果
      * @return 结果
      */
      */
@@ -39,7 +40,7 @@ public interface CmBrandLandingMapper
 
 
     /**
     /**
      * 修改供应商落地页资源
      * 修改供应商落地页资源
-     * 
+     *
      * @param cmBrandLanding 供应商落地页资源
      * @param cmBrandLanding 供应商落地页资源
      * @return 结果
      * @return 结果
      */
      */
@@ -47,7 +48,7 @@ public interface CmBrandLandingMapper
 
 
     /**
     /**
      * 删除供应商落地页资源
      * 删除供应商落地页资源
-     * 
+     *
      * @param id 供应商落地页资源主键
      * @param id 供应商落地页资源主键
      * @return 结果
      * @return 结果
      */
      */
@@ -55,9 +56,9 @@ public interface CmBrandLandingMapper
 
 
     /**
     /**
      * 批量删除供应商落地页资源
      * 批量删除供应商落地页资源
-     * 
+     *
      * @param ids 需要删除的数据主键集合
      * @param ids 需要删除的数据主键集合
      * @return 结果
      * @return 结果
      */
      */
     public int deleteCmBrandLandingByIds(String[] ids);
     public int deleteCmBrandLandingByIds(String[] ids);
-}
+}

+ 104 - 0
src/main/java/com/caimei365/user/mapper/CmQuestionnaireMapper.java

@@ -0,0 +1,104 @@
+package com.caimei365.user.mapper;
+
+import java.util.List;
+
+import com.caimei365.user.model.po.CmQuestionnaire;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * 用户需求调查Mapper接口
+ *
+ * @author Kaick
+ * @date 2023-07-14
+ */
+@Mapper
+public interface CmQuestionnaireMapper
+{
+    /**
+     * 查询用户需求调查
+     *
+     * @param id 用户需求调查主键
+     * @return 用户需求调查
+     */
+    public CmQuestionnaire getCmQuestionnaireById(String id);
+
+    /**
+     * 查询用户需求调查Id
+     *
+     * @param cmQuestionnaire 用户需求调查
+     * @return String
+     */
+    public String getById(CmQuestionnaire cmQuestionnaire);
+
+    /**
+     * 查询用户需求调查Ids
+     *
+     * @param cmQuestionnaire 用户需求调查
+     * @return List<String>
+     */
+    public List<String> getByIds(CmQuestionnaire cmQuestionnaire);
+
+    /**
+     * 查询用户需求调查
+     *
+     * @param cmQuestionnaire 用户需求调查
+     * @return 用户需求调查集合
+     */
+    public CmQuestionnaire getByCmQuestionnaire(CmQuestionnaire cmQuestionnaire);
+
+    /**
+     * 查询用户需求调查列表
+     *
+     * @param cmQuestionnaire 用户需求调查
+     * @return 用户需求调查集合
+     */
+    public List<CmQuestionnaire> getCmQuestionnaireList(CmQuestionnaire cmQuestionnaire);
+    /**
+     * 查询用户需求调查记录总数
+     *
+     * @param cmQuestionnaire 用户需求调查
+     * @return 用户需求调查Integer
+     */
+    public int getCmQuestionnaireCount(CmQuestionnaire cmQuestionnaire);
+
+    /**
+     * 新增用户需求调查
+     *
+     * @param cmQuestionnaire 用户需求调查
+     * @return 结果
+     */
+    public int addCmQuestionnaire(CmQuestionnaire cmQuestionnaire);
+
+    /**
+     * 修改用户需求调查
+     *
+     * @param cmQuestionnaire 用户需求调查
+     * @return 结果
+     */
+    public int updateCmQuestionnaire(CmQuestionnaire cmQuestionnaire);
+
+    /**
+     * 删除用户需求调查
+     *
+     * @param id 用户需求调查主键
+     * @return 结果
+     */
+    public int delCmQuestionnaireById(String id);
+
+    /**
+     * 批量删除用户需求调查
+     *
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int delCmQuestionnaireByIds(@Param("ids") String[] ids);
+
+    /**
+     * 修改批量删除用户需求调查
+     *
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int updateDelCmQuestionnaireByIds(@Param("ids") String[] ids,@Param("delFlag") Integer delFlag);
+}

+ 105 - 0
src/main/java/com/caimei365/user/mapper/SysDictMapper.java

@@ -0,0 +1,105 @@
+package com.caimei365.user.mapper;
+
+import java.util.List;
+
+import com.caimei365.user.model.po.SysDict;
+import com.caimei365.user.model.vo.SysDictVO;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * 字典Mapper接口
+ *
+ * @author Kaick
+ * @date 2023-07-14
+ */
+@Mapper
+public interface SysDictMapper
+{
+    /**
+     * 查询字典
+     *
+     * @param id 字典主键
+     * @return 字典
+     */
+    public SysDictVO getSysDictById(String id);
+
+    /**
+     * 查询字典Id
+     *
+     * @param sysDict 字典
+     * @return String
+     */
+    public String getById(SysDict sysDict);
+
+    /**
+     * 查询字典Ids
+     *
+     * @param sysDict 字典
+     * @return List<String>
+     */
+    public List<String> getByIds(SysDict sysDict);
+
+    /**
+     * 查询字典
+     *
+     * @param sysDict 字典
+     * @return 字典集合
+     */
+    public SysDictVO getBySysDict(SysDict sysDict);
+
+    /**
+     * 查询字典列表
+     *
+     * @param sysDict 字典
+     * @return 字典集合
+     */
+    public List<SysDictVO> getSysDictList(SysDict sysDict);
+    /**
+     * 查询字典记录总数
+     *
+     * @param sysDict 字典
+     * @return 字典Integer
+     */
+    public int getSysDictCount(SysDict sysDict);
+
+    /**
+     * 新增字典
+     *
+     * @param sysDict 字典
+     * @return 结果
+     */
+    public int addSysDict(SysDict sysDict);
+
+    /**
+     * 修改字典
+     *
+     * @param sysDict 字典
+     * @return 结果
+     */
+    public int updateSysDict(SysDict sysDict);
+
+    /**
+     * 删除字典
+     *
+     * @param id 字典主键
+     * @return 结果
+     */
+    public int delSysDictById(String id);
+
+    /**
+     * 批量删除字典
+     *
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int delSysDictByIds(@Param("ids") String[] ids);
+
+    /**
+     * 修改批量删除字典
+     *
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int updateDelSysDictByIds(@Param("ids") String[] ids,@Param("delFlag") Integer delFlag);
+}

+ 5 - 3
src/main/java/com/caimei365/user/model/po/CmBrandLanding.java

@@ -1,6 +1,8 @@
 package com.caimei365.user.model.po;
 package com.caimei365.user.model.po;
 
 
 import java.util.Date;
 import java.util.Date;
+
+import com.caimei365.user.model.vo.CmBrandFilesVO;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Data;
 import lombok.Data;
 import lombok.experimental.Accessors;
 import lombok.experimental.Accessors;
@@ -13,7 +15,7 @@ import java.util.List;
 
 
 /**
 /**
  * 供应商落地页资源对象 cm_brand_landing
  * 供应商落地页资源对象 cm_brand_landing
- * 
+ *
  * @author Kaick
  * @author Kaick
  * @date 2023-05-31
  * @date 2023-05-31
  */
  */
@@ -82,7 +84,7 @@ public class CmBrandLanding
     @JsonFormat(pattern = "yyyy-MM-dd")
     @JsonFormat(pattern = "yyyy-MM-dd")
     private Date addTime;
     private Date addTime;
     /** 文件资料 */
     /** 文件资料 */
-    List<CmBrandFiles> cmBrandFiles;
+    private List<CmBrandFilesVO> cmBrandFiles;
 
 
 //    public List<CmBrandFiles> getCmBrandFiles() {
 //    public List<CmBrandFiles> getCmBrandFiles() {
 //        return cmBrandFiles;
 //        return cmBrandFiles;
@@ -276,4 +278,4 @@ public class CmBrandLanding
 //            .append("addTime", getAddTime())
 //            .append("addTime", getAddTime())
 //            .toString();
 //            .toString();
 //    }
 //    }
-}
+}

+ 68 - 0
src/main/java/com/caimei365/user/model/po/CmQuestionnaire.java

@@ -0,0 +1,68 @@
+package com.caimei365.user.model.po;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import java.io.Serializable;
+import java.util.Date;
+
+import lombok.Data;
+import lombok.experimental.Accessors;
+import org.apache.ibatis.type.Alias;
+
+/**
+ * 用户需求调查对象 cm_questionnaire
+ *
+ * @author Kaick
+ * @date 2023-07-14
+ */
+@Accessors(chain  = true )
+@Data
+@Alias("CmQuestionnaire")
+public class CmQuestionnaire implements Serializable
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 用户需求ID */
+    private String id;
+
+    /** 分类:1 供应商解决方案 */
+    private String type;
+
+    /** 用户ID,为空游客 */
+    private Integer userId;
+
+    /** 用户姓名 */
+    private String userName;
+
+    /** 公司名称 */
+    private String corporateName;
+
+    /** 手机号 */
+    private String mobile;
+
+    /** 解决方案版本 */
+    private Integer level;
+
+    /** 感兴趣内容 */
+    private String content;
+
+    /** 状态:1待处理,2已处理 */
+    private Integer status;
+
+    /** 删除状态:0已删除 1正常 */
+    private Integer delFlag;
+
+    /** 修改时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date updateTime;
+
+    /** 创建时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date createTime;
+
+    /** 备注 */
+    private String remark;
+
+}
+

+ 67 - 0
src/main/java/com/caimei365/user/model/po/SysDict.java

@@ -0,0 +1,67 @@
+package com.caimei365.user.model.po;
+
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.experimental.Accessors;
+import org.apache.ibatis.type.Alias;
+
+/**
+ * 字典对象 sys_dict
+ *
+ * @author Kaick
+ * @date 2023-07-14
+ */
+@Accessors(chain  = true )
+@Data
+@Alias("SysDict")
+public class SysDict implements Serializable
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 编号 */
+    private String id;
+
+    /** 数据值 */
+    private String value;
+
+    /** 标签名 */
+    private String label;
+
+    /** 类型 */
+    private String type;
+
+    /** 描述 */
+    private String description;
+
+    /** 排序(升序) */
+    private Integer sort;
+
+    /** 父级编号 */
+    private String parentId;
+
+    /** 创建者 */
+    private String createBy;
+
+    /** 创建时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date createDate;
+
+    /** 更新者 */
+    private String updateBy;
+
+    /** 更新时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date updateDate;
+
+    /** 备注信息 */
+    private String remarks;
+
+    /** 删除标记 */
+    private String delFlag;
+
+}
+

+ 69 - 0
src/main/java/com/caimei365/user/model/vo/CmBrandBannerVO.java

@@ -0,0 +1,69 @@
+package com.caimei365.user.model.vo;
+
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import lombok.experimental.Accessors;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import org.apache.ibatis.type.Alias;
+
+import java.io.Serializable;
+
+/**
+ * 首页banner对象 cm_brand_banner
+ *
+ * @author Kaick
+ * @date 2023-05-24
+ */
+@Accessors(chain  = true )
+@Data
+@Alias("CmBrandBannerVO")
+public class CmBrandBannerVO implements Serializable
+{
+    private static final Long serialVersionUID = 1L;
+
+    /** id */
+    private String id;
+
+    /** 供应商id */
+    private String authUserId;
+
+    /** 分类:1首页banner,2供应商落地页banner */
+    private String type;
+
+    /** 首页pc端banner */
+    private String headPcBanner;
+
+    /** 首页移动端banner */
+    private String headAppBanner;
+
+    /** 首页banner跳转方式状态:0无,1图片,2链接 */
+    private String jumpStatus;
+
+    /** 首页pc端banner跳转图片 */
+    private String jumpPcPicture;
+
+    /** 首页移动端banner跳转图片 */
+    private String jumpAppPicture;
+
+    /** 首页banner跳转链接 */
+    private String jumpLink;
+
+    /** 首页移动端banner跳转链接 */
+    private String jumpAppLink;
+
+    /** PC标题
+ */
+    private String titlePc;
+
+    /** App标题
+ */
+    private String titleApp;
+
+    /** 排序 */
+    private String sort;
+
+
+
+}

+ 38 - 0
src/main/java/com/caimei365/user/model/vo/CmBrandFilesVO.java

@@ -0,0 +1,38 @@
+package com.caimei365.user.model.vo;
+
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import lombok.experimental.Accessors;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import org.apache.ibatis.type.Alias;
+
+import java.io.Serializable;
+
+/**
+ * 文件资源对象 cm_brand_files
+ *
+ * @author Kaick
+ * @date 2023-05-31
+ */
+@Accessors(chain = true)
+@Data()
+@Alias("CmBrandFilesVO")
+public class CmBrandFilesVO implements Serializable
+{
+    private static final Long serialVersionUID = 1L;
+
+    /** 视频文件分类:1供应商落地页 */
+    private String type;
+
+    /** oss链接 */
+    private String ossUrl;
+
+    /** 水印oss链接 */
+    private String waterOssUrl;
+
+    /** html链接 */
+    private String htmlUrl;
+
+}

+ 74 - 0
src/main/java/com/caimei365/user/model/vo/CmBrandLandingVO.java

@@ -0,0 +1,74 @@
+package com.caimei365.user.model.vo;
+
+import java.util.Date;
+
+import com.caimei365.user.model.vo.CmBrandFilesVO;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import lombok.experimental.Accessors;
+import org.apache.ibatis.type.Alias;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * 供应商落地页资源对象 cm_brand_landing
+ *
+ * @author Kaick
+ * @date 2023-05-31
+ */
+@Accessors(chain  = true )
+@Data
+@Alias("CmBrandLandingVO")
+public class CmBrandLandingVO implements Serializable
+{
+    private static final Long serialVersionUID = 1L;
+
+    /** id */
+    private String id;
+
+    /** 供应商id */
+    private String authUserId;
+
+    /** 分类:1成功案例,2增长社区-视频列表,3增长社区-文章列表 */
+    private String type;
+
+    /** pc端picture */
+    private String headPcBanner;
+
+    /** 移动端picture */
+    private String headAppBanner;
+
+    /** picture跳转方式状态:0无,1图片,2链接 */
+    private String jumpStatus;
+
+    /** pc端picture跳转图片 */
+    private String jumpPcPicture;
+
+    /** 移动端picture跳转图片 */
+    private String jumpAppPicture;
+
+    /** picture跳转链接 */
+    private String jumpLink;
+
+    /** 标题
+ */
+    private String title;
+
+    /** 内容
+ */
+    private String content;
+
+    /** 视频文件 */
+    private String video;
+
+    /** 排序 */
+    private String sort;
+
+    /** 文件资料 */
+    List<CmBrandFilesVO> cmBrandFiles;
+
+
+}

+ 27 - 0
src/main/java/com/caimei365/user/model/vo/SysDictVO.java

@@ -0,0 +1,27 @@
+package com.caimei365.user.model.vo;
+
+import lombok.Data;
+import lombok.experimental.Accessors;
+import org.apache.ibatis.type.Alias;
+
+import java.io.Serializable;
+
+/**
+ * 字典对象 sys_dictVO
+ *
+ * @author Kaick
+ * @date 2023-07-14
+ */
+@Accessors(chain  = true )
+@Data
+@Alias("SysDictVO")
+public class SysDictVO implements Serializable
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 数据值 */
+    private String value;
+
+    /** 标签名 */
+    private String label;
+}

+ 8 - 7
src/main/java/com/caimei365/user/service/CmBrandBannerService.java

@@ -2,10 +2,11 @@ package com.caimei365.user.service;
 
 
 import java.util.List;
 import java.util.List;
 import com.caimei365.user.model.po.CmBrandBanner;
 import com.caimei365.user.model.po.CmBrandBanner;
+import com.caimei365.user.model.vo.CmBrandBannerVO;
 
 
 /**
 /**
  * 首页bannerService接口
  * 首页bannerService接口
- * 
+ *
  * @author Kaick
  * @author Kaick
  * @date 2023-05-31
  * @date 2023-05-31
  */
  */
@@ -13,7 +14,7 @@ public interface CmBrandBannerService
 {
 {
     /**
     /**
      * 查询首页banner
      * 查询首页banner
-     * 
+     *
      * @param id 首页banner主键
      * @param id 首页banner主键
      * @return 首页banner
      * @return 首页banner
      */
      */
@@ -21,7 +22,7 @@ public interface CmBrandBannerService
 
 
     /**
     /**
      * 查询首页banner列表
      * 查询首页banner列表
-     * 
+     *
      * @param cmBrandBanner 首页banner
      * @param cmBrandBanner 首页banner
      * @return 首页banner集合
      * @return 首页banner集合
      */
      */
@@ -29,7 +30,7 @@ public interface CmBrandBannerService
 
 
     /**
     /**
      * 新增首页banner
      * 新增首页banner
-     * 
+     *
      * @param cmBrandBanner 首页banner
      * @param cmBrandBanner 首页banner
      * @return 结果
      * @return 结果
      */
      */
@@ -37,7 +38,7 @@ public interface CmBrandBannerService
 
 
     /**
     /**
      * 修改首页banner
      * 修改首页banner
-     * 
+     *
      * @param cmBrandBanner 首页banner
      * @param cmBrandBanner 首页banner
      * @return 结果
      * @return 结果
      */
      */
@@ -45,7 +46,7 @@ public interface CmBrandBannerService
 
 
     /**
     /**
      * 批量删除首页banner
      * 批量删除首页banner
-     * 
+     *
      * @param ids 需要删除的首页banner主键集合
      * @param ids 需要删除的首页banner主键集合
      * @return 结果
      * @return 结果
      */
      */
@@ -53,7 +54,7 @@ public interface CmBrandBannerService
 
 
     /**
     /**
      * 删除首页banner信息
      * 删除首页banner信息
-     * 
+     *
      * @param id 首页banner主键
      * @param id 首页banner主键
      * @return 结果
      * @return 结果
      */
      */

+ 10 - 9
src/main/java/com/caimei365/user/service/CmBrandFilesService.java

@@ -1,12 +1,13 @@
 package com.caimei365.user.service;
 package com.caimei365.user.service;
 
 
 import com.caimei365.user.model.po.CmBrandFiles;
 import com.caimei365.user.model.po.CmBrandFiles;
+import com.caimei365.user.model.vo.CmBrandFilesVO;
 
 
 import java.util.List;
 import java.util.List;
 
 
 /**
 /**
  * 文件资源Service接口
  * 文件资源Service接口
- * 
+ *
  * @author Kaick
  * @author Kaick
  * @date 2023-05-31
  * @date 2023-05-31
  */
  */
@@ -14,7 +15,7 @@ public interface CmBrandFilesService
 {
 {
     /**
     /**
      * 查询文件资源
      * 查询文件资源
-     * 
+     *
      * @param id 文件资源主键
      * @param id 文件资源主键
      * @return 文件资源
      * @return 文件资源
      */
      */
@@ -22,15 +23,15 @@ public interface CmBrandFilesService
 
 
     /**
     /**
      * 查询文件资源列表
      * 查询文件资源列表
-     * 
+     *
      * @param cmBrandFiles 文件资源
      * @param cmBrandFiles 文件资源
      * @return 文件资源集合
      * @return 文件资源集合
      */
      */
-    public List<CmBrandFiles> selectCmBrandFilesList(CmBrandFiles cmBrandFiles);
+    public List<CmBrandFilesVO> selectCmBrandFilesList(CmBrandFiles cmBrandFiles);
 
 
     /**
     /**
      * 新增文件资源
      * 新增文件资源
-     * 
+     *
      * @param cmBrandFiles 文件资源
      * @param cmBrandFiles 文件资源
      * @return 结果
      * @return 结果
      */
      */
@@ -38,7 +39,7 @@ public interface CmBrandFilesService
 
 
     /**
     /**
      * 修改文件资源
      * 修改文件资源
-     * 
+     *
      * @param cmBrandFiles 文件资源
      * @param cmBrandFiles 文件资源
      * @return 结果
      * @return 结果
      */
      */
@@ -46,7 +47,7 @@ public interface CmBrandFilesService
 
 
     /**
     /**
      * 批量删除文件资源
      * 批量删除文件资源
-     * 
+     *
      * @param ids 需要删除的文件资源主键集合
      * @param ids 需要删除的文件资源主键集合
      * @return 结果
      * @return 结果
      */
      */
@@ -54,9 +55,9 @@ public interface CmBrandFilesService
 
 
     /**
     /**
      * 删除文件资源信息
      * 删除文件资源信息
-     * 
+     *
      * @param id 文件资源主键
      * @param id 文件资源主键
      * @return 结果
      * @return 结果
      */
      */
     public int deleteCmBrandFilesById(String id);
     public int deleteCmBrandFilesById(String id);
-}
+}

+ 9 - 8
src/main/java/com/caimei365/user/service/CmBrandLandingService.java

@@ -1,12 +1,13 @@
 package com.caimei365.user.service;
 package com.caimei365.user.service;
 
 
 import com.caimei365.user.model.po.CmBrandLanding;
 import com.caimei365.user.model.po.CmBrandLanding;
+import com.caimei365.user.model.vo.CmBrandLandingVO;
 
 
 import java.util.List;
 import java.util.List;
 
 
 /**
 /**
  * 供应商落地页资源Service接口
  * 供应商落地页资源Service接口
- * 
+ *
  * @author Kaick
  * @author Kaick
  * @date 2023-05-31
  * @date 2023-05-31
  */
  */
@@ -14,7 +15,7 @@ public interface CmBrandLandingService
 {
 {
     /**
     /**
      * 查询供应商落地页资源
      * 查询供应商落地页资源
-     * 
+     *
      * @param id 供应商落地页资源主键
      * @param id 供应商落地页资源主键
      * @return 供应商落地页资源
      * @return 供应商落地页资源
      */
      */
@@ -22,7 +23,7 @@ public interface CmBrandLandingService
 
 
     /**
     /**
      * 查询供应商落地页资源列表
      * 查询供应商落地页资源列表
-     * 
+     *
      * @param cmBrandLanding 供应商落地页资源
      * @param cmBrandLanding 供应商落地页资源
      * @return 供应商落地页资源集合
      * @return 供应商落地页资源集合
      */
      */
@@ -30,7 +31,7 @@ public interface CmBrandLandingService
 
 
     /**
     /**
      * 新增供应商落地页资源
      * 新增供应商落地页资源
-     * 
+     *
      * @param cmBrandLanding 供应商落地页资源
      * @param cmBrandLanding 供应商落地页资源
      * @return 结果
      * @return 结果
      */
      */
@@ -38,7 +39,7 @@ public interface CmBrandLandingService
 
 
     /**
     /**
      * 修改供应商落地页资源
      * 修改供应商落地页资源
-     * 
+     *
      * @param cmBrandLanding 供应商落地页资源
      * @param cmBrandLanding 供应商落地页资源
      * @return 结果
      * @return 结果
      */
      */
@@ -46,7 +47,7 @@ public interface CmBrandLandingService
 
 
     /**
     /**
      * 批量删除供应商落地页资源
      * 批量删除供应商落地页资源
-     * 
+     *
      * @param ids 需要删除的供应商落地页资源主键集合
      * @param ids 需要删除的供应商落地页资源主键集合
      * @return 结果
      * @return 结果
      */
      */
@@ -54,9 +55,9 @@ public interface CmBrandLandingService
 
 
     /**
     /**
      * 删除供应商落地页资源信息
      * 删除供应商落地页资源信息
-     * 
+     *
      * @param id 供应商落地页资源主键
      * @param id 供应商落地页资源主键
      * @return 结果
      * @return 结果
      */
      */
     public int deleteCmBrandLandingById(String id);
     public int deleteCmBrandLandingById(String id);
-}
+}

+ 109 - 0
src/main/java/com/caimei365/user/service/CmQuestionnaireService.java

@@ -0,0 +1,109 @@
+package com.caimei365.user.service;
+
+import com.caimei365.user.model.po.CmQuestionnaire;
+
+import java.util.List;
+
+/**
+ * 用户需求调查Service接口
+ *
+ * @author Kaick
+ * @date 2023-07-14
+ */
+public interface CmQuestionnaireService
+{
+    /**
+     * 查询用户需求调查
+     *
+     * @param id 用户需求调查主键
+     * @return 用户需求调查
+     */
+    public CmQuestionnaire getCmQuestionnaireById(String id);
+
+    /**
+     * 查询用户需求调查Id
+     *
+     * @param cmQuestionnaire 用户需求调查主键
+     * @return String
+     */
+    public String getById(CmQuestionnaire cmQuestionnaire);
+
+    /**
+     * 查询用户需求调查Ids
+     *
+     * @param cmQuestionnaire 用户需求调查
+     * @return List<String>
+     */
+    public List<String> getByIds(CmQuestionnaire cmQuestionnaire);
+
+    /**
+     * 查询用户需求调查
+     *
+     * @param cmQuestionnaire 用户需求调查
+     * @return 用户需求调查
+     */
+    public CmQuestionnaire getByCmQuestionnaire(CmQuestionnaire cmQuestionnaire);
+
+    /**
+     * 查询用户需求调查列表
+     *
+     * @param cmQuestionnaire 用户需求调查
+     * @return 用户需求调查集合
+     */
+    public List<CmQuestionnaire> getCmQuestionnaireList(CmQuestionnaire cmQuestionnaire);
+    /**
+     * 查询用户需求调查记录总数
+     *
+     * @param cmQuestionnaire 用户需求调查
+     * @return 用户需求调查Integer
+     */
+    public int getCmQuestionnaireCount(CmQuestionnaire cmQuestionnaire);
+
+    /**
+     * 新增用户需求调查
+     *
+     * @param cmQuestionnaire 用户需求调查
+     * @return 结果
+     */
+    public int addCmQuestionnaire(CmQuestionnaire cmQuestionnaire);
+
+    /**
+     * 修改用户需求调查
+     *
+     * @param cmQuestionnaire 用户需求调查
+     * @return 结果
+     */
+    public int updateCmQuestionnaire(CmQuestionnaire cmQuestionnaire);
+
+    /**
+     * 批量删除用户需求调查
+     *
+     * @param ids 需要删除的用户需求调查主键集合
+     * @return 结果
+     */
+    public int delCmQuestionnaireByIds(String[] ids);
+
+    /**
+     * 删除用户需求调查信息
+     *
+     * @param id 用户需求调查主键
+     * @return 结果
+     */
+    public int delCmQuestionnaireById(String id);
+
+    /**
+     * 批量新增用户需求调查
+     *
+     * @param cmQuestionnaireList 用户需求调查列表
+     * @return 结果
+     */
+    public void batchAddCmQuestionnaire(List<CmQuestionnaire> cmQuestionnaireList);
+
+    /**
+     * 批量修改用户需求调查
+     *
+     * @param cmQuestionnaireList 用户需求调查列表
+     * @return 结果
+     */
+    public void batchUpdateCmQuestionnaire(List<CmQuestionnaire> cmQuestionnaireList);
+}

+ 110 - 0
src/main/java/com/caimei365/user/service/SysDictService.java

@@ -0,0 +1,110 @@
+package com.caimei365.user.service;
+
+import com.caimei365.user.model.po.SysDict;
+import com.caimei365.user.model.vo.SysDictVO;
+
+import java.util.List;
+
+/**
+ * 字典Service接口
+ *
+ * @author Kaick
+ * @date 2023-07-14
+ */
+public interface SysDictService
+{
+    /**
+     * 查询字典
+     *
+     * @param id 字典主键
+     * @return 字典
+     */
+    public SysDictVO getSysDictById(String id);
+
+    /**
+     * 查询字典Id
+     *
+     * @param sysDict 字典主键
+     * @return String
+     */
+    public String getById(SysDict sysDict);
+
+    /**
+     * 查询字典Ids
+     *
+     * @param sysDict 字典
+     * @return List<String>
+     */
+    public List<String> getByIds(SysDict sysDict);
+
+    /**
+     * 查询字典
+     *
+     * @param sysDict 字典
+     * @return 字典
+     */
+    public SysDictVO getBySysDict(SysDict sysDict);
+
+    /**
+     * 查询字典列表
+     *
+     * @param sysDict 字典
+     * @return 字典集合
+     */
+    public List<SysDictVO> getSysDictList(SysDict sysDict);
+    /**
+     * 查询字典记录总数
+     *
+     * @param sysDict 字典
+     * @return 字典Integer
+     */
+    public int getSysDictCount(SysDict sysDict);
+
+    /**
+     * 新增字典
+     *
+     * @param sysDict 字典
+     * @return 结果
+     */
+    public int addSysDict(SysDict sysDict);
+
+    /**
+     * 修改字典
+     *
+     * @param sysDict 字典
+     * @return 结果
+     */
+    public int updateSysDict(SysDict sysDict);
+
+    /**
+     * 批量删除字典
+     *
+     * @param ids 需要删除的字典主键集合
+     * @return 结果
+     */
+    public int delSysDictByIds(String[] ids);
+
+    /**
+     * 删除字典信息
+     *
+     * @param id 字典主键
+     * @return 结果
+     */
+    public int delSysDictById(String id);
+
+    /**
+     * 批量新增字典
+     *
+     * @param sysDictList 字典列表
+     * @return 结果
+     */
+    public void batchAddSysDict(List<SysDict> sysDictList);
+
+    /**
+     * 批量修改字典
+     *
+     * @param sysDictList 字典列表
+     * @return 结果
+     */
+    public void batchUpdateSysDict(List<SysDict> sysDictList);
+}

+ 8 - 7
src/main/java/com/caimei365/user/service/impl/CmBrandBannerServiceImpl.java

@@ -5,13 +5,14 @@ import java.util.List;
 
 
 import com.caimei365.user.mapper.CmBrandBannerMapper;
 import com.caimei365.user.mapper.CmBrandBannerMapper;
 import com.caimei365.user.model.po.CmBrandBanner;
 import com.caimei365.user.model.po.CmBrandBanner;
+import com.caimei365.user.model.vo.CmBrandBannerVO;
 import com.caimei365.user.service.CmBrandBannerService;
 import com.caimei365.user.service.CmBrandBannerService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 
 
 /**
 /**
  * 首页bannerService业务层处理
  * 首页bannerService业务层处理
- * 
+ *
  * @author Kaick
  * @author Kaick
  * @date 2023-05-31
  * @date 2023-05-31
  */
  */
@@ -23,7 +24,7 @@ public class CmBrandBannerServiceImpl implements CmBrandBannerService
 
 
     /**
     /**
      * 查询首页banner
      * 查询首页banner
-     * 
+     *
      * @param id 首页banner主键
      * @param id 首页banner主键
      * @return 首页banner
      * @return 首页banner
      */
      */
@@ -35,7 +36,7 @@ public class CmBrandBannerServiceImpl implements CmBrandBannerService
 
 
     /**
     /**
      * 查询首页banner列表
      * 查询首页banner列表
-     * 
+     *
      * @param cmBrandBanner 首页banner
      * @param cmBrandBanner 首页banner
      * @return 首页banner
      * @return 首页banner
      */
      */
@@ -47,7 +48,7 @@ public class CmBrandBannerServiceImpl implements CmBrandBannerService
 
 
     /**
     /**
      * 新增首页banner
      * 新增首页banner
-     * 
+     *
      * @param cmBrandBanner 首页banner
      * @param cmBrandBanner 首页banner
      * @return 结果
      * @return 结果
      */
      */
@@ -59,7 +60,7 @@ public class CmBrandBannerServiceImpl implements CmBrandBannerService
 
 
     /**
     /**
      * 修改首页banner
      * 修改首页banner
-     * 
+     *
      * @param cmBrandBanner 首页banner
      * @param cmBrandBanner 首页banner
      * @return 结果
      * @return 结果
      */
      */
@@ -72,7 +73,7 @@ public class CmBrandBannerServiceImpl implements CmBrandBannerService
 
 
     /**
     /**
      * 批量删除首页banner
      * 批量删除首页banner
-     * 
+     *
      * @param ids 需要删除的首页banner主键
      * @param ids 需要删除的首页banner主键
      * @return 结果
      * @return 结果
      */
      */
@@ -84,7 +85,7 @@ public class CmBrandBannerServiceImpl implements CmBrandBannerService
 
 
     /**
     /**
      * 删除首页banner信息
      * 删除首页banner信息
-     * 
+     *
      * @param id 首页banner主键
      * @param id 首页banner主键
      * @return 结果
      * @return 结果
      */
      */

+ 10 - 9
src/main/java/com/caimei365/user/service/impl/CmBrandFilesServiceImpl.java

@@ -4,6 +4,7 @@ import java.util.List;
 
 
 import com.caimei365.user.mapper.CmBrandFilesMapper;
 import com.caimei365.user.mapper.CmBrandFilesMapper;
 import com.caimei365.user.model.po.CmBrandFiles;
 import com.caimei365.user.model.po.CmBrandFiles;
+import com.caimei365.user.model.vo.CmBrandFilesVO;
 import com.caimei365.user.service.CmBrandFilesService;
 import com.caimei365.user.service.CmBrandFilesService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
@@ -11,7 +12,7 @@ import org.springframework.transaction.annotation.Transactional;
 
 
 /**
 /**
  * 文件资源Service业务层处理
  * 文件资源Service业务层处理
- * 
+ *
  * @author Kaick
  * @author Kaick
  * @date 2023-05-31
  * @date 2023-05-31
  */
  */
@@ -23,7 +24,7 @@ public class CmBrandFilesServiceImpl implements CmBrandFilesService
 
 
     /**
     /**
      * 查询文件资源
      * 查询文件资源
-     * 
+     *
      * @param id 文件资源主键
      * @param id 文件资源主键
      * @return 文件资源
      * @return 文件资源
      */
      */
@@ -35,19 +36,19 @@ public class CmBrandFilesServiceImpl implements CmBrandFilesService
 
 
     /**
     /**
      * 查询文件资源列表
      * 查询文件资源列表
-     * 
+     *
      * @param cmBrandFiles 文件资源
      * @param cmBrandFiles 文件资源
      * @return 文件资源
      * @return 文件资源
      */
      */
     @Override
     @Override
-    public List<CmBrandFiles> selectCmBrandFilesList(CmBrandFiles cmBrandFiles)
+    public List<CmBrandFilesVO> selectCmBrandFilesList(CmBrandFiles cmBrandFiles)
     {
     {
         return cmBrandFilesMapper.selectCmBrandFilesList(cmBrandFiles);
         return cmBrandFilesMapper.selectCmBrandFilesList(cmBrandFiles);
     }
     }
 
 
     /**
     /**
      * 新增文件资源
      * 新增文件资源
-     * 
+     *
      * @param cmBrandFiles 文件资源
      * @param cmBrandFiles 文件资源
      * @return 结果
      * @return 结果
      */
      */
@@ -59,7 +60,7 @@ public class CmBrandFilesServiceImpl implements CmBrandFilesService
 
 
     /**
     /**
      * 修改文件资源
      * 修改文件资源
-     * 
+     *
      * @param cmBrandFiles 文件资源
      * @param cmBrandFiles 文件资源
      * @return 结果
      * @return 结果
      */
      */
@@ -71,7 +72,7 @@ public class CmBrandFilesServiceImpl implements CmBrandFilesService
 
 
     /**
     /**
      * 批量删除文件资源
      * 批量删除文件资源
-     * 
+     *
      * @param ids 需要删除的文件资源主键
      * @param ids 需要删除的文件资源主键
      * @return 结果
      * @return 结果
      */
      */
@@ -83,7 +84,7 @@ public class CmBrandFilesServiceImpl implements CmBrandFilesService
 
 
     /**
     /**
      * 删除文件资源信息
      * 删除文件资源信息
-     * 
+     *
      * @param id 文件资源主键
      * @param id 文件资源主键
      * @return 结果
      * @return 结果
      */
      */
@@ -92,4 +93,4 @@ public class CmBrandFilesServiceImpl implements CmBrandFilesService
     {
     {
         return cmBrandFilesMapper.deleteCmBrandFilesById(id);
         return cmBrandFilesMapper.deleteCmBrandFilesById(id);
     }
     }
-}
+}

+ 9 - 8
src/main/java/com/caimei365/user/service/impl/CmBrandLandingServiceImpl.java

@@ -5,13 +5,14 @@ import java.util.List;
 
 
 import com.caimei365.user.mapper.CmBrandLandingMapper;
 import com.caimei365.user.mapper.CmBrandLandingMapper;
 import com.caimei365.user.model.po.CmBrandLanding;
 import com.caimei365.user.model.po.CmBrandLanding;
+import com.caimei365.user.model.vo.CmBrandLandingVO;
 import com.caimei365.user.service.CmBrandLandingService;
 import com.caimei365.user.service.CmBrandLandingService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 
 
 /**
 /**
  * 供应商落地页资源Service业务层处理
  * 供应商落地页资源Service业务层处理
- * 
+ *
  * @author Kaick
  * @author Kaick
  * @date 2023-05-31
  * @date 2023-05-31
  */
  */
@@ -23,7 +24,7 @@ public class CmBrandLandingServiceImpl implements CmBrandLandingService
 
 
     /**
     /**
      * 查询供应商落地页资源
      * 查询供应商落地页资源
-     * 
+     *
      * @param id 供应商落地页资源主键
      * @param id 供应商落地页资源主键
      * @return 供应商落地页资源
      * @return 供应商落地页资源
      */
      */
@@ -35,7 +36,7 @@ public class CmBrandLandingServiceImpl implements CmBrandLandingService
 
 
     /**
     /**
      * 查询供应商落地页资源列表
      * 查询供应商落地页资源列表
-     * 
+     *
      * @param cmBrandLanding 供应商落地页资源
      * @param cmBrandLanding 供应商落地页资源
      * @return 供应商落地页资源
      * @return 供应商落地页资源
      */
      */
@@ -47,7 +48,7 @@ public class CmBrandLandingServiceImpl implements CmBrandLandingService
 
 
     /**
     /**
      * 新增供应商落地页资源
      * 新增供应商落地页资源
-     * 
+     *
      * @param cmBrandLanding 供应商落地页资源
      * @param cmBrandLanding 供应商落地页资源
      * @return 结果
      * @return 结果
      */
      */
@@ -59,7 +60,7 @@ public class CmBrandLandingServiceImpl implements CmBrandLandingService
 
 
     /**
     /**
      * 修改供应商落地页资源
      * 修改供应商落地页资源
-     * 
+     *
      * @param cmBrandLanding 供应商落地页资源
      * @param cmBrandLanding 供应商落地页资源
      * @return 结果
      * @return 结果
      */
      */
@@ -72,7 +73,7 @@ public class CmBrandLandingServiceImpl implements CmBrandLandingService
 
 
     /**
     /**
      * 批量删除供应商落地页资源
      * 批量删除供应商落地页资源
-     * 
+     *
      * @param ids 需要删除的供应商落地页资源主键
      * @param ids 需要删除的供应商落地页资源主键
      * @return 结果
      * @return 结果
      */
      */
@@ -84,7 +85,7 @@ public class CmBrandLandingServiceImpl implements CmBrandLandingService
 
 
     /**
     /**
      * 删除供应商落地页资源信息
      * 删除供应商落地页资源信息
-     * 
+     *
      * @param id 供应商落地页资源主键
      * @param id 供应商落地页资源主键
      * @return 结果
      * @return 结果
      */
      */
@@ -93,4 +94,4 @@ public class CmBrandLandingServiceImpl implements CmBrandLandingService
     {
     {
         return cmBrandLandingMapper.deleteCmBrandLandingById(id);
         return cmBrandLandingMapper.deleteCmBrandLandingById(id);
     }
     }
-}
+}

+ 176 - 0
src/main/java/com/caimei365/user/service/impl/CmQuestionnaireServiceImpl.java

@@ -0,0 +1,176 @@
+package com.caimei365.user.service.impl;
+
+import java.util.Date;
+import java.util.List;
+
+import com.caimei365.user.model.po.CmQuestionnaire;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.caimei365.user.mapper.CmQuestionnaireMapper;
+import com.caimei365.user.service.CmQuestionnaireService;
+
+/**
+ * 用户需求调查Service业务层处理
+ *
+ * @author Kaick
+ * @date 2023-07-14
+ */
+@Service
+public class CmQuestionnaireServiceImpl implements CmQuestionnaireService
+{
+    @Autowired
+    private CmQuestionnaireMapper cmQuestionnaireMapper;
+
+    /**
+     * 查询用户需求调查
+     *
+     * @param id 用户需求调查主键
+     * @return 用户需求调查
+     */
+    @Override
+    public CmQuestionnaire getCmQuestionnaireById(String id)
+    {
+        return cmQuestionnaireMapper.getCmQuestionnaireById(id);
+    }
+
+    /**
+     * 查询用户需求调查Id
+     *
+     * @param cmQuestionnaire 用户需求调查
+     * @return String
+     */
+    @Override
+    public String getById(CmQuestionnaire cmQuestionnaire)
+    {
+        return cmQuestionnaireMapper.getById(cmQuestionnaire);
+    }
+
+    /**
+     * 查询用户需求调查Ids
+     *
+     * @param cmQuestionnaire 用户需求调查
+     * @return List<String>
+     */
+    @Override
+    public List<String> getByIds(CmQuestionnaire cmQuestionnaire)
+    {
+        return cmQuestionnaireMapper.getByIds(cmQuestionnaire);
+    }
+
+    /**
+     * 查询用户需求调查
+     *
+     * @param cmQuestionnaire 用户需求调查
+     * @return 用户需求调查
+     */
+    @Override
+    public CmQuestionnaire getByCmQuestionnaire(CmQuestionnaire cmQuestionnaire)
+    {
+        return cmQuestionnaireMapper.getByCmQuestionnaire(cmQuestionnaire);
+    }
+
+    /**
+     * 查询用户需求调查列表
+     *
+     * @param cmQuestionnaire 用户需求调查
+     * @return 用户需求调查
+     */
+    @Override
+    public List<CmQuestionnaire> getCmQuestionnaireList(CmQuestionnaire cmQuestionnaire)
+    {
+        return cmQuestionnaireMapper.getCmQuestionnaireList(cmQuestionnaire);
+    }
+    /**
+     * 查询用户需求调查记录总数
+     *
+     * @param cmQuestionnaire 用户需求调查
+     * @return 用户需求调查
+     */
+    @Override
+    public int getCmQuestionnaireCount(CmQuestionnaire cmQuestionnaire)
+    {
+        return cmQuestionnaireMapper.getCmQuestionnaireCount(cmQuestionnaire);
+    }
+
+    /**
+     * 新增用户需求调查
+     *
+     * @param cmQuestionnaire 用户需求调查
+     * @return 结果
+     */
+    @Override
+    public int addCmQuestionnaire(CmQuestionnaire cmQuestionnaire)
+    {
+        cmQuestionnaire.setCreateTime(new Date());
+        return cmQuestionnaireMapper.addCmQuestionnaire(cmQuestionnaire);
+    }
+
+    /**
+     * 修改用户需求调查
+     *
+     * @param cmQuestionnaire 用户需求调查
+     * @return 结果
+     */
+    @Override
+    public int updateCmQuestionnaire(CmQuestionnaire cmQuestionnaire)
+    {
+        cmQuestionnaire.setUpdateTime(new Date());
+        return cmQuestionnaireMapper.updateCmQuestionnaire(cmQuestionnaire);
+    }
+
+    /**
+     * 批量删除用户需求调查
+     *
+     * @param ids 需要删除的用户需求调查主键
+     * @return 结果
+     */
+    @Override
+    public int delCmQuestionnaireByIds(String[] ids)
+    {
+        return cmQuestionnaireMapper.updateDelCmQuestionnaireByIds(ids,1);
+        //return cmQuestionnaireMapper.delCmQuestionnaireByIds(ids);
+    }
+
+    /**
+     * 删除用户需求调查信息
+     *
+     * @param id 用户需求调查主键
+     * @return 结果
+     */
+    @Override
+    public int delCmQuestionnaireById(String id)
+    {
+        return cmQuestionnaireMapper.updateCmQuestionnaire(new CmQuestionnaire().setId(id).setDelFlag(1));
+        //return cmQuestionnaireMapper.delCmQuestionnaireById(id);
+    }
+
+    /**
+     * 批量新增用户需求调查
+     *
+     * @param cmQuestionnaireList 用户需求调查列表
+     * @return 结果
+     */
+    @Override
+    public void batchAddCmQuestionnaire(List<CmQuestionnaire> cmQuestionnaireList)
+    {
+            for (CmQuestionnaire cmQuestionnaire : cmQuestionnaireList)
+            {
+                    cmQuestionnaireMapper.addCmQuestionnaire(cmQuestionnaire);
+            }
+    }
+
+    /**
+     * 批量修改用户需求调查
+     *
+     * @param cmQuestionnaireList 用户需求调查列表
+     * @return 结果
+     */
+    @Override
+    public void batchUpdateCmQuestionnaire(List<CmQuestionnaire> cmQuestionnaireList)
+    {
+            for (CmQuestionnaire cmQuestionnaire : cmQuestionnaireList)
+            {
+                   cmQuestionnaireMapper.updateCmQuestionnaire(cmQuestionnaire);
+            }
+        }
+    }

+ 1 - 0
src/main/java/com/caimei365/user/service/impl/RemoteCallServiceImpl.java

@@ -54,6 +54,7 @@ public class RemoteCallServiceImpl implements RemoteCallService {
             list.add("18175515644");
             list.add("18175515644");
             list.add("18670511721");
             list.add("18670511721");
             list.add("15017915300");
             list.add("15017915300");
+            list.add("17708413951");
             if ("prod".equals(profile) || list.contains(mobile)) {
             if ("prod".equals(profile) || list.contains(mobile)) {
                 if (StringUtils.isNotBlank(mobile) && mobile.length() == 11) {
                 if (StringUtils.isNotBlank(mobile) && mobile.length() == 11) {
                     String regex = "^(1[3-9]\\d{9}$)";
                     String regex = "^(1[3-9]\\d{9}$)";

+ 177 - 0
src/main/java/com/caimei365/user/service/impl/SysDictServiceImpl.java

@@ -0,0 +1,177 @@
+package com.caimei365.user.service.impl;
+
+import java.util.Date;
+import java.util.List;
+
+import com.caimei365.user.model.po.SysDict;
+import com.caimei365.user.model.vo.SysDictVO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.caimei365.user.mapper.SysDictMapper;
+import com.caimei365.user.service.SysDictService;
+
+/**
+ * 字典Service业务层处理
+ *
+ * @author Kaick
+ * @date 2023-07-14
+ */
+@Service
+public class SysDictServiceImpl implements SysDictService
+{
+    @Autowired
+    private SysDictMapper sysDictMapper;
+
+    /**
+     * 查询字典
+     *
+     * @param id 字典主键
+     * @return 字典
+     */
+    @Override
+    public SysDictVO getSysDictById(String id)
+    {
+        return sysDictMapper.getSysDictById(id);
+    }
+
+    /**
+     * 查询字典Id
+     *
+     * @param sysDict 字典
+     * @return String
+     */
+    @Override
+    public String getById(SysDict sysDict)
+    {
+        return sysDictMapper.getById(sysDict);
+    }
+
+    /**
+     * 查询字典Ids
+     *
+     * @param sysDict 字典
+     * @return List<String>
+     */
+    @Override
+    public List<String> getByIds(SysDict sysDict)
+    {
+        return sysDictMapper.getByIds(sysDict);
+    }
+
+    /**
+     * 查询字典
+     *
+     * @param sysDict 字典
+     * @return 字典
+     */
+    @Override
+    public SysDictVO getBySysDict(SysDict sysDict)
+    {
+        return sysDictMapper.getBySysDict(sysDict);
+    }
+
+    /**
+     * 查询字典列表
+     *
+     * @param sysDict 字典
+     * @return 字典
+     */
+    @Override
+    public List<SysDictVO> getSysDictList(SysDict sysDict)
+    {
+        return sysDictMapper.getSysDictList(sysDict);
+    }
+    /**
+     * 查询字典记录总数
+     *
+     * @param sysDict 字典
+     * @return 字典
+     */
+    @Override
+    public int getSysDictCount(SysDict sysDict)
+    {
+        return sysDictMapper.getSysDictCount(sysDict);
+    }
+
+    /**
+     * 新增字典
+     *
+     * @param sysDict 字典
+     * @return 结果
+     */
+    @Override
+    public int addSysDict(SysDict sysDict)
+    {
+        sysDict.setCreateDate(new Date());
+        return sysDictMapper.addSysDict(sysDict);
+    }
+
+    /**
+     * 修改字典
+     *
+     * @param sysDict 字典
+     * @return 结果
+     */
+    @Override
+    public int updateSysDict(SysDict sysDict)
+    {
+        sysDict.setUpdateDate(new Date());
+        return sysDictMapper.updateSysDict(sysDict);
+    }
+
+    /**
+     * 批量删除字典
+     *
+     * @param ids 需要删除的字典主键
+     * @return 结果
+     */
+    @Override
+    public int delSysDictByIds(String[] ids)
+    {
+        return sysDictMapper.updateDelSysDictByIds(ids,1);
+        //return sysDictMapper.delSysDictByIds(ids);
+    }
+
+    /**
+     * 删除字典信息
+     *
+     * @param id 字典主键
+     * @return 结果
+     */
+    @Override
+    public int delSysDictById(String id)
+    {
+        return sysDictMapper.updateSysDict(new SysDict().setId(id).setDelFlag("1"));
+        //return sysDictMapper.delSysDictById(id);
+    }
+
+    /**
+     * 批量新增字典
+     *
+     * @param sysDictList 字典列表
+     * @return 结果
+     */
+    @Override
+    public void batchAddSysDict(List<SysDict> sysDictList)
+    {
+            for (SysDict sysDict : sysDictList)
+            {
+                    sysDictMapper.addSysDict(sysDict);
+            }
+    }
+
+    /**
+     * 批量修改字典
+     *
+     * @param sysDictList 字典列表
+     * @return 结果
+     */
+    @Override
+    public void batchUpdateSysDict(List<SysDict> sysDictList)
+    {
+            for (SysDict sysDict : sysDictList)
+            {
+                   sysDictMapper.updateSysDict(sysDict);
+            }
+        }
+    }

+ 7 - 1
src/main/resources/mapper/CmBrandFilesMapper.xml

@@ -17,12 +17,18 @@
         <result property="uploadTime"    column="uploadTime"    />
         <result property="uploadTime"    column="uploadTime"    />
         <result property="delFlag"    column="delFlag"    />
         <result property="delFlag"    column="delFlag"    />
     </resultMap>
     </resultMap>
+    <resultMap type="CmBrandFilesVO" id="CmBrandFilesResultVO">
+        <result property="type"    column="type"    />
+        <result property="ossUrl"    column="ossUrl"    />
+        <result property="waterOssUrl"    column="waterOssUrl"    />
+        <result property="htmlUrl"    column="htmlUrl"    />
+    </resultMap>
 
 
     <sql id="selectCmBrandFilesVo">
     <sql id="selectCmBrandFilesVo">
         select id, type, superId, fileName, ossName, waterOssName, ossUrl, waterOssUrl, htmlUrl, uploadTime, delFlag from cm_brand_files
         select id, type, superId, fileName, ossName, waterOssName, ossUrl, waterOssUrl, htmlUrl, uploadTime, delFlag from cm_brand_files
     </sql>
     </sql>
 
 
-    <select id="selectCmBrandFilesList" parameterType="com.caimei365.user.model.po.CmBrandFiles" resultMap="CmBrandFilesResult">
+    <select id="selectCmBrandFilesList" parameterType="com.caimei365.user.model.po.CmBrandFiles" resultMap="CmBrandFilesResultVO">
         <include refid="selectCmBrandFilesVo"/>
         <include refid="selectCmBrandFilesVo"/>
         <where>delFlag=0
         <where>delFlag=0
             <if test="id != null "> and id = #{id}</if>
             <if test="id != null "> and id = #{id}</if>

+ 1 - 0
src/main/resources/mapper/CmBrandLandingMapper.xml

@@ -25,6 +25,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="addTime"    column="addTime"    />
         <result property="addTime"    column="addTime"    />
     </resultMap>
     </resultMap>
 
 
+
     <sql id="selectCmBrandLandingVo">
     <sql id="selectCmBrandLandingVo">
         select id, authUserId, type, headPcBanner, headAppBanner, jumpStatus, jumpPcPicture, jumpAppPicture, jumpLink, title, content, video, sort, pcStatus, appStatus, delFlag, updateTime, addTime from cm_brand_landing
         select id, authUserId, type, headPcBanner, headAppBanner, jumpStatus, jumpPcPicture, jumpAppPicture, jumpLink, title, content, video, sort, pcStatus, appStatus, delFlag, updateTime, addTime from cm_brand_landing
     </sql>
     </sql>

+ 328 - 0
src/main/resources/mapper/CmQuestionnaireMapper.xml

@@ -0,0 +1,328 @@
+<?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.caimei365.user.mapper.CmQuestionnaireMapper">
+
+    <resultMap type="CmQuestionnaire" id="CmQuestionnaireResult">
+        <result property="id"    column="id"    />
+        <result property="type"    column="type"    />
+        <result property="userId"    column="userId"    />
+        <result property="userName"    column="userName"    />
+        <result property="corporateName"    column="corporateName"    />
+        <result property="mobile"    column="mobile"    />
+        <result property="level"    column="level"    />
+        <result property="content"    column="content"    />
+        <result property="status"    column="status"    />
+        <result property="delFlag"    column="delFlag"    />
+        <result property="updateTime"    column="updateTime"    />
+        <result property="createTime"    column="createTime"    />
+        <result property="remark"    column="remark"    />
+    </resultMap>
+
+    <sql id="selectCmQuestionnaireVo">
+        select
+            cm_questionnaire.id,
+            cm_questionnaire.type,
+            cm_questionnaire.userId,
+            cm_questionnaire.userName,
+            cm_questionnaire.corporateName,
+            cm_questionnaire.mobile,
+            cm_questionnaire.level,
+            cm_questionnaire.content,
+            cm_questionnaire.status,
+            cm_questionnaire.delFlag,
+            cm_questionnaire.updateTime,
+            cm_questionnaire.createTime,
+            cm_questionnaire.remark
+    </sql>
+
+    <select id="getByCmQuestionnaire" parameterType="CmQuestionnaire" resultMap="CmQuestionnaireResult">
+        <include refid="selectCmQuestionnaireVo"/>
+        from cm_questionnaire AS cm_questionnaire
+        <where>  cm_questionnaire.delFlag = 0
+            <if test="id != null  and id != ''">
+                and cm_questionnaire.id
+                <if test="id.toUpperCase().indexOf('=')==-1">
+                    = #{id}
+                </if>
+                <if test="id.toUpperCase().indexOf('=')!=-1">
+                    <if test="id.toUpperCase().indexOf('NOT')!=-1"> not </if>
+                    <if test="id.toUpperCase().indexOf('IN')!=-1"> in </if>
+                    <foreach item="idIn" collection="id.substring(id.toUpperCase().indexOf('=')+1,id.length()).trim().split(',')" open="(" separator="," close=")">
+                        #{idIn}
+                    </foreach>
+                </if>
+            </if>
+            <if test="type != null  and type != ''"> and cm_questionnaire.type = #{type}</if>
+            <if test="userId != null "> and cm_questionnaire.userId = #{userId}</if>
+            <if test="userName != null  and userName != ''"> and cm_questionnaire.userName like concat('%', #{userName}, '%')</if>
+            <if test="corporateName != null  and corporateName != ''"> and cm_questionnaire.corporateName like concat('%', #{corporateName}, '%')</if>
+            <if test="mobile != null  and mobile != ''"> and cm_questionnaire.mobile = #{mobile}</if>
+            <if test="level != null "> and cm_questionnaire.level = #{level}</if>
+            <if test="content != null  and content != ''"> and cm_questionnaire.content = #{content}</if>
+            <if test="status != null "> and cm_questionnaire.status = #{status}</if>
+            <if test="delFlag != null "> and cm_questionnaire.delFlag = #{delFlag}</if>
+            <if test="updateTime != null "> and cm_questionnaire.updateTime = #{updateTime}</if>
+            <if test="createTime != null "> and cm_questionnaire.createTime = #{createTime}</if>
+        </where>
+        group by cm_questionnaire.id
+        order by cm_questionnaire.createTime desc
+        limit 0,1
+    </select>
+
+    <select id="getCmQuestionnaireList" parameterType="CmQuestionnaire" resultMap="CmQuestionnaireResult">
+        <include refid="selectCmQuestionnaireVo"/>
+        from cm_questionnaire AS cm_questionnaire
+        <where>  cm_questionnaire.delFlag = 0
+            <if test="id != null  and id != ''">
+                and cm_questionnaire.id
+                <if test="id.toUpperCase().indexOf('=')==-1">
+                    = #{id}
+                </if>
+                <if test="id.toUpperCase().indexOf('=')!=-1">
+                    <if test="id.toUpperCase().indexOf('NOT')!=-1"> not </if>
+                    <if test="id.toUpperCase().indexOf('IN')!=-1"> in </if>
+                    <foreach item="idIn" collection="id.substring(id.toUpperCase().indexOf('=')+1,id.length()).trim().split(',')" open="(" separator="," close=")">
+                        #{idIn}
+                    </foreach>
+                </if>
+            </if>
+            <if test="type != null  and type != ''">
+                and cm_questionnaire.type
+                <if test="type.toUpperCase().indexOf('=')==-1">
+                    = #{type}
+                </if>
+                <if test="type.toUpperCase().indexOf('=')!=-1">
+                    <if test="type.toUpperCase().indexOf('NOT')!=-1"> not </if>
+                    <if test="type.toUpperCase().indexOf('IN')!=-1"> in </if>
+                    <foreach item="typeIn" collection="type.substring(type.toUpperCase().indexOf('=')+1,type.length()).trim().split(',')" open="(" separator="," close=")">
+                        #{typeIn}
+                    </foreach>
+                </if>
+            </if>
+            <if test="userId != null "> and cm_questionnaire.userId = #{userId}</if>
+            <if test="userName != null  and userName != ''"> and cm_questionnaire.userName like concat('%', #{userName}, '%')</if>
+            <if test="corporateName != null  and corporateName != ''"> and cm_questionnaire.corporateName like concat('%', #{corporateName}, '%')</if>
+            <if test="mobile != null  and mobile != ''"> and cm_questionnaire.mobile = #{mobile}</if>
+            <if test="level != null "> and cm_questionnaire.level = #{level}</if>
+            <if test="content != null  and content != ''"> and cm_questionnaire.content = #{content}</if>
+            <if test="status != null "> and cm_questionnaire.status = #{status}</if>
+            <if test="delFlag != null "> and cm_questionnaire.delFlag = #{delFlag}</if>
+            <if test="updateTime != null "> and cm_questionnaire.updateTime = #{updateTime}</if>
+            <if test="createTime != null "> and cm_questionnaire.createTime = #{createTime}</if>
+        </where>
+        group by cm_questionnaire.id
+        order by cm_questionnaire.createTime desc
+    </select>
+    <select id="getCmQuestionnaireCount" parameterType="CmQuestionnaire" resultType="int">
+        select count(1)
+        from cm_questionnaire AS cm_questionnaire
+        <where>  cm_questionnaire.delFlag = 0
+            <if test="id != null  and id != ''">
+                and cm_questionnaire.id
+                <if test="id.toUpperCase().indexOf('=')==-1">
+                    = #{id}
+                </if>
+                <if test="id.toUpperCase().indexOf('=')!=-1">
+                    <if test="id.toUpperCase().indexOf('NOT')!=-1"> not </if>
+                    <if test="id.toUpperCase().indexOf('IN')!=-1"> in </if>
+                    <foreach item="idIn" collection="id.substring(id.toUpperCase().indexOf('=')+1,id.length()).trim().split(',')" open="(" separator="," close=")">
+                        #{idIn}
+                    </foreach>
+                </if>
+            </if>
+            <if test="type != null  and type != ''">
+                and cm_questionnaire.type
+                <if test="type.toUpperCase().indexOf('=')==-1">
+                    = #{type}
+                </if>
+                <if test="type.toUpperCase().indexOf('=')!=-1">
+                    <if test="type.toUpperCase().indexOf('NOT')!=-1"> not </if>
+                    <if test="type.toUpperCase().indexOf('IN')!=-1"> in </if>
+                    <foreach item="typeIn" collection="type.substring(type.toUpperCase().indexOf('=')+1,type.length()).trim().split(',')" open="(" separator="," close=")">
+                        #{typeIn}
+                    </foreach>
+                </if>
+            </if>
+            <if test="userId != null "> and cm_questionnaire.userId = #{userId}</if>
+            <if test="userName != null  and userName != ''"> and cm_questionnaire.userName like concat('%', #{userName}, '%')</if>
+            <if test="corporateName != null  and corporateName != ''"> and cm_questionnaire.corporateName like concat('%', #{corporateName}, '%')</if>
+            <if test="mobile != null  and mobile != ''"> and cm_questionnaire.mobile = #{mobile}</if>
+            <if test="level != null "> and cm_questionnaire.level = #{level}</if>
+            <if test="content != null  and content != ''"> and cm_questionnaire.content = #{content}</if>
+            <if test="status != null "> and cm_questionnaire.status = #{status}</if>
+            <if test="delFlag != null "> and cm_questionnaire.delFlag = #{delFlag}</if>
+            <if test="updateTime != null "> and cm_questionnaire.updateTime = #{updateTime}</if>
+            <if test="createTime != null "> and cm_questionnaire.createTime = #{createTime}</if>
+        </where>
+        group by cm_questionnaire.id
+    </select>
+
+    <select id="getCmQuestionnaireById" parameterType="String" resultMap="CmQuestionnaireResult">
+        <include refid="selectCmQuestionnaireVo"/>
+        from cm_questionnaire AS cm_questionnaire
+        where  cm_questionnaire.delFlag = 0 and cm_questionnaire.id = #{id}
+    </select>
+
+    <select id="getByIds" parameterType="CmQuestionnaire" resultMap="CmQuestionnaireResult">
+        select id
+        from cm_questionnaire AS cm_questionnaire
+        <where>  cm_questionnaire.delFlag = 0
+            <if test="id != null  and id != ''">
+                and cm_questionnaire.id
+                <if test="id.toUpperCase().indexOf('=')==-1">
+                    = #{id}
+                </if>
+                <if test="id.toUpperCase().indexOf('=')!=-1">
+                    <if test="id.toUpperCase().indexOf('NOT')!=-1"> not </if>
+                    <if test="id.toUpperCase().indexOf('IN')!=-1"> in </if>
+                    <foreach item="idIn" collection="id.substring(id.toUpperCase().indexOf('=')+1,id.length()).trim().split(',')" open="(" separator="," close=")">
+                        #{idIn}
+                    </foreach>
+                </if>
+            </if>
+            <if test="type != null  and type != ''">
+                and cm_questionnaire.type
+                <if test="type.toUpperCase().indexOf('=')==-1">
+                    = #{type}
+                </if>
+                <if test="type.toUpperCase().indexOf('=')!=-1">
+                    <if test="type.toUpperCase().indexOf('NOT')!=-1"> not </if>
+                    <if test="type.toUpperCase().indexOf('IN')!=-1"> in </if>
+                    <foreach item="typeIn" collection="type.substring(type.toUpperCase().indexOf('=')+1,type.length()).trim().split(',')" open="(" separator="," close=")">
+                        #{typeIn}
+                    </foreach>
+                </if>
+            </if>
+            <if test="userId != null "> and cm_questionnaire.userId = #{userId}</if>
+            <if test="userName != null  and userName != ''"> and cm_questionnaire.userName like concat('%', #{userName}, '%')</if>
+            <if test="corporateName != null  and corporateName != ''"> and cm_questionnaire.corporateName like concat('%', #{corporateName}, '%')</if>
+            <if test="mobile != null  and mobile != ''"> and cm_questionnaire.mobile = #{mobile}</if>
+            <if test="level != null "> and cm_questionnaire.level = #{level}</if>
+            <if test="content != null  and content != ''"> and cm_questionnaire.content = #{content}</if>
+            <if test="status != null "> and cm_questionnaire.status = #{status}</if>
+            <if test="delFlag != null "> and cm_questionnaire.delFlag = #{delFlag}</if>
+            <if test="updateTime != null "> and cm_questionnaire.updateTime = #{updateTime}</if>
+            <if test="createTime != null "> and cm_questionnaire.createTime = #{createTime}</if>
+        </where>
+        group by cm_questionnaire.id
+    </select>
+    <select id="getById" parameterType="CmQuestionnaire" resultMap="CmQuestionnaireResult">
+        select id
+        from cm_questionnaire AS cm_questionnaire
+        <where>  cm_questionnaire.delFlag = 0
+            <if test="id != null  and id != ''">
+                and cm_questionnaire.id
+                <if test="id.toUpperCase().indexOf('=')==-1">
+                    = #{id}
+                </if>
+                <if test="id.toUpperCase().indexOf('=')!=-1">
+                    <if test="id.toUpperCase().indexOf('NOT')!=-1"> not </if>
+                    <if test="id.toUpperCase().indexOf('IN')!=-1"> in </if>
+                    <foreach item="idIn" collection="id.substring(id.toUpperCase().indexOf('=')+1,id.length()).trim().split(',')" open="(" separator="," close=")">
+                        #{idIn}
+                    </foreach>
+                </if>
+            </if>
+            <if test="type != null  and type != ''">
+                and cm_questionnaire.type
+                <if test="type.toUpperCase().indexOf('=')==-1">
+                    = #{type}
+                </if>
+                <if test="type.toUpperCase().indexOf('=')!=-1">
+                    <if test="type.toUpperCase().indexOf('NOT')!=-1"> not </if>
+                    <if test="type.toUpperCase().indexOf('IN')!=-1"> in </if>
+                    <foreach item="typeIn" collection="type.substring(type.toUpperCase().indexOf('=')+1,type.length()).trim().split(',')" open="(" separator="," close=")">
+                        #{typeIn}
+                    </foreach>
+                </if>
+            </if>
+            <if test="userId != null "> and cm_questionnaire.userId = #{userId}</if>
+            <if test="userName != null  and userName != ''"> and cm_questionnaire.userName like concat('%', #{userName}, '%')</if>
+            <if test="corporateName != null  and corporateName != ''"> and cm_questionnaire.corporateName like concat('%', #{corporateName}, '%')</if>
+            <if test="mobile != null  and mobile != ''"> and cm_questionnaire.mobile = #{mobile}</if>
+            <if test="level != null "> and cm_questionnaire.level = #{level}</if>
+            <if test="content != null  and content != ''"> and cm_questionnaire.content = #{content}</if>
+            <if test="status != null "> and cm_questionnaire.status = #{status}</if>
+            <if test="delFlag != null "> and cm_questionnaire.delFlag = #{delFlag}</if>
+            <if test="updateTime != null "> and cm_questionnaire.updateTime = #{updateTime}</if>
+            <if test="createTime != null "> and cm_questionnaire.createTime = #{createTime}</if>
+        </where>
+        group by cm_questionnaire.id
+        limit 0,1
+    </select>
+
+    <insert id="addCmQuestionnaire" parameterType="CmQuestionnaire" useGeneratedKeys="true" keyProperty="id">
+        insert into cm_questionnaire
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="id != null and id != ''">id,</if>
+            <if test="type != null and type != ''">type,</if>
+            <if test="userId != null">userId,</if>
+            <if test="userName != null and userName != ''">userName,</if>
+            <if test="corporateName != null and corporateName != ''">corporateName,</if>
+            <if test="mobile != null and mobile != ''">mobile,</if>
+            <if test="level != null">level,</if>
+            <if test="content != null and content != ''">content,</if>
+            <if test="status != null">status,</if>
+            <if test="delFlag != null">delFlag,</if>
+            <if test="updateTime != null">updateTime,</if>
+            <if test="createTime != null">createTime,</if>
+            <if test="remark != null and remark != ''">remark,</if>
+        </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="id != null and id != ''">#{id},</if>
+            <if test="type != null and type != ''">#{type},</if>
+            <if test="userId != null">#{userId},</if>
+            <if test="userName != null and userName != ''">#{userName},</if>
+            <if test="corporateName != null and corporateName != ''">#{corporateName},</if>
+            <if test="mobile != null and mobile != ''">#{mobile},</if>
+            <if test="level != null">#{level},</if>
+            <if test="content != null and content != ''">#{content},</if>
+            <if test="status != null">#{status},</if>
+            <if test="delFlag != null">#{delFlag},</if>
+            <if test="updateTime != null">#{updateTime},</if>
+            <if test="createTime != null">#{createTime},</if>
+            <if test="remark != null and remark != ''">#{remark},</if>
+        </trim>
+    </insert>
+
+    <update id="updateCmQuestionnaire" parameterType="CmQuestionnaire">
+        update cm_questionnaire
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="type != null and type != ''">type = #{type},</if>
+            <if test="userId != null">userId = #{userId},</if>
+            <if test="userName != null and userName != ''">userName = #{userName},</if>
+            <if test="corporateName != null and corporateName != ''">corporateName = #{corporateName},</if>
+            <if test="mobile != null and mobile != ''">mobile = #{mobile},</if>
+            <if test="level != null">level = #{level},</if>
+            <if test="content != null and content != ''">content = #{content},</if>
+            <if test="status != null">status = #{status},</if>
+            <if test="delFlag != null">delFlag = #{delFlag},</if>
+            <if test="updateTime != null">updateTime = #{updateTime},</if>
+            <if test="createTime != null">createTime = #{createTime},</if>
+            <if test="remark != null and remark != ''">remark = #{remark},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <update id="updateDelCmQuestionnaireByIds" parameterType="String">
+        update cm_questionnaire set delFlag=#{delFlag} where id in
+        <foreach item="id" collection="ids" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </update>
+
+    <delete id="delCmQuestionnaireById" parameterType="String">
+        delete
+        from cm_questionnaire where id = #{id}
+    </delete>
+
+    <delete id="delCmQuestionnaireByIds" parameterType="String">
+        delete from cm_questionnaire where id in
+        <foreach item="id" collection="ids" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+
+</mapper>

+ 322 - 0
src/main/resources/mapper/SysDictMapper.xml

@@ -0,0 +1,322 @@
+<?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.caimei365.user.mapper.SysDictMapper">
+
+    <resultMap type="SysDict" id="SysDictResult">
+        <result property="id"    column="id"    />
+        <result property="value"    column="value"    />
+        <result property="label"    column="label"    />
+        <result property="type"    column="type"    />
+        <result property="description"    column="description"    />
+        <result property="sort"    column="sort"    />
+        <result property="parentId"    column="parent_id"    />
+        <result property="createBy"    column="create_by"    />
+        <result property="createDate"    column="create_date"    />
+        <result property="updateBy"    column="update_by"    />
+        <result property="updateDate"    column="update_date"    />
+        <result property="remarks"    column="remarks"    />
+        <result property="delFlag"    column="del_flag"    />
+    </resultMap>
+    <resultMap type="SysDictVO" id="SysDictResultVO">
+        <result property="value"    column="value"    />
+        <result property="label"    column="label"    />
+    </resultMap>
+
+    <sql id="selectSysDictVo">
+        select
+            sys_dict.id,
+            sys_dict.value,
+            sys_dict.label,
+            sys_dict.type,
+            sys_dict.description,
+            sys_dict.sort,
+            sys_dict.parent_id,
+            sys_dict.create_by,
+            sys_dict.create_date,
+            sys_dict.update_by,
+            sys_dict.update_date,
+            sys_dict.remarks,
+            sys_dict.del_flag
+    </sql>
+
+    <select id="getBySysDict" parameterType="SysDict" resultMap="SysDictResultVO">
+        <include refid="selectSysDictVo"/>
+        from sys_dict AS sys_dict
+        <where>  sys_dict.del_flag = 0
+            <if test="id != null  and id != ''">
+                and sys_dict.id
+                <if test="id.toUpperCase().indexOf('=')==-1">
+                    = #{id}
+                </if>
+                <if test="id.toUpperCase().indexOf('=')!=-1">
+                    <if test="id.toUpperCase().indexOf('NOT')!=-1"> not </if>
+                    <if test="id.toUpperCase().indexOf('IN')!=-1"> in </if>
+                    <foreach item="idIn" collection="id.substring(id.toUpperCase().indexOf('=')+1,id.length()).trim().split(',')" open="(" separator="," close=")">
+                        #{idIn}
+                    </foreach>
+                </if>
+            </if>
+            <if test="value != null  and value != ''"> and sys_dict.value = #{value}</if>
+            <if test="label != null  and label != ''"> and sys_dict.label = #{label}</if>
+            <if test="type != null  and type != ''"> and sys_dict.type = #{type}</if>
+            <if test="description != null  and description != ''"> and sys_dict.description = #{description}</if>
+            <if test="sort != null "> and sys_dict.sort = #{sort}</if>
+            <if test="parentId != null  and parentId != ''"> and sys_dict.parent_id = #{parentId}</if>
+            <if test="createDate != null "> and sys_dict.create_date = #{createDate}</if>
+            <if test="updateDate != null "> and sys_dict.update_date = #{updateDate}</if>
+            <if test="remarks != null  and remarks != ''"> and sys_dict.remarks = #{remarks}</if>
+        </where>
+        group by sys_dict.id
+        order by sys_dict.create_date desc
+        limit 0,1
+    </select>
+
+    <select id="getSysDictList" parameterType="SysDict" resultMap="SysDictResultVO">
+        <include refid="selectSysDictVo"/>
+        from sys_dict AS sys_dict
+        <where>  sys_dict.del_flag = 0
+            <if test="id != null  and id != ''">
+                and sys_dict.id
+                <if test="id.toUpperCase().indexOf('=')==-1">
+                    = #{id}
+                </if>
+                <if test="id.toUpperCase().indexOf('=')!=-1">
+                    <if test="id.toUpperCase().indexOf('NOT')!=-1"> not </if>
+                    <if test="id.toUpperCase().indexOf('IN')!=-1"> in </if>
+                    <foreach item="idIn" collection="id.substring(id.toUpperCase().indexOf('=')+1,id.length()).trim().split(',')" open="(" separator="," close=")">
+                        #{idIn}
+                    </foreach>
+                </if>
+            </if>
+            <if test="value != null  and value != ''"> and sys_dict.value = #{value}</if>
+            <if test="label != null  and label != ''"> and sys_dict.label = #{label}</if>
+            <if test="type != null  and type != ''">
+                and sys_dict.type
+                <if test="type.toUpperCase().indexOf('=')==-1">
+                    = #{type}
+                </if>
+                <if test="type.toUpperCase().indexOf('=')!=-1">
+                    <if test="type.toUpperCase().indexOf('NOT')!=-1"> not </if>
+                    <if test="type.toUpperCase().indexOf('IN')!=-1"> in </if>
+                    <foreach item="typeIn" collection="type.substring(type.toUpperCase().indexOf('=')+1,type.length()).trim().split(',')" open="(" separator="," close=")">
+                        #{typeIn}
+                    </foreach>
+                </if>
+            </if>
+            <if test="description != null  and description != ''"> and sys_dict.description = #{description}</if>
+            <if test="sort != null "> and sys_dict.sort = #{sort}</if>
+            <if test="parentId != null  and parentId != ''"> and sys_dict.parent_id = #{parentId}</if>
+            <if test="createDate != null "> and sys_dict.create_date = #{createDate}</if>
+            <if test="updateDate != null "> and sys_dict.update_date = #{updateDate}</if>
+            <if test="remarks != null  and remarks != ''"> and sys_dict.remarks = #{remarks}</if>
+        </where>
+        group by sys_dict.id
+        order by sys_dict.sort asc
+    </select>
+    <select id="getSysDictCount" parameterType="SysDict" resultType="int">
+        select count(1)
+        from sys_dict AS sys_dict
+        <where>  sys_dict.del_flag = 0
+            <if test="id != null  and id != ''">
+                and sys_dict.id
+                <if test="id.toUpperCase().indexOf('=')==-1">
+                    = #{id}
+                </if>
+                <if test="id.toUpperCase().indexOf('=')!=-1">
+                    <if test="id.toUpperCase().indexOf('NOT')!=-1"> not </if>
+                    <if test="id.toUpperCase().indexOf('IN')!=-1"> in </if>
+                    <foreach item="idIn" collection="id.substring(id.toUpperCase().indexOf('=')+1,id.length()).trim().split(',')" open="(" separator="," close=")">
+                        #{idIn}
+                    </foreach>
+                </if>
+            </if>
+            <if test="value != null  and value != ''"> and sys_dict.value = #{value}</if>
+            <if test="label != null  and label != ''"> and sys_dict.label = #{label}</if>
+            <if test="type != null  and type != ''">
+                and sys_dict.type
+                <if test="type.toUpperCase().indexOf('=')==-1">
+                    = #{type}
+                </if>
+                <if test="type.toUpperCase().indexOf('=')!=-1">
+                    <if test="type.toUpperCase().indexOf('NOT')!=-1"> not </if>
+                    <if test="type.toUpperCase().indexOf('IN')!=-1"> in </if>
+                    <foreach item="typeIn" collection="type.substring(type.toUpperCase().indexOf('=')+1,type.length()).trim().split(',')" open="(" separator="," close=")">
+                        #{typeIn}
+                    </foreach>
+                </if>
+            </if>
+            <if test="description != null  and description != ''"> and sys_dict.description = #{description}</if>
+            <if test="sort != null "> and sys_dict.sort = #{sort}</if>
+            <if test="parentId != null  and parentId != ''"> and sys_dict.parent_id = #{parentId}</if>
+            <if test="createDate != null "> and sys_dict.create_date = #{createDate}</if>
+            <if test="updateDate != null "> and sys_dict.update_date = #{updateDate}</if>
+            <if test="remarks != null  and remarks != ''"> and sys_dict.remarks = #{remarks}</if>
+        </where>
+        group by sys_dict.id
+    </select>
+
+    <select id="getSysDictById" parameterType="String" resultMap="SysDictResultVO">
+        <include refid="selectSysDictVo"/>
+        from sys_dict AS sys_dict
+        where  sys_dict.del_flag = 0 and sys_dict.id = #{id}
+    </select>
+
+    <select id="getByIds" parameterType="SysDict" resultType="String">
+        select id
+        from sys_dict AS sys_dict
+        <where>  sys_dict.del_flag = 0
+            <if test="id != null  and id != ''">
+                and sys_dict.id
+                <if test="id.toUpperCase().indexOf('=')==-1">
+                    = #{id}
+                </if>
+                <if test="id.toUpperCase().indexOf('=')!=-1">
+                    <if test="id.toUpperCase().indexOf('NOT')!=-1"> not </if>
+                    <if test="id.toUpperCase().indexOf('IN')!=-1"> in </if>
+                    <foreach item="idIn" collection="id.substring(id.toUpperCase().indexOf('=')+1,id.length()).trim().split(',')" open="(" separator="," close=")">
+                        #{idIn}
+                    </foreach>
+                </if>
+            </if>
+            <if test="value != null  and value != ''"> and sys_dict.value = #{value}</if>
+            <if test="label != null  and label != ''"> and sys_dict.label = #{label}</if>
+            <if test="type != null  and type != ''">
+                and sys_dict.type
+                <if test="type.toUpperCase().indexOf('=')==-1">
+                    = #{type}
+                </if>
+                <if test="type.toUpperCase().indexOf('=')!=-1">
+                    <if test="type.toUpperCase().indexOf('NOT')!=-1"> not </if>
+                    <if test="type.toUpperCase().indexOf('IN')!=-1"> in </if>
+                    <foreach item="typeIn" collection="type.substring(type.toUpperCase().indexOf('=')+1,type.length()).trim().split(',')" open="(" separator="," close=")">
+                        #{typeIn}
+                    </foreach>
+                </if>
+            </if>
+            <if test="description != null  and description != ''"> and sys_dict.description = #{description}</if>
+            <if test="sort != null "> and sys_dict.sort = #{sort}</if>
+            <if test="parentId != null  and parentId != ''"> and sys_dict.parent_id = #{parentId}</if>
+            <if test="createDate != null "> and sys_dict.create_date = #{createDate}</if>
+            <if test="updateDate != null "> and sys_dict.update_date = #{updateDate}</if>
+            <if test="remarks != null  and remarks != ''"> and sys_dict.remarks = #{remarks}</if>
+        </where>
+        group by sys_dict.id
+    </select>
+    <select id="getById" parameterType="SysDict" resultType="String">
+        select id
+        from sys_dict AS sys_dict
+        <where>  sys_dict.del_flag = 0
+            <if test="id != null  and id != ''">
+                and sys_dict.id
+                <if test="id.toUpperCase().indexOf('=')==-1">
+                    = #{id}
+                </if>
+                <if test="id.toUpperCase().indexOf('=')!=-1">
+                    <if test="id.toUpperCase().indexOf('NOT')!=-1"> not </if>
+                    <if test="id.toUpperCase().indexOf('IN')!=-1"> in </if>
+                    <foreach item="idIn" collection="id.substring(id.toUpperCase().indexOf('=')+1,id.length()).trim().split(',')" open="(" separator="," close=")">
+                        #{idIn}
+                    </foreach>
+                </if>
+            </if>
+            <if test="value != null  and value != ''"> and sys_dict.value = #{value}</if>
+            <if test="label != null  and label != ''"> and sys_dict.label = #{label}</if>
+            <if test="type != null  and type != ''">
+                and sys_dict.type
+                <if test="type.toUpperCase().indexOf('=')==-1">
+                    = #{type}
+                </if>
+                <if test="type.toUpperCase().indexOf('=')!=-1">
+                    <if test="type.toUpperCase().indexOf('NOT')!=-1"> not </if>
+                    <if test="type.toUpperCase().indexOf('IN')!=-1"> in </if>
+                    <foreach item="typeIn" collection="type.substring(type.toUpperCase().indexOf('=')+1,type.length()).trim().split(',')" open="(" separator="," close=")">
+                        #{typeIn}
+                    </foreach>
+                </if>
+            </if>
+            <if test="description != null  and description != ''"> and sys_dict.description = #{description}</if>
+            <if test="sort != null "> and sys_dict.sort = #{sort}</if>
+            <if test="parentId != null  and parentId != ''"> and sys_dict.parent_id = #{parentId}</if>
+            <if test="createDate != null "> and sys_dict.create_date = #{createDate}</if>
+            <if test="updateDate != null "> and sys_dict.update_date = #{updateDate}</if>
+            <if test="remarks != null  and remarks != ''"> and sys_dict.remarks = #{remarks}</if>
+        </where>
+        group by sys_dict.id
+        limit 0,1
+    </select>
+
+    <insert id="addSysDict" parameterType="SysDict" useGeneratedKeys="true" keyProperty="id">
+        insert into sys_dict
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="id != null and id != ''">id,</if>
+            <if test="value != null and value != ''">value,</if>
+            <if test="label != null and label != ''">label,</if>
+            <if test="type != null and type != ''">type,</if>
+            <if test="description != null and description != ''">description,</if>
+            <if test="sort != null">sort,</if>
+            <if test="parentId != null and parentId != ''">parent_id,</if>
+            <if test="createBy != null and createBy != ''">create_by,</if>
+            <if test="createDate != null">create_date,</if>
+            <if test="updateBy != null and updateBy != ''">update_by,</if>
+            <if test="updateDate != null">update_date,</if>
+            <if test="remarks != null and remarks != ''">remarks,</if>
+            <if test="delFlag != null and delFlag != ''">del_flag,</if>
+        </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="id != null and id != ''">#{id},</if>
+            <if test="value != null and value != ''">#{value},</if>
+            <if test="label != null and label != ''">#{label},</if>
+            <if test="type != null and type != ''">#{type},</if>
+            <if test="description != null and description != ''">#{description},</if>
+            <if test="sort != null">#{sort},</if>
+            <if test="parentId != null and parentId != ''">#{parentId},</if>
+            <if test="createBy != null and createBy != ''">#{createBy},</if>
+            <if test="createDate != null">#{createDate},</if>
+            <if test="updateBy != null and updateBy != ''">#{updateBy},</if>
+            <if test="updateDate != null">#{updateDate},</if>
+            <if test="remarks != null and remarks != ''">#{remarks},</if>
+            <if test="delFlag != null and delFlag != ''">#{delFlag},</if>
+        </trim>
+    </insert>
+
+    <update id="updateSysDict" parameterType="SysDict">
+        update sys_dict
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="value != null and value != ''">value = #{value},</if>
+            <if test="label != null and label != ''">label = #{label},</if>
+            <if test="type != null and type != ''">type = #{type},</if>
+            <if test="description != null and description != ''">description = #{description},</if>
+            <if test="sort != null">sort = #{sort},</if>
+            <if test="parentId != null and parentId != ''">parent_id = #{parentId},</if>
+            <if test="createBy != null and createBy != ''">create_by = #{createBy},</if>
+            <if test="createDate != null">create_date = #{createDate},</if>
+            <if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if>
+            <if test="updateDate != null">update_date = #{updateDate},</if>
+            <if test="remarks != null and remarks != ''">remarks = #{remarks},</if>
+            <if test="delFlag != null and delFlag != ''">del_flag = #{delFlag},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <update id="updateDelSysDictByIds" parameterType="String">
+        update sys_dict set del_flag=#{delFlag} where id in
+        <foreach item="id" collection="ids" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </update>
+
+    <delete id="delSysDictById" parameterType="String">
+        delete
+        from sys_dict where id = #{id}
+    </delete>
+
+    <delete id="delSysDictByIds" parameterType="String">
+        delete from sys_dict where id in
+        <foreach item="id" collection="ids" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+
+</mapper>