|
|
@@ -0,0 +1,381 @@
|
|
|
+package com.finikes.matchmaker.member.controller;
|
|
|
+
|
|
|
+import com.finikes.matchmaker.BaseDTO;
|
|
|
+import com.finikes.matchmaker.Passports;
|
|
|
+import com.finikes.matchmaker.member.dao.FamilyMemberDAO;
|
|
|
+import com.finikes.matchmaker.member.dao.MemberDAO;
|
|
|
+import com.finikes.matchmaker.member.dto.MemberFamilyMemberRequestDTO;
|
|
|
+import com.finikes.matchmaker.member.dto.MemberFamilyMembersRequestDTO;
|
|
|
+import com.finikes.matchmaker.member.entity.FamilyMember;
|
|
|
+import com.finikes.matchmaker.member.entity.Member;
|
|
|
+import com.finikes.matchmaker.member.register.RegisterStepName;
|
|
|
+import com.finikes.matchmaker.member.register.Schedules;
|
|
|
+import com.finikes.matchmaker.passport.entity.Passport;
|
|
|
+import com.finikes.matchmaker.util.FileHandler;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.beans.factory.annotation.Value;
|
|
|
+import org.springframework.stereotype.Controller;
|
|
|
+import org.springframework.web.bind.annotation.*;
|
|
|
+import org.springframework.web.multipart.MultipartFile;
|
|
|
+
|
|
|
+import javax.servlet.http.HttpServletRequest;
|
|
|
+import java.io.IOException;
|
|
|
+import java.util.Calendar;
|
|
|
+import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
+
|
|
|
+@Controller
|
|
|
+@ResponseBody
|
|
|
+public class MemberController {
|
|
|
+ @Value("${upload-root-dir}")
|
|
|
+ private String uploadRootDir;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private MemberDAO memberDAO;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private FamilyMemberDAO familyMemberDAO;
|
|
|
+
|
|
|
+ @RequestMapping(value = "/member", method = RequestMethod.PUT)
|
|
|
+ public BaseDTO registerNameAndMobile(@RequestBody Map<String, Object> map, HttpServletRequest request) {
|
|
|
+ String name = (String) map.get("name");
|
|
|
+ String mobile = (String) map.get("mobile");
|
|
|
+ Passport passport = Passports.getPassport(request);
|
|
|
+ int passportId = passport.getId();
|
|
|
+ if (memberDAO.exist(passportId) > 0) {
|
|
|
+ memberDAO.uploadNameAndMobile(passportId, name, mobile);
|
|
|
+ } else {
|
|
|
+ Member member = new Member();
|
|
|
+ member.setPassportId(passportId);
|
|
|
+ member.setName(name);
|
|
|
+ member.setMobile(mobile);
|
|
|
+ memberDAO.insert(member);
|
|
|
+ }
|
|
|
+
|
|
|
+ String registerSchedule = memberDAO.findRegisterScheduleByPassport(passportId);
|
|
|
+ if (null == registerSchedule) {
|
|
|
+ registerSchedule = "";
|
|
|
+ }
|
|
|
+ registerSchedule = Schedules.boostSchedule(registerSchedule, RegisterStepName.REGISTER_NAME_MOBILE.getName());
|
|
|
+ memberDAO.uploadRegisterSchedule(passportId, registerSchedule);
|
|
|
+
|
|
|
+ return new BaseDTO();
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 上传身份证信息
|
|
|
+ */
|
|
|
+ @RequestMapping(value = "/member/id/photos", method = RequestMethod.PUT)
|
|
|
+ public BaseDTO registerIdNumber(@RequestParam("front") MultipartFile front, @RequestParam("back") MultipartFile back, @RequestParam("idNumber") String idNumber, HttpServletRequest request) {
|
|
|
+ Passport passport = Passports.getPassport(request);
|
|
|
+ int passportId = passport.getId();
|
|
|
+ try {
|
|
|
+ FileHandler.saveFile(front, "/member/idnumber/front/", String.valueOf(passportId));
|
|
|
+ FileHandler.saveFile(front, "/member/idnumber/back/", String.valueOf(passportId));
|
|
|
+ } catch (IOException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ return new BaseDTO("000", e.getLocalizedMessage());
|
|
|
+ }
|
|
|
+
|
|
|
+ if (memberDAO.exist(passportId) > 0) {
|
|
|
+ memberDAO.uploadIdNumber(passportId, idNumber);
|
|
|
+ } else {
|
|
|
+ Member member = new Member();
|
|
|
+ member.setPassportId(passportId);
|
|
|
+ member.setIdNumber(idNumber);
|
|
|
+ memberDAO.insert(member);
|
|
|
+ }
|
|
|
+
|
|
|
+ String registerSchedule = memberDAO.findRegisterScheduleByPassport(passportId);
|
|
|
+ if (null == registerSchedule) {
|
|
|
+ registerSchedule = "";
|
|
|
+ }
|
|
|
+ registerSchedule = Schedules.boostSchedule(registerSchedule, RegisterStepName.REGISTER_ID_NUMBER.getName());
|
|
|
+ memberDAO.uploadRegisterSchedule(passportId, registerSchedule);
|
|
|
+
|
|
|
+ return new BaseDTO();
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 填报家庭成员信息
|
|
|
+ */
|
|
|
+ @RequestMapping(value = "/member/family/member/s", method = RequestMethod.PUT)
|
|
|
+ public BaseDTO registerFamilyMember(@RequestBody MemberFamilyMembersRequestDTO dto, HttpServletRequest request) {
|
|
|
+ Passport passport = Passports.getPassport(request);
|
|
|
+ int passportId = passport.getId();
|
|
|
+
|
|
|
+ if (memberDAO.exist(passportId) == 0) {
|
|
|
+ Member member = new Member();
|
|
|
+ member.setPassportId(passportId);
|
|
|
+ memberDAO.insert(member);
|
|
|
+ }
|
|
|
+
|
|
|
+ List<MemberFamilyMemberRequestDTO> memberFamilyMemberRequestDTOS = dto.getMembers();
|
|
|
+ for (MemberFamilyMemberRequestDTO d : memberFamilyMemberRequestDTOS) {
|
|
|
+ FamilyMember familyMember = new FamilyMember();
|
|
|
+ familyMember.setName(d.getName());
|
|
|
+ familyMember.setOrg(d.getOrg());
|
|
|
+ familyMember.setPassportId(passportId);
|
|
|
+ familyMember.setPost(d.getPost());
|
|
|
+ familyMember.setRole(Byte.parseByte(d.getRole()));
|
|
|
+ familyMemberDAO.insert(familyMember);
|
|
|
+ }
|
|
|
+
|
|
|
+ String registerSchedule = memberDAO.findRegisterScheduleByPassport(passportId);
|
|
|
+ if (null == registerSchedule) {
|
|
|
+ registerSchedule = "";
|
|
|
+ }
|
|
|
+ registerSchedule = Schedules.boostSchedule(registerSchedule, RegisterStepName.REGISTER_FAMILY.getName());
|
|
|
+ memberDAO.uploadRegisterSchedule(passportId, registerSchedule);
|
|
|
+
|
|
|
+ return new BaseDTO();
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 上传学历证书照片
|
|
|
+ */
|
|
|
+ @RequestMapping(value = "/member/edu/cert/photo", method = RequestMethod.PUT)
|
|
|
+ public BaseDTO registerEduCert(@RequestParam("certPhoto") MultipartFile certPhoto, HttpServletRequest request) {
|
|
|
+ Passport passport = Passports.getPassport(request);
|
|
|
+ int passportId = passport.getId();
|
|
|
+ try {
|
|
|
+ FileHandler.saveFile(certPhoto, "/member/edu/cert/", String.valueOf(passportId));
|
|
|
+ } catch (IOException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ return new BaseDTO("000", e.getLocalizedMessage());
|
|
|
+ }
|
|
|
+
|
|
|
+ if (memberDAO.exist(passportId) == 0) {
|
|
|
+ Member member = new Member();
|
|
|
+ member.setPassportId(passportId);
|
|
|
+ memberDAO.insert(member);
|
|
|
+ }
|
|
|
+
|
|
|
+ String registerSchedule = memberDAO.findRegisterScheduleByPassport(passportId);
|
|
|
+ if (null == registerSchedule) {
|
|
|
+ registerSchedule = "";
|
|
|
+ }
|
|
|
+ registerSchedule = Schedules.boostSchedule(registerSchedule, RegisterStepName.REGISTER_EDU_CERT.getName());
|
|
|
+ memberDAO.uploadRegisterSchedule(passportId, registerSchedule);
|
|
|
+
|
|
|
+ return new BaseDTO();
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 上传个人封面照片
|
|
|
+ */
|
|
|
+ @RequestMapping(value = "/member/cover", method = RequestMethod.PUT)
|
|
|
+ public BaseDTO registerCover(@RequestParam("cover") MultipartFile cover, HttpServletRequest request) {
|
|
|
+ Passport passport = Passports.getPassport(request);
|
|
|
+ int passportId = passport.getId();
|
|
|
+ try {
|
|
|
+ FileHandler.saveFile(cover, "/member/cover/", String.valueOf(passportId));
|
|
|
+ } catch (IOException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ return new BaseDTO("000", e.getLocalizedMessage());
|
|
|
+ }
|
|
|
+
|
|
|
+ if (memberDAO.exist(passportId) == 0) {
|
|
|
+ Member member = new Member();
|
|
|
+ member.setPassportId(passportId);
|
|
|
+ memberDAO.insert(member);
|
|
|
+ }
|
|
|
+
|
|
|
+ String registerSchedule = memberDAO.findRegisterScheduleByPassport(passportId);
|
|
|
+ if (null == registerSchedule) {
|
|
|
+ registerSchedule = "";
|
|
|
+ }
|
|
|
+ registerSchedule = Schedules.boostSchedule(registerSchedule, RegisterStepName.REGISTER_COVER.getName());
|
|
|
+ memberDAO.uploadRegisterSchedule(passportId, registerSchedule);
|
|
|
+
|
|
|
+ return new BaseDTO();
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 填报性别
|
|
|
+ */
|
|
|
+ @RequestMapping(value = "/member/gender", method = RequestMethod.PUT)
|
|
|
+ public BaseDTO registerGender(@RequestBody Map<String, Object> map, HttpServletRequest request) {
|
|
|
+ String gender = (String) map.get("gender");
|
|
|
+ Passport passport = Passports.getPassport(request);
|
|
|
+ int passportId = passport.getId();
|
|
|
+
|
|
|
+ boolean _gender = false;
|
|
|
+ if ("1".equals(gender)) {
|
|
|
+ _gender = true;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (memberDAO.exist(passportId) > 0) {
|
|
|
+ memberDAO.uploadGender(passportId, _gender);
|
|
|
+ } else {
|
|
|
+ Member member = new Member();
|
|
|
+ member.setPassportId(passportId);
|
|
|
+ member.setGender(_gender);
|
|
|
+ memberDAO.insert(member);
|
|
|
+ }
|
|
|
+
|
|
|
+ String registerSchedule = memberDAO.findRegisterScheduleByPassport(passportId);
|
|
|
+ if (null == registerSchedule) {
|
|
|
+ registerSchedule = "";
|
|
|
+ }
|
|
|
+ registerSchedule = Schedules.boostSchedule(registerSchedule, RegisterStepName.REGISTER_GENDER.getName());
|
|
|
+ memberDAO.uploadRegisterSchedule(passportId, registerSchedule);
|
|
|
+
|
|
|
+ return new BaseDTO();
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 填报年龄
|
|
|
+ */
|
|
|
+ @RequestMapping(value = "/member/age", method = RequestMethod.PUT)
|
|
|
+ public BaseDTO registerAge(@RequestBody Map<String, Object> map, HttpServletRequest request) {
|
|
|
+ String age = (String) map.get("age");
|
|
|
+ int _age = Integer.parseInt(age);
|
|
|
+ Passport passport = Passports.getPassport(request);
|
|
|
+ int passportId = passport.getId();
|
|
|
+
|
|
|
+ // TODO 算出出生年份
|
|
|
+ Calendar calendar = Calendar.getInstance();
|
|
|
+ int year = calendar.get(Calendar.YEAR);
|
|
|
+
|
|
|
+ String bornYear = String.valueOf(year - _age);
|
|
|
+ if (memberDAO.exist(passportId) > 0) {
|
|
|
+ memberDAO.uploadBornYear(passportId, bornYear);
|
|
|
+ } else {
|
|
|
+ Member member = new Member();
|
|
|
+ member.setPassportId(passportId);
|
|
|
+ member.setBornYear(bornYear);
|
|
|
+ memberDAO.insert(member);
|
|
|
+ }
|
|
|
+
|
|
|
+ String registerSchedule = memberDAO.findRegisterScheduleByPassport(passportId);
|
|
|
+ if (null == registerSchedule) {
|
|
|
+ registerSchedule = "";
|
|
|
+ }
|
|
|
+ registerSchedule = Schedules.boostSchedule(registerSchedule, RegisterStepName.REGISTER_AGE.getName());
|
|
|
+ memberDAO.uploadRegisterSchedule(passportId, registerSchedule);
|
|
|
+
|
|
|
+ return new BaseDTO();
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 填报家庭是否独生子女
|
|
|
+ */
|
|
|
+ @RequestMapping(value = "/member/family/children/info", method = RequestMethod.PUT)
|
|
|
+ public BaseDTO registerOnly(@RequestBody Map<String, Object> map, HttpServletRequest request) {
|
|
|
+ String only = (String) map.get("only");
|
|
|
+ Passport passport = Passports.getPassport(request);
|
|
|
+ int passportId = passport.getId();
|
|
|
+
|
|
|
+ boolean _only = false;
|
|
|
+ if ("1".equals(only)) {
|
|
|
+ _only = true;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (memberDAO.exist(passportId) > 0) {
|
|
|
+ memberDAO.uploadOnly(passportId, _only);
|
|
|
+ } else {
|
|
|
+ Member member = new Member();
|
|
|
+ member.setPassportId(passportId);
|
|
|
+ member.setOnly(_only);
|
|
|
+ memberDAO.insert(member);
|
|
|
+ }
|
|
|
+
|
|
|
+ String registerSchedule = memberDAO.findRegisterScheduleByPassport(passportId);
|
|
|
+ if (null == registerSchedule) {
|
|
|
+ registerSchedule = "";
|
|
|
+ }
|
|
|
+ registerSchedule = Schedules.boostSchedule(registerSchedule, RegisterStepName.REGISTER_ONLY.getName());
|
|
|
+ memberDAO.uploadRegisterSchedule(passportId, registerSchedule);
|
|
|
+
|
|
|
+ return new BaseDTO();
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 填报学历
|
|
|
+ */
|
|
|
+ @RequestMapping(value = "/member/edu", method = RequestMethod.PUT)
|
|
|
+ public BaseDTO registerEdu(@RequestBody Map<String, Object> map, HttpServletRequest request) {
|
|
|
+ String edu = (String) map.get("edu");
|
|
|
+ Passport passport = Passports.getPassport(request);
|
|
|
+ int passportId = passport.getId();
|
|
|
+
|
|
|
+ byte _edu = Byte.parseByte(edu);
|
|
|
+ if (memberDAO.exist(passportId) > 0) {
|
|
|
+ memberDAO.uploadEdu(passportId, _edu);
|
|
|
+ } else {
|
|
|
+ Member member = new Member();
|
|
|
+ member.setPassportId(passportId);
|
|
|
+ member.setEdu(_edu);
|
|
|
+ memberDAO.insert(member);
|
|
|
+ }
|
|
|
+
|
|
|
+ String registerSchedule = memberDAO.findRegisterScheduleByPassport(passportId);
|
|
|
+ if (null == registerSchedule) {
|
|
|
+ registerSchedule = "";
|
|
|
+ }
|
|
|
+ registerSchedule = Schedules.boostSchedule(registerSchedule, RegisterStepName.REGISTER_EDU_INFO.getName());
|
|
|
+ memberDAO.uploadRegisterSchedule(passportId, registerSchedule);
|
|
|
+
|
|
|
+ return new BaseDTO();
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 填报最高学历院校
|
|
|
+ */
|
|
|
+ @RequestMapping(value = "/member/school", method = RequestMethod.PUT)
|
|
|
+ public BaseDTO registerSchool(@RequestBody Map<String, Object> map, HttpServletRequest request) {
|
|
|
+ String school = (String) map.get("school");
|
|
|
+ Passport passport = Passports.getPassport(request);
|
|
|
+ int passportId = passport.getId();
|
|
|
+
|
|
|
+ if (memberDAO.exist(passportId) > 0) {
|
|
|
+ memberDAO.uploadSchool(passportId, school);
|
|
|
+ } else {
|
|
|
+ Member member = new Member();
|
|
|
+ member.setPassportId(passportId);
|
|
|
+ member.setSchool(school);
|
|
|
+ memberDAO.insert(member);
|
|
|
+ }
|
|
|
+
|
|
|
+ String registerSchedule = memberDAO.findRegisterScheduleByPassport(passportId);
|
|
|
+ if (null == registerSchedule) {
|
|
|
+ registerSchedule = "";
|
|
|
+ }
|
|
|
+ registerSchedule = Schedules.boostSchedule(registerSchedule, RegisterStepName.REGISTER_SCHOOL.getName());
|
|
|
+ memberDAO.uploadRegisterSchedule(passportId, registerSchedule);
|
|
|
+
|
|
|
+ return new BaseDTO();
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 填报工作情况
|
|
|
+ */
|
|
|
+ @RequestMapping(value = "/member/job", method = RequestMethod.PUT)
|
|
|
+ public BaseDTO registerJobInfo(@RequestBody Map<String, Object> map, HttpServletRequest request) {
|
|
|
+ String org = (String) map.get("org");
|
|
|
+ String income = (String) map.get("income");
|
|
|
+ Passport passport = Passports.getPassport(request);
|
|
|
+ int passportId = passport.getId();
|
|
|
+
|
|
|
+ byte _income = Byte.parseByte(income);
|
|
|
+ if (memberDAO.exist(passportId) > 0) {
|
|
|
+ memberDAO.uploadOrgAndIncome(passportId, org, _income);
|
|
|
+ } else {
|
|
|
+ Member member = new Member();
|
|
|
+ member.setPassportId(passportId);
|
|
|
+ member.setOrg(org);
|
|
|
+ member.setIncome(_income);
|
|
|
+ memberDAO.insert(member);
|
|
|
+ }
|
|
|
+
|
|
|
+ String registerSchedule = memberDAO.findRegisterScheduleByPassport(passportId);
|
|
|
+ if (null == registerSchedule) {
|
|
|
+ registerSchedule = "";
|
|
|
+ }
|
|
|
+ registerSchedule = Schedules.boostSchedule(registerSchedule, RegisterStepName.REGISTER_JOB_INFO.getName());
|
|
|
+ memberDAO.uploadRegisterSchedule(passportId, registerSchedule);
|
|
|
+
|
|
|
+ return new BaseDTO();
|
|
|
+ }
|
|
|
+}
|