AppPostController.java 4.92 KB
package com.hmit.kernes.controller;

import com.hmit.kernes.entity.AppPostEntity;
import com.hmit.kernes.service.AppPostService;
import com.hmit.kernes.service.CloudBaseInfoService;
import com.hmit.kernes.utils.PageUtils;
import com.hmit.kernes.utils.Query;
import com.hmit.kernes.utils.R;
import com.hmit.kernes.utils.RRException;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletRequest;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.util.Date;
import java.util.List;
import java.util.Map;

@RestController
@RequestMapping("/app/post")
public class AppPostController {
    @Autowired
    AppPostService appPostService;

    @Autowired
    CloudBaseInfoService cloudBaseInfoService;

    @RequestMapping("/list")
    public R list(@RequestParam Map<String, Object> params){

        Query query = new Query(params);
        List<AppPostEntity> list=appPostService.queryList(query);
        int total=appPostService.queryTotal(query);
        PageUtils pageUtil = new PageUtils(list, total, query.getLimit(), query.getPage());
        return R.ok().put("page", pageUtil);
    }

    @RequestMapping("/info/{id}")
    public R info(@PathVariable("") Long id){
        AppPostEntity appPostEntity=appPostService.queryObject(id);

        return R.ok().put("appPost",appPostEntity);

    }

    @RequestMapping("/save")
    public R save(@RequestBody AppPostEntity appPostEntity){
        //数据校验

        verify(appPostEntity);
      //  System.out.println(appPostEntity.getImgSrc());
        appPostEntity.setUnionName(cloudBaseInfoService.queryObject(appPostEntity.getUnionId()).getLocalUnionName());

        appPostService.save(appPostEntity);
        return R.ok();
    }
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){

        appPostService.deleteBatch(ids);
        return R.ok();
    }

    @RequestMapping("/update")
    public R update(@RequestBody AppPostEntity appPostEntity){
        //数据校验

        verify(appPostEntity);

        appPostService.update(appPostEntity);

        return R.ok();
    }
    public AppPostEntity verify(AppPostEntity a){
        if(StringUtils.isBlank(a.getMakerTel())){
            throw new RRException("用户手机号不能为空");
        }

        a.setUpdateTime(new Date());
        return a;
    }
    @ResponseBody
    @RequestMapping("/uploadpho")
    public R uploadpho(@RequestParam("file") MultipartFile file, HttpServletRequest request) throws Exception {

        String url = request.getSession().getServletContext().getRealPath("doc/img/");
        System.out.println(url);
        String fileName2="";
        if (file.isEmpty()) {
            throw new RRException("上传文件不能为空");

        }
        try{
            url = url.replaceAll("/", "\\\\");
            String fileName = file.getOriginalFilename();
           // fileName=tel+fileName;
            fileName2=fileName;
            File file3 = new File(url);
            if ((!file3.exists()) && (!file3.isDirectory())) {
                file3.mkdir();
            }
            File file2 = new File(file3, fileName);
            InputStream in = file.getInputStream();
            FileOutputStream fos = new FileOutputStream(file2);
            BufferedOutputStream bos = new BufferedOutputStream(fos);
            int b = -1;
            byte[] buffer = new byte[10485760];
            while ((b = in.read(buffer)) != -1) {
                bos.write(buffer, 0, b);
            }
            bos.flush();
            bos.close();
            fos.close();
            in.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
        return R.ok().put("fileName",fileName2);
    }
    @ResponseBody
    @RequestMapping("/delpho")
    public R delpho(@RequestBody String filename, HttpServletRequest request) throws Exception {

        String url = request.getSession().getServletContext().getRealPath("doc/img/");

        if (StringUtils.isBlank(filename)) {
          return R.error().put("msg","删除目标文件名不能为空");

        }
        try{
            url = url.replaceAll("/", "\\\\");
            String fileName =filename;
            File file4 = new File(url+"\\" +fileName);
           // System.out.println(url+fileName);
            if ((file4.isFile()) && (file4.exists())) {
                file4.delete();
                return R.ok();
            }else {
                return R.error().put("msg","目标文件不存在");

            }

        } catch (Exception e) {
            e.printStackTrace();
        }
        return R.ok();
    }



}