문자전송 처리 수정
parent
f9d41a2459
commit
03d8d12c9a
@ -0,0 +1,150 @@
|
||||
package cokr.xit.fims.mngt.web;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
import cokr.xit.base.web.ApplicationController;
|
||||
import cokr.xit.fims.mngt.MsgEntity;
|
||||
import cokr.xit.fims.mngt.MsgQuery;
|
||||
import cokr.xit.fims.mngt.dao.MsgMapper;
|
||||
import cokr.xit.fims.mngt.service.MsgService;
|
||||
import net.minidev.json.JSONObject;
|
||||
|
||||
@Controller("rentInterface")
|
||||
@RequestMapping(value = "/intf/rent", name = "렌트카 관련 연계")
|
||||
public class RentInterfaceController extends ApplicationController {
|
||||
|
||||
@Resource(name="msgService")
|
||||
private MsgService msgService;
|
||||
|
||||
@Resource(name="msgMapper")
|
||||
private MsgMapper msgMapper;
|
||||
|
||||
public final static String[] m_b_d = {
|
||||
"{\"msg\":{\"body\":\"{description\":",
|
||||
"},},}"
|
||||
};
|
||||
public final static String[] t = {
|
||||
"{\"text\":",
|
||||
"}"
|
||||
};
|
||||
|
||||
@PostMapping(name="문자전송 요청 등록", value="message/regist")
|
||||
public ModelAndView regist(@RequestBody JSONObject apiSpec) {
|
||||
ModelAndView mav = new ModelAndView("jsonView");
|
||||
|
||||
List<MsgEntity> msgEntityList = new ArrayList<MsgEntity>();
|
||||
|
||||
String reqSys = (String) apiSpec.get("reqSys"); //요청시스템(이노,진우,엑스아이티)
|
||||
|
||||
String msgPrps = (String) apiSpec.get("msgPrps"); //목적(고장신고,사전알림,주차신고민원,기타민원)
|
||||
String msgDtlPrps = (String) apiSpec.get("msgDtlPrps"); //상세목적
|
||||
|
||||
String sggCd = (String) apiSpec.get("sggCd"); //시군구코드
|
||||
|
||||
|
||||
//누리2모듈 아이디 찾기
|
||||
MsgQuery msgQuery = new MsgQuery();
|
||||
msgQuery.setStngInfoType("01");
|
||||
msgQuery.setSggCd(System.getProperty("sgg"));
|
||||
String nuri2Id = msgMapper.selectStng(msgQuery).string("MODULE_ID");
|
||||
if(ifEmpty(nuri2Id, ()->"").equals("")) {
|
||||
mav.addObject("saved", false);
|
||||
}
|
||||
|
||||
List<Map> reqs = (List<Map>) apiSpec.get("reqs");
|
||||
for(Map req : reqs) {
|
||||
MsgEntity msgEntity = new MsgEntity();
|
||||
msgEntity.setMsgSubId(nuri2Id);
|
||||
|
||||
|
||||
String trnsmisNo = (String) req.get("trnsmisNo");
|
||||
String recptnNo = (String) req.get("recptnNo");
|
||||
String mssageCn = (String) req.get("mssageCn");
|
||||
|
||||
msgEntity.setCallback(trnsmisNo);
|
||||
msgEntity.setPhone(recptnNo);
|
||||
|
||||
boolean able_kko = false; //알림톡 가능 여부
|
||||
boolean able_rcs = false; //RCS 가능 여부
|
||||
|
||||
if(able_kko && able_rcs) { // 알림톡+RCS+XMS
|
||||
msgEntity.setMsgTypes(new String[]{"ALT","RCS","MMS"});
|
||||
msgEntity.setContentsTypeN("ALT");
|
||||
msgEntity.setContentsTypeN("RCL");
|
||||
msgEntity.setContentsTypeN("LMS");
|
||||
} else if(able_kko && !able_rcs) { // 알림톡+XMS
|
||||
msgEntity.setMsgTypes(new String[]{"ALT","MMS"});
|
||||
msgEntity.setContentsTypeN("ALT");
|
||||
msgEntity.setContentsTypeN("LMS");
|
||||
msgEntity.setXmsText(mssageCn);
|
||||
} else if(!able_kko && able_rcs){ // RCS+XMS
|
||||
msgEntity.setMsgTypes(new String[]{"RCS","MMS"});
|
||||
msgEntity.setContentsTypeN("RCL");
|
||||
msgEntity.setContentsTypeN("LMS");
|
||||
msgEntity.setXmsText(mssageCn);
|
||||
} else {// XMS
|
||||
msgEntity.setMsgTypes(new String[]{"MMS"});
|
||||
msgEntity.setContentsTypeN("LMS");
|
||||
}
|
||||
msgEntity.setXmsText(mssageCn);
|
||||
|
||||
|
||||
|
||||
|
||||
if(able_kko) {
|
||||
String json = t[0] + mssageCn + t[1];
|
||||
|
||||
msgEntity.setAltSenderKey("신청한센더키");
|
||||
msgEntity.setAltTemplateCode("신청한템플릿코드");
|
||||
|
||||
msgEntity.setAltJson(json);
|
||||
|
||||
|
||||
}
|
||||
|
||||
if(able_rcs) {
|
||||
|
||||
msgEntity.setRcsBrandKey("신청한브랜드키");
|
||||
|
||||
String json = "";
|
||||
String contentsTypeOfRCS = msgEntity.getContentsTypeOfRCS();
|
||||
|
||||
if("RCS".equals(contentsTypeOfRCS)) {
|
||||
msgEntity.setRcsMassageBaseId("SS000000");
|
||||
} else if("RCL".equals(contentsTypeOfRCS)) {
|
||||
msgEntity.setRcsMassageBaseId("SL000000");
|
||||
} else {
|
||||
|
||||
throw new RuntimeException("");
|
||||
//RCT //baseid 발급 필요
|
||||
//RLT //RCT의 오타
|
||||
//RCD,RCF //baseId 발급 필요,mgov예제에 없는 형식
|
||||
//RCM,RIT //baseId 발급 필요,필요하지 않는 형식(미디어 첨부)
|
||||
}
|
||||
|
||||
json = m_b_d[0] + mssageCn + m_b_d[1];
|
||||
|
||||
msgEntity.setRcsJson(json);
|
||||
}
|
||||
msgEntityList.add(msgEntity);
|
||||
}
|
||||
|
||||
//
|
||||
|
||||
Map<String,Object> resultMap = msgService.regist(msgEntityList);
|
||||
|
||||
mav.addObject("resultMap", resultMap);
|
||||
mav.addObject("saved",true);
|
||||
return mav;
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue