2024-09-30 11:37 분쟁조정상담 작업

This commit is contained in:
myname 2024-09-30 11:38:13 +09:00
parent 786113a007
commit 3dfa378653
2 changed files with 313 additions and 0 deletions

View File

@ -0,0 +1,221 @@
package seed.com.user.counsel;
import java.text.ParseException;
import java.util.Date;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpSession;
import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.servlet.ModelAndView;
import com.ibm.icu.text.SimpleDateFormat;
import seed.com.gtm.seedfile.SeedFileService;
import seed.manager.group.service.ManagerGroupService;
import seed.manager.member.service.ManagerMemberService;
import seed.manager.site.service.ManagerSiteManagerService;
import seed.manager.site.service.ManagerSiteMenuAuthService;
import seed.manager.site.service.ManagerSiteMenuManagerService;
import seed.manager.site.service.ManagerSiteMenuService;
import seed.utils.SeedUtils;
@Controller
public class WebCounselController {
private Logger log = Logger.getLogger(this.getClass());
@Autowired
private ManagerSiteMenuService managerSiteMenuService;
@Autowired
private ManagerSiteManagerService managerSiteManagerService;
@Autowired
private ManagerMemberService managerMemberService;
@Autowired
private ManagerSiteMenuManagerService managerSiteMenuManagerService;
@Autowired
private ManagerSiteMenuAuthService managerSiteMenuAuthService;
@Autowired
private ManagerGroupService managerGroupService;
@Autowired
private CounselService service;
@Autowired
private SeedFileService fileService;
@Value("#{config['member.merge']}")
private String memberMerge;
@Value("#{config['member.merge.siteIdx']}")
private String memberMergeSiteIdx;
private void setSessionRemove(HttpSession session){
session.removeAttribute("memberIdx");
session.removeAttribute("memberId");
session.removeAttribute("memberName");
session.removeAttribute("memberDept");
session.removeAttribute("memberPosition");
session.removeAttribute("memberTel");
session.removeAttribute("memberPhone");
session.removeAttribute("memberEmail1");
session.removeAttribute("memberEmail2");
session.removeAttribute("memberGrant");
session.removeAttribute("url");
session.removeAttribute("message");
session.removeAttribute("opener");
session.removeAttribute("append");
session.removeAttribute("self");
}
private void setSessionMessageRemove(HttpSession session){
session.removeAttribute("url");
session.removeAttribute("message");
session.removeAttribute("opener");
session.removeAttribute("append");
session.removeAttribute("self");
}
// /user/onlineCounsel/case/01/158/step01.do
@RequestMapping("/web/user/onlineCounsel/{siteIdx}/01/{siteMenuIdx}/step01.do")
public ModelAndView onlineCounselStep01(ModelMap map, HttpSession session, @RequestParam Map<String,Object> paramMap,
@PathVariable(value="siteIdx") String siteIdx,
@PathVariable(value="siteMenuIdx") Integer siteMenuIdx){
setSessionMessageRemove(session);
/*----권한체크----*/
Integer memberIdx = Integer.valueOf(SeedUtils.setReplaceNull(session.getAttribute("memberIdx"),"0"));
String memberGrant = (memberIdx == 0) ? "N" : SeedUtils.setReplaceNull(managerMemberService.getMemberMapForm(memberIdx, new String[] {"memberGrant"}).get("_memberGrant"), "N");
boolean memberAuthM = managerSiteManagerService.getSiteManagerListCnt(siteIdx, memberIdx);
boolean memberAuth = managerSiteMenuManagerService.getSiteMenuManagerListCnt(siteMenuIdx, memberIdx); memberAuthM = true; memberAuth = true;
//메뉴 권한설정
if(!memberGrant.equals("S") && !memberAuthM && !memberAuth &&
!managerSiteMenuAuthService.getSiteMenuAuthChk(siteMenuIdx, memberIdx)){
map.put("message", "common.message.no.grant");
if(memberIdx.equals(0)){
map.put("url", "/"+siteIdx+"/index.do");
}else{
map.put("self", "history");
}
return new ModelAndView("/_common/jsp/umessage");
}
Map<Object, Object> tSiteMenuDB = managerSiteMenuService.getSiteMenuMapForm(siteMenuIdx,
new String[] {"siteMenuName", "siteMenuParentTitle", "siteMenuStatus", "siteMenuType", "siteMenuLinkUrl", "siteMenuCharge", "siteMenuCharge", "siteMenuSNS",
"siteMenuTitle", "siteMenuRegDate", "siteMenuModDate", "siteMenuNameType", "siteMenuIdxs", "siteMenuDepth", "siteMenuSatisfaction", "siteMenuIdx1",
"tSite.siteActiveMenuWidth", "tSite.siteService", "tSite.siteServiceSdate", "tSite.siteServiceSdate"});
if(!memberGrant.equals("S") && !memberAuthM && !memberAuth){
if(!SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuStatus")).equals("U")){
map.put("message", "common.message.no.siteMenu");
map.put("self", "history");
return new ModelAndView("/_common/jsp/umessage");
}
}
if(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteService")).equals("Y")){
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
try{
Date getDate = new Date();
Date sDate = formatter.parse(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteServiceSdate")));
Date eDate = formatter.parse(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteServiceEdate")));
if((sDate.compareTo(formatter.parse(formatter.format(getDate))) > 0 && eDate.compareTo(formatter.parse(formatter.format(getDate))) > 0) ||
(sDate.compareTo(formatter.parse(formatter.format(getDate))) < 0 && eDate.compareTo(formatter.parse(formatter.format(getDate))) < 0)){
return new ModelAndView("redirect:/user/common/service/"+siteIdx+".do");
}
}catch(ParseException e){
log.error("CHECK ERROR:",e);
}
}
if(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuType")).equals("F") ||
SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuType")).equals("L")){
return new ModelAndView("redirect:"+SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuLinkUrl")));
}
String siteMenuManager = "N";
StringBuffer siteMenuManagerIdx = new StringBuffer();
String siteMenuCharge = SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuCharge"), "N");
List<Map<Object, Object>> siteMenuManagerList =
managerSiteMenuManagerService.getSiteMenuManagerMapList(siteMenuIdx, new String[] {"siteMenuManagerStatus", "tMember.memberIdx"});
for(int i=0; i<siteMenuManagerList.size(); i++){
Map<Object, Object> tSiteMenuManagerDB = siteMenuManagerList.get(i);
if(SeedUtils.setReplaceNull(tSiteMenuManagerDB.get("_siteMenuManagerStatus")).equals("U")){
if(!memberIdx.equals(0) &&
memberIdx.equals(Integer.parseInt(SeedUtils.setReplaceNull(tSiteMenuManagerDB.get("_memberIdx"), "0"))) &&
siteMenuManager.equals("N")){
siteMenuManager = "Y";
}
siteMenuManagerIdx.append(SeedUtils.setReplaceNull(tSiteMenuManagerDB.get("_memberIdx")).toString());
siteMenuManagerIdx.append(",");
}
}
if(memberGrant.equals("S") || memberAuthM){
siteMenuManager = "Y";
}
//편집 권한
map.put("siteMenuManager", siteMenuManager);
//담당자 보기 설정
map.put("siteMenuCharge", siteMenuCharge);
//담당자 이름
map.put("siteMenuManagerIdx", siteMenuManagerIdx.toString());
//만족도 설정
map.put("siteMenuSatisfaction", SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuSatisfaction"), "N"));
map.put("siteMenuSubTitle", managerSiteMenuService.getSiteMenuSubTitleForm(siteIdx, SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuIdx1"))));
String siteMenuTitle = managerSiteMenuService.getSiteMenuParentName(siteIdx, SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuIdxs")), "edit").replaceAll("", "|") +
" | " + SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuName"));
map.put("siteMenuTitle", siteMenuTitle);
//부모메뉴 타이틀 설정한 경우 해당 글의 부모 타이틀을 가져옴
if(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuParentTitle") ,"N").equals("Y")){
String[] siteMenuTitles = siteMenuTitle.split("\\|");
tSiteMenuDB.put("_siteMenuName", siteMenuTitles[Integer.parseInt(tSiteMenuDB.get("_siteMenuDepth").toString())-1]);
}
map.put("tSiteMenuDB", tSiteMenuDB);
map.put("memberAuthM", memberAuthM);
map.put("seedMenuAuth", managerGroupService.getGroupList(siteIdx, memberIdx, memberMerge, memberMergeSiteIdx));
/*----권한체크 종료----*/
return new ModelAndView("/_extra/web/user/onlineCounsel/counselStep01");
}
}

View File

@ -0,0 +1,92 @@
<%@ page contentType="text/html;charset=utf-8" %>
<%@ taglib uri="http://www.springframework.org/tags" prefix="s"%>
<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ page import="seed.utils.SeedProperties"%>
<%@ page import="seed.utils.SeedUtils"%>
<%@ page import="java.util.Date"%>
<%@ page import="java.text.SimpleDateFormat"%>
<!-- css -->
<link rel="stylesheet" href="/kofair_case_seed/css/reset.css">
<link rel="stylesheet" href="/kofair_case_seed/css/font.css">
<link rel="stylesheet" href="/kofair_case_seed/usr/style/common.css">
<link rel="stylesheet" href="/kofair_case_seed/usr/style/layout.css">
<link rel="stylesheet" href="/kofair_case_seed/usr/style/style.css">
<link rel="stylesheet" href="/kofair_case_seed/usr/style/counsel.css">
<!-- js -->
<script src="/kofair_case_seed/script/lib/jquery-3.5.0.js"></script>
<script src="/kofair_case_seed/usr/scripts/common.js"></script>
<script src="/kofair_case_seed/usr/scripts/layout.js"></script>
<script src="/kofair_case_seed/usr/scripts/ui.js"></script>
<script src="/kofair_case_seed/usr/scripts/counsel.js"></script>
<!-- //lnb -->
<div class="sub_content callcenter_content">
<!-- page_location -->
<ul class="page_location">
<li><i class="icon home"></i></li>
<li>분쟁조정 상담</li>
<li>상담신청</li>
<li>분쟁조정 상담</li>
</ul>
<!-- //page_location -->
<h3 class="sub_con_tit">분쟁조정 콜센터</h3>
<p class="sub_con_sub_tit">분쟁조정을 신청하기 전 조정신청 대상 여부 및 분쟁 상황에 대한 피해구제 방법 등에 대해 간단한 상담을 원하실 경우 상담을 신청할 수 있습니다.</p>
<div class="callcenter_banner">
<p class="title">전화상담</p>
<p><b class="gMarket_bold">1588-1490</b>(유료)<br>운영시간 : 평일 09:00 ~ 18:00 (점심시간 12:00~13:00)</p>
</div>
<b class="title blue_border orange_border">기관소개</b>
<p class="title depth03">우리 원 분쟁조정 신청 대상이 아닌 상담내용(민사 사안, 소비자 분쟁 등)의 경우 상담이 제한될 수 있으므로 이 경우 아래의 기관 등을 이용하여 주시기 바랍니다.</p>
<dl class="organ_info">
<div>
<dt class="title blue_border">공정거래위원회</dt>
<dd class="sub_title">약관규제법, 하도급법, 전자상거래소비자보호법 표시 · 광고법, 방문판매법, 할부거래법 등</dd>
<dd class="organ_tel"><a href="tel:1670-0007" title="공정거래위원회 전화">1670-0007</a></dd>
<dd class="organ_site"><a href="https://www.ftc.go.kr" target="_blank">www.ftc.go.kr</a></dd>
</div>
<div>
<dt class="title blue_border">한국소비자원</dt>
<dd class="sub_title">소비자 피해 구제 및 분쟁조정등</dd>
<dd class="organ_tel"><a href="tel:1372" title="한국소비자원 전화">국번없이 1372</a></dd>
<dd class="organ_site"><a href="https://www.kca.go.kr" target="_blank">www.kca.go.kr</a></dd>
</div>
<div>
<dt class="title blue_border">금융감독원</dt>
<dd class="sub_title">금융거래 관련 피해 구제 및 분쟁 조정</dd>
<dd class="organ_tel"><a href="tel:1332" title="금융감독원 전화">1332</a></dd>
<dd class="organ_site"><a href="https://www.fss.or.kr" target="_blank">www.fss.or.kr</a></dd>
</div>
<div>
<dt class="title blue_border">통신분쟁조정위원회</dt>
<dd class="sub_title">전기통신사업자와 이용자간 분쟁조정</dd>
<dd class="organ_tel"><a href="tel:142-246" title="통신분쟁조정위원회 전화">142-246</a></dd>
<dd class="organ_site"><a href="https://www.tdrc.kr" target="_blank">www.tdrc.kr</a></dd>
</div>
<div>
<dt class="title blue_border">대한상사중재원</dt>
<dd class="sub_title">상거래 행위 관련 분쟁조정, 알선 및 각종 중재</dd>
<dd class="organ_tel"><a href="tel:02-551-2000" title="대한상사중재원 전화">02)551-2000</a></dd>
<dd class="organ_site"><a href="http://www.kcab.or.kr" target="_blank">www.kcab.or.kr</a></dd>
</div>
<div>
<dt class="title blue_border">대한법률구조공단</dt>
<dd class="sub_title">무료법률 상담 및 소송지원</dd>
<dd class="organ_tel"><a href="tel:142-246" title="대한법률구조공단 전화">142-246
</a></dd>
<dd class="organ_site"><a href="https://www.klac.or.kr" target="_blank">www.klac.or.kr</a></dd>
</div>
<div>
<dt class="title blue_border">ICT분쟁조정지원센터</dt>
<dd class="sub_title">전자상거래, 온라인광고분쟁, 정보보호 관련 분쟁조정
</dd>
<dd class="organ_tel"><a href="tel:1332" title="ICT분쟁조정지원센터 전화">1332</a></dd>
<dd class="organ_site"><a href="https://www.fss.or.kr" target="_blank">www.fss.or.kr</a></dd>
</div>
</dl>
</div>