문자전송 처리 수정
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