Prechádzať zdrojové kódy

更新 待完善视频上传接口 还差项目列表接口

wanghaicheng 5 rokov pred
rodič
commit
60b3af9fb3

+ 35 - 33
lift-enterprise-service/src/main/java/cn/com/ty/lift/enterprise/custom/controller/PropertyCompanyController.java

@@ -6,6 +6,12 @@ import cn.com.ty.lift.enterprise.custom.service.impl.PropertyCompanyServiceImpl;
 import cn.com.xwy.boot.web.dto.RestResponse;
 import lombok.AllArgsConstructor;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.web.client.RestTemplate;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
 
 @RestController
 @RequestMapping("/property-company")
@@ -18,6 +24,7 @@ import org.springframework.web.bind.annotation.*;
  */
 public class PropertyCompanyController {
     private final PropertyCompanyServiceImpl propertyCompanyService;
+    private final RestTemplate restTemplate;
 
     @GetMapping("/{id}")
     /**
@@ -28,25 +35,23 @@ public class PropertyCompanyController {
      */
     public RestResponse propertyCompany(@PathVariable Long id) {
         PropertyCompany byId = propertyCompanyService.getById(id);
-        if (byId != null) {
-            return RestResponse.ok(byId, "1", "查询成功");
-        } else {
-            return RestResponse.ok(null, "0", "无数据");
+        if (byId == null) {
+            return RestResponse.ok(null, "9", "无数据");
         }
+        return RestResponse.ok(byId, "1", "查询成功");
     }
 
-    @PostMapping("/list/condition")
+    @PostMapping("/list")
     /**
      * @description 根据条件查询客户列表
      * @date 2019/12/3 8:51
-     * @param [客户名称或客户地址或客户联系方式,页码,页大小,维保公司id]
+     * @param [客户名称或客户地址或客户邮寄地址或客户联系方式,页码,页大小,维保公司id]
      * @return cn.com.xwy.boot.web.dto.RestResponse
      */
-    public RestResponse propertyCompaniesForCondition(@RequestBody PropertyCompanyReq propertyCompany) {
-        return propertyCompanyService.propertyCompaniesForCondition(propertyCompany);
+    public RestResponse propertyCompanies(@RequestBody PropertyCompanyReq propertyCompany) {
+        return propertyCompanyService.propertyCompanies(propertyCompany);
     }
 
-
     @PostMapping("/add")
     /**
      * @description 新增客户
@@ -55,7 +60,7 @@ public class PropertyCompanyController {
      * @return cn.com.xwy.boot.web.dto.RestResponse
      */
     public RestResponse add(@RequestBody PropertyCompany propertyCompany) {
-        //service层判断了是否有相同名称的name
+        //service层判断了是否有相同名称的name//如果数据库客户名不重复,就删除里面判断name是否重复的逻辑
         return propertyCompanyService.savePropertyCompany(propertyCompany);
     }
 
@@ -69,9 +74,8 @@ public class PropertyCompanyController {
     public RestResponse update(@RequestBody PropertyCompany propertyCompany) {
         if (propertyCompanyService.updateById(propertyCompany)) {
             return RestResponse.ok(null, "1", "更新成功");
-        } else {
-            return RestResponse.ok(null, "0", "更新失败");
         }
+        return RestResponse.ok(null, "0", "更新失败");
     }
 
     @PostMapping("/delete")
@@ -82,41 +86,39 @@ public class PropertyCompanyController {
      * @return cn.com.xwy.boot.web.dto.RestResponse
      */
     public RestResponse delete(@RequestBody PropertyCompany propertyCompany) {
-        //判断维保电梯台数是否为0
-        //判断维保电梯台数是否为0
-        //判断维保电梯台数是否为0
-        //判断维保电梯台数是否为0
-        //判断维保电梯台数是否为0
-        //判断维保电梯台数是否为0
-        //判断维保电梯台数是否为0
         //判断维保电梯台数是否为0
         //判断维保电梯台数是否为0
         //判断维保电梯台数是否为0
         //判断维保电梯台数是否为0
         //也就是客户公司创建的所有项目的总电梯的在保电梯是否为0
 
-        return RestResponse.ok(null, propertyCompanyService.delete(propertyCompany.getId()));
+        return propertyCompanyService.delete(propertyCompany.getId());
     }
 
-    @GetMapping("/list/current")
-    public RestResponse currentProject(@RequestBody PropertyCompany propertyCompany) {
+    @PostMapping("/project")
+    public RestResponse project(@RequestBody PropertyCompany propertyCompany) {
         propertyCompany.getId();
+        propertyCompany.getStatus();
         //分页查询正在服务的项目列表
         //分页查询正在服务的项目列表
         //分页查询正在服务的项目列表
         //分页查询正在服务的项目列表
         //分页查询正在服务的项目列表
-        return RestResponse.ok(null, "待实现");
+        List<HashMap<String, Object>> request = new ArrayList<>();
+        HashMap<String, Object> map = new HashMap<>();
+//        map.put("projectStatus",1);
+//        request.add("")
+//        restTemplate.postForEntity("http://132.232.206.88/project/list",)
+//        Map<String, Object> map = new HashMap<>();
+        map.put("项目编号","1");
+        map.put("项目名称","1");
+        map.put("项目地址","1");
+        map.put("在保台量","1");
+        map.put("开始时间","1");
+        map.put("结束时间","1");
+        map.put("甲方项目负责人","1");
+        map.put("甲方联系电话","1");
+        return RestResponse.ok(map, "待实现");
     }
 
-    @GetMapping("/list/previous")
-    public RestResponse previousProject(@RequestBody PropertyCompany propertyCompany) {
-        propertyCompany.getId();
-        //分页查询曾经服务的项目列表
-        //分页查询曾经服务的项目列表
-        //分页查询曾经服务的项目列表
-        //分页查询曾经服务的项目列表
-        //分页查询曾经服务的项目列表
-        return RestResponse.ok(null, "待实现");
-    }
 }

+ 18 - 14
lift-enterprise-service/src/main/java/cn/com/ty/lift/enterprise/custom/controller/PropertyContactController.java

@@ -2,6 +2,7 @@ package cn.com.ty.lift.enterprise.custom.controller;
 
 import cn.com.ty.lift.enterprise.custom.dao.entity.PropertyContact;
 import cn.com.ty.lift.enterprise.custom.dao.entity.model.PropertyContactReq;
+import cn.com.ty.lift.enterprise.custom.service.PropertyCompanyService;
 import cn.com.ty.lift.enterprise.custom.service.impl.PropertyContactServiceImpl;
 import cn.com.xwy.boot.web.dto.RestResponse;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -21,25 +22,27 @@ import org.springframework.web.bind.annotation.*;
  */
 public class PropertyContactController {
     private final PropertyContactServiceImpl propertyContactService;
+    private final PropertyCompanyService propertyCompanyService;
 
-    @GetMapping("/list")
+    @PostMapping("/list")
     /**
      * @description 根据客户id分页查它的联系人
      * @date 2019/11/29 8:21
-     * @param [ppCompanyId, userId, pageNum, pageSize]
+     * @param [ppCompanyId, pageNum, pageSize]
      * @return cn.com.xwy.boot.web.dto.RestResponse
      */
     public RestResponse propertyContacts(@RequestBody PropertyContactReq propertyContact) {
+        if (propertyCompanyService.getById(propertyContact.getPpCompanyId()) == null) {
+            return RestResponse.ok(null, "0", "客户不存在");
+        }
         Page<PropertyContact> page = new Page<>(propertyContact.getPageNum(), propertyContact.getPageSize());
         IPage<PropertyContact> records = propertyContactService.page(page, new QueryWrapper<PropertyContact>()
-                .select("id", "pp_company_id", "name", "dept", "job", "telephone", "gender", "age", "remarks", "status", "user_id")
-                .eq("pp_company_id", propertyContact.getPpCompanyId())
-                .eq("user_id", propertyContact.getUserId()));
-        if (!records.getRecords().isEmpty()) {
-            return RestResponse.ok(records, "1", "查询成功");
-        } else {
+                .select("id", "pp_company_id", "name", "job", "telephone", "status")
+                .eq("pp_company_id", propertyContact.getPpCompanyId()));
+        if (records.getRecords().isEmpty()) {
             return RestResponse.ok(null, "9", "无数据");
         }
+        return RestResponse.ok(records, "1", "查询成功");
     }
 
     @PostMapping("/add")
@@ -50,11 +53,13 @@ public class PropertyContactController {
      * @return cn.com.xwy.boot.web.dto.RestResponse
      */
     public RestResponse add(@RequestBody PropertyContact propertyContact) {
+        if (propertyCompanyService.getById(propertyContact.getPpCompanyId()) == null) {
+            return RestResponse.ok(null, "0", "客户不存在");
+        }
         if (propertyContactService.save(propertyContact)) {
-            return RestResponse.ok(null, "1", "新增成功");
-        } else {
-            return RestResponse.ok(null, "0", "新增失败");
+            return RestResponse.ok(propertyContact.getId(), "1", "新增成功");
         }
+        return RestResponse.ok(null, "0", "新增失败");
     }
 
     @PostMapping("/update")
@@ -67,12 +72,11 @@ public class PropertyContactController {
     public RestResponse update(@RequestBody PropertyContact propertyContact) {
         if (propertyContactService.updateById(propertyContact)) {
             return RestResponse.ok(null, "1", "更新成功");
-        } else {
-            return RestResponse.ok(null, "0", "更新失败");
         }
+        return RestResponse.ok(null, "0", "更新失败");
     }
 
-    @GetMapping("/delete")
+    @PostMapping("/delete")
     /**
      * @description 删除联系人
      * @date 2019/11/27 11:28

+ 6 - 2
lift-enterprise-service/src/main/java/cn/com/ty/lift/enterprise/custom/dao/entity/PropertyCompany.java

@@ -56,6 +56,12 @@ public class PropertyCompany implements Serializable {
     @TableField("address")
     private String address;
 
+    /**
+     * 邮寄地址
+     */
+    @TableField("mailing_address")
+    private String mailingAddress;
+
     /**
      * 注册资金
      */
@@ -115,6 +121,4 @@ public class PropertyCompany implements Serializable {
      */
     @TableField("create_date")
     private LocalDateTime createDate;
-
-
 }

+ 1 - 29
lift-enterprise-service/src/main/java/cn/com/ty/lift/enterprise/custom/dao/entity/PropertyContact.java

@@ -43,12 +43,6 @@ public class PropertyContact implements Serializable {
     @TableField("name")
     private String name;
 
-    /**
-     * 部门
-     */
-    @TableField("dept")
-    private String dept;
-
     /**
      * 职位
      */
@@ -61,35 +55,13 @@ public class PropertyContact implements Serializable {
     @TableField("telephone")
     private String telephone;
 
-    /**
-     * 0女 1男 默认1
-     */
-    @TableField("gender")
-    private Integer gender;
 
     /**
-     * 年龄
-     */
-    @TableField("age")
-    private Integer age;
-
-    /**
-     * 备注
-     */
-    @TableField("remarks")
-    private String remarks;
-
-    /**
-     * 0删除 1正常
+     * 0删除 1正常 2有关联项目
      */
     @TableField("status")
     private Integer status;
 
-    /**
-     * 用户id
-     */
-    @TableField("user_id")
-    private Long userId;
 
     /**
      * 创建人id

+ 7 - 1
lift-enterprise-service/src/main/java/cn/com/ty/lift/enterprise/custom/dao/entity/model/PropertyCompanyReq.java

@@ -30,7 +30,7 @@ public class PropertyCompanyReq extends BaseRequestModel implements Serializable
     /**
      * 甲方公司id
      */
-    @TableId(value = "id",type = IdType.ID_WORKER)
+    @TableId(value = "id", type = IdType.ID_WORKER)
     private Long id;
 
     /**
@@ -57,6 +57,12 @@ public class PropertyCompanyReq extends BaseRequestModel implements Serializable
     @TableField("address")
     private String address;
 
+    /**
+     * 邮寄地址
+     */
+    @TableField("mailing_address")
+    private String mailingAddress;
+
     /**
      * 注册资金
      */

+ 25 - 34
lift-enterprise-service/src/main/java/cn/com/ty/lift/enterprise/custom/service/impl/PropertyCompanyServiceImpl.java

@@ -36,17 +36,17 @@ public class PropertyCompanyServiceImpl extends ServiceImpl<PropertyCompanyMappe
             return RestResponse.ok(null, "0", "客户已存在");
         }
         if (this.save(propertyCompany)) {
-            return RestResponse.ok(null, "1", "新增客户成功");
+            return RestResponse.ok(propertyCompany.getId().toString(), "1", "新增客户成功");
         } else {
             return RestResponse.ok(null, "0", "新增客户失败");
         }
     }
 
-    public String delete(Long id) {
+    public RestResponse delete(Long id) {
         //维保电梯大于0
-        if (this.getMaintenanceLiftNum() > 0) {
+        if (this.getMaintenanceLiftNum(1L) > 0) {
             //就不删除
-            return "维保电梯大于0,无法删除";
+            return RestResponse.ok(null, "0", "维保电梯大于0,无法删除");
         }
         //如果维保电梯小于等于0,逻辑删除
         PropertyCompany one = this.getOne(new QueryWrapper<PropertyCompany>().eq("id", id));
@@ -54,11 +54,10 @@ public class PropertyCompanyServiceImpl extends ServiceImpl<PropertyCompanyMappe
             one.setStatus(0);
             this.updateById(one);
             this.deleteForContact(id);
-            return "删除成功";
+            return RestResponse.ok(null, "1", "删除成功");
         } else {
-            return "删除失败";
+            return RestResponse.ok(null, "0", "删除失败");
         }
-
     }
 
     public int deleteForContact(Long id) {
@@ -67,14 +66,7 @@ public class PropertyCompanyServiceImpl extends ServiceImpl<PropertyCompanyMappe
         return contactMapper.update(propertyContact, new QueryWrapper<PropertyContact>().eq("pp_company_id", id));
     }
 
-    private int getMaintenanceLiftNum() {
-        //查询维保电梯数
-        //查询维保电梯数
-        //查询维保电梯数
-        //查询维保电梯数
-        //查询维保电梯数
-        //查询维保电梯数
-        //查询维保电梯数
+    private Integer getMaintenanceLiftNum(Long id) {
         //查询维保电梯数
         //查询维保电梯数
         //查询维保电梯数
@@ -84,29 +76,28 @@ public class PropertyCompanyServiceImpl extends ServiceImpl<PropertyCompanyMappe
         return 888;
     }
 
-    public RestResponse propertyCompaniesForCondition(PropertyCompanyReq propertyCompany) {
-        String name = propertyCompany.getName();
-        String address = propertyCompany.getAddress();
-        String telephone = propertyCompany.getTelephone();
-        boolean nameFlag = name != null;
-        boolean addressFlag = address != null;
-        boolean telephoneFlag = telephone != null;
+    public RestResponse propertyCompanies(PropertyCompanyReq propertyCompany) {
+        //判断是否有这些请求参数
+        boolean nameFlag = propertyCompany.getName() != null;
+        boolean addressFlag = propertyCompany.getAddress() != null;
+        boolean telephoneFlag = propertyCompany.getTelephone() != null;
+        boolean mailingAddressFlag = propertyCompany.getMailingAddress() != null;
+
 
         Page<PropertyCompany> page = new Page<>(propertyCompany.getPageNum(), propertyCompany.getPageSize());
-        IPage<Map<String, Object>> records = this
-                .pageMaps(page, new QueryWrapper<PropertyCompany>()
-                        .select("id", "code", "name", "address", "telephone")
+        //根据请求参数查询客户列表
+        IPage<PropertyCompany> records = this
+                .page(page, new QueryWrapper<PropertyCompany>()
+                        .select("id", "mt_company_id", "name", "mailing_address", "telephone", "status")
                         .eq("mt_company_id", propertyCompany.getMtCompanyId())
-                        .like(nameFlag, "name", name)
-                        .like(addressFlag, "address", address)
-                        .like(telephoneFlag, "telephone", telephone));
-        if (!records.getRecords().isEmpty()) {
-            records.getRecords().forEach(record -> {
-                record.put("maintenanceLiftNum", this.getMaintenanceLiftNum());
-            });
-            return RestResponse.ok(records, "1", "查询成功");
-        } else {
+                        .like(nameFlag, "name", propertyCompany.getName())
+                        .like(addressFlag, "address", propertyCompany.getAddress())
+                        .like(telephoneFlag, "telephone", propertyCompany.getTelephone())
+                        .like(mailingAddressFlag, "mailing_address", propertyCompany.getMailingAddress()));
+        if (records.getRecords().isEmpty()) {
             return RestResponse.ok(null, "9", "无数据");
         }
+
+        return RestResponse.ok(records, "1", "查询成功");
     }
 }

+ 2 - 2
lift-enterprise-service/src/main/java/cn/com/ty/lift/enterprise/custom/service/impl/PropertyContactServiceImpl.java

@@ -33,9 +33,9 @@ public class PropertyContactServiceImpl extends ServiceImpl<PropertyContactMappe
 
         byId.setStatus(0);
         if (this.update(byId, new QueryWrapper<PropertyContact>().eq("id", byId.getId()))) {
-            return RestResponse.ok(null, "删除成功");
+            return RestResponse.ok(null, "1","删除成功");
         } else {
-            return RestResponse.ok(null, "删除失败");
+            return RestResponse.ok(null, "0","删除失败");
         }
     }
 }

+ 5 - 0
lift-quan-service/pom.xml

@@ -22,6 +22,11 @@
             <groupId>cn.com.xwy</groupId>
             <artifactId>xwy-cloud-dependencies</artifactId>
         </dependency>-->
+        <dependency>
+            <groupId>cn.com.ty</groupId>
+            <artifactId>lift-common</artifactId>
+            <version>1.0-SNAPSHOT</version>
+        </dependency>
     </dependencies>
 
     <build>

+ 2 - 0
lift-quan-service/src/main/java/cn/com/ty/lift/quan/news/controller/QuanNewsController.java

@@ -8,6 +8,8 @@ import lombok.AllArgsConstructor;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 
+import java.io.IOException;
+
 
 /**
  * <p>

+ 21 - 8
lift-quan-service/src/main/java/cn/com/ty/lift/quan/news/service/impl/QuanNewsServiceImpl.java

@@ -1,5 +1,6 @@
 package cn.com.ty.lift.quan.news.service.impl;
 
+import cn.com.ty.lift.common.utils.AliyunOSSUtil;
 import cn.com.ty.lift.quan.news.dao.entity.QuanNews;
 import cn.com.ty.lift.quan.news.dao.mapper.QuanNewsMapper;
 import cn.com.ty.lift.quan.news.service.QuanNewsService;
@@ -12,6 +13,7 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.multipart.MultipartFile;
 
+import java.io.IOException;
 import java.util.HashMap;
 import java.util.List;
 
@@ -58,7 +60,7 @@ public class QuanNewsServiceImpl extends ServiceImpl<QuanNewsMapper, QuanNews> i
             }
             byId.setTopSerial(1);
             //更新置顶新闻列表,新闻
-            if ( this.updateById(byId)) {
+            if (this.updateById(byId)) {
                 return RestResponse.ok(null, "1", "置顶成功");
             } else {
                 return RestResponse.ok(null, "0", "置顶失败");
@@ -124,19 +126,27 @@ public class QuanNewsServiceImpl extends ServiceImpl<QuanNewsMapper, QuanNews> i
 
     public RestResponse addNew(QuanNews quanNews, MultipartFile videoFile, Integer isTop) {
 //            String title, String content, MultipartFile videoFile, Integer isTop, Long releaseId, String releaseUser
-        //上传视频到Oss,获取视频地址
-        //上传视频到Oss,获取视频地址
-        //上传视频到Oss,获取视频地址
-        //上传视频到Oss,获取视频地址
         //上传视频到Oss,获取视频地址
         //上传视频到Oss,获取视频地址
         //获取发布人名称
-        List<QuanNews> tops = null;
+        //多线程上传视频
+        new Thread(() -> {
+            try {
+                new AliyunOSSUtil().putObject("temp15827479607", videoFile.getBytes(), videoFile.getOriginalFilename());
+            } catch (IOException e) {
+                e.printStackTrace();
+            }
+        }).start();
+        List<QuanNews> tops;
         if (isTop != 0) {
             //获取置顶新闻列表
             tops = this.list(new QueryWrapper<QuanNews>().ne("top_serial", 0));
             //设置新添加新闻的数据
-            quanNews.setVideoPath("videoPath").setTopSerial(1);
+            quanNews
+                    .setReleaseId(quanNews.getReleaseId())
+                    .setReleaseUser(quanNews.getReleaseUser())
+                    .setVideoPath(videoFile.getOriginalFilename())
+                    .setTopSerial(1);
             //遍历排序加1
             if (!tops.isEmpty()) {
                 tops.forEach(top -> {
@@ -156,7 +166,10 @@ public class QuanNewsServiceImpl extends ServiceImpl<QuanNewsMapper, QuanNews> i
             }
         }
         //设置新添加新闻的数据
-        quanNews.setVideoPath("videoPath");
+        quanNews
+                .setReleaseId(quanNews.getReleaseId())
+                .setReleaseUser(quanNews.getReleaseUser())
+                .setVideoPath(videoFile.getOriginalFilename());
         if (this.save(quanNews)) {
             return RestResponse.ok(null, "1", "新增成功");
         } else {

+ 6 - 0
lift-quan-service/src/main/resources/application.yml

@@ -10,6 +10,12 @@ spring:
     url: jdbc:mysql://132.232.206.88:3306/rdsliftmanager?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC
     username: root
     password: ms.c88pocY/
+  servlet:
+    multipart:
+      enabled: true
+      file-size-threshold: 0
+      max-file-size: 500MB
+      max-request-size: 500MB
 
 #自动添加createTime、isDelete 等字段
 xwy:

+ 15 - 87
lift-system-service/src/main/java/cn/com/ty/lift/system/faq/controller/FaqController.java

@@ -4,13 +4,9 @@ package cn.com.ty.lift.system.faq.controller;
 import cn.com.ty.lift.system.faq.entity.Faq;
 import cn.com.ty.lift.system.faq.service.impl.FaqServiceImpl;
 import cn.com.xwy.boot.web.dto.RestResponse;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-
 import lombok.AllArgsConstructor;
 import org.springframework.web.bind.annotation.*;
 
-import java.util.List;
-
 /**
  * @author wang-hai-cheng
  * @date 2019/12/4
@@ -22,97 +18,26 @@ import java.util.List;
 public class FaqController {
     private final FaqServiceImpl faqService;
 
-    @GetMapping("/list/one")
+    @PostMapping("/list")
     /**
      * @description 查询一级分类
      * @date 2019/11/27 10:19
      * @param []
      * @return cn.com.xwy.boot.web.dto.RestResponse
      */
-    public RestResponse one() {
-        return RestResponse.ok(faqService.list(new QueryWrapper<Faq>().eq("type", 1).eq("parent_id", 0).orderByAsc("serial")), "1", "查询成功");
+    public RestResponse one(@RequestBody Faq faq) {
+        return faqService.getFaqs(faq);
     }
 
-    @GetMapping("/list/child")
+    @PostMapping("/add")
     /**
-     * @description 根据父分类id查询子分类
-     * @date 2019/11/27 10:19
-     * @param [parentId]
-     * @return cn.com.xwy.boot.web.dto.RestResponse
-     */
-    public RestResponse child(@RequestParam Long parentId) {
-        return RestResponse.ok(faqService.list(new QueryWrapper<Faq>().eq("type", 1).eq("parent_id", parentId).orderByAsc("serial")), "1", "查询成功");
-    }
-
-    @GetMapping("/list/question")
-    /**
-     * @description 根据分类id查询问题标题列表
-     * @date 2019/11/27 10:25
-     * @param [parentId]
-     * @return cn.com.xwy.boot.web.dto.RestResponse
-     */
-    public RestResponse question(@RequestParam Long parentId) {
-        List<Faq> list = faqService.list(new QueryWrapper<Faq>().eq("type", 2).eq("parent_id", parentId).orderByAsc("serial"));
-        if (!list.isEmpty()) {
-            return RestResponse.ok(list, "1", "查询成功");
-        } else {
-            return RestResponse.ok(null, "9", "无数据");
-        }
-    }
-
-    @GetMapping("/answer")
-    /**
-     * @description 根据问题id查询答案
-     * @date 2019/11/27 10:31
-     * @param [parentId]
-     * @return cn.com.xwy.boot.web.dto.RestResponse
-     */
-    public RestResponse answer(@RequestParam Long parentId) {
-        return RestResponse.ok(faqService.getOne(new QueryWrapper<Faq>().eq("type", 3).eq("parent_id", parentId).orderByAsc("serial")), "1", "查询成功");
-    }
-
-    @PostMapping("/add/one")
-    /**
-     * @description 新增一级分类
+     * @description 新增分类或问题或答案
      * @date 2019/11/27 10:47
      * @param [faq]
      * @return cn.com.xwy.boot.web.dto.RestResponse
      */
-    public RestResponse addOne(@RequestBody Faq faq) {
-        return faqService.addOne(faq.getContent(), faq.getDescription());
-    }
-
-    @PostMapping("/add/child")
-    /**
-     * @description 新增子分类
-     * @date 2019/11/27 10:47
-     * @param [faq]
-     * @return cn.com.xwy.boot.web.dto.RestResponse
-     */
-    public RestResponse addChild(@RequestBody Faq faq) {
-        return faqService.addChild(faq.getParentId(), faq.getContent(), faq.getDescription());
-    }
-
-    @PostMapping("/add/question")
-    /**
-     * @description 根据分类id新增问题
-     * @date 2019/11/27 10:51
-     * @param [faq]
-     * @return cn.com.xwy.boot.web.dto.RestResponse
-     */
-    public RestResponse addQuestion(@RequestBody Faq faq) {
-        return faqService.addQuestion(faq.getParentId(), faq.getContent(), faq.getDescription());
-    }
-
-    @PostMapping("/add/answer")
-    /**
-     * @description 根据问题id新增答案
-     * @date 2019/11/27 10:51
-     * @param [faq]
-     * @return cn.com.xwy.boot.web.dto.RestResponse
-     */
-    public RestResponse addAnswer(@RequestBody Faq faq) {
-        return faqService.addAnswer(faq.getParentId(), faq.getContent(), faq.getDescription());
+    public RestResponse add(@RequestBody Faq faq) {
+        return faqService.add(faq);
     }
 
     @PostMapping("/update")
@@ -123,7 +48,10 @@ public class FaqController {
      * @return cn.com.xwy.boot.web.dto.RestResponse
      */
     public RestResponse updateOne(@RequestBody Faq faq) {
-        return faqService.up(faq.getId(), faq.getContent(), faq.getDescription());
+        if (faqService.updateById(faq)) {
+            return RestResponse.ok(null, "1", "更新成功");
+        }
+        return RestResponse.ok(null, "0", "更新失败");
     }
 
     @PostMapping("/delete")
@@ -137,7 +65,7 @@ public class FaqController {
         return faqService.delete(faq.getId());
     }
 
-    @GetMapping("/up")
+    @PostMapping("/up")
     /**
      * @description 排序上移一位
      * @date 2019/11/27 10:52
@@ -145,10 +73,10 @@ public class FaqController {
      * @return cn.com.xwy.boot.web.dto.RestResponse
      */
     public RestResponse up(@RequestBody Faq faq) {
-        return faqService.up(faq.getId());
+        return faqService.serial(faq.getId(),1);
     }
 
-    @GetMapping("/down")
+    @PostMapping("/down")
     /**
      * @description 排序下移一位
      * @date 2019/11/27 10:52
@@ -156,6 +84,6 @@ public class FaqController {
      * @return cn.com.xwy.boot.web.dto.RestResponse
      */
     public RestResponse down(@RequestBody Faq faq) {
-        return faqService.down(faq.getId());
+        return faqService.serial(faq.getId(),0);
     }
 }

+ 73 - 77
lift-system-service/src/main/java/cn/com/ty/lift/system/faq/service/impl/FaqServiceImpl.java

@@ -6,7 +6,6 @@ import cn.com.ty.lift.system.faq.service.FaqService;
 import cn.com.xwy.boot.web.dto.RestResponse;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import lombok.AllArgsConstructor;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -18,73 +17,50 @@ import java.util.List;
  * </p>
  *
  * @author wang-hai-cheng
- * @since 2019-11-21
+ * @since 2019-12-05
  */
 @Transactional
 @Service
-@AllArgsConstructor
 public class FaqServiceImpl extends ServiceImpl<FaqMapper, Faq> implements FaqService {
 
-    public RestResponse addOne(String title, String description) {
-        Faq faq = new Faq();
-        faq.setContent(title).setType(1).setParentId(0L).setDescription(description);
-        faq.setSerial(this.count(new QueryWrapper<Faq>().eq("type", 1).eq("parent_id", 0)) + 1);
-        if (this.save(faq)) {
-            return RestResponse.ok(null, "1", "新增一级分类成功");
-        } else {
-            return RestResponse.ok(null, "0", "新增一级分类失败");
-        }
-    }
+    public RestResponse getFaqs(Faq faq) {
+        boolean typeFlag = faq.getId() != null;
+        boolean parentIdFlag = faq.getId() != null;
 
-    public RestResponse addChild(Long parentId, String title, String description) {
-        Faq faq = new Faq();
-        faq.setContent(title).setType(1).setParentId(parentId).setDescription(description);
-        faq.setSerial(this.list(new QueryWrapper<Faq>().eq("type", 1).eq("parent_id", parentId)).size() + 1);
-        if (this.save(faq)) {
-            return RestResponse.ok(null, "1", "新增子分类成功");
-        } else {
-            return RestResponse.ok(null, "0", "新增子分类失败");
+        List<Faq> faqs = this.list(new QueryWrapper<Faq>()
+                .eq(typeFlag, "type", faq.getType()).eq(parentIdFlag, "parent_id", faq.getParentId())
+                .orderByAsc("serial"));
+        if (faqs.isEmpty()) {
+            return RestResponse.ok(null, "9", "无数据");
         }
+        return RestResponse.ok(faqs, "1", "查询成功");
     }
 
-    public RestResponse addQuestion(Long parentId, String title, String description) {
-        Faq faq = new Faq();
-        faq.setContent(title).setType(2).setParentId(parentId).setDescription(description);
-        faq.setSerial(this.list(new QueryWrapper<Faq>().eq("type", 2).eq("parent_id", parentId)).size() + 1);
-        if (this.save(faq)) {
-            return RestResponse.ok(null, "1", "新增问题成功");
+    /**
+     * @description 新增分类或问题或答案
+     * @date 2019/12/5 11:01
+     */
+    public RestResponse add(Faq faq) {
+        List<Faq> faqs = this.list(new QueryWrapper<Faq>()
+                .select("id", "serial")
+                .eq("type", faq.getType()).eq("parent_id", faq.getParentId())
+                .orderByDesc("serial"));
+        if (faqs.isEmpty()) {
+            faq.setSerial(1);
         } else {
-            return RestResponse.ok(null, "0", "新增问题失败");
+            faq.setSerial(faqs.get(0).getSerial() + 1);
         }
-    }
-
-    public RestResponse addAnswer(Long parentId, String content, String description) {
-        Faq faq = new Faq();
-        faq.setContent(content).setType(3).setParentId(parentId).setDescription(description);
-        faq.setSerial(this.list(new QueryWrapper<Faq>().eq("type", 3).eq("parent_id", parentId)).size() + 1);
         if (this.save(faq)) {
-            return RestResponse.ok(null, "1", "新增答案成功");
-        } else {
-            return RestResponse.ok(null, "0", "新增答案失败");
-        }
-    }
-
-    public RestResponse up(Long id, String title, String description) {
-        Faq byId = this.getById(id);
-        byId.setContent(title).setDescription(description);
-        if (this.updateById(byId)) {
-            return RestResponse.ok(null, "1", "更新成功");
-        } else {
-            return RestResponse.ok(null, "0", "更新失败");
+            return RestResponse.ok(null, "1", "新增成功");
         }
+        return RestResponse.ok(null, "0", "新增失败");
     }
 
     public RestResponse delete(Long id) {
         if (deleteAll(id)) {
             return RestResponse.ok(null, "1", "删除成功");
-        } else {
-            return RestResponse.ok(null, "0", "删除失败");
         }
+        return RestResponse.ok(null, "0", "删除失败");
     }
 
     //递归删除id及它下面所有分类,问答
@@ -112,39 +88,59 @@ public class FaqServiceImpl extends ServiceImpl<FaqMapper, Faq> implements FaqSe
         }
     }
 
-    public RestResponse up(Long id) {
-        Faq up = this.getById(id);
-        if (up != null) {
-            if (up.getSerial() > 1) {
-                Faq one = this.getOne(new QueryWrapper<Faq>().eq("type", up.getType()).eq("parent_id", up.getParentId()).eq("serial", up.getSerial() - 1));
-                one.setSerial(one.getSerial() + 1);
-                up.setSerial(up.getSerial() - 1);
-                this.updateById(one);
-                this.updateById(up);
-                return RestResponse.ok(null, "1", "上移一位");
-            } else {
-                return RestResponse.ok(null, "0", "已经到顶了");
-            }
-        } else {
+    //type 1上移 0下移
+    public RestResponse serial(Long id, Integer type) {
+        Faq byId = this.getById(id);
+        if (byId == null) {
             return RestResponse.ok(null, "0", "此id不存在");
         }
-    }
+        List<Faq> faqs;
+        if (type == 1) {
+            faqs = this.list(new QueryWrapper<Faq>().eq("type", byId.getType()).eq("parent_id", byId.getParentId()).orderByDesc("serial"));
+        } else {
+            faqs = this.list(new QueryWrapper<Faq>().eq("type", byId.getType()).eq("parent_id", byId.getParentId()).orderByAsc(("serial")));
+        }
 
-    public RestResponse down(Long id) {
-        Faq up = this.getById(id);
-        if (up != null) {
-            if (this.count(new QueryWrapper<Faq>().eq("type", up.getType()).eq("parent_id", up.getParentId()).eq("serial", up.getSerial())) > up.getSerial()) {
-                Faq one = this.getOne(new QueryWrapper<Faq>().eq("type", up.getType()).eq("parent_id", up.getParentId()).eq("serial", up.getSerial() + 1));
-                one.setSerial(one.getSerial() - 1);
-                up.setSerial(one.getSerial() + 1);
-                this.updateById(one);
-                this.updateById(up);
-                return RestResponse.ok(null, "1", "下移一位");
-            } else {
-                return RestResponse.ok(null, "0", "已经到顶了");
+        if (faqs.isEmpty()) {
+            byId.setSerial(1);
+            this.updateById(byId);
+            return RestResponse.ok(null, "1", "移动成功");
+        }
+
+        Faq faq;
+        int i;
+        if (type == 1) {
+            for (i = 0; i < faqs.size(); i++) {
+                if (faqs.get(i).getSerial() < byId.getSerial()) {
+                    break;
+                }
             }
         } else {
-            return RestResponse.ok(null, "0", "此id不存在");
+            for (i = 0; i < faqs.size(); i++) {
+                if (faqs.get(i).getSerial() > byId.getSerial()) {
+                    break;
+                }
+            }
         }
+
+        if (i==faqs.size()) {
+            return RestResponse.ok(null, "1", "移动成功");
+        }
+
+        faq = faqs.get(i);
+
+
+        if (byId.getId().equals(faq.getId())) {
+            return RestResponse.ok(null, "1", "移动成功");
+        }
+
+        Integer serial = faq.getSerial();
+        faq.setSerial(byId.getSerial());
+        byId.setSerial(serial);
+
+        this.updateById(faq);
+        this.updateById(byId);
+
+        return RestResponse.ok(null, "1", "移动成功");
     }
 }