package com.sp2p.action.app; import java.io.IOException; import java.util.HashMap; import java.util.Map; import com.hehenian.biz.common.account.dataobject.AccountUserDo; 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.web.util.JSONUtils; import com.sp2p.service.BeVipService; import com.sp2p.service.UserService; import com.sp2p.service.ValidateService; public class WorkAppAction extends BaseAppAction { public static Log log = LogFactory.getLog(WorkAppAction.class); private static final long serialVersionUID = 7226324035784433720L; private UserService userService; private BeVipService beVipService; private ValidateService validateService; public String addOrUpdateWork() throws IOException { Map<String, String> jsonMap = new HashMap<String, String>(); try { AccountUserDo user = (AccountUserDo) session("user"); // if(user == null){ // jsonMap.put("error", "41"); // jsonMap.put("msg", "请先登陆"); // JSONUtils.printObject(jsonMap); // return null; // } // // if (user.getAuthStep() == 1) { // // 个人信息认证步骤 // json.put("msg", "querBaseData"); // JSONUtils.printObject(json); // return null; // } Map<String, String> appInfoMap = this.getAppInfoMap(); String orgName = appInfoMap.get("orgName"); if (StringUtils.isBlank(orgName)) { jsonMap.put("error", "1"); jsonMap.put("msg", "请正确填写公司名字"); JSONUtils.printObject(jsonMap); return null; } else if (2 > orgName.length() || 50 < orgName.length()) { jsonMap.put("error", "2"); jsonMap.put("msg", "公司名字长度为不小于2和大于50"); JSONUtils.printObject(jsonMap); return null; } String occStatus = appInfoMap.get("occStatus"); if (StringUtils.isBlank(occStatus)) { jsonMap.put("error", "3"); jsonMap.put("msg", "请填写职业状态"); JSONUtils.printObject(jsonMap); return null; } long workPro = Convert.strToLong(appInfoMap.get("workPro"), -1L); // if (workPro == -1L) { // jsonMap.put("error", "4"); // jsonMap.put("msg", "请填写工作城市省份"); // JSONUtils.printObject(jsonMap); // return null; // } long workCity = Convert.strToLong(appInfoMap.get("workCity"), -1L); // if (workCity == -1L) { // jsonMap.put("error", "5"); // jsonMap.put("msg", "请填写工作城市"); // JSONUtils.printObject(jsonMap); // return null; // } String companyType = appInfoMap.get("companyType"); // if (StringUtils.isBlank(companyType)) { // jsonMap.put("error", "6"); // jsonMap.put("msg", "请填写公司类别"); // JSONUtils.printObject(jsonMap); // return null; // } String companyLine = appInfoMap.get("companyLine"); // if (StringUtils.isBlank(companyLine)) { // jsonMap.put("error", "7"); // jsonMap.put("msg", "请填写公司行业"); // JSONUtils.printObject(jsonMap); // return null; // } String companyScale = appInfoMap.get("companyScale"); // if (StringUtils.isBlank(companyScale)) { // jsonMap.put("error", "8"); // jsonMap.put("msg", "请填写公司规模"); // JSONUtils.printObject(jsonMap); // return null; // } String job = appInfoMap.get("job"); // if (StringUtils.isBlank(job)) { // jsonMap.put("error", "9"); // jsonMap.put("msg", "请填写职位"); // JSONUtils.printObject(jsonMap); // return null; // } String monthlyIncome = appInfoMap.get("monthlyIncome"); // if (StringUtils.isBlank(monthlyIncome)) { // jsonMap.put("error", "10"); // jsonMap.put("msg", "请填写月收入"); // JSONUtils.printObject(jsonMap); // return null; // } String workYear = appInfoMap.get("workYear"); // if (StringUtils.isBlank(workYear)) { // jsonMap.put("error", "11"); // jsonMap.put("msg", "请填写现单位工作年限"); // JSONUtils.printObject(jsonMap); // return null; // } String companyTel = appInfoMap.get("companyTel"); if (StringUtils.isNotBlank(companyTel)) { if (!StringUtils.isNumeric(companyTel)) { jsonMap.put("error", "13"); jsonMap.put("msg", "请正确填写公司电话"); JSONUtils.printObject(jsonMap); return null; } if (companyTel.trim().length() < 7 || companyTel.trim().length() > 11) { jsonMap.put("error", "14"); jsonMap.put("msg", "请正确填写公司电话"); JSONUtils.printObject(jsonMap); return null; } } String workEmail = appInfoMap.get("workEmail"); // if (StringUtils.isBlank(workEmail)) { // jsonMap.put("error", "15"); // jsonMap.put("msg", "请填写工作邮箱"); // JSONUtils.printObject(jsonMap); // return null; // } String companyAddress = appInfoMap.get("companyAddress"); // if (StringUtils.isBlank(companyAddress)) { // jsonMap.put("error", "16"); // jsonMap.put("msg", "请填写公司地址"); // JSONUtils.printObject(jsonMap); // return null; // } String directedName = appInfoMap.get("directedName"); if (StringUtils.isNotBlank(directedName)) { if (2 > directedName.length() || 50 < directedName.length()) { jsonMap.put("error", "18"); jsonMap.put("msg", "直系联系人姓名长度为不小于2和大于50"); JSONUtils.printObject(jsonMap); return null; } } String directedRelation = appInfoMap.get("directedRelation"); // if (StringUtils.isBlank(directedRelation)) { // jsonMap.put("error", "19"); // jsonMap.put("msg", "请填写直系联系人关系"); // JSONUtils.printObject(jsonMap); // return null; // } String directedTel = appInfoMap.get("directedTel"); if (StringUtils.isNotBlank(directedTel)) { if (!StringUtils.isNumeric(directedTel)) { jsonMap.put("error", "21"); jsonMap.put("msg", "请正确填写直系联系人电话"); JSONUtils.printObject(jsonMap); return null; } if (directedTel.trim().length() != 11) { jsonMap.put("error", "22"); jsonMap.put("msg", "请正确填写直系联系人电话长度错误"); JSONUtils.printObject(jsonMap); return null; } } String otherName = appInfoMap.get("otherName"); if (StringUtils.isNotBlank(otherName)) { if (2 > otherName.length() || 30 < otherName.length()) { jsonMap.put("error", "24"); jsonMap.put("msg", "其他联系人姓名长度为不小于2和大于30"); JSONUtils.printObject(jsonMap); return null; } } String otherRelation = appInfoMap.get("otherRelation"); // if (StringUtils.isBlank(otherRelation)) { // jsonMap.put("error", "25"); // jsonMap.put("msg", "请填写其他联系人关系"); // JSONUtils.printObject(jsonMap); // return null; // } String otherTel = appInfoMap.get("otherTel"); if (StringUtils.isNotBlank(otherTel)) { if (!StringUtils.isNumeric(otherTel)) { jsonMap.put("error", "27"); jsonMap.put("msg", "请正确填写其他联系人联系电话"); JSONUtils.printObject(jsonMap); return null; } if (otherTel.trim().length() != 11) { jsonMap.put("error", "28"); jsonMap.put("msg", "请正确填写其他联系人电话长度错误"); JSONUtils.printObject(jsonMap); return null; } } String moredName = appInfoMap.get("moredName"); if (StringUtils.isNotBlank(moredName)) { if (2 > moredName.length() || 50 < moredName.length()) { jsonMap.put("error", "30"); jsonMap.put("msg", "更多联系人姓名长度为不小于2和大于50"); JSONUtils.printObject(jsonMap); return null; } } String moredRelation = appInfoMap.get("moredRelation"); // if (StringUtils.isBlank(moredRelation)) { // jsonMap.put("error", "31"); // jsonMap.put("msg", "更多联系人关系不能为空"); // JSONUtils.printObject(jsonMap); // return null; // } String moredTel = appInfoMap.get("moredTel"); if (StringUtils.isNotBlank(moredTel)) { if (!StringUtils.isNumeric(moredTel)) { jsonMap.put("error", "33"); jsonMap.put("msg", "更多联系人关系电话格式不正确"); JSONUtils.printObject(jsonMap); return null; } if (moredTel.trim().length() != 11) { jsonMap.put("error", "34"); jsonMap.put("msg", "更多联系人关系电话格式不正确"); JSONUtils.printObject(jsonMap); return null; } } // 用户Id long userId = Convert .strToLong(this.getAppAuthMap().get("uid"), -1); if (userId == -1) { jsonMap.put("error", "35"); jsonMap.put("msg", "用户不存在"); JSONUtils.printObject(jsonMap); return null; } Long result = -1L; // 判断用户是否已经是vip Map<String, String> vipMap = null; vipMap = beVipService.queryUserById(userId); int vipStatus = 1;// 1 为非vip 2 为vip 3 代扣费vip int newutostept = -1; if (vipMap.size() > 0 && vipMap != null) { vipStatus = Convert.strToInt(vipMap.get("vipStatus"), 1); newutostept = Convert.strToInt(vipMap.get("authStep"), -1);// 用户此时的认证步骤状态 } result = userService.updateUserWorkData(orgName, occStatus, workPro, workCity, companyType, companyLine, companyScale, job, monthlyIncome, workYear, companyTel, workEmail, companyAddress, directedName, directedRelation, directedTel, otherName, otherRelation, otherTel, moredName, moredRelation, moredTel, userId, vipStatus, newutostept); if (result > 0) { // 保存成功更新认证步骤 // if (user.getAuthStep() == 2) { // user.setAuthStep(3); // } if (vipStatus != 1) {// 是vip会员 // 更新用户的session步骤和是更新user表中的认证步骤 // user.setAuthStep(4); jsonMap.put("error", "-1"); jsonMap.put("msg", "vip保存成功"); JSONUtils.printObject(jsonMap); return null; } else { jsonMap.put("error", "-1"); jsonMap.put("msg", "保存成功"); JSONUtils.printObject(jsonMap); return null; } } else { jsonMap.put("error", "39"); jsonMap.put("msg", "保存失败"); JSONUtils.printObject(jsonMap); return null; } } catch (Exception e) { jsonMap.put("error", "40"); jsonMap.put("msg", "未知异常"); JSONUtils.printObject(jsonMap); return null; } } public String queryWorkByUserId() 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 = validateService.queryWorkDataById(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 setUserService(UserService userService) { this.userService = userService; } public void setBeVipService(BeVipService beVipService) { this.beVipService = beVipService; } public void setValidateService(ValidateService validateService) { this.validateService = validateService; } }