feat: ajp port 추가

This commit is contained in:
hylee 2023-06-20 11:03:44 +09:00
parent c8184210f2
commit 729a802013
11 changed files with 156 additions and 240 deletions

27
pom.xml
View File

@ -94,16 +94,16 @@
<artifactId>httpclient</artifactId> <artifactId>httpclient</artifactId>
<version>4.5.13</version> <version>4.5.13</version>
</dependency> </dependency>
<dependency> <!-- <dependency>-->
<groupId>io.springfox</groupId> <!-- <groupId>io.springfox</groupId>-->
<artifactId>springfox-boot-starter</artifactId> <!-- <artifactId>springfox-boot-starter</artifactId>-->
<version>3.0.0</version> <!-- <version>3.0.0</version>-->
</dependency> <!-- </dependency>-->
<dependency> <!-- <dependency>-->
<groupId>io.springfox</groupId> <!-- <groupId>io.springfox</groupId>-->
<artifactId>springfox-swagger-ui</artifactId> <!-- <artifactId>springfox-swagger-ui</artifactId>-->
<version>3.0.0</version> <!-- <version>3.0.0</version>-->
</dependency> <!-- </dependency>-->
<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 --> <!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 -->
<dependency> <dependency>
@ -157,6 +157,13 @@
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId> <artifactId>spring-boot-starter-tomcat</artifactId>
</dependency> </dependency>
<!-- https://mvnrepository.com/artifact/de.codecentric/spring-boot-admin-starter-server -->
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-starter-client </artifactId>
<version>2.7.8</version>
</dependency>
</dependencies> </dependencies>
<build> <build>

View File

@ -1,18 +1,5 @@
package com.itn.mjonApi.cmn.config; package com.itn.mjonApi.cmn.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import java.util.HashSet;
import java.util.Set;
/** /**
* packageName : com.itn.mjonApi.cmn.config * packageName : com.itn.mjonApi.cmn.config
* fileName : SwaggerConfig * fileName : SwaggerConfig
@ -24,39 +11,39 @@ import java.util.Set;
* ----------------------------------------------------------- * -----------------------------------------------------------
* 2023-05-10 hylee 최초 생성 * 2023-05-10 hylee 최초 생성
*/ */
@Configuration //@Configuration
@EnableWebMvc //@EnableWebMvc
public class SwaggerConfig { public class SwaggerConfig {
//
private ApiInfo swaggerInfo() { // private ApiInfo swaggerInfo() {
return new ApiInfoBuilder().title("munjaon API") // return new ApiInfoBuilder().title("munjaon API")
.description("munjaon API Docs").build(); // .description("munjaon API Docs").build();
} // }
//
@Bean // @Bean
public Docket swaggerApi() { // public Docket swaggerApi() {
return new Docket(DocumentationType.SWAGGER_2) // return new Docket(DocumentationType.SWAGGER_2)
.consumes(getConsumeContentTypes()) // .consumes(getConsumeContentTypes())
.produces(getProduceContentTypes()) // .produces(getProduceContentTypes())
.apiInfo(swaggerInfo()).select() // .apiInfo(swaggerInfo()).select()
.apis(RequestHandlerSelectors.basePackage("com.itn.mjonApi.mjon")) // .apis(RequestHandlerSelectors.basePackage("com.itn.mjonApi.mjon"))
.paths(PathSelectors.any()) // .paths(PathSelectors.any())
.build() // .build()
.useDefaultResponseMessages(false); // .useDefaultResponseMessages(false);
} // }
//
private Set<String> getConsumeContentTypes() { // private Set<String> getConsumeContentTypes() {
Set<String> consumes = new HashSet<>(); // Set<String> consumes = new HashSet<>();
consumes.add("application/json;charset=UTF-8"); // consumes.add("application/json;charset=UTF-8");
consumes.add("application/x-www-form-urlencoded"); // consumes.add("application/x-www-form-urlencoded");
return consumes; // return consumes;
} // }
//
private Set<String> getProduceContentTypes() { // private Set<String> getProduceContentTypes() {
Set<String> produces = new HashSet<>(); // Set<String> produces = new HashSet<>();
produces.add("application/json;charset=UTF-8"); // produces.add("application/json;charset=UTF-8");
return produces; // return produces;
} // }
} }

View File

