340 lines
11 KiB
Java
340 lines
11 KiB
Java
package seed.com.gtm.join;
|
|
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
import java.util.stream.Collector;
|
|
import java.util.stream.Collectors;
|
|
|
|
import javax.annotation.Resource;
|
|
import javax.servlet.http.HttpSession;
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Controller;
|
|
import org.springframework.ui.ModelMap;
|
|
import org.springframework.web.bind.annotation.RequestMapping;
|
|
import org.springframework.web.bind.annotation.RequestMethod;
|
|
import org.springframework.web.bind.annotation.RequestParam;
|
|
import org.springframework.web.bind.annotation.ResponseBody;
|
|
|
|
import kcc.let.sec.ram.service.AuthorManageVO;
|
|
import kcc.let.sec.ram.service.EgovAuthorManageService;
|
|
import kcc.let.sec.rgm.service.AuthorGroup;
|
|
import kcc.let.sec.rgm.service.EgovAuthorGroupService;
|
|
import kcc.let.uss.umt.service.EgovMberManageService;
|
|
import seed.com.gtm.util.Criteria;
|
|
import seed.com.gtm.util.PageMaker;
|
|
import seed.utils.SeedUtils;
|
|
|
|
@Controller
|
|
@RequestMapping("/gtm/case")
|
|
public class MemberJoinController {
|
|
@Autowired
|
|
private MemberJoinService service;
|
|
|
|
@Resource(name = "egovAuthorManageService")
|
|
private EgovAuthorManageService egovAuthorManageService;
|
|
|
|
@Resource(name = "mberManageService")
|
|
private EgovMberManageService egovMberManageService;
|
|
|
|
@Resource(name = "egovAuthorGroupService")
|
|
private EgovAuthorGroupService egovAuthorGroupService;
|
|
|
|
// /gtm/case/join/write.do
|
|
@RequestMapping(value="/join/write.do", method=RequestMethod.GET)
|
|
public String memberWrite(ModelMap model){
|
|
|
|
authorListSet(model);
|
|
|
|
return "/seed/_extra/gtm/join/write";
|
|
}
|
|
|
|
@RequestMapping(value="/join/write.do", method=RequestMethod.POST)
|
|
public String memberWrite(HttpSession session, @RequestParam Map<String,Object> paramMap, Map<String, Object> map){
|
|
|
|
String joinMemberGrant = "";
|
|
String memberStatus = "";
|
|
String memberCode = "";
|
|
|
|
//암호화
|
|
String strCode = SeedUtils.getSeedMD5Code(paramMap.get("joinPass").toString());
|
|
paramMap.put("joinPass", SeedUtils.getSeedSHA256Code(strCode));
|
|
memberCode = strCode;
|
|
paramMap.put("memberCode", memberCode);
|
|
|
|
//권한
|
|
joinMemberGrant = "S";
|
|
memberStatus = "U";//회원상태(사용)
|
|
paramMap.put("joinMemberGrant", joinMemberGrant);
|
|
paramMap.put("memberStatus", memberStatus);
|
|
|
|
//전화번호
|
|
String joinTel01 = SeedUtils.setReplaceNull((String)paramMap.get("joinTel01"));
|
|
String joinTel02 = SeedUtils.setReplaceNull((String)paramMap.get("joinTel02"));
|
|
String joinTel03 = SeedUtils.setReplaceNull((String)paramMap.get("joinTel03"));
|
|
String joinTel = joinTel01 + "-" + joinTel02 + "-" + joinTel03;
|
|
paramMap.put("joinTel", joinTel);
|
|
|
|
//핸드폰번호
|
|
String joinPh01 = SeedUtils.setReplaceNull((String)paramMap.get("joinPh01"));
|
|
String joinPh02 = SeedUtils.setReplaceNull((String)paramMap.get("joinPh02"));
|
|
String joinPh03 = SeedUtils.setReplaceNull((String)paramMap.get("joinPh03"));
|
|
String joinPh = joinPh01 + "-" + joinPh02 + "-" + joinPh03;
|
|
paramMap.put("joinPh", joinPh);
|
|
|
|
//생년월일 MEMBER_ITEM_A1에 들어감
|
|
String joinBirthY = SeedUtils.setReplaceNull((String)paramMap.get("joinBirthY"));
|
|
String joinBirthM = SeedUtils.setReplaceNull((String)paramMap.get("joinBirthM"));
|
|
String joinBirthD = SeedUtils.setReplaceNull((String)paramMap.get("joinBirthD"));
|
|
String joinBirth = joinBirthY+joinBirthM+joinBirthD;
|
|
paramMap.put("joinBirth", joinBirth);
|
|
|
|
//성별은 MEMBER_ITEM_B2, 등급은 MEMBER_ITEM_C3, 비고 MEMBER_ITEM_D4
|
|
service.memberInsert(paramMap);
|
|
|
|
//회원이 등록되면 그룹에도 등록
|
|
paramMap.put("groupName", "정회원");
|
|
paramMap.put("siteIdx", "seed");
|
|
|
|
int joinMemberIdx = (Integer) paramMap.get("seq");
|
|
int groupIdx = service.groupIdx(paramMap);
|
|
|
|
paramMap.put("gStatus","U"); // 기본값
|
|
paramMap.put("groupIdx", groupIdx);//정회원 값
|
|
paramMap.put("joinMemberIdx", joinMemberIdx);
|
|
paramMap.put("gSiteIdx", "seed"); //통합회원관리라 siteIdx를 무조건 seed로 넣는다.
|
|
|
|
service.groupInsert(paramMap);
|
|
|
|
//분기별 비밀번호 변경 관련 로그
|
|
service.passwdLogsInsert(paramMap);
|
|
|
|
map.put("message", "common.message.reg");
|
|
map.put("url", "/gtm/case/join/list.do");
|
|
|
|
authorUpsert(paramMap.get("seq").toString(), paramMap.get("authorCode").toString());
|
|
|
|
|
|
return "/_common/jsp/message";
|
|
}
|
|
|
|
@RequestMapping("/join/idCheck.do")
|
|
public @ResponseBody Map<String,Object> idDuplCheck(@RequestParam Map<String,Object> paramMap){
|
|
|
|
String success = "";
|
|
int cnt = service.checkId(paramMap);
|
|
|
|
if(cnt > 0){
|
|
success = "Y";
|
|
}else if(cnt == 0){
|
|
success = "N";
|
|
}
|
|
|
|
paramMap.put("success", success);
|
|
|
|
return paramMap;
|
|
}
|
|
|
|
@RequestMapping("/join/list.do")
|
|
public String joinList(ModelMap model, HttpSession session, @RequestParam Map<String,Object> paramMap, Criteria cri){
|
|
|
|
session.setAttribute("siteIdx", "case");
|
|
|
|
paramMap.put("memberId", session.getAttribute("memberId"));
|
|
paramMap.put("memberDept", session.getAttribute("memberDept"));
|
|
paramMap.put("memberPosition", session.getAttribute("memberPosition"));
|
|
paramMap.put("pageStart", cri.getPageStart());
|
|
paramMap.put("perPageNum", cri.getPerPageNum());
|
|
|
|
PageMaker pageMaker = new PageMaker();
|
|
pageMaker.setCri(cri);
|
|
pageMaker.setTotalCount(service.listCnt(paramMap));
|
|
|
|
List<Map<String, Object>> memberList = service.memberList(paramMap);
|
|
model.addAttribute("memberList", memberList);
|
|
|
|
model.addAttribute("pageMaker", pageMaker);
|
|
|
|
return "/seed/_extra/gtm/join/list";
|
|
}
|
|
|
|
@RequestMapping(value="/join/edit.do", method=RequestMethod.GET)
|
|
public String memberEdit(ModelMap model,@RequestParam Map<String,Object> paramMap, HttpSession session){
|
|
|
|
session.setAttribute("siteIdx", "case");
|
|
|
|
Map<String,Object> memberInfo = service.memberOne(paramMap);
|
|
model.addAttribute("memberInfo", memberInfo);
|
|
String memberBirth = SeedUtils.setReplaceNull(memberInfo.get("MEMBER_ITEM_A1"));
|
|
|
|
String birthY = "";
|
|
String birthM = "";
|
|
String birthD = "";
|
|
|
|
if(!memberBirth.equals("") && memberBirth != null){
|
|
birthY = memberBirth.substring(0, 4);
|
|
birthM = memberBirth.substring(4, 6);
|
|
birthD = memberBirth.substring(6, 8);
|
|
}
|
|
|
|
model.addAttribute("birthY", birthY);
|
|
model.addAttribute("birthM", birthM);
|
|
model.addAttribute("birthD", birthD);
|
|
|
|
String memberPh = SeedUtils.setReplaceNull(memberInfo.get("MEMBER_PHONE"));
|
|
String[] phList = null;
|
|
if(!memberPh.equals("") && memberPh != null){
|
|
phList = memberPh.split("-");
|
|
if(phList.length >= 2){
|
|
model.addAttribute("joinPh01", phList[0]);
|
|
model.addAttribute("joinPh02", phList[1]);
|
|
model.addAttribute("joinPh03", phList[2]);
|
|
}
|
|
}
|
|
|
|
String memberTel = SeedUtils.setReplaceNull(memberInfo.get("MEMBER_TEL"));
|
|
String[] telList = null;
|
|
if(!memberPh.equals("") && memberPh != null){
|
|
telList = memberTel.split("-");
|
|
if(telList.length >= 2){
|
|
model.addAttribute("joinTel01", telList[0]);
|
|
model.addAttribute("joinTel02", telList[1]);
|
|
model.addAttribute("joinTel03", telList[2]);
|
|
}
|
|
}
|
|
|
|
authorListSet(model);
|
|
try {
|
|
model.addAttribute("mberManageVO", egovMberManageService.selectTMber(memberInfo.get("MEMBER_IDX").toString()));
|
|
} catch (Exception e) {
|
|
e.printStackTrace();
|
|
}
|
|
|
|
return "/seed/_extra/gtm/join/edit";
|
|
}
|
|
|
|
@RequestMapping(value="/join/edit.do", method=RequestMethod.POST)
|
|
public String memberUpdate (ModelMap model,@RequestParam Map<String,Object> paramMap, Map<String, Object> map, HttpSession session){
|
|
|
|
|
|
Integer memberIdx = Integer.valueOf(SeedUtils.setReplaceNull(session.getAttribute("memberIdx"),"0"));
|
|
|
|
session.setAttribute("siteIdx", "case");
|
|
|
|
String oldPass = (String)paramMap.get("oldPass");
|
|
String joinPass = (String)paramMap.get("joinPass");
|
|
|
|
|
|
|
|
String strCode2 = SeedUtils.getSeedMD5Code(joinPass);
|
|
|
|
String joinPass2 = SeedUtils.getSeedSHA256Code(strCode2);
|
|
|
|
System.out.println("joinPass2 : " + joinPass2);
|
|
|
|
String memberCode = "";
|
|
|
|
if(oldPass.equals(joinPass2)){
|
|
|
|
map.put("message", "(message)비밀번호를 동일하게 변경할 수 없습니다");
|
|
map.put("url", "/gtm/case/join/edit.do?page=1&memberSeq="+memberIdx+"&searchType=name&searchTilte=#join_19");
|
|
|
|
return "/_common/jsp/message";
|
|
}
|
|
|
|
if(!oldPass.equals(joinPass)){
|
|
//암호화
|
|
String strCode = SeedUtils.getSeedMD5Code(joinPass);
|
|
paramMap.put("joinPass", SeedUtils.getSeedSHA256Code(strCode));
|
|
memberCode = strCode;
|
|
paramMap.put("memberCode", memberCode);
|
|
|
|
//분기별 비밀번호 변경관련 기록
|
|
service.passwdLogsUpdate(paramMap);
|
|
}
|
|
|
|
//전화번호
|
|
String joinTel01 = SeedUtils.setReplaceNull((String)paramMap.get("joinTel01"));
|
|
String joinTel02 = SeedUtils.setReplaceNull((String)paramMap.get("joinTel02"));
|
|
String joinTel03 = SeedUtils.setReplaceNull((String)paramMap.get("joinTel03"));
|
|
String joinTel = joinTel01 + "-" + joinTel02 + "-" + joinTel03;
|
|
paramMap.put("joinTel", joinTel);
|
|
|
|
//핸드폰번호
|
|
String joinPh01 = SeedUtils.setReplaceNull((String)paramMap.get("joinPh01"));
|
|
String joinPh02 = SeedUtils.setReplaceNull((String)paramMap.get("joinPh02"));
|
|
String joinPh03 = SeedUtils.setReplaceNull((String)paramMap.get("joinPh03"));
|
|
String joinPh = joinPh01 + "-" + joinPh02 + "-" + joinPh03;
|
|
paramMap.put("joinPh", joinPh);
|
|
|
|
//생년월일 MEMBER_ITEM_A1에 들어감
|
|
String joinBirthY = SeedUtils.setReplaceNull((String)paramMap.get("joinBirthY"));
|
|
String joinBirthM = SeedUtils.setReplaceNull((String)paramMap.get("joinBirthM"));
|
|
String joinBirthD = SeedUtils.setReplaceNull((String)paramMap.get("joinBirthD"));
|
|
String joinBirth = joinBirthY+joinBirthM+joinBirthD;
|
|
paramMap.put("joinBirth", joinBirth);
|
|
|
|
//성별은 MEMBER_ITEM_B2, 등급은 MEMBER_ITEM_C3, 비고 MEMBER_ITEM_D4, G/W 아이디 MEMBER_ITEM_F6(기안문 연동에 필요)
|
|
|
|
service.memberUpdate(paramMap);
|
|
|
|
authorUpsert(paramMap.get("memberSeq").toString(), paramMap.get("authorCode").toString());
|
|
|
|
map.put("message", "common.message.mod");
|
|
map.put("url", "/gtm/case/join/list.do");
|
|
|
|
return "/_common/jsp/message";
|
|
|
|
}
|
|
|
|
@RequestMapping("/join/del.do")
|
|
public String memberDel(@RequestParam Map<String,Object> paramMap, Map<String, Object> map){
|
|
|
|
service.memberDel(paramMap);
|
|
|
|
map.put("message", "common.message.del");
|
|
map.put("url", "/gtm/case/join/list.do");
|
|
|
|
return "/_common/jsp/message";
|
|
}
|
|
|
|
private void authorListSet(ModelMap model) {
|
|
AuthorManageVO authorManageVO = new AuthorManageVO();
|
|
authorManageVO.setRecordCountPerPage(999);
|
|
try {
|
|
List <AuthorManageVO> authorList = egovAuthorManageService.selectAuthorList(authorManageVO);
|
|
|
|
|
|
authorList = authorList.stream()
|
|
.filter(t ->
|
|
!"ROLE_ANONYMOUS".equals(t.getAuthorCode())
|
|
&& !"ROLE_USER_MEMBER".equals(t.getAuthorCode())
|
|
&& !"ROLE_USER_MANAGER".equals(t.getAuthorCode())
|
|
).collect(Collectors.toList());
|
|
model.addAttribute("authorList", authorList);
|
|
} catch (Exception e) {
|
|
System.out.println(e.getMessage());
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private void authorUpsert(String uniqId, String authorCode) {
|
|
AuthorGroup authorGroup = new AuthorGroup();
|
|
authorGroup.setUniqId(uniqId);
|
|
authorGroup.setAuthorCode(authorCode);
|
|
authorGroup.setMberTyCode("USR");
|
|
try {
|
|
egovAuthorGroupService.insertAuthorGroupTMember(authorGroup);
|
|
} catch (Exception e) {
|
|
System.out.println("권한 등록 실패!!!!!!!!!!!!!!!!!");
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|