자바 전체 템 플 릿 가 져 오기 2 (새 버 전)

1. pom 에 jra 가방 도입


  org.springframework.boot
  spring-boot-starter
  2.1.1.RELEASE


  org.springframework.boot
  spring-boot-starter-web
  2.1.1.RELEASE


  org.springframework.boot
  spring-boot-starter-aop
  2.1.1.RELEASE


  org.springframework.boot
  spring-boot-starter-data-redis
  2.1.1.RELEASE


  org.springframework.boot
  spring-boot-starter-amqp
  2.1.1.RELEASE


  org.springframework.boot
  spring-boot-starter-test
  2.1.1.RELEASE




  io.springfox
  springfox-swagger2
  2.9.2


  io.springfox
  springfox-swagger-ui
  2.9.2



  cn.afterturn
  easypoi-base
  4.0.0


  cn.afterturn
  easypoi-web
  4.0.0


  cn.afterturn
  easypoi-annotation
  4.0.0



  org.projectlombok
  lombok
  1.18.4


  com.google.code.gson
  gson
  2.8.5


  com.google.guava
  guava
  27.0.1-jre


2.1. 도구 류 Response, ResponseUtil
import com.google.common.base.MoreObjects;
import enums.GlobalExceptionEnums;

import java.io.Serializable;

@SuppressWarnings("unchecked")
public class Response implements Serializable {

    private static final long serialVersionUID = -750644833749014618L;

    private boolean success;
    private String code;
    private String msg;
    private String error;
    private Object result;

    public Response() {
    }

    public boolean isSuccess() {
        return this.success;
    }

    public void setSuccess(boolean success) {
        this.success = success;
    }

    public Object getResult() {
        return this.result;
    }

    public void setResult(Object result) {
        this.success = true;
        this.code = GlobalExceptionEnums.SUCCESS.getValue();
        this.result = result;
    }

    public String getError() {
        return this.error;
    }

    public void setMsg(String msg) {
        this.msg = msg;
    }

    public String getMsg() {
        return this.msg;
    }

    public void setError(String error) {
        setError(GlobalExceptionEnums.SYSTEM_ERROR.getValue(),error);
    }

    public void setError(String code,String error) {
        this.success = false;
        this.code = code;
        this.error = error;
    }

    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public static Response ok() {
        return ok(null);
    }

    public static Response ok(String code,Object data) {
        Response resp = Response.ok(data);
        resp.setCode(code);
        return resp;
    }

    public static Response ok(String code,String msg) {
        Response resp = Response.ok(msg,true);
        resp.setCode(code);
        return resp;
    }

    public static Response ok(Object data) {
        Response resp = new Response();
        resp.setSuccess(true);
        resp.setResult(data);
        return resp;
    }

    public static Response ok(String msg,boolean flag) {
        if(!flag){
            return ok(msg);
        }
        Response resp = new Response();
        resp.setSuccess(true);
        resp.setMsg(msg);
        return resp;
    }

    public static Response ok(Object data,String msg,String code) {
        Response resp = new Response();
        resp.setSuccess(true);
        resp.setResult(data);
        resp.setMsg(msg);
        resp.setCode(code);
        return resp;
    }

    public static  Response fail(String error) {
        return fail(GlobalExceptionEnums.SYSTEM_ERROR.getValue(),error);
    }

    public static  Response fail(String code,String error) {
        Response resp = new Response();
        resp.setError(code,error);
        return resp;
    }

    public static  Response fail(String code,String error,Object data) {
        Response resp = fail(code,error);
        resp.setResult(data);
        return resp;
    }

    public String toString() {
        return MoreObjects.toStringHelper(this)
                .add("success", this.success)
                .add("code",this.code)
                .add("result", this.result)
                .add("error", this.error).omitNullValues().toString();
    }

}
import lombok.extern.slf4j.Slf4j;

import javax.servlet.http.HttpServletResponse;
import java.io.PrintWriter;

@Slf4j
public class ResponseUtil {

    /**
     *       JSON    
     * @param response
     * @param json
     * @throws Exception
     */
    public static void returnJson(HttpServletResponse response, String json) throws Exception {
        response.setCharacterEncoding("UTF-8");
        response.setContentType("application/json;charset=utf-8");
        PrintWriter writer = response.getWriter();
        writer.print(json);
    }

    /**
     *         
     * @param e
     * @return
     */
    public static Response returnRespException(Exception e){
        return Response.fail("      ");
    }
}

2.2. 매 거 류
import lombok.Getter;

public enum GlobalExceptionEnums {

