Jelajahi Sumber

Merge branch 'develop' of http://132.232.206.88:3000/lift-manager/lift-server into feature-wcz

wcz 5 tahun lalu
induk
melakukan
eef8760ca7

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

@@ -8,9 +8,7 @@ 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 org.springframework.web.multipart.MultipartFile;
 
-import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import java.util.List;
 
@@ -72,7 +70,7 @@ public class PropertyCompanyController {
      */
     public RestResponse update(@RequestBody PropertyCompany propertyCompany) {
         if (propertyCompanyService.updateById(propertyCompany)) {
-            return RestResponse.success(null,"成功");
+            return RestResponse.success(null, "成功");
         }
         return RestResponse.fail();
     }
@@ -107,7 +105,7 @@ public class PropertyCompanyController {
     public RestResponse customAdd(@RequestBody PropertyCompany propertyCompany) {
         propertyCompany.setStatus(2);
         if (propertyCompanyService.save(propertyCompany)) {
-            return RestResponse.success(propertyCompany.getId(),"成功");
+            return RestResponse.success(propertyCompany.getId(), "成功");
         }
         return RestResponse.fail();
     }
@@ -117,9 +115,8 @@ public class PropertyCompanyController {
         return propertyCompanyService.updateStatus(req);
     }
 
-    @GetMapping("/export")
-    public RestResponse export(HttpServletRequest request, HttpServletResponse response) {
-        return propertyCompanyService.export();
+    @PostMapping("/export")
+    public void export(@RequestBody PropertyCompany company, HttpServletResponse response) {
+        propertyCompanyService.export(company, response);
     }
-
 }

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

@@ -1,6 +1,5 @@
 package cn.com.ty.lift.enterprise.custom.service.impl;
 
-import cn.com.ty.lift.common.constants.ApiConstants;
 import cn.com.ty.lift.enterprise.custom.dao.entity.PropertyCompany;
 import cn.com.ty.lift.enterprise.custom.dao.entity.PropertyContact;
 import cn.com.ty.lift.enterprise.custom.dao.entity.model.PropertyCompanyAndPropertyContactReq;
@@ -8,6 +7,9 @@ import cn.com.ty.lift.enterprise.custom.dao.entity.model.PropertyCompanyReq;
 import cn.com.ty.lift.enterprise.custom.dao.mapper.PropertyCompanyMapper;
 import cn.com.ty.lift.enterprise.custom.service.PropertyCompanyService;
 import cn.com.xwy.boot.web.dto.RestResponse;
+import cn.hutool.core.collection.CollUtil;
+import cn.hutool.poi.excel.BigExcelWriter;
+import cn.hutool.poi.excel.ExcelUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.IdWorker;
@@ -17,6 +19,12 @@ import lombok.AllArgsConstructor;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import javax.servlet.http.HttpServletResponse;
+import java.io.*;
+import java.time.LocalDate;
+import java.util.ArrayList;
+import java.util.List;
+
 /**
  * <p>
  * (甲方公司)客户表 服务实现类
@@ -26,16 +34,17 @@ import org.springframework.transaction.annotation.Transactional;
  * @since 2019-11-11
  */
 @Service
-@Transactional
 @AllArgsConstructor
 public class PropertyCompanyServiceImpl extends ServiceImpl<PropertyCompanyMapper, PropertyCompany> implements PropertyCompanyService {
     private final PropertyContactServiceImpl propertyContactService;
 
+    @Transactional
     public RestResponse delete(Long id) {
         PropertyCompany byId = this.getById(id);
         if (byId.getStatus() == 2) {
             return RestResponse.success(null, "有正在服务的关联项目,无法删除");
-        } else if (this.getBaseMapper().selectProjectCount(byId.getId()) != null && this.getBaseMapper().selectProjectCount(byId.getId()).get("count") > 0L) {
+        } else if (this.getBaseMapper().selectProjectCount(byId.getId()) != null
+                && this.getBaseMapper().selectProjectCount(byId.getId()).get("count") > 0L) {
             byId.setStatus(2);
             this.updateById(byId);
             return RestResponse.success(null, "有正在服务的关联项目,无法删除");
@@ -66,31 +75,93 @@ public class PropertyCompanyServiceImpl extends ServiceImpl<PropertyCompanyMappe
         if (records.getRecords().isEmpty()) {
             return RestResponse.success();
         }
-        return RestResponse.success(records,"成功");
+        return RestResponse.success(records, "成功");
     }
 
+    @Transactional
     public RestResponse saveAll(PropertyCompanyAndPropertyContactReq req) {
         long id = IdWorker.getId();
         req.getPropertyCompany().setId(id);
-        req.getPropertyContacts().forEach(contact -> {
-            contact.setPpCompanyId(id);
-        });
+        req.getPropertyContacts().forEach(contact -> contact.setPpCompanyId(id));
         if (this.save(req.getPropertyCompany()) && propertyContactService.saveBatch(req.getPropertyContacts())) {
             return RestResponse.success(null, "成功");
         }
         return RestResponse.fail();
     }
 
-    public RestResponse export() {
-        return RestResponse.success(null, ApiConstants.RESULT_ERROR, "待实现");
+    public void export(PropertyCompany company, HttpServletResponse res) {
+        String fileName = "客户管理表" + LocalDate.now().toString() + ".xlsx";
+        List<PropertyCompany> companies = this.list(new QueryWrapper<PropertyCompany>()
+                .select("id", "name", "mailing_address", "status")
+                .eq("mt_company_id", company.getMtCompanyId())
+                .ne("status", 0));
+
+        List<List<?>> rows = new ArrayList<>();
+
+        companies.forEach(c -> {
+            List<?> row = CollUtil.newArrayList(c.getId(), c.getName(), c.getMailingAddress(), c.getStatus());
+            rows.add(row);
+        });
+        BigExcelWriter writer = ExcelUtil.getBigWriter(System.getProperty("user.dir") + "/" + fileName);
+        System.out.println(System.getProperty("user.dir") + "/" + fileName);
+        // 一次性写出内容,使用默认样式
+        writer.write(rows);
+        // 关闭writer,释放内存
+        writer.close();
+
+        res.setHeader("Content-Disposition", "attachment; filename=" + fileName);
+        res.setHeader("content-type", "application/x-msdownload;");
+        res.setContentType("text/plain; charset=utf-8");
+        byte[] buff = new byte[1024];
+        BufferedInputStream bis = null;
+        OutputStream os = null;
+
+        File file = new File(System.getProperty("user.dir") + "/" + fileName);
+        try {
+            os = res.getOutputStream();
+            bis = new BufferedInputStream(new FileInputStream(file));
+            int i = bis.read(buff);
+
+            while (i != -1) {
+                os.write(buff, 0, buff.length);
+                os.flush();
+                i = bis.read(buff);
+            }
+        } catch (IOException e) {
+            e.printStackTrace();
+        } finally {
+            if (os != null) {
+                try {
+                    os.close();
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+            }
+            if (bis != null) {
+                try {
+                    bis.close();
+                } catch (IOException e) {
+                    e.printStackTrace();
+                }
+            }
+        }
+
+        if (file.exists()) {
+            file.delete();
+        }
     }
 
-    //更新客户公司和客户联系人的status
+    /**
+     * @param req
+     * @return RestResponse
+     * @description 更新客户公司和客户联系人的status.
+     * @date 2019/12/31 10:18
+     */
     @Transactional
     public RestResponse updateStatus(PropertyCompanyReq req) {
         PropertyCompany companyById = this.getById(req.getPropertyCompanyId());
         PropertyContact contactById = propertyContactService.getById(req.getPropertyContactId());
-        if (companyById == null | contactById == null) {
+        if (companyById == null || contactById == null) {
             return RestResponse.failParam();
         }
         companyById.setStatus(2);

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

@@ -18,10 +18,10 @@ import org.springframework.transaction.annotation.Transactional;
  * @since 2019-11-11
  */
 @Service
-@Transactional
 @AllArgsConstructor
 public class PropertyContactServiceImpl extends ServiceImpl<PropertyContactMapper, PropertyContact> implements PropertyContactService {
 
+    @Transactional
     public RestResponse delete(Long id) {
         PropertyContact byId = this.getById(id);
         if (byId.getStatus() == 2) {

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

@@ -256,14 +256,20 @@ public class QuanNewsServiceImpl extends ServiceImpl<QuanNewsMapper, QuanNews> i
     }
 
     //新增、更新新闻时上传文件
-    public RestResponse upFile(Long id, MultipartFile videoFile) throws IOException {
+    public RestResponse upFile(Long id, MultipartFile videoFile) {
         String originalFilename = videoFile.getOriginalFilename();
         if (originalFilename != null && originalFilename.contains(".")) {
-            String substring = originalFilename.substring(videoFile.getOriginalFilename().lastIndexOf(".") + 1);
-            String fileName = IdWorker.getIdStr() + "." + substring;
-
-            boolean result;
-            result = new AliyunOSSUtil().putObject("temp15827479607", videoFile.getBytes(), fileName);
+            String fileName = IdWorker.getIdStr()
+                    + "."
+                    + originalFilename.substring(videoFile.getOriginalFilename().lastIndexOf(".") + 1);
+            //阿里云OSS操作结果
+            boolean result = false;
+            try {
+                result = new AliyunOSSUtil().putObject("temp15827479607", videoFile.getBytes(), fileName);
+            } catch (IOException e) {
+                e.printStackTrace();
+            }
+            //如果保存成功
             if (result) {
                 QuanNews quanNews = new QuanNews();
                 quanNews.setId(id).setVideoName(fileName);

+ 70 - 0
lift-system-service/src/main/java/cn/com/ty/lift/system/banner/controller/BannerImageController.java

@@ -0,0 +1,70 @@
+package cn.com.ty.lift.system.banner.controller;
+
+
+import cn.com.ty.lift.system.banner.dao.entity.BannerImage;
+import cn.com.ty.lift.system.banner.service.impl.BannerImageServiceImpl;
+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 org.springframework.web.multipart.MultipartFile;
+
+import java.util.List;
+
+/**
+ * <p>
+ * banner图管理 前端控制器
+ * </p>
+ *
+ * @author wang-hai-cheng
+ * @since 2019-12-31
+ */
+@RestController
+@AllArgsConstructor
+@RequestMapping("/banner")
+public class BannerImageController {
+    private final BannerImageServiceImpl bannerService;
+
+    @PostMapping("/list")
+    public RestResponse list(@RequestBody BannerImage banner) {
+        List<BannerImage> banners = bannerService.list(new QueryWrapper<BannerImage>()
+                .eq(banner.getType() != null, "type", banner.getType())
+                .orderByAsc("serial_no"));
+        if (banners.isEmpty()) {
+            return RestResponse.success();
+        }
+        for (BannerImage bannerImage : banners) {
+            bannerImage.setName(""+bannerImage.getName());
+        }
+        return RestResponse.success(banners);
+    }
+
+    @PostMapping("/add")
+    public RestResponse add(@RequestBody BannerImage bannerImage) {
+        if (bannerService.save(bannerImage)) {
+            return RestResponse.success(null, "成功");
+        }
+        return RestResponse.fail();
+    }
+
+    @PostMapping("/modify")
+    public RestResponse modify(@RequestBody BannerImage bannerImage) {
+        if (bannerService.saveOrUpdate(bannerImage)) {
+            return RestResponse.success(null, "成功");
+        }
+        return RestResponse.fail();
+    }
+
+    @PostMapping("/delete")
+    public RestResponse delete(@RequestBody BannerImage bannerImage) {
+        if (bannerService.removeById(bannerImage)) {
+            return RestResponse.success(null, "成功");
+        }
+        return RestResponse.fail();
+    }
+
+    @PostMapping("/upFile")
+    public RestResponse upFile(@RequestParam Long id, @RequestParam MultipartFile file) {
+        return bannerService.upFile(id, file);
+    }
+}

+ 51 - 0
lift-system-service/src/main/java/cn/com/ty/lift/system/banner/dao/entity/BannerImage.java

@@ -0,0 +1,51 @@
+package cn.com.ty.lift.system.banner.dao.entity;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+
+/**
+ * <p>
+ * banner图管理
+ * </p>
+ *
+ * @author wang-hai-cheng
+ * @since 2019-12-31
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+public class BannerImage implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * banner图id
+     */
+    @TableId("id")
+    private Long id;
+
+    /**
+     * banner图文件名
+     */
+    @TableField("name")
+    private String name;
+
+    /**
+     * banner图序号
+     */
+    @TableField("serial_no")
+    private Integer serialNo;
+
+    /**
+     * 1电梯管家端banner图 2物业端banner图
+     */
+    @TableField("type")
+    private Integer type;
+
+
+}

+ 16 - 0
lift-system-service/src/main/java/cn/com/ty/lift/system/banner/dao/mapper/BannerImageMapper.java

@@ -0,0 +1,16 @@
+package cn.com.ty.lift.system.banner.dao.mapper;
+
+import cn.com.ty.lift.system.banner.dao.entity.BannerImage;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * banner图管理 Mapper 接口
+ * </p>
+ *
+ * @author wang-hai-cheng
+ * @since 2019-12-31
+ */
+public interface BannerImageMapper extends BaseMapper<BannerImage> {
+
+}

+ 16 - 0
lift-system-service/src/main/java/cn/com/ty/lift/system/banner/service/BannerImageService.java

@@ -0,0 +1,16 @@
+package cn.com.ty.lift.system.banner.service;
+
+import cn.com.ty.lift.system.banner.dao.entity.BannerImage;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * banner图管理 服务类
+ * </p>
+ *
+ * @author wang-hai-cheng
+ * @since 2019-12-31
+ */
+public interface BannerImageService extends IService<BannerImage> {
+
+}

+ 50 - 0
lift-system-service/src/main/java/cn/com/ty/lift/system/banner/service/impl/BannerImageServiceImpl.java

@@ -0,0 +1,50 @@
+package cn.com.ty.lift.system.banner.service.impl;
+
+import cn.com.ty.lift.common.utils.AliyunOSSUtil;
+import cn.com.ty.lift.system.banner.dao.entity.BannerImage;
+import cn.com.ty.lift.system.banner.dao.mapper.BannerImageMapper;
+import cn.com.ty.lift.system.banner.service.BannerImageService;
+import cn.com.xwy.boot.web.dto.RestResponse;
+import com.baomidou.mybatisplus.core.toolkit.IdWorker;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.io.IOException;
+
+/**
+ * <p>
+ * banner图管理 服务实现类
+ * </p>
+ *
+ * @author wang-hai-cheng
+ * @since 2019-12-31
+ */
+@Service
+public class BannerImageServiceImpl extends ServiceImpl<BannerImageMapper, BannerImage> implements BannerImageService {
+
+    public RestResponse upFile(Long id, MultipartFile file) {
+        String originalFilename = file.getOriginalFilename();
+        if (originalFilename != null && originalFilename.contains(".")) {
+            String fileName = IdWorker.getIdStr()
+                    + "."
+                    + originalFilename.substring(file.getOriginalFilename().lastIndexOf(".") + 1);
+            //阿里云OSS操作结果
+            boolean result = false;
+            try {
+                result = new AliyunOSSUtil().putObject("temp15827479607", file.getBytes(), fileName);
+            } catch (IOException e) {
+                e.printStackTrace();
+            }
+            //如果保存成功
+            if (result) {
+                BannerImage banner = new BannerImage();
+                banner.setId(id).setName(fileName);
+                this.updateById(banner);
+                return RestResponse.success(fileName, "成功");
+            }
+            return RestResponse.fail();
+        }
+        return RestResponse.failParam();
+    }
+}

+ 2 - 6
pom.xml

@@ -35,12 +35,8 @@
 
     <repositories>
         <repository>
-            <id>reserved</id>
-            <url>http://132.232.206.88:8081/repository/local</url>
-        </repository>
-        <repository>
-            <id>aliyun</id>
-            <url>http://132.232.206.88:8081/repository/aliyun</url>
+            <id>private-store</id>
+            <url>http://122.51.162.43:8081/repository/private-store/</url>
         </repository>
     </repositories>