@ -3,7 +3,6 @@ package com.itn.mjonApi.etc.ganpandaum.web;
import com.itn.mjonApi.cmn.msg.RestResponse; import com.itn.mjonApi.cmn.msg.RestResponse;
import com.itn.mjonApi.etc.ganpandaum.mapper.domain.GdVO; import com.itn.mjonApi.etc.ganpandaum.mapper.domain.GdVO;
import com.itn.mjonApi.etc.ganpandaum.service.GdService; import com.itn.mjonApi.etc.ganpandaum.service.GdService;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
@ -42,7 +41,6 @@ public class GdRestController {
*/ */
@CrossOrigin("*") // 모든 요청에 접근 허용 @CrossOrigin("*") // 모든 요청에 접근 허용
@PostMapping("/etc/ganpandaum/sendEstimateEmail") @PostMapping("/etc/ganpandaum/sendEstimateEmail")
@ApiOperation(value= "단문 문자 전송", notes = " 같은 내용으로 여러명에게 보냄")
public ResponseEntity<RestResponse> sendEstimateEmail(GdVO gdVO) throws Exception { public ResponseEntity<RestResponse> sendEstimateEmail(GdVO gdVO) throws Exception {
return ResponseEntity.ok().body(gdService.sendEstimateEmail(gdVO)); return ResponseEntity.ok().body(gdService.sendEstimateEmail(gdVO));
} }

View File

@ -1,7 +1,5 @@
package com.itn.mjonApi.mjon.api.inqry.service.mapper.domain; package com.itn.mjonApi.mjon.api.inqry.service.mapper.domain;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Getter; import lombok.Getter;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
@ -13,41 +11,23 @@ import java.io.Serializable;
@Setter @Setter
@NoArgsConstructor @NoArgsConstructor
@AllArgsConstructor @AllArgsConstructor
@ApiModel(description = "전체 발송 정보에 필요한 값들을 받는 vo") //@ApiModel(description = "전체 발송 정보에 필요한 값들을 받는 vo")
public class HstryDetailVO implements Serializable{ public class HstryDetailVO implements Serializable{
private static final long serialVersionUID = -7865729705175845268L; private static final long serialVersionUID = -7865729705175845268L;
@ApiModelProperty(value = "사용자 ID", example = "goodgkdus", required = true) private String mberId; // value = "사용자 ID", example = "goodgkdus"
private String mberId;
@ApiModelProperty(value = "Api Key", example = "0367a25ec370d1141898a0b9767103", required = true) private String accessKey; // value = "Api Key", example = "0367a25ec370d1141898a0b9767103"
private String accessKey;
@ApiModelProperty(value = "msg_group_id", example = "MSGGID_0000000011418", required = true) private String msgGroupId; // value = "msg_group_id", example = "MSGGID_0000000011418"
private String msgGroupId;
@ApiModelProperty(value = "page 번호", example = "1") private String page; // value = "page 번호", example = "1"
private String page;
@ApiModelProperty(value = "page 당 출력갯수 30~500", example = "30") private String pageSize; // value = "page 당 출력갯수 30~500", example = "30"
private String pageSize;
public String test_yn; public String test_yn;
public void setTest_yn(String testYn) {
this.test_yn = testYn;
}
//private String mberId; // 사용자 ID
// private double shortPrice; // 단문 이용단가
// private double longPrice; // 장문 이용단가
// private double picturePrice; // 그림 이용단가
// private double userMoney; // 잔액
// private int sendPsbltEa; //발송 가능건
} }

View File

@ -1,52 +1,34 @@
package com.itn.mjonApi.mjon.api.inqry.service.mapper.domain; package com.itn.mjonApi.mjon.api.inqry.service.mapper.domain;
import java.io.Serializable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Getter; import lombok.Getter;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import lombok.Setter; import lombok.Setter;
import java.io.Serializable;
@Getter @Getter
@Setter @Setter
@NoArgsConstructor @NoArgsConstructor
@AllArgsConstructor @AllArgsConstructor
@ApiModel(description = "전체 발송 정보에 필요한 값들을 받는 vo") //@ApiModel(description = "전체 발송 정보에 필요한 값들을 받는 vo")
public class HstryVO implements Serializable{ public class HstryVO implements Serializable{
private static final long serialVersionUID = -7865729705175845268L; private static final long serialVersionUID = -7865729705175845268L;
@ApiModelProperty(value = "사용자 ID", example = "goodgkdus", required = true) private String mberId; // value = "사용자 ID", example = "goodgkdus"
private String mberId;
@ApiModelProperty(value = "Api Key", example = "0367a25ec370d1141898a0b9767103", required = true) private String accessKey; // value = "Api Key", example = "0367a25ec370d1141898a0b9767103"
private String accessKey;
@ApiModelProperty(value = "page 번호", example = "1") private String page; // value = "page 번호", example = "1"
private String page;
@ApiModelProperty(value = "page 당 출력갯수 30~500", example = "30") private String pageSize; // value = "page 당 출력갯수 30~500", example = "30"
private String pageSize;
@ApiModelProperty(value = "조회시작일자 기본값 오늘", example = "20230523") private String startDate; // value = "조회시작일자 기본값 오늘", example = "20230523"
private String startDate;
@ApiModelProperty(value = "조회마감일자 기본값 내일", example = "20230524") private String endDate; // value = "조회마감일자 기본값 내일", example = "20230524"
private String endDate;
@ApiModelProperty(value = "테스트 여부 YF-실패 테스트/YS-성공테스트 기본값 ''", example = "YF") private String test_yn; // 테스트 여부 // value = "테스트 여부 YF-실패 테스트/YS-성공테스트 기본값 ''", example = "YF"
private String test_yn; // 테스트 여부
//private String mberId; // 사용자 ID
// private double shortPrice; // 단문 이용단가
// private double longPrice; // 장문 이용단가
// private double picturePrice; // 그림 이용단가
// private double userMoney; // 잔액
// private int sendPsbltEa; //발송 가능건
} }

View File

@ -1,5 +1,10 @@
package com.itn.mjonApi.mjon.api.inqry.web; package com.itn.mjonApi.mjon.api.inqry.web;
import com.itn.mjonApi.cmn.msg.RestResponse;
import com.itn.mjonApi.mjon.api.inqry.service.HstryService;
import com.itn.mjonApi.mjon.api.inqry.service.mapper.domain.HstryDetailVO;
import com.itn.mjonApi.mjon.api.inqry.service.mapper.domain.HstryVO;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.CrossOrigin; import org.springframework.web.bind.annotation.CrossOrigin;
@ -7,14 +12,6 @@ import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.client.RestTemplate; import org.springframework.web.client.RestTemplate;
import com.itn.mjonApi.cmn.msg.RestResponse;
import com.itn.mjonApi.mjon.api.inqry.service.HstryService;
import com.itn.mjonApi.mjon.api.inqry.service.mapper.domain.HstryDetailVO;
import com.itn.mjonApi.mjon.api.inqry.service.mapper.domain.HstryVO;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
/** /**
* packageName : com.itn.mjonApi.mjon.hstry.web * packageName : com.itn.mjonApi.mjon.hstry.web
* fileName : HstryRestController * fileName : HstryRestController
@ -44,13 +41,12 @@ public class HstryRestController {
/** /**
* *
* @param msgRequestVO * @param hstryVO
* @Discription 문자 발송 테스트 * @Discription 전체 전송 내역 조회
* @return * @return
*/ */
@CrossOrigin("*") // 모든 요청에 접근 허용 @CrossOrigin("*") // 모든 요청에 접근 허용
@PostMapping("/api/inqry/hstry") @PostMapping("/api/inqry/hstry")
@ApiOperation(value= "전송 내역 조회", notes = "전체 전송 내역 조회")
public ResponseEntity<RestResponse> apiInqryHstry(HstryVO hstryVO) throws Exception { public ResponseEntity<RestResponse> apiInqryHstry(HstryVO hstryVO) throws Exception {
return ResponseEntity.ok().body(hstryService.hstryList(hstryVO)); return ResponseEntity.ok().body(hstryService.hstryList(hstryVO));
@ -63,13 +59,12 @@ public class HstryRestController {
/** /**
* *
* @param msgRequestVO * @param hstryDetailVO
* @Discription 문자 발송 테스트 * @Discription 전송 내역 조회(상세)
* @return * @return
*/ */
@CrossOrigin("*") // 모든 요청에 접근 허용 @CrossOrigin("*") // 모든 요청에 접근 허용
@PostMapping("/api/inqry/hstryDetail") @PostMapping("/api/inqry/hstryDetail")
@ApiOperation(value= "전송 내역 조회(상세)", notes = "상세 전송 내역 조회")
public ResponseEntity<RestResponse> apiInqryHstryDetail(HstryDetailVO hstryDetailVO) throws Exception { public ResponseEntity<RestResponse> apiInqryHstryDetail(HstryDetailVO hstryDetailVO) throws Exception {
return ResponseEntity.ok().body(hstryService.hstryDetailList(hstryDetailVO)); return ResponseEntity.ok().body(hstryService.hstryDetailList(hstryDetailVO));

View File

@ -1,7 +1,5 @@
package com.itn.mjonApi.mjon.api.send.mapper.domain; package com.itn.mjonApi.mjon.api.send.mapper.domain;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*; import lombok.*;
import java.io.Serializable; import java.io.Serializable;
@ -11,7 +9,7 @@ import java.io.Serializable;
* fileName : MjonMsgVO * fileName : MjonMsgVO
* author : hylee * author : hylee
* date : 2023-05-09 * date : 2023-05-09
* description : * description : 문자 발송에 필요한 값들을 받는 vo
* =========================================================== * ===========================================================
* DATE AUTHOR NOTE * DATE AUTHOR NOTE
* ----------------------------------------------------------- * -----------------------------------------------------------
@ -22,7 +20,6 @@ import java.io.Serializable;
@NoArgsConstructor @NoArgsConstructor
@AllArgsConstructor @AllArgsConstructor
@Builder @Builder
@ApiModel(description = "문자 발송에 필요한 값들을 받는 vo")
public class MsgRequestVO implements Serializable { public class MsgRequestVO implements Serializable {
/** /**
@ -32,87 +29,69 @@ public class MsgRequestVO implements Serializable {
*/ */
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "사용자 ID", example = "goodgkdus", required = true) private String mberId; // value = "사용자 ID", example = "goodgkdus"
private String mberId;
@ApiModelProperty(value = "Api Key", example = "0367a25ec370d1141898a0b9767103", required = true) private String accessKey; // value = "Api Key", example = "0367a25ec370d1141898a0b9767103"
private String accessKey;
@ApiModelProperty(value = "SMS용 메시지본문", example = "문자 메세지 본문", required = true) private String smsTxt; // value = "SMS용 메시지본문", example = "문자 메세지 본문"
private String smsTxt;
@ApiModelProperty(value = "수신번호리스트", dataType = "[Ljava.lang.String;", example = "01011112222,01022223333", required = true) private String[] callToList; // value = "수신번호리스트", dataType = "[Ljava.lang.String;", example = "01011112222,01022223333"
private String[] callToList;
@ApiModelProperty(value = "발신번호 :: 정책이 필요함", example = "01011112222", required = true) private String callFrom; // value = "발신번호 :: 정책이 필요함", example = "01011112222"
private String callFrom;
private String eachPrice="0"; // value = "전송문자 개별가격", example = "0"
@ApiModelProperty(value = "전송문자 개별가격", example = "0", hidden = true)
private String eachPrice="0";
private String sPrice="0"; // 임시 private String sPrice="0"; // 임시
@ApiModelProperty(value = "전송문자 토탈가격", example = "0", hidden = true) private String totPrice="0"; // value = "전송문자 토탈가격", example = "0"
private String totPrice="0";
@ApiModelProperty(value = "첨부파일 갯수", example = "0", hidden = true) private String fileCnt="0"; // value = "첨부파일 갯수", example = "0"
private String fileCnt="0";
@ApiModelProperty(value = "메시지의 (4: SMS 전송, 5: URL 전송, 6: MMS전송, 7: BARCODE전송, 8: 카카오 알림톡 전송)", example = "4", hidden = true) private String msgType="4"; // value = "메시지의 (4: SMS 전송, 5: URL 전송, 6: MMS전송, 7: BARCODE전송, 8: 카카오 알림톡 전송)", example = "4"
private String msgType="4";
// ==== 단가 ==== // ==== 단가 ====
@ApiModelProperty(value = "sms 단가 null 이면 에러", example = "0", hidden = true) private float smsPrice=0; // value = "sms 단가 null 이면 에러", example = "0"
private float smsPrice=0; private float mmsPrice=0; // value = "mms 단가 null 이면 에러", example = "0"
@ApiModelProperty(value = "mms 단가 null 이면 에러", example = "0", hidden = true)
private float mmsPrice=0;
// private float kakaoAtPrice; // 카카오 알림톡 단가
// private float kakaoFtPrice; // 카카오 친구톡 단가
// private float kakaoFtImgPrice;// 카카오 이미지 단가
// private float kakaoFtWideImgPrice; // 카카오 와이드 이미지 단가
@ApiModelProperty(value = "그림 이미지 경로", example = "new String[0]", hidden = true) private String[] imgFilePath = new String[0]; // value = "그림 이미지 경로", example = "new String[0]"
private String[] imgFilePath = new String[0];
private String spamStatus; // value = "스팸문자 유무 (Y/N) - 서비스단에서 처리 함", example = ""
@ApiModelProperty(value = "스팸문자 유무 (Y/N) - 서비스단에서 처리 함", example = "", hidden = true) private String txtReplYn="N"; // value = "변환문자 유무 (Y/N) - 서비스단에서 처리 함", example = "N"
private String spamStatus;
@ApiModelProperty(value = "변환문자 유무 (Y/N) - 서비스단에서 처리 함", example = "N", hidden = true) // @ApiModelProperty(value = "치환 이름 리스트 |로 구분", example = "홍길동1|홍길동2|홍길동3")
private String txtReplYn="N";
@ApiModelProperty(value = "치환 이름 리스트 |로 구분", example = "홍길동1|홍길동2|홍길동3")
private String nameStr; private String nameStr;
@ApiModelProperty(value = "치환 문자1 리스트 |로 구분", example = "") // @ApiModelProperty(value = "치환 문자1 리스트 |로 구분", example = "")
private String rep1Str; private String rep1Str;
@ApiModelProperty(value = "치환 문자2 리스트 |로 구분", example = "") // @ApiModelProperty(value = "치환 문자2 리스트 |로 구분", example = "")
private String rep2Str; private String rep2Str;
@ApiModelProperty(value = "치환 문자3 리스트 |로 구분", example = "") // @ApiModelProperty(value = "치환 문자3 리스트 |로 구분", example = "")
private String rep3Str; private String rep3Str;
@ApiModelProperty(value = "치환 문자4 리스트 |로 구분", example = "") // @ApiModelProperty(value = "치환 문자4 리스트 |로 구분", example = "")
private String rep4Str; private String rep4Str;
@ApiModelProperty(value = "nameStr 을 |로 split 후 담는 변수", example = "", hidden = true) // @ApiModelProperty(value = "nameStr 을 |로 split 후 담는 변수", example = "", hidden = true)
private String[] nameList= new String[0];; private String[] nameList= new String[0];;
@ApiModelProperty(value = "rep1Str 을 |로 split 후 담는 변수", example = "", hidden = true) // @ApiModelProperty(value = "rep1Str 을 |로 split 후 담는 변수", example = "", hidden = true)
private String[] rep1List= new String[0];; private String[] rep1List= new String[0];;
@ApiModelProperty(value = "rep2Str 을 |로 split 후 담는 변수", example = "", hidden = true) // @ApiModelProperty(value = "rep2Str 을 |로 split 후 담는 변수", example = "", hidden = true)
private String[] rep2List= new String[0];; private String[] rep2List= new String[0];;
@ApiModelProperty(value = "rep3Str 을 |로 split 후 담는 변수", example = "", hidden = true) // @ApiModelProperty(value = "rep3Str 을 |로 split 후 담는 변수", example = "", hidden = true)
private String[] rep3List= new String[0];; private String[] rep3List= new String[0];;
@ApiModelProperty(value = "rep4Str 을 |로 split 후 담는 변수", example = "", hidden = true) // @ApiModelProperty(value = "rep4Str 을 |로 split 후 담는 변수", example = "", hidden = true)
private String[] rep4List= new String[0];; private String[] rep4List= new String[0];;
@ApiModelProperty(value = "예약 유무 (Y/N)", example = "N", hidden = true) // @ApiModelProperty(value = "예약 유무 (Y/N)", example = "N", hidden = true)
private String reserveYn="N"; // 예약문자 여부 default N private String reserveYn="N"; // 예약문자 여부 default N
// 치환 있을 경우 사용 // 치환 있을 경우 사용
@ApiModelProperty(value = "치환 후 단문 건수", example = "", hidden = true) // @ApiModelProperty(value = "치환 후 단문 건수", example = "", hidden = true)
private String shortMsgCnt; private String shortMsgCnt;
@ApiModelProperty(value = "치환 후 장문 건수", example = "", hidden = true) // @ApiModelProperty(value = "치환 후 장문 건수", example = "", hidden = true)
private String longMsgCnt; private String longMsgCnt;
@ApiModelProperty(value = "문자 종류 일반:N, 광고:A, 선거:C", example = "N", hidden = true) // @ApiModelProperty(value = "문자 종류 일반:N, 광고:A, 선거:C", example = "N", hidden = true)
private String msgKind="N"; // '문자 종류 일반:N, 광고:A, 선거:C', private String msgKind="N"; // '문자 종류 일반:N, 광고:A, 선거:C',
private String test_yn; // 테스트 여부 private String test_yn; // 테스트 여부

View File

@ -1,7 +1,5 @@
package com.itn.mjonApi.mjon.api.send.mapper.domain; package com.itn.mjonApi.mjon.api.send.mapper.domain;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Getter; import lombok.Getter;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
@ -14,7 +12,8 @@ import java.io.Serializable;
* fileName : MjonMsgVO * fileName : MjonMsgVO
* author : hylee * author : hylee
* date : 2023-05-23 * date : 2023-05-23
* description : 1건~500건 대량 문자 개인별로 발송 * description : 문자 발송에 필요한 값들을 받는 vo
* 1건~500건 대량 문자 개인별로 발송
* =========================================================== * ===========================================================
* DATE AUTHOR NOTE * DATE AUTHOR NOTE
* ----------------------------------------------------------- * -----------------------------------------------------------
@ -24,7 +23,6 @@ import java.io.Serializable;
@Setter @Setter
@NoArgsConstructor @NoArgsConstructor
@AllArgsConstructor @AllArgsConstructor
@ApiModel(description = "문자 발송에 필요한 값들을 받는 vo")
public class MsgsRequestVO implements Serializable { public class MsgsRequestVO implements Serializable {
/** /**
@ -34,87 +32,70 @@ public class MsgsRequestVO implements Serializable {
*/ */
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "사용자 ID", example = "goodgkdus", required = true) private String mberId; // 사용자 ID
private String mberId;
@ApiModelProperty(value = "Api Key", example = "0367a25ec370d1141898a0b9767103", required = true) private String accessKey; // Api Key
private String accessKey;
@ApiModelProperty(value = "SMS용 메시지본문", example = "문자 메세지 본문", required = true) private String smsTxt; // SMS용 메시지본문
private String smsTxt;
@ApiModelProperty(value = "수신번호리스트", dataType = "[Ljava.lang.String;", example = "01011112222,01022223333", required = true) private String[] callToList; // 수신번호리스트
private String[] callToList;
@ApiModelProperty(value = "발신번호 :: 정책이 필요함", example = "01011112222", required = true) private String callFrom; // 발신번호 :: 정책이 필요함
private String callFrom;
@ApiModelProperty(value = "전송문자 개별가격", example = "0", hidden = true) private String eachPrice = "0"; // 전송문자 개별가격
private String eachPrice = "0";
private String sPrice = "0"; // 임시 private String sPrice = "0"; // 임시
@ApiModelProperty(value = "전송문자 토탈가격", example = "0", hidden = true) private String totPrice = "0"; // 전송문자 토탈가격
private String totPrice = "0";
@ApiModelProperty(value = "첨부파일 갯수", example = "0", hidden = true) private String fileCnt = "0"; // 첨부파일 갯수
private String fileCnt = "0";
@ApiModelProperty(value = "메시지의 (4: SMS 전송, 5: URL 전송, 6: MMS전송, 7: BARCODE전송, 8: 카카오 알림톡 전송)", example = "4", hidden = true) private String msgType = "4"; // 메시지의 (4: SMS 전송, 5: URL 전송, 6: MMS전송, 7: BARCODE전송, 8: 카카오 알림톡 전송)
private String msgType = "4";
// ==== 단가 ==== // ==== 단가 ====
@ApiModelProperty(value = "sms 단가 null 이면 에러", example = "0", hidden = true) private float smsPrice = 0; // sms 단가 null 이면 에러
private float smsPrice = 0;
@ApiModelProperty(value = "mms 단가 null 이면 에러", example = "0", hidden = true) private float mmsPrice = 0; // mms 단가 null 이면 에러
private float mmsPrice = 0;
// private float kakaoAtPrice; // 카카오 알림톡 단가 // private float kakaoAtPrice; // 카카오 알림톡 단가
// private float kakaoFtPrice; // 카카오 친구톡 단가 // private float kakaoFtPrice; // 카카오 친구톡 단가
// private float kakaoFtImgPrice;// 카카오 이미지 단가 // private float kakaoFtImgPrice;// 카카오 이미지 단가
// private float kakaoFtWideImgPrice; // 카카오 와이드 이미지 단가 // private float kakaoFtWideImgPrice; // 카카오 와이드 이미지 단가
@ApiModelProperty(value = "그림 이미지 경로", example = "new String[0]", hidden = true) private String[] imgFilePath = new String[0]; // 그림 이미지 경로
private String[] imgFilePath = new String[0];
@ApiModelProperty(value = "스팸문자 유무 (Y/N) - 서비스단에서 처리 함", example = "", hidden = true) private String spamStatus; // 스팸문자 유무 (Y/N) - 서비스단에서 처리
private String spamStatus;
@ApiModelProperty(value = "변환문자 유무 (Y/N) - 서비스단에서 처리 함", example = "N", hidden = true) private String txtReplYn = "N"; // 변환문자 유무 (Y/N) - 서비스단에서 처리
private String txtReplYn = "N";
// @ApiModelProperty(value = "치환 이름 리스트 |로 구분", example = "홍길동1|홍길동2|홍길동3") // private String nameStr; // value = "치환 이름 리스트 |로 구분", example = "홍길동1|홍길동2|홍길동3"
// private String nameStr;
// @ApiModelProperty(value = "치환 문자1 리스트 |로 구분", example = "")
// private String rep1Str;
// @ApiModelProperty(value = "치환 문자2 리스트 |로 구분", example = "")
// private String rep2Str;
// @ApiModelProperty(value = "치환 문자3 리스트 |로 구분", example = "")
// private String rep3Str;
// @ApiModelProperty(value = "치환 문자4 리스트 |로 구분", example = "")
// private String rep4Str;
// @ApiModelProperty(value = "nameStr 을 |로 split 후 담는 변수", example = "", hidden = true) // private String rep1Str; // value = "치환 문자1 리스트 |로 구분", example = ""
// private String[] nameList= new String[0];
// @ApiModelProperty(value = "rep1Str 을 |로 split 후 담는 변수", example = "", hidden = true)
// private String[] rep1List= new String[0];
// @ApiModelProperty(value = "rep2Str 을 |로 split 후 담는 변수", example = "", hidden = true)
// private String[] rep2List= new String[0];
// @ApiModelProperty(value = "rep3Str 을 |로 split 후 담는 변수", example = "", hidden = true)
// private String[] rep3List= new String[0];
// @ApiModelProperty(value = "rep4Str 을 |로 split 후 담는 변수", example = "", hidden = true)
// private String[] rep4List= new String[0];
@ApiModelProperty(value = "예약 유무 (Y/N)", example = "N", hidden = true) // private String rep2Str; // value = "치환 문자2 리스트 |로 구분", example = ""
private String reserveYn = "N"; // 예약문자 여부 default N
// private String rep3Str; // value = "치환 문자3 리스트 |로 구분", example = ""
// private String rep4Str; // value = "치환 문자4 리스트 |로 구분", example = ""
// private String[] nameList= new String[0]; // value = "nameStr 을 |로 split 후 담는 변수", example = ""
// private String[] rep1List= new String[0]; // value = "rep1Str 을 |로 split 후 담는 변수", example = ""
// private String[] rep2List= new String[0]; // value = "rep2Str 을 |로 split 후 담는 변수", example = ""
// private String[] rep3List= new String[0]; // value = "rep3Str 을 |로 split 후 담는 변수", example = ""
// private String[] rep4List= new String[0]; // value = "rep4Str 을 |로 split 후 담는 변수", example = ""
private String reserveYn = "N"; // value = "예약 유무 (Y/N)", example = "N"
// 치환 있을 경우 사용 // 치환 있을 경우 사용
// @ApiModelProperty(value = "치환 후 단문 건수", example = "", hidden = true) // private String shortMsgCnt; // value = "치환 후 단문 건수", example = ""
// private String shortMsgCnt;
// @ApiModelProperty(value = "치환 후 장문 건수", example = "", hidden = true) // private String longMsgCnt; // value = "치환 후 장문 건수", example = ""
// private String longMsgCnt;
@ApiModelProperty(value = "문자 종류 일반:N, 광고:A, 선거:C", example = "N", hidden = true) // @ApiModelProperty(value = "문자 종류 일반:N, 광고:A, 선거:C", example = "N", hidden = true)
private String msgKind = "N"; // '문자 종류 일반:N, 광고:A, 선거:C', private String msgKind = "N"; // '문자 종류 일반:N, 광고:A, 선거:C',
private String test_yn; // 테스트 여부 private String test_yn; // 테스트 여부

View File

@ -4,7 +4,6 @@ import com.itn.mjonApi.cmn.msg.RestResponse;
import com.itn.mjonApi.mjon.api.send.mapper.domain.MsgRequestVO; import com.itn.mjonApi.mjon.api.send.mapper.domain.MsgRequestVO;
import com.itn.mjonApi.mjon.api.send.mapper.domain.MsgsRequestVO; import com.itn.mjonApi.mjon.api.send.mapper.domain.MsgsRequestVO;
import com.itn.mjonApi.mjon.api.send.service.SendService; import com.itn.mjonApi.mjon.api.send.service.SendService;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
@ -49,7 +48,6 @@ public class SendRestController {
*/ */
@CrossOrigin("*") // 모든 요청에 접근 허용 @CrossOrigin("*") // 모든 요청에 접근 허용
@PostMapping("/api/send/sendMsg") @PostMapping("/api/send/sendMsg")
@ApiOperation(value= "단문 문자 전송", notes = " 같은 내용으로 여러명에게 보냄")
public ResponseEntity<RestResponse> sendMsg(MsgRequestVO msgRequestVO) throws Exception { public ResponseEntity<RestResponse> sendMsg(MsgRequestVO msgRequestVO) throws Exception {
return ResponseEntity.ok().body(sendService.sendMsgData(msgRequestVO)); return ResponseEntity.ok().body(sendService.sendMsgData(msgRequestVO));
} }
@ -63,7 +61,6 @@ public class SendRestController {
*/ */
@CrossOrigin("*") // 모든 요청에 접근 허용 @CrossOrigin("*") // 모든 요청에 접근 허용
@PostMapping("/api/send/sendMsgs") @PostMapping("/api/send/sendMsgs")
@ApiOperation(value= "문자 전송", notes = "[문자 발송] 다른 내용으로 여려명에게 보냄")
public ResponseEntity<RestResponse> sendMsgs(MsgsRequestVO msgsRequestVO) throws Exception { public ResponseEntity<RestResponse> sendMsgs(MsgsRequestVO msgsRequestVO) throws Exception {
return ResponseEntity.ok().body(sendService.sendMsgsData(msgsRequestVO)); return ResponseEntity.ok().body(sendService.sendMsgsData(msgsRequestVO));
} }

View File

@ -17,3 +17,8 @@ logging.level.root=info
api.root.url=http://192.168.0.125:8095/ api.root.url=http://192.168.0.125:8095/
Ganpandaup.receiver.email=ganpan9882@kakao.com Ganpandaup.receiver.email=ganpan9882@kakao.com
tomcat.ajp.protocol=AJP/1.3
tomcat.ajp.port=8109
tomcat.ajp.enabled=true

View File

@ -24,6 +24,11 @@ server.error.whitelabel.enabled=false
# respone success status code # respone success status code
respone.status.success=STAT_0 respone.status.success=STAT_0
spring.mvc.pathmatch.matching-strategy=ant_path_matcher
#spring.boot.admin.client.instance.service-url=http://localhost:8089
spring.boot.admin.client.url=http://localhost:8080
management.endpoints.web.exposure.include=*
management.endpoint.health.show-details=always
# #
Ganpandaup.estimate.template.url=https://www.munjaon.co.kr/publish/email_form_ganpandaum_contact.html Ganpandaup.estimate.template.url=https://www.munjaon.co.kr/publish/email_form_ganpandaum_contact.html