    SUCCESS("0", "SUCCESS", "    "),
    SYSTEM_ERROR("1", "FAIL", "        "),
    NULL_POINT_ERROR("2", "FAIL", "     "),
    ARRAY_INDEX_OUTOF_BOUNDS_ERROR("3", "FAIL", "      "),
    INDEX_OUTOF_BOUNDS_ERROR("4", "FAIL", "    "),
    NEGATIVE_ARRAY_SIZE_ERROR("5", "FAIL", "       "),
    ARITHMETIC_ERROR("6", "FAIL", "    "),
    CLASS_CAST_ERROR("7", "FAIL", "      "),
    EOF_ERROR("8", "FAIL", "     "),
    FILE_NOT_FOUND_ERROR("9", "FAIL", "     "),
    NUMBER_FORMAT_ERROR("10", "FAIL", "        "),
    IO_ERROR("11", "FAIL", "IO       "),
    NO_SUCH_METHOD_ERROR("12", "FAIL", "     "),
    ARRAY_STORE_ERROR("13", "FAIL", "      "),
    CLASS_NOT_FOUND_ERROR("14", "FAIL", "     "),
    CLONE_NOT_SUPPORTED_ERROR("15", "FAIL", "  clone()    ,      Cloneable          "),
    ENUM_CONSTANT_NOT_PRESENT_ERROR("16", "FAIL", "       "),
    ILLEGAL_ACCESS_ERROR("17", "FAIL", "     "),
    ILLEGAL_THREAD_STATE_ERROR("18", "FAIL", "       "),
    ILLEGAL_MONITOR_STATE_ERROR("19", "FAIL", "       "),
    ILLEGAL_STATE_ERROR("20", "FAIL", "     "),
    INSTANTIATION_ERROR("21", "FAIL", "       "),
    INTERRUPTED_ERROR("22", "FAIL", "     "),
    NO_SUCH_FIELD_ERROR("23", "FAIL", "      "),
    STRING_INDEX_OUTOF_BOUNDS_ERROR("24", "FAIL", "       "),
    TYPE_NOT_PRESENT_ERROR("25", "FAIL", "     "),
    UN_SUPPORTED_OPERATION_ERROR("26", "FAIL", "        ,           "),
    ILLEGAL_ARGUMENT_ERROR("27", "FAIL", "      "),
    SOCKET_ERROR("28", "FAIL", "SOCKET    "),
    SOCKET_TIMEOUT_ERROR("29", "FAIL", "SOCKET    "),
    TIMEOUT_ERROR("30", "FAIL", "      "),
    JSON_ERROR("31", "FAIL", "JSON       "),
    RUNTIME_ERROR("32", "FAIL", "     "),
    CONNECTION_REFUSED_ERROR("33", "FAIL", "       "),
    UPLOAD_ILLEGAL_FILES_ERROR("34", "FAIL", "        "),
    UPLOAD_EXCUTE_FILES_ERROR("37", "FAIL", "          "),
    UPLOAD_IMAGE_IS_NULL("35", "FAIL", "     "),
    UPLOAD_FILES_IS_NULL("36", "FAIL", "     "),
    UPLOAD_NO_IMAGE("36", "FAIL", "          "),;

    @Getter
    private String value;
    @Getter
    private String msg;
    @Getter
    private String desc;

    GlobalExceptionEnums(String value, String msg, String desc) {
        this.value = value;
        this.msg = msg;
        this.desc = desc;
    }
}


2.3. 실체 류
import lombok.Data;

@Data
public class CdGov {

    private String rowId;

    private String createdBy;

    private String lastUpdBy;

    private String deleteFlag;

    //     
    private String govCode;

    private String govName;

    private String govShortName;

    private String contact;

    private String phone;

    private String address;
}


2.4. 실체 클래스 가 져 오기
import cn.afterturn.easypoi.excel.annotation.Excel;
import cn.afterturn.easypoi.excel.annotation.ExcelTarget;
import cn.afterturn.easypoi.handler.inter.IExcelDataModel;
import cn.afterturn.easypoi.handler.inter.IExcelModel;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;

import javax.validation.constraints.NotNull;
import java.io.Serializable;

@Data
@ExcelTarget("ImportGovClass")
@AllArgsConstructor
@NoArgsConstructor
@ToString
public class ImportGovClass implements Serializable, IExcelModel, IExcelDataModel {

    @Excel(name = "    (  )")
    @NotNull(message = "        ")
    private String gov_name;

    @Excel(name = "    (  )")
    @NotNull(message = "        ")
    private String gov_code;

