package com.sp2p.action.admin; import java.io.File; import java.io.IOException; import java.io.PrintWriter; import java.sql.SQLException; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Random; import java.util.UUID; import java.util.regex.Matcher; import java.util.regex.Pattern; import com.hehenian.biz.common.account.dataobject.AccountUserDo; import net.sf.json.JSONObject; import org.apache.commons.lang.StringUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.struts2.ServletActionContext; import org.json.simple.JSONArray; import com.shove.Convert; import com.shove.data.DataException; import com.shove.security.Encrypt; import com.shove.util.ExcelUtils; import com.shove.util.SMSUtil; import com.shove.util.SqlInfusion; import com.shove.web.action.BasePageAction; import com.shove.web.util.JSONUtils; import com.sp2p.constants.BorrowType; import com.sp2p.constants.IAmountConstants; import com.sp2p.constants.IConstants; import com.sp2p.constants.IPersonListsConstants; import com.sp2p.dao.BeVipDao; import com.sp2p.entity.Admin; import com.sp2p.service.AwardMoneyService; import com.sp2p.service.BeVipService; import com.sp2p.service.CostManagerService; import com.sp2p.service.IDCardValidateService; import com.sp2p.service.PublicModelService; import com.sp2p.service.RecommendUserService; import com.sp2p.service.RegionService; import com.sp2p.service.UserService; import com.sp2p.service.ValidateService; import com.sp2p.service.admin.SMSInterfaceService; import com.sp2p.service.admin.ShoveBorrowTypeService; import com.sp2p.task.JobTaskService; import com.sp2p.util.DateUtil; @SuppressWarnings({ "unchecked", "rawtypes" }) public class UserAction extends BasePageAction { public static Log log = LogFactory.getLog(UserAction.class); private static final long serialVersionUID = 1L; public UserService userService; private RegionService regionService; private ValidateService validateService; private AwardMoneyService awardMoneyService; private CostManagerService costManagerService; private SMSInterfaceService sMsService; private RecommendUserService recommendUserService; @SuppressWarnings("unused") private IDCardValidateService iDCardValidateService; private ShoveBorrowTypeService shoveBorrowTypeService; private BeVipService beVipService; // add by houli vip扣费处理 private JobTaskService jobTaskService; // private List<Map<String, Object>> provinceList; private List<Map<String, Object>> regioncity; private List<Map<String, Object>> cityList; private List<Map<String, Object>> regcityList; private List<Map<String, Object>> areaList; private List<Map<String, Object>> typeList;// private long workPro = -1L;// 初始化省份默认值 private long cityId = -1L;// 初始化话默认城市 private long regPro = -1L;// 户口区域默认值 private long regCity = -1L;// 户口区域默认值 private Map<String, String> maps; private static Map<String, String> bankIdMap = new HashMap<String, String>(); /** 导入用户资料 */ private File userFile; private String userFileName; private String userFileContentName; private Map<String, String> prov = new HashMap<String, String>(); // 省列表 private Map<String, String> city = new HashMap<String, String>(); // 地区列表 @SuppressWarnings("unused") private BeVipDao beVipDao; /** end */ private PublicModelService agreementService; static { bankIdMap.put("工商银行", "ICBC"); bankIdMap.put("农行", "ABC"); bankIdMap.put("招行", "CMB"); bankIdMap.put("建设银行", "CCB"); bankIdMap.put("北京银行", "BCCB"); bankIdMap.put("北京农村商业银行", "BJRCB "); bankIdMap.put("中国银行", "BOC"); bankIdMap.put("交通银行", "BOCOM"); bankIdMap.put("民生银行", "CMBC"); bankIdMap.put("上海银行", "BOS"); bankIdMap.put("渤海银行", "CBHB"); bankIdMap.put("光大银行", "CEB"); bankIdMap.put("兴业银行", "CIB"); bankIdMap.put("中信银行", "CITIC"); bankIdMap.put("浙商银行", "CZB"); bankIdMap.put("广发银行", "GDB"); bankIdMap.put("东亚银行", "HKBEA"); bankIdMap.put("华夏银行", "HXB"); bankIdMap.put("杭州银行", "HZCB"); bankIdMap.put("南京银行", "NJCB"); bankIdMap.put("平安银行", "PINGAN"); bankIdMap.put("邮储银行", "PSBC"); bankIdMap.put("深发银行", "SDB"); bankIdMap.put("浦发", "SPDB"); bankIdMap.put("上海农村商业银行", "SRCB"); } public PublicModelService getAgreementService() { return agreementService; } public void setAgreementService(PublicModelService agreementService) { this.agreementService = agreementService; } public void setBeVipService(BeVipService beVipService) { this.beVipService = beVipService; } public void setShoveBorrowTypeService(ShoveBorrowTypeService shoveBorrowTypeService) { this.shoveBorrowTypeService = shoveBorrowTypeService; } public void setIDCardValidateService(IDCardValidateService cardValidateService) { iDCardValidateService = cardValidateService; } public Map<String, String> getMaps() throws Exception { maps = userService.queryPersonById(62); return maps; } public AwardMoneyService getAwardMoneyService() { return awardMoneyService; } public void setAwardMoneyService(AwardMoneyService awardMoneyService) { this.awardMoneyService = awardMoneyService; } public RecommendUserService getRecommendUserService() { return recommendUserService; } public void setRecommendUserService(RecommendUserService recommendUserService) { this.recommendUserService = recommendUserService; } public CostManagerService getCostManagerService() { return costManagerService; } public void setCostManagerService(CostManagerService costManagerService) { this.costManagerService = costManagerService; } public List<Map<String, Object>> getProvinceList() { return provinceList; } public void setProvinceList(List<Map<String, Object>> provinceList) { this.provinceList = provinceList; } public List<Map<String, Object>> getTypeList() { return typeList; } public void setTypeList(List<Map<String, Object>> typeList) { this.typeList = typeList; } public UserService getUserService() { return userService; } public void setCityList(List<Map<String, Object>> cityList) { this.cityList = cityList; } public void setAreaList(List<Map<String, Object>> areaList) { this.areaList = areaList; } public SMSInterfaceService getSMsService() { return sMsService; } public void setSMsService(SMSInterfaceService msService) { sMsService = msService; } // ======地区列表 public String ajaxqueryRegion() throws SQLException, DataException, IOException { // Long regionId = Convert.strToLong(paramMap.get("regionId"), -1); Long parentId = Convert.strToLong(request("parentId"), -1); Integer regionType = Convert.strToInt(request("regionType"), -1); List<Map<String, Object>> list; try { list = regionService.queryRegionList(-1L, parentId, regionType); } catch (SQLException e) { log.error(e); e.printStackTrace(); throw e; } catch (DataException e) { log.error(e); e.printStackTrace(); throw e; } String jsonStr = JSONArray.toJSONString(list); JSONUtils.printStr(jsonStr); return null; } /** * 上传页面点击上传按钮 展示用户图片和上传 * * @return * @throws SQLException * @throws DataException */ public String queryUserPictur() throws DataException, SQLException { String tmidStr = SqlInfusion.FilteSqlInfusion(request().getParameter("dm")); // ------add by houli String btype = request("btype"); List<Map<String, Object>> userPicDate = null; Map<String, String> typmap = null; AccountUserDo user = null; int len = 0;// 集合的大小 @SuppressWarnings("unused") Long materAuthTypeId = null; if (StringUtils.isNotBlank(tmidStr)) { Long tmid = Convert.strToLong(tmidStr, -1L); request().setAttribute("tmid", tmid); userPicDate = userService.queryPerTyhpePicture(tmid); len = userPicDate.size(); user = (AccountUserDo) session().getAttribute("user"); if (user != null) { Long userId = user.getId(); typmap = userService.queryPitcturTyep(userId, tmid); } } request().setAttribute("len", len); request().setAttribute("userPicDate", userPicDate); request().setAttribute("typmap", typmap); request().setAttribute("tmidStr", tmidStr); // ----add by houli if (btype != null) { request().setAttribute("btype", btype); } return SUCCESS; } // 用户提交图片审核 /*public String addpastPicturdate() throws SQLException, DataException, IOException { Long tmid = Convert.strToLong(paramMap.get("tmid"), -1L);// materAuth的id Long materAuthTypeId = Convert.strToLong(paramMap.get("materAuthTypeId"), -1L); Integer len = Convert.strToInt(paramMap.get("len"), -1);// 上传图片个数 Integer Listlen = Convert.strToInt(paramMap.get("listlen"), -1);// 数据库的图片个数 Long tmids = Convert.strToLong(paramMap.get("tmidStr"), -1L); Long result = -1L; if (Listlen == -1) { JSONUtils.printStr("17"); return null; } if (len == -1) { JSONUtils.printStr("18"); return null; } Integer allPicturecount = len + Listlen;// 用户将要上传的图片和数据库图片的个数的总和 if (materAuthTypeId == 1) { if (5 < allPicturecount) { JSONUtils.printStr("1"); return null; }// 身份证 } if (materAuthTypeId == 2) { if (10 < allPicturecount) { JSONUtils.printStr("2"); return null; }// 工作认证 } if (materAuthTypeId == 3) { if (5 < allPicturecount) { JSONUtils.printStr("3"); return null; }// 居住认证 } if (materAuthTypeId == 4) { if (30 < allPicturecount) { JSONUtils.printStr("4"); return null; }// 收入认证 } if (materAuthTypeId == 5) { if (10 < allPicturecount) { JSONUtils.printStr("5"); return null; }// 信用报告 } if (materAuthTypeId > 5) { if (10 < allPicturecount) { JSONUtils.printStr("6"); return null; }// } AccountUserDo user = (AccountUserDo) session().getAttribute("user");// 获取user实体 List<Long> lists = new ArrayList<Long>();// 已经上传的图片设置他们的可见性 if (Listlen != -1 && user != null) { for (int i = 1; i <= Listlen; i++) { if (Convert.strToInt(paramMap.get("id" + i), -1) != -1) { lists.add(Convert.strToLong(paramMap.get("id" + i), -1)); } } } List<String> imglistsy = new ArrayList<String>(); List<String> imgListsn = new ArrayList<String>(); if (len != -1 && user != null) { for (int i = 1; i <= len; i++) {// 将要上传图片图片先保存在一个数组里面 if (Convert.strToStr(paramMap.get("ids" + i), null) != null) { // 处理传来的图片值 String temppicture = Convert.strToStr(paramMap.get("ids" + i), ""); int v = temppicture.indexOf(".v"); if (v == -1) { imgListsn.add(temppicture); } else { // 这个是保存可见的picture imglistsy.add(temppicture.substring(0, v)); } } } } DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String uploadingTime = format.format(new Date());// 当前时间上传图片时间 if (user != null && tmid != -1L && materAuthTypeId != -1L) { Long userId = user.getId(); // 遍历将image查到数据库中 1 表示向t_materialsauth 插入图片类型 表示等待审核 result = userService.addUserImage(1, uploadingTime, lists, imglistsy, imgListsn, tmid, userId, materAuthTypeId, tmids, len); // operationLogService.addOperationLog("t_materialimagedetal", user.getUserName(), IConstants.UPDATE, user.getLastIP(), 0, "用户提交图片审核", 2); if (result > 0) { // 更新User的状态 try { Map<String, String> newstatusmap = null; newstatusmap = userService.querynewStatus(userId);// 查询放到session中去 if (newstatusmap != null && newstatusmap.size() > 0) { // user.setAuthStep(Convert.strToInt(newstatusmap.get("authStep"), // -1)); // user.setEmail(Convert.strToStr(newstatusmap.get("email"), // null)); // user.setPassword(Convert.strToStr(newstatusmap.get("password"), // null)); // user.setId(Convert.strToLong(newstatusmap.get("id"), // -1L)); user.setRealName(Convert.strToStr(newstatusmap.get("realName"), null)); user.setKefuname(Convert.strToStr(newstatusmap.get("kefuname"), null)); user.setIdNo(Convert.strToStr(newstatusmap.get("idNo"), null)); user.setVipStatus(Convert.strToInt(newstatusmap.get("vipStatus"), -1)); user.setKefuid(Convert.strToInt(newstatusmap.get("tukid"), -1)); } } catch (Exception e) { e.printStackTrace(); } JSONUtils.printStr("123"); return null; } else { JSONUtils.printStr("321"); return null; } } return null; }*/ /** * 更新用户的图片是否可见 * * @return * @throws DataException * @throws SQLException */ public String updatevisiable() throws SQLException, DataException { int len = Convert.strToInt(paramMap.get("len"), -1); Long tmid = Convert.strToLong(paramMap.get("tmidStr"), -1L); List<Long> lists = new ArrayList<Long>(); AccountUserDo user = (AccountUserDo) session().getAttribute("user"); if (len != -1 && user != null) { for (int i = 1; i <= len; i++) { if (Convert.strToInt(paramMap.get("id" + i), -1) != -1) { lists.add(Convert.strToLong(paramMap.get("id" + i), -1)); } } } userService.updatevisiable(tmid, lists);// 将传来的明细id设置为可见 Admin admin = (Admin) session().getAttribute(IConstants.SESSION_ADMIN); operationLogService.addOperationLog("t_materialimagedetal", admin.getUserName(), IConstants.UPDATE, admin.getLastIP(), 0, "更新用户的图片的可见性", 2); return null; } /** * 添加用户初始化 * * @return String * @throws */ public String addUserInit() { paramMap.put("balances", "0"); paramMap.put("enable", "1"); paramMap.put("gender", "1"); return SUCCESS; } /** * 添加用户 * * @throws SQLException * @throws DataException * @return String */ public String addUser() throws SQLException, DataException { try { DateFormat dateformat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); @SuppressWarnings("unused") String addDate = dateformat.format(new Date()); // 创建时间 String email = SqlInfusion.FilteSqlInfusion(paramMap.get("email")); // 电子邮箱 String userName = SqlInfusion.FilteSqlInfusion(paramMap.get("userName")); // 用户名 @SuppressWarnings("unused") String password = SqlInfusion.FilteSqlInfusion(paramMap.get("password")); // 用户密码 @SuppressWarnings("unused") String name = SqlInfusion.FilteSqlInfusion(paramMap.get("name")); // 真实姓名 @SuppressWarnings("unused") String gender = SqlInfusion.FilteSqlInfusion(paramMap.get("gender")); // 性别 @SuppressWarnings("unused") String mobilePhone = SqlInfusion.FilteSqlInfusion(paramMap.get("mobilePhone")); // 手机号码 @SuppressWarnings("unused") String qq = SqlInfusion.FilteSqlInfusion(paramMap.get("qq")); @SuppressWarnings("unused") Long provinceId = Convert.strToLong(paramMap.get("provinceId"), -1); // 省Id @SuppressWarnings("unused") Long cityId = Convert.strToLong(paramMap.get("cityId"), -1); // 城市id @SuppressWarnings("unused") Long areaId = Convert.strToLong(paramMap.get("areaId"), -1); // 区/镇/县id @SuppressWarnings("unused") String postalcode = SqlInfusion.FilteSqlInfusion(paramMap.get("postalcode")); // 邮政编码 @SuppressWarnings("unused") String headImg = SqlInfusion.FilteSqlInfusion(paramMap.get("headImg")); // 头像 @SuppressWarnings("unused") Integer status = 0; // Convert.strToInt(paramMap.get("status"), 2); // //邮箱是否验证通过 (0:未通过1:通过) @SuppressWarnings("unused") String balances = paramMap.get("balances"); // E币账户余额 @SuppressWarnings("unused") Integer enable = Convert.strToInt(paramMap.get("enable"), 1); // 是否禁用 // 1、启用 // 2、禁用 @SuppressWarnings("unused") Integer rating = Convert.strToInt(paramMap.get("rating"), 1); // 会员等级(1:普通会员2:铜牌会员3:银牌会员4:金牌会员) @SuppressWarnings("unused") String lastDate = SqlInfusion.FilteSqlInfusion(paramMap.get("lastDate")); // 最后登录时间 @SuppressWarnings("unused") String lastIP = SqlInfusion.FilteSqlInfusion(paramMap.get("lastIP")); // 最后登录ip Long result = userService.isExistEmailORUserName(null, userName); if (result > 0) { this.addFieldError("paramMap['userName']", "该用户已注册!"); return INPUT; } result = userService.isExistEmailORUserName(email, null); Admin admin = (Admin) session().getAttribute(IConstants.SESSION_ADMIN); operationLogService.addOperationLog("t_user", admin.getUserName(), IConstants.INSERT, admin.getLastIP(), 0, "添加新用户", 2); if (result > 0) { this.addFieldError("paramMap['email']", "该邮箱已注册!"); return INPUT; } // userService.addUser(email, userName, password, name, gender); } catch (SQLException e) { log.error(e); e.printStackTrace(); throw e; } catch (DataException e) { log.error(e); e.printStackTrace(); throw e; } return SUCCESS; } /** * 添加认证图片 * * @return * @throws Exception */ /*public String addImage() throws Exception { Map<String, String> Apcmap = null;// 五大基本资料的计数存放map long materAuthTypeId = Convert.strToLong(paramMap.get("materAuthTypeId").toString(), -1L); String imgPath = SqlInfusion.FilteSqlInfusion(paramMap.get("userHeadImg")); if (StringUtils.isBlank(imgPath)) { JSONUtils.printStr("-1"); return null; } long imageId = -1L; long userId = -1L; AccountUserDo user = (AccountUserDo) session().getAttribute("user"); // 认证状态 if (null != user) { userId = user.getId(); imageId = userService.addImage(materAuthTypeId, imgPath, userId); Admin admin = (Admin) session().getAttribute(IConstants.SESSION_ADMIN); operationLogService.addOperationLog("t_materialsauth", admin.getUserName(), IConstants.INSERT, admin.getLastIP(), 0, "添加认证图片", 2); user = userService.jumpToWorkData(userId);// 2表示工作认证步骤 2 工作认证 1 // 基础资料认证 3 vip认证 //5表示通过资料上传验证 session().removeAttribute("user"); session().setAttribute("user", user); } if (imageId < 0) { JSONUtils.printStr("0"); return null; } else { Integer allcount = 0; Apcmap = userService.queryPicturStatuCount(user.getId()); if (Apcmap != null && Apcmap.size() > 0) { allcount = Convert.strToInt(Apcmap.get("ccc"), 0); } if (allcount != 0 && allcount >= 5) { response().setCharacterEncoding("UTF-8"); response().setContentType("text/html; charset=UTF-8"); PrintWriter out = response().getWriter(); out.print("addBorrowInit.do?t=" + session().getAttribute("borrowWay")); out.flush(); out.close(); return null; } else { JSONUtils.printStr("1");// 不给跳转 return null; } } }*/ /** * 添加用户基础资料 * * @return * @throws SQLException * @throws IOException */ public String addUserBaseData() throws SQLException, IOException { JSONObject json = new JSONObject(); String realName = SqlInfusion.FilteSqlInfusion(paramMap.get("realName"));// 真实姓名 if (StringUtils.isBlank(realName)) { json.put("msg", "请正确填写真实名字"); JSONUtils.printObject(json); return null; } else if (2 > realName.length() || 20 < realName.length()) { json.put("msg", "真实姓名的长度为不小于2和大于20"); JSONUtils.printObject(json); return null; } String cellPhone = SqlInfusion.FilteSqlInfusion(paramMap.get("cellPhone"));// 手机号码 if (StringUtils.isBlank(cellPhone)) { json.put("msg", "请正确填写手机号码"); JSONUtils.printObject(json); return null; } else if (cellPhone.length() < 9 || cellPhone.length() > 15) { json.put("msg", "手机号码长度不对"); JSONUtils.printObject(json); return null; } String phonecode = null; Object objcet = session().getAttribute("phone"); // 测试--跳过验证码 if (IConstants.ISDEMO.equals("1")) { } else { if (objcet != null) { phonecode = objcet.toString(); } else { json.put("msg", "请输入正确的验证码"); JSONUtils.printObject(json); return null; } if (phonecode != null) { if (!phonecode.trim().equals(cellPhone.trim())) { json.put("msg", "与获取验证码手机号不一致"); JSONUtils.printObject(json); return null; } } } // 验证码 String vilidataNum = SqlInfusion.FilteSqlInfusion(paramMap.get("vilidataNum")); if (StringUtils.isBlank(vilidataNum)) { json.put("msg", "请填写验证码"); JSONUtils.printObject(json); return null; } String randomCode = null; Object obje = session().getAttribute("randomCode"); // 测试--跳过验证码 if (IConstants.ISDEMO.equals("1")) { } else { if (obje != null) { randomCode = obje.toString(); } else { json.put("msg", "请输入正确的验证码"); JSONUtils.printObject(json); return null; } if (randomCode != null) { if (!randomCode.trim().equals(vilidataNum.trim())) { json.put("msg", "请输入正确的验证码"); JSONUtils.printObject(json); return null; } } } String sex = SqlInfusion.FilteSqlInfusion(paramMap.get("sex"));// 性别(男 女) if (StringUtils.isBlank(sex)) { json.put("msg", "请正确填写性别"); JSONUtils.printObject(json); return null; } String birthday = SqlInfusion.FilteSqlInfusion(paramMap.get("birthday"));// 出生日期 if (StringUtils.isBlank(birthday)) { json.put("msg", "请正确填写出生日期"); JSONUtils.printObject(json); return null; } String highestEdu = SqlInfusion.FilteSqlInfusion(paramMap.get("highestEdu"));// 最高学历 if (StringUtils.isBlank(highestEdu)) { json.put("msg", "请正确填写最高学历"); JSONUtils.printObject(json); return null; } String eduStartDay = SqlInfusion.FilteSqlInfusion(paramMap.get("eduStartDay"));// 入学年份 if (StringUtils.isBlank(eduStartDay)) { json.put("msg", "请正确填写入学年份"); JSONUtils.printObject(json); return null; } String school = SqlInfusion.FilteSqlInfusion(paramMap.get("school"));// 毕业院校 if (StringUtils.isBlank(school)) { json.put("msg", "请正确填写入毕业院校"); JSONUtils.printObject(json); return null; } String maritalStatus = SqlInfusion.FilteSqlInfusion(paramMap.get("maritalStatus"));// 婚姻状况(已婚 未婚) if (StringUtils.isBlank(maritalStatus)) { json.put("msg", "请正确填写入婚姻状况"); JSONUtils.printObject(json); return null; } String hasChild = SqlInfusion.FilteSqlInfusion(paramMap.get("hasChild"));// 有无子女(有 无) if (StringUtils.isBlank(hasChild)) { json.put("msg", "请正确填写入有无子女"); JSONUtils.printObject(json); return null; } String hasHourse = SqlInfusion.FilteSqlInfusion(paramMap.get("hasHourse"));// 是否有房(有 无) if (StringUtils.isBlank(hasHourse)) { json.put("msg", "请正确填写入是否有房"); JSONUtils.printObject(json); return null; } String hasHousrseLoan = SqlInfusion.FilteSqlInfusion(paramMap.get("hasHousrseLoan"));// 有无房贷(有 无) if (StringUtils.isBlank(hasHousrseLoan)) { json.put("msg", "请正确填写入有无房贷"); JSONUtils.printObject(json); return null; } String hasCar = SqlInfusion.FilteSqlInfusion(paramMap.get("hasCar"));// 是否有车 (有 无) if (StringUtils.isBlank(hasCar)) { json.put("msg", "请正确填写入是否有车"); JSONUtils.printObject(json); return null; } String hasCarLoan = SqlInfusion.FilteSqlInfusion(paramMap.get("hasCarLoan"));// 有无车贷 (有 无) if (StringUtils.isBlank(hasCarLoan)) { json.put("msg", "请正确填写入有无车贷"); JSONUtils.printObject(json); return null; } Long nativePlacePro = Convert.strToLong(SqlInfusion.FilteSqlInfusion(paramMap.get("nativePlacePro")), -1);// 籍贯省份(默认为-1) if (StringUtils.isBlank(nativePlacePro.toString())) { json.put("msg", "请正确填写入籍贯省份"); JSONUtils.printObject(json); return null; } Long nativePlaceCity = Convert.strToLong(paramMap.get("nativePlaceCity"), -1);// 籍贯城市 // (默认为-1) if (StringUtils.isBlank(nativePlaceCity.toString())) { json.put("msg", "请正确填写入籍贯城市"); JSONUtils.printObject(json); return null; } Long registedPlacePro = Convert.strToLong(SqlInfusion.FilteSqlInfusion(paramMap.get("registedPlacePro")), -1);// 户口所在地省份(默认为-1) if (StringUtils.isBlank(registedPlacePro.toString())) { json.put("msg", "请正确填写入户口所在地省份"); JSONUtils.printObject(json); return null; } Long registedPlaceCity = Convert.strToLong(SqlInfusion.FilteSqlInfusion(paramMap.get("registedPlaceCity")), -1);// 户口所在地城市(默认为-1) if (StringUtils.isBlank(registedPlaceCity.toString())) { json.put("msg", "请正确填写入户口所在地城市"); JSONUtils.printObject(json); return null; } String address = SqlInfusion.FilteSqlInfusion(paramMap.get("address"));// 所在地 if (StringUtils.isBlank(address)) { json.put("msg", "请正确填写入所在地"); JSONUtils.printObject(json); return null; } String telephone = SqlInfusion.FilteSqlInfusion(paramMap.get("telephone"));// 居住电话 if (StringUtils.isBlank(telephone)) { json.put("msg", "请正确填写入你的家庭电话"); JSONUtils.printObject(json); return null; } /* 用户头像 */ String personalHead = SqlInfusion.FilteSqlInfusion(paramMap.get("personalHead"));// 个人头像 (默认系统头像) if (StringUtils.isBlank(personalHead)) { /* * json.put("msg", "请正确填写入所在地"); JSONUtils.printObject(json); return * null; */ personalHead = null; } // 用户Id // String userId = session("");//用户Id AccountUserDo user = (AccountUserDo) session("user"); /* * 测试 long userId = -1L; userId = user.getId(); if(userId < 0){ * json.put("msg", "超时,请重新登录"); JSONUtils.printObject(json); return * null; } */ String idNo = SqlInfusion.FilteSqlInfusion(paramMap.get("idNo"));// 身份证号码 long len = idNo.length(); if (StringUtils.isBlank(idNo)) { json.put("msg", "请正确身份证号码"); JSONUtils.printObject(json); return null; } else if (15 != len) { if (18 == len) { } else { json.put("msg", "请正确身份证号码"); JSONUtils.printObject(json); return null; } } long personId = -1L; personId = userService.userBaseData(realName, cellPhone, sex, birthday, highestEdu, eduStartDay, school, maritalStatus, hasChild, hasHourse, hasHousrseLoan, hasCar, hasCarLoan, nativePlacePro, nativePlaceCity, registedPlacePro, registedPlaceCity, address, telephone, personalHead, user.getId(), idNo); Admin admin = (Admin) session().getAttribute(IConstants.SESSION_ADMIN); if (personId > 0) { session().removeAttribute("randomCode"); operationLogService.addOperationLog("t_person", admin.getUserName(), IConstants.INSERT, admin.getLastIP(), 0, "添加用户基础资料成功", 2); json.put("msg", "保存成功"); JSONUtils.printObject(json); return null; // 成功 } else { operationLogService.addOperationLog("t_person", admin.getUserName(), IConstants.INSERT, admin.getLastIP(), 0, "添加用户基础资料失败", 2); json.put("msg", "保存失败"); // 失败 JSONUtils.printObject(json); return null; } } /** * 审核基础资料 * * @return * @throws SQLException * @throws IOException * @throws DataException */ public String updateUserBaseDataCheck() throws SQLException, IOException, DataException { JSONObject json = new JSONObject(); long personId = -1L; int auditStatus = 1;// 默认不通过审核 long userId = Convert.strToLong(paramMap.get("userId"), -1l); long flag = -1L; String statuss = null; if (StringUtils.isNotBlank(paramMap.get("flag"))) { flag = Long.parseLong(paramMap.get("flag")); } if (flag == 1) { auditStatus = 3;// 通过审核 statuss = "通过审核"; } else if (flag == 0) { auditStatus = 2;// 审核不通过 statuss = "审核不通过"; } else { return null; } Admin admin = (Admin) session().getAttribute(IConstants.SESSION_ADMIN); long adminId = admin.getId(); if (admin != null) { personId = userService.updateUserBaseDataCheck(userId, auditStatus, adminId); operationLogService.addOperationLog("t_person", admin.getUserName(), IConstants.UPDATE, admin.getLastIP(), 0, "审核基础资料," + statuss, 2); } // 测试---跳过 if (IConstants.ISDEMO.equals("1")) json.put("msg", "保存成功"); // 成功 if (personId > 0) json.put("msg", "保存成功"); // 失败 else json.put("msg", "保存失败"); JSONUtils.printObject(json); return null; } /** * 前台 更新基本信息 */ public String updateUserBaseData() throws Exception { AccountUserDo user = (AccountUserDo) session("user"); Map<String, String> map = userService.queryPersonById(user.getId() ); JSONObject json = new JSONObject(); if (map!=null&&map.get("idNo")!=null&&StringUtils.isNotBlank(map.get("idNo").toString())){ //已经保存过身份证了 json.put("msg", "修改失败"); JSONUtils.printObject(json); return null; } String realName = SqlInfusion.FilteSqlInfusion(paramMap.get("realName"));// 真实姓名 if (StringUtils.isBlank(realName)) { json.put("msg", "请填写真实名字"); JSONUtils.printObject(json); return null; } else if (2 > realName.length() || 20 < realName.length()) { json.put("msg", "真实姓名的长度为不小于2和大于20"); JSONUtils.printObject(json); return null; } String idNo = Convert.strToStr(SqlInfusion.FilteSqlInfusion(paramMap.get("idNo")), "");// 身份证号码 long len = idNo.length(); if (StringUtils.isBlank(idNo)) { json.put("msg", "请填写身份证号码"); JSONUtils.printObject(json); return null; } else if (15 != len && 18 != len) { json.put("msg", "请填写真实的身份证号码"); JSONUtils.printObject(json); 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 { json.put("msg", "身份证不合法"); JSONUtils.printObject(json); return null; } String iDresutl = IDCardValidateService.chekIdCard(MAN_SEX, idNo); if (iDresutl != "") { json.put("msg", "身份证不合法"); JSONUtils.printObject(json); return null; } Map<String, String> pMap = null; pMap = beVipService.queryPUser(user.getId()); if (pMap == null) { pMap = new HashMap<String, String>(); } String isno = Convert.strToStr(pMap.get("idNo"), ""); // 测试--跳过验证 if (!IConstants.ISDEMO.equals("1")) { // add by houli 判断身份证的唯一性 if (StringUtils.isBlank(isno)) { Map<String, String> idNoMap = beVipService.queryIDCard(idNo); if (idNoMap != null && !idNoMap.isEmpty()) { json.put("msg", "身份证已注册"); JSONUtils.printObject(json); return null; } } } String sex = Convert.strToStr(SqlInfusion.FilteSqlInfusion(paramMap.get("sex")), null);// 性别(男 女) String birthday = Convert.strToStr(SqlInfusion.FilteSqlInfusion(paramMap.get("birthday")), null);// 出生日期 String highestEdu = Convert.strToStr(SqlInfusion.FilteSqlInfusion(paramMap.get("highestEdu")), null);// 最高学历 String eduStartDay = Convert.strToStr(SqlInfusion.FilteSqlInfusion(paramMap.get("eduStartDay")), null);// 入学年份 String school = Convert.strToStr(SqlInfusion.FilteSqlInfusion(paramMap.get("school")), null);// 毕业院校 Long nativePlacePro = Convert.strToLong(SqlInfusion.FilteSqlInfusion(paramMap.get("nativePlacePro")), -1);// 籍贯省份(默认-1) Long nativePlaceCity = Convert.strToLong(SqlInfusion.FilteSqlInfusion(paramMap.get("nativePlaceCity")), -1);// 籍贯城市(默认-1) Long registedPlacePro = Convert.strToLong(SqlInfusion.FilteSqlInfusion(paramMap.get("registedPlacePro")), -1);// 户口所在地省份(默认-1) Long registedPlaceCity = Convert.strToLong(SqlInfusion.FilteSqlInfusion(paramMap.get("registedPlaceCity")), -1);// 户口所在地城市(默认-1) String address = Convert.strToStr(SqlInfusion.FilteSqlInfusion(paramMap.get("address")), null);// 所在地 String email = Convert.strToStr(SqlInfusion.FilteSqlInfusion(paramMap.get("email")), null);// 邮件 // boolean result = userService.updateUserBaseData2(realName, sex, birthday, highestEdu, eduStartDay, school, nativePlacePro, nativePlaceCity, registedPlacePro, registedPlaceCity, address, user.getId(), idNo,email); if (result) { if (user.getAuthStep() == 1) { user.setAuthStep(2); } //资本资料直接通过 // Admin admin = (Admin) session().getAttribute(IConstants.SESSION_ADMIN); // long adminId = admin.getId(); // if (admin != null) { userService.updateUserBaseDataCheck(user.getId(), 3, user.getId()); operationLogService.addOperationLog("t_person", user.getUsername(), IConstants.UPDATE, user.getLastIP(), 0, "审核基础资料," + "审核通过", 2); // } session().removeAttribute("randomCode"); json.put("msg", "保存成功"); request().setAttribute("person", "1"); // user.setRealName(realName); // user.setIdNo(idNo); user.setEmail(email); session().setAttribute("user", user); //将姓名和身份证号码放入session 定期理财那边需要 session().setAttribute("realName",realName); session().setAttribute("idNo",idNo); } else { json.put("msg", "保存失败,请重试"); } JSONUtils.printObject(json); return null; } /** * 基本信息提交后再次跳转到user_information这个jsp页面 * * @return * @throws Exception */ /*public String againUserInformation() throws Exception { provinceList = regionService.queryRegionList(-1L, 1L, 1); AccountUserDo user = (AccountUserDo) session().getAttribute("user"); long userId = user.getId(); user = userService.jumpToWorkData(userId);// 2表示工作认证步骤 2 工作认证 1 // 基础资料认证 3 vip认证 if (user != null) { session().removeAttribute("user"); session().setAttribute("user", user); ServletActionContext.getRequest().setAttribute("authStep", user.getAuthStep()); request().setAttribute("provinceList", provinceList); return SUCCESS; } else { return LOGIN; } }*/ /** * 工作信息认证后再次跳user_information这个jsp页面 * * @throws Exception */ /*public String againUserInformationTwo() throws Exception { provinceList = regionService.queryRegionList(-1L, 1L, 1); AccountUserDo user = (AccountUserDo) session().getAttribute("user"); if (user != null) { long userId = user.getId(); // user = userService.jumpToWorkData(userId);// 表示工作认证步骤 2 工作认证 1 // 基础资料认证 3 vip认证 session().removeAttribute("user"); session().setAttribute("user", user); ServletActionContext.getRequest().setAttribute("authStep", user.getAuthStep()); // ServletActionContext.getRequest().setAttribute("realname", user.getRealName()); int vipStatus = user.getVipStatus(); if (vipStatus == 1) { ServletActionContext.getRequest().setAttribute("msg", "普通会员"); } else { ServletActionContext.getRequest().setAttribute("msg", "尊敬的vip会员"); } ServletActionContext.getRequest().setAttribute("email", user.getEmail()); // ServletActionContext.getRequest().setAttribute("username", user.getUserName()); request().setAttribute("provinceList", provinceList); return SUCCESS; } else { return LOGIN; } } */ /** * 前台 更新的工作认证资料添加 * * @throws SQLException * @throws IOException * @throws DataException */ public String updateUserWorkData() throws SQLException, IOException, DataException { JSONObject json = new JSONObject(); AccountUserDo user = (AccountUserDo) session().getAttribute("user"); if (user.getAuthStep() == 1) { // 个人信息认证步骤 json.put("msg", "querBaseData"); JSONUtils.printObject(json); return null; } String orgName = SqlInfusion.FilteSqlInfusion(paramMap.get("orgName")); if (StringUtils.isBlank(orgName)) { json.put("msg", "公司名字不正确"); JSONUtils.printObject(json); return null; } else if (2 > orgName.length() || 50 < orgName.length()) { json.put("msg", "公司名字长度为不小于2和大于50"); JSONUtils.printObject(json); return null; } String occStatus = SqlInfusion.FilteSqlInfusion(paramMap.get("occStatus")); if (StringUtils.isBlank(occStatus)) { json.put("msg", "请填写职业状态"); JSONUtils.printObject(json); return null; } Long workPro = Convert.strToLong(paramMap.get("workPro"), -1L); if (workPro == null || workPro == -1L) { json.put("msg", "请填写工作城市省份"); JSONUtils.printObject(json); return null; } Long workCity = Convert.strToLong(paramMap.get("workCity"), -1L); if (workCity == null || workCity == -1L) { json.put("msg", "请填写工作城市"); JSONUtils.printObject(json); return null; } String companyType = SqlInfusion.FilteSqlInfusion(paramMap.get("companyType")); if (StringUtils.isBlank(companyType)) { json.put("msg", "请填写公司类别"); JSONUtils.printObject(json); return null; } String companyLine = SqlInfusion.FilteSqlInfusion(paramMap.get("companyLine")); if (StringUtils.isBlank(companyLine)) { json.put("msg", "请填写公司行业"); JSONUtils.printObject(json); return null; } String companyScale = SqlInfusion.FilteSqlInfusion(paramMap.get("companyScale")); if (StringUtils.isBlank(companyScale)) { json.put("msg", "请填写公司规模"); JSONUtils.printObject(json); return null; } String job = SqlInfusion.FilteSqlInfusion(paramMap.get("job")); if (StringUtils.isBlank(job)) { json.put("msg", "请填写职位"); JSONUtils.printObject(json); return null; } String monthlyIncome = SqlInfusion.FilteSqlInfusion(paramMap.get("monthlyIncome")); if (StringUtils.isBlank(monthlyIncome)) { json.put("msg", "请填写月收入"); JSONUtils.printObject(json); return null; } String workYear = SqlInfusion.FilteSqlInfusion(paramMap.get("workYear")); if (StringUtils.isBlank(workYear)) { json.put("msg", "请填写现单位工作年限"); JSONUtils.printObject(json); return null; } String companyTel = SqlInfusion.FilteSqlInfusion(paramMap.get("companyTel")); if (StringUtils.isBlank(companyTel)) { json.put("msg", "请正确填写公司电话"); JSONUtils.printObject(json); return null; } Pattern pattern = Pattern.compile("^((0\\d{2,3})-)(\\d{7,8})(-(\\d{3,}))?$"); Matcher m = pattern.matcher(companyTel); if (!m.matches()) { json.put("msg", "请正确填写公司电话"); JSONUtils.printObject(json); return null; } String workEmail = SqlInfusion.FilteSqlInfusion(paramMap.get("workEmail")); if (StringUtils.isBlank(workEmail)) { json.put("msg", "请填写工作邮箱"); JSONUtils.printObject(json); return null; } String companyAddress = SqlInfusion.FilteSqlInfusion(paramMap.get("companyAddress")); if (StringUtils.isBlank(companyAddress)) { json.put("msg", "请填写公司地址"); JSONUtils.printObject(json); return null; } // 用户Id Long userId = user.getId(); Long result = -1L; // 判断用户是否已经是vip Map<String, String> vipMap = null; vipMap = beVipService.queryUserById(user.getId()); 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);// 用户此时的认证步骤状态 } Map<String, String> resultMap = userService.updateUserWorkData1(orgName, occStatus, workPro, workCity, companyType, companyLine, companyScale, job, monthlyIncome, workYear, companyTel, workEmail, companyAddress, "", "", "", "", "", "", "", "", "", userId, vipStatus, newutostept); result = Convert.strToLong(resultMap.get("ret") + "", -1); if (result > 0) { // 保存成功更新认证步骤 if (user.getAuthStep() == 2) { user.setAuthStep(3); } json.put("msg", "保存成功"); JSONUtils.printObject(json); return null; } else { json.put("msg", "保存失败"); JSONUtils.printObject(json); return null; } } private String from; private String btype; public String getBtype() { return btype; } public void setBtype(String btype) { this.btype = btype; } public String getFrom() { return from; } public void setFrom(String from) { this.from = from; } // public String execute(){ // // System.out.println("from = " + from); // return from; // } /** * 查询个详细信息 * * @return * @throws Exception */ public String queryBaseData() throws Exception { Map<String, String> map = new HashMap<String, String>(); AccountUserDo user = (AccountUserDo) session().getAttribute("user"); String birth = null; String rxedate = null; // --------modify by houli String from = getFrom(); if (from == null) { from = request("from"); } String btype = getBtype(); if (from != null) { request().setAttribute("from", from); } if (btype != null) { request().setAttribute("btype", btype); } // ----------- if (user != null) { map = userService.queryPersonById(user.getId()); if (map != null && map.size() > 0) { workPro = Convert.strToLong(map.get("nativePlacePro") + "", -1L); cityId = Convert.strToLong(map.get("nativePlaceCity") + "", -1L); regPro = Convert.strToLong(map.get("registedPlacePro") + "", -1L); regCity = Convert.strToLong(map.get("registedPlaceCity") + "", -1L); workPro = Convert.strToLong(map.get("nativePlacePro") + "", -1L); cityId = Convert.strToLong(map.get("nativePlaceCity") + "", -1L); regPro = Convert.strToLong(map.get("registedPlacePro") + "", -1L); regCity = Convert.strToLong(map.get("registedPlaceCity") + "", -1L); @SuppressWarnings("unused") String birthd = map.get("birthday"); birth = Convert.strToStr(map.get("birthday"), null); rxedate = Convert.strToStr(map.get("eduStartDay"), null); if (birth != null) { birth = birth.substring(0, 10); } if (rxedate != null) { rxedate = rxedate.substring(0, 10); } } } // 判断用户是否已经填写了基本信息 String flag = ""; if (map != null && map.size() > 0) {// 用户基本资料有数据但是不一定是已经填写了基本资料信息 // 还有可能是上传了个人头像 if (!StringUtils.isBlank(map.get("realName"))) {// 不为空 flag = "1"; } else { flag = "2"; } } else { flag = "2"; } request().setAttribute("flag", flag); provinceList = regionService.queryRegionList(-1L, 1L, 1); cityList = regionService.queryRegionList(-1L, workPro, 2); regcityList = regionService.queryRegionList(-1L, regPro, 2); request().setAttribute("map", map); request().setAttribute("provinceList", provinceList); request().setAttribute("cityList", cityList); request().setAttribute("regcityList", regcityList); request().setAttribute("birth", birth); request().setAttribute("rxedate", rxedate); request().setAttribute("ISDEMO", IConstants.ISDEMO); return SUCCESS; } /** * 查询后台的审核用户的详细信息 */ /** * 查询baseData * * @return * @throws Exception */ public long getRegPro() { return regPro; } public void setRegPro(long regPro) { this.regPro = regPro; } public long getRegCity() { return regCity; } public void setRegCity(long regCity) { this.regCity = regCity; } public long getWorkPro() { return workPro; } public void setWorkPro(long workPro) { this.workPro = workPro; } public long getCityId() { return cityId; } public void setCityId(long cityId) { this.cityId = cityId; } /** * 查询用户基本资料 * * @return * @throws Exception */ public String queryAdminBasecMessage() throws Exception { Map<String, String> map = new HashMap<String, String>(); long id = -1l; String birth = null; String rxedate = null; if (StringUtils.isNotBlank(request("uid"))) id = Long.parseLong(request("uid")); map = userService.queryPersonBasecMessageById(id); if (map != null && map.size() > 0) { workPro = Convert.strToLong(map.get("nativePlacePro") + "", -1L); cityId = Convert.strToLong(map.get("nativePlaceCity") + "", -1L); regPro = Convert.strToLong(map.get("registedPlacePro") + "", -1L); regCity = Convert.strToLong(map.get("registedPlaceCity") + "", -1L); birth = Convert.strToStr(map.get("birthday"), null); rxedate = Convert.strToStr(map.get("eduStartDay"), null); if (birth != null) birth = birth.substring(0, 10); if (rxedate != null) rxedate = rxedate.substring(0, 10); } provinceList = regionService.queryRegionList(-1L, 1L, 1); cityList = regionService.queryRegionList(-1L, workPro, 2); regcityList = regionService.queryRegionList(-1L, regPro, 2); request().setAttribute("provinceList", provinceList); request().setAttribute("cityList", cityList); request().setAttribute("regcityList", regcityList); request().setAttribute("birth", birth); request().setAttribute("rxedate", rxedate); request().setAttribute("map", map); if (map == null) // 如果map是空的话 那么用户没有填写基本信息 request().setAttribute("flag", "1"); return SUCCESS; } /** * vip页面跳转到workdata页面 * * @return * @throws Exception */ public String queryVipToWork() throws Exception { Map<String, String> map = new HashMap<String, String>(); Map<String, String> allworkmap = new HashMap<String, String>(); AccountUserDo user = (AccountUserDo) session().getAttribute("user"); provinceList = regionService.queryRegionList(-1L, 1L, 1); request().setAttribute("provinceList", provinceList); String btype = request("btype"); if (btype != null) { request().setAttribute("btype", btype); } String from = request("from"); if (from != null && !from.equals("")) { request().setAttribute("from", from); } if (user != null) { // 获取用户认证进行的步骤 if (user.getAuthStep() == 1) { // 个人信息认证步骤 response().setContentType("text/html; charset=UTF-8"); PrintWriter out = response().getWriter(); out.print("<script>alert('基本资料尚未填写或未审核');window.location.href='owerInformationInit.do';</script>"); return null; } map = validateService.queryWorkDataById(user.getId()); allworkmap = validateService.queryAllWorkStatus(user.getId()); if (map != null && map.size() > 0) { workPro = Convert.strToLong(map.get("workPro").toString(), -1L); cityId = Convert.strToLong(map.get("workCity").toString(), -1L); } cityList = regionService.queryRegionList(-1L, workPro, 2); request().setAttribute("cityList", cityList); request().setAttribute("map", map); request().setAttribute("allworkmap", allworkmap); @SuppressWarnings("unused") int authStep = user.getAuthStep(); return SUCCESS; } else { return LOGIN; } } /** * 基本信息跳转到工作信息 * * @return * @throws Exception */ public String queryWorkDatabaseAgain() throws Exception { @SuppressWarnings("unused") Map<String, String> map = new HashMap<String, String>(); AccountUserDo user = (AccountUserDo) session().getAttribute("user"); provinceList = regionService.queryRegionList(-1L, 1L, 1); request().setAttribute("provinceList", provinceList); int authStep = user.getAuthStep(); if (authStep == 3 || authStep == 4) { return "upWorkData"; } return SUCCESS; } /** * 在基本资料修改 和 工作认证资料修改 和 vip申请修改中的 资料上传的连接 * * @return * @throws DataException * @throws SQLException */ public String upDataMethod() throws SQLException, DataException { AccountUserDo user = (AccountUserDo) session().getAttribute("user"); int authStep = user.getAuthStep(); if (authStep == 4) { return SUCCESS; } if (authStep == 2) { provinceList = regionService.queryRegionList(-1L, 1L, 1); request().setAttribute("provinceList", provinceList); return "jibenjiliao"; } if (authStep == 3) { provinceList = regionService.queryRegionList(-1L, 1L, 1); request().setAttribute("provinceList", provinceList); return "workData"; } else if (authStep == 5) { return SUCCESS; } return LOGIN; } /** * 基本资料跳转到vip页面 * * @return * @throws Exception */ public String queryBaseToVip() throws Exception { @SuppressWarnings("unused") Map<String, String> map = new HashMap<String, String>(); Map<String, String> vippagemap = null; AccountUserDo user = (AccountUserDo) session().getAttribute("user"); // ----------modify houli String from = getFrom();// execute(); if (from == null) { request().setAttribute("from", from); } String btype = getBtype();// request("btype"); if (btype == null) { btype = request("btype"); if (btype != null && !btype.equals("")) { request().setAttribute("btype", btype); } } else { request().setAttribute("btype", btype); } // ------------ if (user != null) { if (from == null || from.equals("")) { if (user.getAuthStep() == 1) { // 个人信息认证步骤 return "querBaseData"; } else if (user.getAuthStep() == 2) { // 工作信息认证步骤 return "querWorkData"; } } vippagemap = userService.queryVipParamList(user.getId()); request().setAttribute("vippagemap", vippagemap); // ----------add by houli 进行vip申请判断,如果该用户已经申请了vip,则不能再次申请 if (user.getVipStatus() == IConstants.VIP_STATUS) { request().setAttribute("isVip", "true"); } // -------------- return SUCCESS; } else { return LOGIN; } } /** * 更新用户vip状态和认证步骤 * * @return * @throws Exception */ public String updataVipStatus() throws Exception { JSONObject obj = new JSONObject(); AccountUserDo user = (AccountUserDo) session().getAttribute("user"); // ----------------modify by houli String from = SqlInfusion.FilteSqlInfusion(paramMap.get("from")); if (from == null || from.equals("")) { if (user.getAuthStep() == 1) { // 个人信息认证步骤 obj.put("msg", "13"); JSONUtils.printObject(obj); return null; } else if (user.getAuthStep() == 2) { // 工作信息认证步骤 obj.put("msg", "14"); JSONUtils.printObject(obj); return null; } } String pageId = SqlInfusion.FilteSqlInfusion(paramMap.get("pageId")); String code = (String) session().getAttribute(pageId + "_checkCode"); String _code = SqlInfusion.FilteSqlInfusion(paramMap.get("code").toString().trim()); String servicePersonId = SqlInfusion.FilteSqlInfusion(paramMap.get("kefu"));// 客服跟踪人 Long server = Convert.strToLong(servicePersonId, -1); if (StringUtils.isBlank(servicePersonId)) { obj.put("msg", "2"); JSONUtils.printObject(obj); return null; } if (code == null || !_code.equals(code)) { obj.put("msg", "5"); JSONUtils.printObject(obj); return null; } Long userId = user.getId(); Map<String, Object> platformCostMap = getPlatformCost(); double vipFee = Convert.strToDouble(platformCostMap.get(IAmountConstants.VIP_FEE_RATE) + "", 0); double money = Convert.strToDouble(platformCostMap.get(IAmountConstants.ORDINARY_FRIENDS_FEE) + "", 0); Map<String, String> map = beVipService.beVip(userId, server, vipFee, money); Map<String, String> userMap = userService.queryUserById(userId); if (userMap != null) { user.setAuthStep(Convert.strToInt(map.get("authStep"), user.getAuthStep())); user.setVipStatus(Convert.strToInt(map.get("vipStatus"), user.getVipStatus())); } int ret = Convert.strToInt(map.get("ret") + "", -1); if (ret < 1) { obj.put("msg", map.get("ret_desc") + ""); JSONUtils.printObject(obj); return null; } else { // (如果用户已经申请完vip,重新设置user里面的vip状态,因为接下来跳转的地方是从user里面读取vip状态) user.setVipStatus(IConstants.VIP_STATUS); obj.put("msg", "1"); JSONUtils.printObject(obj); return null; } } /** * 查询客服列表 * * @return * @throws SQLException * @throws DataException */ public String querykefylist() throws DataException, SQLException { List<Map<String, Object>> map = null; map = userService.querykefylist(); if (map != null && map.size() > 0) { request().setAttribute("map", map); } return SUCCESS; } public String jumpTopage() { AccountUserDo user = (AccountUserDo) session().getAttribute("user"); if (user != null) { return SUCCESS; } else { return LOGIN; } } /** * 跳转到上传页面 * * @throws SQLException * @throws DataException */ public String jumpPassDatapage() throws Exception { AccountUserDo user = (AccountUserDo) session().getAttribute("user"); Long userId = -1l; // Map<String,String> pictruemap = null; List<Map<String, Object>> basepictur = null; List<Map<String, Object>> selectpictur = null; // -----------modify by houli String from = SqlInfusion.FilteSqlInfusion(request("from")); String btype = SqlInfusion.FilteSqlInfusion(request("btype")); // ------------- if (user != null) { if (from == null || from.equals("")) { // 获取用户认证进行的步骤 if (user.getAuthStep() == 1) { // 个人信息认证步骤 response().setContentType("text/html; charset=UTF-8"); PrintWriter out = response().getWriter(); out.print("<script>alert('基本资料尚未填写或未审核');window.location.href='owerInformationInit.do';</script>"); return null; } else if (user.getAuthStep() == 2) { // 工作信息认证步骤 response().setContentType("text/html; charset=UTF-8"); PrintWriter out = response().getWriter(); out.print("<script>alert('工作资料尚未填写或未审核');window.location.href='querWorkData.do';</script>"); return null; } else if (user.getAuthStep() == 3) { // VIP申请认证步骤 合和年暂无 // return "quervipData"; } // ---------add by houli else if (user.getAuthStep() == 5 && (btype != null && !btype.equals(""))) { return "jumpOther"; } } else {// 薪金贷跟生意贷操作步骤 // 获取用户认证进行的步骤 if (user.getAuthStep() == 1) { // 个人信息认证步骤 response().setContentType("text/html; charset=UTF-8"); PrintWriter out = response().getWriter(); out.print("<script>alert('基本资料尚未填写或未审核');window.location.href='owerInformationInit.do';</script>"); return null; } if (user.getVipStatus() == IConstants.UNVIP_STATUS) { return "quervipData"; } // -------add by houli // return jumpToBorrow(btype); if (IConstants.BORROW_TYPE_NET_VALUE.equals(btype)) { return "jumpNet"; } else if (IConstants.BORROW_TYPE_SECONDS.equals(btype)) { return "jumpSeconds"; } // ----------------- } userId = user.getId(); // 获取到图片的地址和图片的状态值 // pictruemap = userService.queryUserPictureStatus(userId); // request().setAttribute("pictruemap", pictruemap); basepictur = userService.queryBasePicture(userId);// 五大基本 selectpictur = userService.querySelectPicture(userId);// 可选 request().setAttribute("basepictur", basepictur); request().setAttribute("selectpictur", selectpictur); return SUCCESS; } else { return LOGIN; } } /** * 注册页面跳转使用条款 * * @return * @throws DataException * @throws SQLException */ public String querytipM() throws SQLException, DataException { paramMap = agreementService.getAgreementDetail(1, 2); return SUCCESS; } /** * 注册页面跳转隐私条款 * * @MethodName: querytipsM * @Param: UserAction * @Author: gang.lv * @Date: 2013-5-11 下午02:38:52 * @Return: * @Descb: * @Throws: */ public String querytipsM() throws SQLException, DataException { paramMap = agreementService.getAgreementDetail(1, 1); return SUCCESS; } /** * @throws SQLException * 删除用户 * * @return String * @throws */ public String deleteUser() throws SQLException { String userIds = SqlInfusion.FilteSqlInfusion(request("userId")); String[] userids = userIds.split(","); if (userids.length > 0) { long tempId = 0; for (String str : userids) { tempId = Convert.strToLong(str, -1); if (tempId == -1) { return INPUT; } } } else { return INPUT; } /* * try { // userService.deleteUser(userIds, ","); } catch (DataException * e) { e.printStackTrace(); } catch (SQLException e) { * e.printStackTrace(); } */ Admin admin = (Admin) session().getAttribute(IConstants.SESSION_ADMIN); operationLogService.addOperationLog("t_user", admin.getUserName(), IConstants.DELETE, admin.getLastIP(), 0, "删除用户", 2); return SUCCESS; } /** * 分页查询用户信息初始化 * * @return String * @throws */ public String queryUserListInfoInit() { return SUCCESS; } /** * 分页查询用户 * * @throws SQLException * @throws DataException * @return String * @throws */ public String queryUserListInfo() throws SQLException, DataException { @SuppressWarnings("unused") String email = SqlInfusion.FilteSqlInfusion(paramMap.get("email")); // 电子邮箱 @SuppressWarnings("unused") String userName = SqlInfusion.FilteSqlInfusion(paramMap.get("userName")); // 用户名 @SuppressWarnings("unused") String name = SqlInfusion.FilteSqlInfusion(paramMap.get("name")); // 真实姓名 @SuppressWarnings("unused") Integer gender = Convert.strToInt(paramMap.get("gender"), -1); // 性别 @SuppressWarnings("unused") String mobilePhone = SqlInfusion.FilteSqlInfusion(paramMap.get("mobilePhone")); // 手机号码 @SuppressWarnings("unused") String qq = SqlInfusion.FilteSqlInfusion(paramMap.get("qq")); @SuppressWarnings("unused") Long provinceId = Convert.strToLong(paramMap.get("provinceId"), -1); // 省Id @SuppressWarnings("unused") Long cityId = Convert.strToLong(paramMap.get("cityId"), -1); // 城市id @SuppressWarnings("unused") Long areaId = Convert.strToLong(paramMap.get("areaId"), -1); // 区/镇/县id @SuppressWarnings("unused") Integer status = Convert.strToInt(paramMap.get("status"), 2); // 邮箱是否验证通过 // (0:未通过1:通过) @SuppressWarnings("unused") Integer enable = Convert.strToInt(paramMap.get("enable"), 2); // 是否禁用 // 1、启用 // 2、禁用 @SuppressWarnings("unused") Integer rating = Convert.strToInt(paramMap.get("rating"), 1); // 会员等级(1:普通会员2:铜牌会员3:银牌会员4:金牌会员) /* * try { //userService.queryUserList(pageBean, email, userName, name, * gender, mobilePhone, qq, provinceId, cityId, areaId, status, enable, * rating); } catch (SQLException e) { log.error(e); * e.printStackTrace(); throw e; } catch (DataException e) { * log.error(e); e.printStackTrace(); throw e; } */ return SUCCESS; } /** * 发送短信验证 * * @param code * @return */ public String SendSMS() throws SQLException, DataException { try { // 清空验证码 session().removeAttribute("randomCode"); session().removeAttribute("phone"); String phone = SqlInfusion.FilteSqlInfusion(paramMap.get("phone")); String sign = phone.substring(0, 10); phone = phone.substring(10, phone.length()); String signNew = Encrypt.MD5(phone + IConstants.PASS_KEY).substring(0, 10); if (!signNew.equals(sign)) {// 签名验证 JSONUtils.printStr("2"); return null; } phone = Encrypt.decryptSES(phone, IConstants.PASS_KEY); String[] t = phone.split("/"); phone = t[0].toString(); String time = new String(); String uid = new String(); if (t[1] != null) { time = t[1]; } if (t[3] != null) { uid = t[3]; } AccountUserDo user = (AccountUserDo) session().getAttribute(IConstants.SESSION_USER); if (!uid.equals(user.getId() + "")) { JSONUtils.printStr("2"); return null; } long currTime = new Date().getTime(); long sendTime = Long.valueOf(time); if (currTime - sendTime > 30 * 1000) { JSONUtils.printStr("2"); return null; } // 随机产生4位数字 int intCount = 0; intCount = (new Random()).nextInt(9999);// 最大值位9999 if (intCount < 1000) intCount += 1000; // 最小值位1001 String randomCode = intCount + ""; // 测试--跳过验证 if (IConstants.ISDEMO.equals("1")) { JSONUtils.printStr("1"); session().setAttribute("randomCode", randomCode); session().setAttribute("phone", phone); return null; } // 发送短信 Map<String, String> map = sMsService.getSMSById(1); String content = "尊敬的客户您好,欢迎使用桂林市合和年信贷,手机验证码为:"; // //获取短信接口url // String url=SMSUtil.getSMSPort(map.get("url"), map.get("UserID"), // map.get("Account"), map.get("Password"), randomCode, content, // phone, null); // //发送短信 // String retCode = SMSUtil.sendSMS(url); String retCode = SMSUtil.sendSMS(map.get("Account"), map.get("Password"), content, phone, randomCode); if ("Sucess".equals(retCode)) { JSONUtils.printStr("1"); session().setAttribute("randomCode", randomCode); session().setAttribute("phone", phone); return null; } else { JSONUtils.printStr("2"); return null; } } catch (Exception e) { log.error(e); e.printStackTrace(); } return null; } /** * 发送短信验证 * * @param code * @return */ public String sendSMSNew() throws SQLException, DataException { try { // 清空验证码 session().removeAttribute("randomCode"); session().removeAttribute("phone"); String phone = SqlInfusion.FilteSqlInfusion(paramMap.get("phone")); String sign = phone.substring(0, 10); phone = phone.substring(10, phone.length()); String signNew = Encrypt.MD5(phone + IConstants.PASS_KEY).substring(0, 10); if (!signNew.equals(sign)) {// 签名验证 JSONUtils.printStr("2"); return null; } phone = Encrypt.decryptSES(phone, IConstants.PASS_KEY); String pageId = paramMap.get("pageId"); String code = (String) session().getAttribute(pageId + "_checkCode"); String[] t = phone.split("/"); phone = t[0].toString(); String time = new String(); String codeBak = new String(); if (t[1] != null) { time = t[1]; } if (t[2] != null) { codeBak = t[2]; } if (!codeBak.equals(code)) { JSONUtils.printStr("2"); return null; } long currTime = new Date().getTime(); long sendTime = Long.valueOf(time); if (currTime - sendTime > 30 * 1000) { JSONUtils.printStr("2"); return null; } // 随机产生4位数字 int intCount = 0; intCount = (new Random()).nextInt(9999);// 最大值位9999 if (intCount < 1000) intCount += 1000; // 最小值位1001 String randomCode = intCount + ""; // 测试--跳过验证 if (IConstants.ISDEMO.equals("1")) { JSONUtils.printStr("1"); session().setAttribute("randomCode", randomCode); session().setAttribute("phone", phone); return null; } // 发送短信 Map<String, String> map = sMsService.getSMSById(1); String content = "尊敬的客户您好,欢迎使用" + IConstants.PRO_GLOBLE_NAME + ",手机验证码为:"; // //获取短信接口url // String url=SMSUtil.getSMSPort(map.get("url"), map.get("UserID"), // map.get("Account"), map.get("Password"), randomCode, content, // phone, null); // //发送短信 // String retCode = SMSUtil.sendSMS(url); String retCode = SMSUtil.sendSMS(map.get("Account"), map.get("Password"), content, phone, randomCode); if ("Sucess".equals(retCode)) { JSONUtils.printStr("1"); session().setAttribute("randomCode", randomCode); session().setAttribute("phone", phone); return null; } else { JSONUtils.printStr("2"); return null; } } catch (Exception e) { log.error(e); e.printStackTrace(); } return null; } public String phoneCheck() throws Exception { JSONObject obj = new JSONObject(); obj.put("ret", -1 + ""); String phone = Convert.strToStr(request("phone"), ""); String code = Convert.strToStr(request("code"), ""); String uid = "-1"; AccountUserDo user = (AccountUserDo) session().getAttribute(IConstants.SESSION_USER); if (user != null) { uid = user.getId() + ""; } if (StringUtils.isBlank(phone)) { obj.put("msg", "手机号码不能为空"); JSONUtils.printObject(obj); return null; } // 手机号码验证 Pattern p = Pattern.compile("^1[3,5,8]\\d{9}$"); Matcher m = p.matcher(phone); if (!m.matches()) { obj.put("msg", "请输入正确的手机号码进行查询"); JSONUtils.printObject(obj); return null; } String time = DateUtil.getTimeCurS("yyyy:MM:dd HH:mm:ss", new Date()); try { phone = Encrypt.encryptSES(phone + "/" + time + "/" + code + "/" + uid, IConstants.PASS_KEY); phone = Encrypt.MD5(phone + IConstants.PASS_KEY).substring(0, 10) + phone; obj.put("ret", 1 + ""); obj.put("phone", phone); } catch (Exception e) { e.printStackTrace(); } JSONUtils.printObject(obj); return null; } /** * 随机生成账户密码 * */ public String randomUserNamePassword() { String randomStr = UUID.randomUUID().toString(); return randomStr.substring(randomStr.length() - 8, randomStr.length()); } /** * 验证身份证(已存在返回"exit" 通过返回"" 其他返回错误信息) */ public String checkIdNo(String idNo) { long len = idNo.length(); // 验证身份证 int sortCode = 0; int MAN_SEX = 0; if (len == 15) { sortCode = Integer.parseInt(idNo.substring(12, 15)); } else if (len == 18) { sortCode = Integer.parseInt(idNo.substring(14, 17)); } else { return "身份证格式错误"; } if (sortCode % 2 == 0) { MAN_SEX = 2;// 女性身份证 } else if (sortCode % 2 != 0) { MAN_SEX = 1;// 男性身份证 } else { return "身份证验证错误"; } String iDresutl = IDCardValidateService.chekIdCard(MAN_SEX, idNo); if (iDresutl.equals("")) { // 验证身份证唯一 Map<String, String> map = null; try { map = beVipService.queryIDCard(idNo); } catch (Exception e) { e.printStackTrace(); } if (map != null && map.size() > 0) { return "exit"; } else { return ""; } } return "身份证验证错误"; } /** * 验证手机号码正确 和 唯一 */ public String checkCellPhone(String cellPhone) { String regex = "^[1][3,5,4,8][0-9]{9}$"; if (Pattern.matches(regex, cellPhone)) { // 验证手机的唯一性 try { Map<String, String> phonemap = beVipService.queryIsPhone(cellPhone); if (phonemap != null) { return "手机号已存在"; } } catch (Exception e) { e.printStackTrace(); } return ""; } return "手机号码错误"; } /** * 导入用户资料 add by dong 10-15 * */ public String importUserInfo() throws SQLException { if (userFile == null) { this.addFieldError("userFile", "数据上传错误,请选择文件!"); return INPUT; } String[][] datas = null; try { datas = ExcelUtils.getData(userFile, 2); } catch (Exception e) { e.printStackTrace(); this.addFieldError("userFile", "数据文件格式错误,请选择正确的文件!"); return INPUT; } if (datas == null || datas.length == 0) { this.addFieldError("userFile", "数据导入为空,请按照模板填写资料后再导入!"); return INPUT; } // getNativePlaceCity();// 查询地区列表 DateFormat format = DateUtil.YYYY_MM_DD_MM_HH_SS; List<Map<String, String>> persons = new ArrayList<Map<String, String>>(); List<Map<String, String>> works = new ArrayList<Map<String, String>>(); List<Map<String, String>> borrows = new ArrayList<Map<String, String>>(); List<Map<String, String>> banks = new ArrayList<Map<String, String>>(); List<Map<String, String>> users = new ArrayList<Map<String, String>>(); for (int i = 0; i < datas.length; i++) { if (datas[i].length < 47) { this.addFieldError("userFile", "文件第" + (i + 3) + "条数据存在错误,请严格按照模板填写资料!"); return INPUT; } String cellPhone = datas[i][15];// 手机号码 String idNo = datas[i][14];// 身份证号码 String idCheck = checkIdNo(idNo);// 已存在返回"exit" 通过返回"" 其他返回错误信息 if (idCheck.equals("")) { // 身份证通过,验证手机号 String checkRet = checkCellPhone(cellPhone); if (checkRet.length() > 0) { this.addFieldError("userFile", "导入错误,第" + (i + 3) + "行," + checkRet); return INPUT; } } else if (idCheck.equals("exit")) { // 已存在身份证,不验证手机号码 } else { this.addFieldError("userFile", "导入错误,第" + (i + 3) + "行,身份证号码不正确"); return INPUT; } String OpenBankId = datas[i][9];// 开户银行 if (!bankIdMap.containsKey(OpenBankId)) { this.addFieldError("userFile", "导入错误,第" + (i + 3) + "行,开户银行不正确"); return INPUT; } OpenBankId = bankIdMap.get(OpenBankId); String OpenProvId = datas[i][10];// 银行省份 if (!prov.containsKey(OpenProvId)) { this.addFieldError("userFile", "导入错误,第" + (i + 3) + "行,开户银行省份不正确"); return INPUT; } OpenProvId = prov.get(OpenProvId); String OpenAreaId = datas[i][11];// 银行城市 if (!city.containsKey(OpenAreaId)) { this.addFieldError("userFile", "导入错误,第" + (i + 3) + "行,开户银行城市地区不正确"); return INPUT; } OpenAreaId = city.get(OpenAreaId); Date now = new Date(); Map<String, String> personMap = new HashMap<String, String>(); String realName = datas[i][1]; // 客户名称 String workPlace = datas[i][20]; // 账户名hhn_加身份证后6位 密码为身份证后8位 String password = "123456"; String userName = "hhn_" + idNo.substring(idNo.length() - 8); String oldPass = password; if ("1".equals(IConstants.ENABLED_PASS)) { password = com.shove.security.Encrypt.MD5(password.trim()); } else { password = com.shove.security.Encrypt.MD5(password.trim() + IConstants.PASS_KEY); } // t_user personMap.put("userName", userName); personMap.put("password", password); personMap.put("dealpwd", password); // 交易密码 personMap.put("createTime", format.format(now)); // 创建时间 personMap.put("authStep", "3"); // 认证步骤 personMap.put("enable", "1"); // 启用 personMap.put("mobilePhone", cellPhone); personMap.put("source", "0"); // 用户来源 0小贷公司导入 personMap.put("oldPass", oldPass); // 原始密码,汇付注册时传过去 users.add(personMap); // t_person personMap = new HashMap<String, String>(); personMap.put("realName", realName); personMap.put("sex", datas[i][2]); // 性别 personMap.put("age", datas[i][3]); // 年龄 personMap.put("maritalStatus", datas[i][4]); // 婚姻状况 personMap.put("dwell", datas[i][5]); // 居住情况 personMap.put("highestEdu", datas[i][6]); // 学历 personMap.put("creditCardSum", datas[i][7]); // 信用卡张数 personMap.put("creditCardAmount", datas[i][8]); // 信用卡额度 personMap.put("hasHousrseLoan", datas[i][31]); // 房贷 personMap.put("hasCarLoan", datas[i][32]); // 车贷 personMap.put("cellPhone", cellPhone); // 手机号码 personMap.put("bankCard", datas[i][13]); // 银行卡号 personMap.put("idNo", idNo); // 身份证号 personMap.put("auditStatus", "3"); // 审核状态 3 审核通过 personMap.put("personalHead", "images/index_46.jpg"); // 头像 personMap.put("workCity", getNativePlaceId(workPlace).get("CityCode"));// 工作地 personMap.put("workPro", getNativePlaceId(workPlace).get("ProCode"));// 工作地 persons.add(personMap); // t_bankcard personMap = new HashMap<String, String>(); personMap.put("OpenBankId", OpenBankId); // 开户银行代号 personMap.put("OpenProvId", OpenProvId); // 银行省份 personMap.put("OpenAreaId", OpenAreaId); // 银行城市 personMap.put("cardUserName", realName); // 用户名 personMap.put("bankName", datas[i][12]); // 开户行 personMap.put("bankNo", datas[i][13]); // 卡号 personMap.put("idNo", idNo); // 身份证 personMap.put("cellPhone", cellPhone); // 手机号码 banks.add(personMap); personMap.put("contactsPhone", datas[i][16]); // 联系人电话 personMap.put("houseSum", datas[i][17]); // 房产总量 personMap.put("carSum", datas[i][18]); // 车辆总量 // t_workth personMap = new HashMap<String, String>(); personMap.put("orgName", datas[i][19]); // 公司名称 personMap.put("companyAddress", datas[i][20]); // 公司地址 personMap.put("job", datas[i][21]); // 职位 personMap.put("companyType", datas[i][22]); // 公司性质 personMap.put("workYear", datas[i][23]); // 现单位工作年限 personMap.put("companyLine", datas[i][24]); // 现单位工作年限 personMap.put("monthlyIncome", datas[i][25]); // 月收入 personMap.put("allowance", datas[i][26]); // 奖金/津贴 personMap.put("otherIncome", datas[i][27]); // 其他收入 personMap.put("incomeSum", datas[i][28]); // 收入合计 personMap.put("alimony", datas[i][29]); // 生活费 personMap.put("creditCardRepayment", datas[i][30]); // 信用卡还款 personMap.put("paySum", datas[i][33]); // 支出合计 personMap.put("informationSearch", datas[i][34]); // 信息查询结果 personMap.put("auditStatus", "3"); // 工作信息认证状态 3 审核通过 personMap.put("workCity", getNativePlaceId(workPlace).get("CityCode"));// 工作地 personMap.put("workPro", getNativePlaceId(workPlace).get("ProCode"));// 工作地 // 工作信息 works.add(personMap); // t_borrow personMap = new HashMap<String, String>(); personMap.put("purpose", "2"); // 借款目的 默认是2 资金周转 personMap.put("imgPath", randomImg()); // 借款图片 personMap.put("borrowAmount", datas[i][35]); // 借款金额 personMap.put("deadline", datas[i][36]); // 借款期限 personMap.put("borrowWay", IPersonListsConstants.getCUSTOMSTRValue(datas[i][43]) + ""); // 借款类型 personMap.put("loanClerk", datas[i][38]); // 信贷员 personMap.put("borrowTitle", datas[i][39]); // 借款标题 personMap.put("paymentMode", IPersonListsConstants.getCUSTOMSTRValue(datas[i][40]) + ""); // 还款方式 personMap.put("annualRate", datas[i][41]); // 年利率 personMap.put("productType", datas[i][37]); // 产品类型 personMap.put("moneyPurposes", datas[i][44]); // 资金用途 personMap.put("dateOfAccepted", datas[i][45]); // 受理日期 personMap.put("borrowStatus", 8 + "");// 借款导入之后进去复审复审中 personMap.put("otherReoaymentAmount", datas[i][46]); // 其他贷款月还款 personMap.put("opinion", datas[i][47]); // 业务初审意见 // 筹款日期 String RAISETERM = datas[i][42]; if (RAISETERM.equals("") || RAISETERM == null) { RAISETERM = 7 + "";// 默认筹标期限7天 } int raiseTerm = Convert.strToInt(RAISETERM, 7); personMap.put("raiseTerm", raiseTerm + ""); // 筹款期限 天 personMap.put("excitationType", 1 + "");// 不设置奖励 personMap.put("remainTimeStart", format.format(now)); personMap.put("remainTimeEnd", format.format(DateUtil.dateAddDay(now, raiseTerm))); personMap.put("MINTENDEREDSUM", 50 + "");// 默认最低投标金额 personMap.put("PUBLISHTIME", format.format(now)); // 发布日期 personMap.get("number"); // 查询标种类型 Map<String, String> borrowTypeMap = getBorrowTypeMap(IPersonListsConstants.getCUSTOMSTRValue(datas[i][43]) + ""); double frozenMargin = 0; frozenMargin = Convert.strToDouble(datas[i][35], 0) * Double.parseDouble(borrowTypeMap.get("all_frost_scale")) / 100; personMap.put("frozenMargin", frozenMargin + ""); // 冻结保证金 personMap.put("nid_log", borrowTypeMap.get("identifier")); // 发布日期 borrows.add(personMap); // personMap = new HashMap<String, String>(); // //担保公司加载 // personMap.put("COMPANYNAME", datas[i][42]); // personMap.put("ISSHOW", "1"); // System.out.println(datas[i][42]); // companyList.add(personMap); } List<String> resultList = null; try { resultList = userService.addImportUser(users, persons, works, banks, borrows); } catch (SQLException e) { e.printStackTrace(); } if (resultList != null && resultList.size() > 0) { request().setAttribute("resultList", resultList); return INPUT; } else { this.addActionMessage("导入成功!"); return SUCCESS; } } /** 查询标种类型 **/ private Map<String, String> getBorrowTypeMap(String type) { String nid = ""; if (IConstants.BORROW_TYPE_NET_VALUE.equals(type)) { // 薪金贷 nid = BorrowType.WORTH.getValue(); } else if (IConstants.BORROW_TYPE_SECONDS.equals(type)) { // 彩生活 nid = BorrowType.SECONDS.getValue(); } else if (IConstants.BORROW_TYPE_GENERAL.equals(type)) { // 业主贷 nid = BorrowType.ORDINARY.getValue(); } session().setAttribute("nid", nid); try { return shoveBorrowTypeService.queryShoveBorrowTypeByNid(nid); } catch (Exception e) { e.printStackTrace(); } return new HashMap<String, String>(); } /** * 查询地区列表 * */ public void getNativePlaceCity() { if (city == null || prov == null || city.size() == 0 || prov.size() == 0) { try { regcityList = regionService.queryRegionListHHN(-1L, -1L, 0); for (Map<String, Object> map : regcityList) { if ("2".equals(map.get("regionType") + "")) {// 市 city.put(map.get("regionName") + "", map.get("regionId") + ""); } else {// 省 prov.put(map.get("regionName") + "", map.get("regionId") + ""); } } } catch (Exception e) { log.error(e); e.printStackTrace(); } } } /** * 获取城市 和省份 对应的ID 匹配不到 返回值为 1 中国 * */ public Map<String, String> getNativePlaceId(String key) { Map<String, String> resultMap = new HashMap<String, String>(); resultMap.put("ProCode", "1"); resultMap.put("CityCode", "1"); if (regioncity == null) { return resultMap; } for (Map<String, Object> map : regioncity) { String city = (String) map.get("regionName"); if (key.equals(city)) { resultMap.put("ProCode", map.get("parentId").toString()); resultMap.put("CityCode", map.get("regionId").toString()); break; } } return resultMap; } /** * 随机取得借款默认图片 * * @return */ public String randomImg() { String[] imgArr = { "images/random/1.jpg", "images/random/2.jpg", "images/random/3.jpg", "images/random/4.jpg", "images/random/5.jpg", "images/random/6.jpg" }; int index = (int) (Math.random() * imgArr.length); return imgArr[index]; } /** * 現下充值跳转委托書条款 * * @MethodName: querytipsM * @Param: UserAction * @Author: gang.lv * @Date: 2013-5-11 下午02:38:52 * @Return: * @Descb: * @Throws: */ public String queryRecharTips() throws SQLException, DataException { paramMap = agreementService.getAgreementDetail(1, 1); return SUCCESS; } /** * 清空session中的验证码 * * @return * @throws SQLException * @throws DataException */ public String removeSessionCode() throws SQLException, DataException { session().removeAttribute("randomCode"); session().removeAttribute("phone"); log.info("注册手机验证码已清除"); return null; } public List<Map<String, Object>> getCityList() { if (cityList == null) { cityList = new ArrayList<Map<String, Object>>(); } return cityList; } public List<Map<String, Object>> getAreaList() { if (areaList == null) { areaList = new ArrayList<Map<String, Object>>(); } return areaList; } public RegionService getRegionService() { return regionService; } public void setRegionService(RegionService regionService) { this.regionService = regionService; } public void setUserService(UserService userService) { this.userService = userService; } public List<Map<String, Object>> getRegcityList() { return regcityList; } public void setRegcityList(List<Map<String, Object>> regcityList) { this.regcityList = regcityList; } public void setValidateService(ValidateService validateService) { this.validateService = validateService; } public JobTaskService getJobTaskService() { return jobTaskService; } public void setJobTaskService(JobTaskService jobTaskService) { this.jobTaskService = jobTaskService; } public File getUserFile() { return userFile; } public void setUserFile(File userFile) { this.userFile = userFile; } public String getUserFileName() { return userFileName; } public void setUserFileName(String userFileName) { this.userFileName = userFileName; } public String getUserFileContentName() { return userFileContentName; } public void setUserFileContentName(String userFileContentName) { this.userFileContentName = userFileContentName; } public String queryBaseMsgInit() { request().setAttribute("userId", request("uid")); return SUCCESS; } }