package com.sp2p.action.app; import java.io.IOException; import java.util.HashMap; import java.util.Map; import org.apache.commons.lang.StringUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import com.shove.Convert; import com.shove.config.AlipayConfig; import com.shove.security.Encrypt; import com.shove.web.util.JSONUtils; import com.sp2p.service.BeVipService; import com.sp2p.service.IDCardValidateService; import com.sp2p.service.UserService; public class PersonAppAction extends BaseAppAction { public static Log log = LogFactory.getLog(PersonAppAction.class); private static final long serialVersionUID = 7226324035784433720L; private BeVipService beVipService; private UserService userService; public String addOrUpdatePerson() throws IOException { Map<String, String> jsonMap = new HashMap<String, String>(); try { Map<String, String> appInfoMap = getAppInfoMap(); String realName = appInfoMap.get("realName");// 真实姓名 if (StringUtils.isBlank(realName)) { jsonMap.put("error", "1"); jsonMap.put("msg", "请正确填写真实名字"); JSONUtils.printObject(jsonMap); return null; } else if (2 > realName.length() || 20 < realName.length()) { jsonMap.put("error", "2"); jsonMap.put("msg", "真实姓名的长度为不小于2和大于20"); JSONUtils.printObject(jsonMap); return null; } String idNo = appInfoMap.get("idNo");// 身份证号码 // long len = idNo.length(); // if (StringUtils.isBlank(idNo)) { // jsonMap.put("error", "3"); // jsonMap.put("msg", "请输入正确的身份证号码"); // JSONUtils.printObject(jsonMap); // return null; // } else if (15 != len && 18 != len) { // jsonMap.put("error", "4"); // jsonMap.put("msg", "请输入正确的身份证号码"); // JSONUtils.printObject(jsonMap); // return null; // } // 验证身份证 int sortCode = 0; int MAN_SEX = 0; // if (len == 15) { // sortCode = Integer.parseInt(idNo.substring(12, 15)); // } else { // sortCode = Integer.parseInt(idNo.substring(14, 17)); // } // if (sortCode % 2 == 0) { // MAN_SEX = 1;// 女性身份证 // } else if (sortCode % 2 != 0) { // MAN_SEX = 2;// 男性身份证 // } else { // jsonMap.put("error", "5"); // jsonMap.put("msg", "身份证不合法"); // JSONUtils.printObject(jsonMap); // return null; // } // String iDresutl = ""; // iDresutl = IDCardValidateService.chekIdCard(MAN_SEX, idNo); // if (iDresutl != "") { // jsonMap.put("error", "6"); // jsonMap.put("msg", "身份证不合法"); // JSONUtils.printObject(jsonMap); // return null; // } String cellPhone = appInfoMap.get("cellPhone");// 手机号码 if (StringUtils.isBlank(cellPhone)) { jsonMap.put("error", "7"); jsonMap.put("msg", "请正确填写手机号码"); JSONUtils.printObject(jsonMap); return null; } else if (cellPhone.length() < 9 || cellPhone.length() > 12) { jsonMap.put("error", "8"); jsonMap.put("msg", "手机号码长度不对"); JSONUtils.printObject(jsonMap); return null; } /** * 判定用户是否已存在记录 */ Map<String, String> pMap = null; Map<String, String> authMap = getAppAuthMap(); long userId = Convert.strToLong(authMap.get("uid"), -1); if (userId == -1) { jsonMap.put("error", "9"); jsonMap.put("msg", "用户不存在"); JSONUtils.printObject(jsonMap); return null; } // 验证手机的唯一性 Map<String, String> phonemap = beVipService.queryIsPhone(cellPhone); pMap = beVipService.queryPUser(userId); if (pMap == null) { if (phonemap != null) { jsonMap.put("error", "10"); jsonMap.put("msg", "手机号已存在"); JSONUtils.printObject(jsonMap); return null; } } else if (phonemap != null && !cellPhone.trim().equals(pMap.get("cellphone"))) { jsonMap.put("error", "10"); jsonMap.put("msg", "手机号已存在"); JSONUtils.printObject(jsonMap); return null; } String phonecode = appInfoMap.get("recivePhone") + ""; phonecode = Encrypt.decryptSES(phonecode, AlipayConfig.ses_key); // if (StringUtils.isNotBlank(phonecode)) { // if (!phonecode.trim().equals(cellPhone.trim())) { // jsonMap.put("error", "12"); // jsonMap.put("msg", "与获取验证码手机号不一致"); // JSONUtils.printObject(jsonMap); // return null; // } // // } // 验证码 String code = appInfoMap.get("code"); // if (StringUtils.isBlank(code)) { // jsonMap.put("error", "13"); // jsonMap.put("msg", "请填写验证码"); // JSONUtils.printObject(jsonMap); // return null; // } // // String randomCode = appInfoMap.get("randomCode") + ""; // // randomCode = Encrypt.decryptSES(randomCode, AlipayConfig.ses_key); // if (!code.trim().equals(randomCode)) { // jsonMap.put("error", "14"); // jsonMap.put("msg", "请输入正确的验证码"); // JSONUtils.printObject(jsonMap); // return null; // } String sex = appInfoMap.get("sex");// 性别(男 女) if (StringUtils.isNotBlank(sex)) { if (sex.equals("男") && MAN_SEX == 1) { jsonMap.put("error", "12"); jsonMap.put("msg", "请正确填写性别"); JSONUtils.printObject(jsonMap); return null; } else if (sex.equals("女") && MAN_SEX == 2) { jsonMap.put("error", "12"); jsonMap.put("msg", "请正确填写性别"); JSONUtils.printObject(jsonMap); return null; } } String birthday = appInfoMap.get("birthday");// 出生日期 if ("".equals(birthday)) { birthday = null; } // if (StringUtils.isBlank(birthday)) { // jsonMap.put("error", "13"); // jsonMap.put("msg", "请正确填写出生日期"); // JSONUtils.printObject(jsonMap); // return null; // } String highestEdu = appInfoMap.get("highestEdu");// 最高学历 // if (StringUtils.isBlank(highestEdu)) { // jsonMap.put("error", "14"); // jsonMap.put("msg", "请正确填写最高学历"); // JSONUtils.printObject(jsonMap); // return null; // } String eduStartDay = appInfoMap.get("eduStartDay");// 入学年份 if ("".equals(eduStartDay)) { eduStartDay = null; } // if (StringUtils.isBlank(eduStartDay)) { // jsonMap.put("error", "15"); // jsonMap.put("msg", "请正确填写入学年份"); // JSONUtils.printObject(jsonMap); // return null; // } String school = appInfoMap.get("school");// 毕业院校 // if (StringUtils.isBlank(school)) { // jsonMap.put("error", "16"); // jsonMap.put("msg", "请正确填写入毕业院校"); // JSONUtils.printObject(jsonMap); // return null; // } String maritalStatus = appInfoMap.get("maritalStatus");// 婚姻状况(已婚 // 未婚) // if (StringUtils.isBlank(maritalStatus)) { // jsonMap.put("error", "17"); // jsonMap.put("msg", "请正确填写入婚姻状况"); // JSONUtils.printObject(jsonMap); // return null; // } String hasChild = appInfoMap.get("hasChild");// 有无子女(有 无) // if (StringUtils.isBlank(hasChild)) { // jsonMap.put("error", "18"); // jsonMap.put("msg", "请正确填写入有无子女"); // JSONUtils.printObject(jsonMap); // return null; // } String hasHourse = appInfoMap.get("hasHourse");// 是否有房(有 无) // if (StringUtils.isBlank(hasHourse)) { // jsonMap.put("error", "19"); // jsonMap.put("msg", "请正确填写入是否有房"); // JSONUtils.printObject(jsonMap); // return null; // } String hasHousrseLoan = appInfoMap.get("hasHousrseLoan");// 有无房贷(有 // 无) // if (StringUtils.isBlank(hasHousrseLoan)) { // jsonMap.put("error", "19"); // jsonMap.put("msg", "请正确填写入有无房贷"); // JSONUtils.printObject(jsonMap); // return null; // } String hasCar = appInfoMap.get("hasCar");// 是否有车 (有 无) // if (StringUtils.isBlank(hasCar)) { // jsonMap.put("error", "20"); // jsonMap.put("msg", "请正确填写入是否有车"); // JSONUtils.printObject(jsonMap); // return null; // } String hasCarLoan = appInfoMap.get("hasCarLoan");// 有无车贷 (有 无) // if (StringUtils.isBlank(hasCarLoan)) { // jsonMap.put("error", "21"); // jsonMap.put("msg", "请正确填写入有无车贷"); // JSONUtils.printObject(jsonMap); // return null; // } Long nativePlacePro = Convert.strToLong(appInfoMap .get("nativePlacePro"), -1);// 籍贯省份(默认为-1) // if (StringUtils.isBlank(nativePlacePro.toString())) { // jsonMap.put("error", "22"); // jsonMap.put("msg", "请正确填写入籍贯省份"); // JSONUtils.printObject(jsonMap); // return null; // } Long nativePlaceCity = Convert.strToLong(appInfoMap .get("nativePlaceCity"), -1);// 籍贯城市 (默认为-1) // if (StringUtils.isBlank(nativePlaceCity.toString())) { // jsonMap.put("error", "23"); // jsonMap.put("msg", "请正确填写入籍贯城市"); // JSONUtils.printObject(jsonMap); // return null; // } Long registedPlacePro = Convert.strToLong(appInfoMap .get("registedPlacePro"), -1);// 户口所在地省份(默认为-1) // if (StringUtils.isBlank(registedPlacePro.toString())) { // jsonMap.put("error", "24"); // jsonMap.put("msg", "请正确填写入户口所在地省份"); // JSONUtils.printObject(jsonMap); // return null; // } Long registedPlaceCity = Convert.strToLong(appInfoMap .get("registedPlaceCity"), -1);// 户口所在地城市(默认为-1) // if (StringUtils.isBlank(registedPlaceCity.toString())) { // jsonMap.put("error", "25"); // jsonMap.put("msg", "请正确填写入户口所在地城市"); // JSONUtils.printObject(jsonMap); // return null; // } String address = appInfoMap.get("address");// 所在地 // if (StringUtils.isBlank(address)) { // jsonMap.put("error", "26"); // jsonMap.put("msg", "请正确填写居住地址"); // JSONUtils.printObject(jsonMap); // return null; // } String telephone = appInfoMap.get("telephone");// 居住电话 if (StringUtils.isNotBlank(telephone)) { if (!StringUtils.isNumeric(telephone)) { jsonMap.put("error", "15"); jsonMap.put("msg", "你的家庭电话输入不正确"); JSONUtils.printObject(jsonMap); return null; } if (telephone.trim().length() < 7 || telephone.trim().length() > 12) { jsonMap.put("error", "16"); jsonMap.put("msg", "你的家庭电话输入长度不对"); JSONUtils.printObject(jsonMap); return null; } } /* 用户头像 */ String personalHead = appInfoMap.get("personalHead");// 个人头像 // (默认系统头像) // if (StringUtils.isBlank(personalHead)) { // jsonMap.put("error", "30"); // jsonMap.put("msg", "请正确上传你的个人头像"); // JSONUtils.printObject(jsonMap); // return null; // } long personId = -1L; personId = userService.updateUserBaseData(realName, cellPhone, sex, birthday, highestEdu, eduStartDay, school, maritalStatus, hasChild, hasHourse, hasHousrseLoan, hasCar, hasCarLoan, nativePlacePro, nativePlaceCity, registedPlacePro, registedPlaceCity, address, telephone, personalHead, userId, idNo); if (personId > 0) { session().removeAttribute("randomCode"); jsonMap.put("error", "-1"); jsonMap.put("msg", "保存成功"); JSONUtils.printObject(jsonMap); // 成功 } else { // 失败 jsonMap.put("error", "17"); jsonMap.put("msg", "保存失败"); JSONUtils.printObject(jsonMap); } } catch (Exception e) { log.error(e); e.printStackTrace(); jsonMap.put("error", "18"); jsonMap.put("msg", "未知异常"); JSONUtils.printObject(jsonMap); } return null; } public String queryPersonByUserId() throws IOException { Map<String, String> jsonMap = new HashMap<String, String>(); try { Map<String, String> authMap = getAppAuthMap(); long userId = Convert.strToLong(authMap.get("uid"), -1); if (userId == -1) { jsonMap.put("error", "1"); jsonMap.put("msg", "用户不存在"); JSONUtils.printObject(jsonMap); return null; } Map<String, String> map = userService.queryPersonById(userId); if (map == null || map.isEmpty()) { jsonMap.put("error", "-2"); jsonMap.put("msg", "用户没有填写个人基本信息"); JSONUtils.printObject(jsonMap); return null; } jsonMap.put("error", "-1"); jsonMap.put("msg", "获取成功"); jsonMap.putAll(map); JSONUtils.printObject(jsonMap); } catch (Exception e) { jsonMap.put("error", "2"); jsonMap.put("msg", "未知异常"); JSONUtils.printObject(jsonMap); } return null; } public void setBeVipService(BeVipService beVipService) { this.beVipService = beVipService; } public void setUserService(UserService userService) { this.userService = userService; } }