    @Excel(name = "    (   )")
    private String gov_short_name;

    @Excel(name = "   (   )")
    private String contact;

    @Excel(name = "    (   )")
    private String phone;

    @Excel(name = "    (   )")
    private String address;

    @Excel(name = "    ")
    private String errorMsg;

    @Excel(name = "  ")
    private int rowNum;

    @Override
    public String getErrorMsg() {
        return errorMsg;
    }

    @Override
    public void setErrorMsg(String errorMsg) {
        this.errorMsg = errorMsg;
    }

    @Override
    public int getRowNum() {
        return rowNum + 1;
    }

    @Override
    public void setRowNum(int rowNum) {
        this.rowNum = rowNum;
    }

}

3.api
import org.springframework.web.multipart.MultipartFile;
import util.Response;

public interface Service {
    Response importGov(MultipartFile file, String createdBy );
}

4.service
import api.Service;
import cn.afterturn.easypoi.excel.entity.ImportParams;
import cn.afterturn.easypoi.excel.entity.result.ExcelImportResult;
import cn.afterturn.easypoi.excel.imports.ExcelImportService;
import dto.ImportGovClass;
import entity.CdGov;
import lombok.extern.java.Log;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.multipart.MultipartFile;
import util.Response;

import java.util.ArrayList;
import java.util.List;

@Slf4j
public class ServiceImpl implements Service {

    @Override
    public Response importGov(MultipartFile file, String createdBy) {
        Response response = null;
        try {
            ImportParams params = new ImportParams();
            params.setNeedVerify(true);//      ,  ,   ,       
            ExcelImportResult importResult = new ExcelImportService().importExcelByIs(file.getInputStream(), ImportGovClass.class, params, true);//         
            List datalist = importResult.getList();// datalist               
            List cdGovList = new ArrayList<>();
            if (datalist != null && !datalist.isEmpty()) {
                for (int i = 0; i < datalist.size(); i++) { //     
                    ImportGovClass ip = (ImportGovClass) datalist.get(i);//     
                    CdGov cdGov = new CdGov();
                    cdGov.setCreatedBy(createdBy);
                    cdGov.setGovName(ip.getGov_name());
                    cdGov.setGovCode(ip.getGov_code());
                    cdGov.setGovShortName(ip.getGov_short_name());
                    cdGov.setContact(ip.getContact());
                    cdGov.setPhone(ip.getPhone());
                    cdGov.setAddress(ip.getAddress());
                    //            
                    Integer count = cdGovDao.judgeGovCode(cdGov.getGovCode());
                    if (count > 0) {
                        response = Response.fail("    【" + ip.getGov_code() + "】   ");
                        break;
                    } else {
                        cdGovList.add(cdGov);
                        response = Response.ok();
                    }
                }
            } else {
                response = Response.fail("       !");
            }

            //     
            if (response != null && response.isSuccess() == true && !cdGovList.isEmpty()) {
            }

        } catch (Exception e) {
            log.error("importGov", e);
        }
        return response;
    }

}


5.controller
import api.Service;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import util.Response;
import util.ResponseUtil;

import javax.servlet.http.HttpServletRequest;

@RestController
@RequestMapping("/api/cdGov")
public class controller {

    @Autowired
    private Service service;

    //     
    @ApiOperation(value = "    ", httpMethod = "POST")
    @PostMapping(value = "/importGov", produces = "application/json;charset=UTF-8")
    public Response importGov(@RequestParam(required = false, value = "file") MultipartFile file, HttpServletRequest request) {
        Response response;
        try {
            String createdBy = request.getParameter("createdBy");
            response = service.importGov(file, createdBy);
        } catch (Exception e) {
            response = ResponseUtil.returnRespException(e);
        }
        return response;
    }
}


6. 전단 호출
$("#btn_gov_import").on('click', function () {
    $('#btn_imports').trigger('click');//     
    layer.load();
   });
   upload.render({
    elem: '#btn_imports',
    url: self.api + "/cdGov/importGov",
    withToken: false, //          
    data: {
     createdBy: self.app.user.id
    },
    accept: 'file',
    exts: 'xlsx',
    done: function (res, file) {
     layer.closeAll('loading'); //  loading
     if (res.success) {
      layer.msg('      ', {
       icon: 1
      });
      self.table.table.refresh();
     } else {
      layer.msg(res.error, {
       icon: 2
      });
     }
    },
    error: function (index, upload) {
     layer.closeAll('loading'); //  loading
     layer.msg("      !", {
      icon: 2
     });
    }
   });

좋은 웹페이지 즐겨찾기