package com.sp2p.action.usercenter; import java.io.IOException; import java.sql.SQLException; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Set; 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.config.AlipayConfig; import com.shove.data.DataException; import com.shove.security.Encrypt; import com.shove.util.SqlInfusion; import com.shove.web.util.JSONUtils; import com.sp2p.action.front.BaseFrontAction; import com.sp2p.constants.IConstants; import com.sp2p.dao.UserDao; import com.sp2p.service.RegionService; import com.sp2p.service.UserService; public class FrontUserAction extends BaseFrontAction { public static Log log = LogFactory.getLog(FrontUserAction.class); private static final long serialVersionUID = 1L; public UserService userService; private RegionService regionService; private List<Map<String, Object>> provinceList; private List<Map<String, Object>> cityList; private List<Map<String, Object>> areaList; private List<Map<String, Object>> regcityList; private long workPro = -1L;// 初始化省份默认值 private long cityId = -1L;// 初始化话默认城市 private long regPro = -1L;// 户口区域默认值 private long regCity = -1L;// 户口区域默认值 /** * 初始化用户的基本信息 * * @return * @throws Exception */ public String userinformationInit() throws Exception { // 获取用户的信息 AccountUserDo user = (AccountUserDo) session().getAttribute(IConstants.SESSION_USER); String email = user.getEmail(); int vipStatus = user.getVipStatus(); String userName = user.getUsername(); int authStep = user.getAuthStep(); Long id = user.getId(); if (vipStatus == 1) { ServletActionContext.getRequest().setAttribute("msg", "普通会员"); } else if (vipStatus == 2) { ServletActionContext.getRequest().setAttribute("msg", "尊敬的vip会员"); } ServletActionContext.getRequest().setAttribute("username", userName); ServletActionContext.getRequest().setAttribute("email", email); ServletActionContext.getRequest().setAttribute("authStep", authStep); // paramMap = userService.queryUserById(user.getId()); // 获取地省份地址 // Long provinceId = Convert.strToLong(paramMap.get("provinceId"), -1); provinceList = regionService.queryRegionList(-1L, 1L, 1); regcityList = new ArrayList<Map<String, Object>>(); cityList = new ArrayList<Map<String, Object>>(); request().setAttribute("regcityList", regcityList); request().setAttribute("provinceList", provinceList); request().setAttribute("cityList", cityList); if (authStep == 2) { return "workdata"; } else if (authStep == 3) { Map<String, String> map = new HashMap<String, String>(); // map = userService.queryPersonById(user.getId()); ServletActionContext.getRequest().setAttribute("realname", map.get("realName")); return "vip"; } else if (authStep == 4) { return "pictureData"; } request().setAttribute("ISDEMO", IConstants.ISDEMO); return SUCCESS; } /** * 用户注册时候login的跳转 * * @return */ public String userInit() { return SUCCESS; } /** * 根据上级地址编号返回下一级所的地址信息 * * @return * @throws SQLException * @throws DataException * @throws IOException */ 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) { e.printStackTrace(); throw e; } catch (DataException e) { e.printStackTrace(); throw e; } String jsonStr = JSONArray.toJSONString(list); JSONUtils.printStr(jsonStr); return null; } /** * 用户修改基本信息 * * @return * @throws IOException * @throws DataException * @throws SQLException * @throws IOException */ /* * public String updateUserInformation() throws IOException{ JSONObject json * = new JSONObject(); try { User user = (User) * session().getAttribute(IConstants.SESSION_USER); String name = * paramMap.get("name"); //真实姓名 if (StringUtils.isBlank(name)) { * json.put("msg", "请填写真实姓名!"); JSONUtils.printObject(json); return null; * }else if (name.length()<2||name.length()>20) { json.put("msg", * "名字长度为2-20个字符!"); JSONUtils.printObject(json); return null; } String * gender = paramMap.get("gender"); //性别 if (StringUtils.isBlank(gender)) { * json.put("msg", "请选择性别!"); JSONUtils.printObject(json); return null; } * String mobilePhone = paramMap.get("mobilePhone"); //手机号码 if * (StringUtils.isBlank(mobilePhone)) { json.put("msg", "请填写手机号码!"); * JSONUtils.printObject(json); return null; }else * if(mobilePhone.length()<9||mobilePhone.length()>15){ json.put("msg", * "请正确填写手机号码!"); JSONUtils.printObject(json); return null; } String qq = * paramMap.get("qq"); //QQ号 if (StringUtils.isBlank(qq)) { json.put("msg", * "请填写QQ号码!"); JSONUtils.printObject(json); return null; }else if * (qq.length()<5||qq.length()>12) { json.put("msg", "请正确填写QQ号码!"); * JSONUtils.printObject(json); return null; } Long provinceId = * Convert.strToLong(paramMap.get("provinceId"), -1); //省Id Long cityId = * Convert.strToLong(paramMap.get("cityId"), -1); //城市id Long areaId = * Convert.strToLong(paramMap.get("areaId"), -1); //区/镇/县id if (areaId==-1) * { json.put("msg", "请选择所在地区!"); JSONUtils.printObject(json); return null; * } String postalcode = paramMap.get("postalcode"); //邮政编码 if * (StringUtils.isBlank(postalcode)) { json.put("msg", "请填写邮政编码!"); * JSONUtils.printObject(json); return null; }else if * (postalcode.length()!=6) { json.put("msg", "请正确填写邮政编码!"); * JSONUtils.printObject(json); return null; } //普通会员通过填补资料升级为铜牌会员/获得礼劵 * boolean flag = userService.userUpgradeAwards(user.getId(), * IConstants.VOUCHERS_TYPE_BRONZE_MEMBER); if (flag) { * userService.frontUpdateUser(user.getId(), name, gender, mobilePhone, qq, * provinceId, cityId, areaId, postalcode); json.put("msg", * "恭喜您,填补资料成功,您已升级为铜牌会员!"); JSONUtils.printObject(json); return null; } * * Long returnId = userService.frontUpdateUser(user.getId(), name, gender, * mobilePhone, qq, provinceId, cityId, areaId, postalcode); if(returnId * >=0){ json.put("msg", "保存成功!"); JSONUtils.printObject(json); return null; * } else { json.put("msg", "保存失败!"); JSONUtils.printObject(json); return * null; } } catch (Exception e) { log.error(e); e.printStackTrace(); * json.put("msg", "操作错误!"); JSONUtils.printObject(json); return null; } } */ /** * 用户修改头像初始化 * * @return * @throws DataException * @throws SQLException */ public String updateUserHeadImgInit() throws DataException, SQLException { // 获取用户的信息 // AccountUserDo user = (AccountUserDo) session().getAttribute(IConstants.SESSION_USER); String headImg = userService.queryUserById(27).get("headImg"); request().setAttribute("headImg", headImg); return SUCCESS; } /** * 用户修改头像 * * @return * @throws SQLException */ public String updateUserHeadImg() throws SQLException { // 获取用户的信息 // AccountUserDo user = (AccountUserDo) session().getAttribute(IConstants.SESSION_USER); String userHeadImg = SqlInfusion.FilteSqlInfusion(request("userHeadImg")); userService.frontUpdateUserHeadImg( // user.getId() (long) 27// 测试数据 , userHeadImg); return SUCCESS; } public String updateUserPasswordInit() { return SUCCESS; } /** * 用户修改密码 * * @return null * @throws IOException * @throws IOException * @throws SQLException * @throws DataException * @throws IOException */ public String updateUserPassword() throws IOException { JSONObject json = new JSONObject(); try { // 获取用户的信息 AccountUserDo user = (AccountUserDo) session().getAttribute(IConstants.SESSION_USER); String oldPassword = SqlInfusion.FilteSqlInfusion(paramMap.get("oldPassword")); String password = SqlInfusion.FilteSqlInfusion(paramMap.get("password")); String confirmPassword = SqlInfusion.FilteSqlInfusion(paramMap.get("confirmPassword")); if (StringUtils.isBlank(oldPassword)) { json.put("msg", "原始密码不能为空!"); JSONUtils.printObject(json); return null; } if (oldPassword.length() < 6 || oldPassword.length() > 20) { json.put("msg", "密码长度为6-20个字符!"); JSONUtils.printObject(json); return null; } if (StringUtils.isBlank(password)) { json.put("msg", "新密码不能为空!"); JSONUtils.printObject(json); return null; } else if (password.length() < 6 || password.length() > 20) { json.put("msg", "新密码长度为6-20个字符!"); JSONUtils.printObject(json); return null; } if (StringUtils.isBlank(confirmPassword)) { json.put("msg", "确认密码不能为空!"); JSONUtils.printObject(json); return null; } else if (confirmPassword.length() < 6 || confirmPassword.length() > 20) { json.put("msg", "确认密码长度为6-20个字符!"); JSONUtils.printObject(json); return null; } else if (!password.equals(confirmPassword)) { json.put("msg", "两次输入的密码不一致!"); JSONUtils.printObject(json); return null; } else { String tempPassword = userService.queryUserById(user.getId()).get("password"); if ("1".equals(IConstants.ENABLED_PASS)) { oldPassword = com.shove.security.Encrypt.MD5(oldPassword.trim()); } else { oldPassword = com.shove.security.Encrypt.MD5(oldPassword.trim() + IConstants.PASS_KEY); } if (tempPassword.equals(oldPassword)) { 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); } Long returnId = userService.frontUpdatePassword(user.getId(), password); if (returnId > 0) { json.put("msg", "恭喜您,密码修改成功!"); JSONUtils.printObject(json); return null; } else { json.put("msg", "对不起,密码修改失败!"); JSONUtils.printObject(json); return null; } } else { json.put("msg", "旧密码输入错误!"); JSONUtils.printObject(json); return null; } } } catch (Exception e) { log.error(e); e.printStackTrace(); json.put("msg", "操作错误!"); JSONUtils.printObject(json); return null; } } /** * 查询用户的所有地址记录 * * @return String * @throws SQLException * @throws DataException */ /* * public String queryUserAddress() throws SQLException, DataException{ * //获取用户的信息 User user = (User) * session().getAttribute(IConstants.SESSION_USER); List<Map<String, * Object>> addressList = addressService.frontQueryAddressList(null, * user.getId()); request().setAttribute("addressList", addressList); return * SUCCESS; } */ /** * 添加收货地址实例化 * * @return String */ public String addAddressInit() { return SUCCESS; } /** * 增加收货地址 * * @return * @throws SQLException * @throws IOException */ /* * public String addAddress() throws SQLException, IOException{ User user = * (User) session().getAttribute(IConstants.SESSION_USER); Long userId = * user.getId(); Long provinceId = * Convert.strToLong(paramMap.get("provinceId"), -1); Long cityId = * Convert.strToLong(paramMap.get("cityId"), -1); Long areaId = * Convert.strToLong(paramMap.get("areaId"), -1); String consignee = * paramMap.get("consignee"); String address = paramMap.get("address"); * String mobilePhone = paramMap.get("mobilePhone"); String telephone = * paramMap.get("telephone"); String postalcode = * paramMap.get("postalcode"); Integer isDefault = * Convert.strToInt("isDefault", 2); if (provinceId != null && cityId != * null && areaId != null && StringUtils.isNotBlank(consignee) && * StringUtils.isNotBlank(address) && StringUtils.isNotBlank(postalcode) && * (StringUtils.isNotBlank(mobilePhone) || * StringUtils.isNotBlank(telephone))) { Long returnId = * addressService.addAddress(userId, consignee, provinceId, cityId, areaId, * address, mobilePhone, telephone, postalcode, isDefault); if(returnId * >=0){ JSONUtils.printStr("1"); }else { JSONUtils.printStr("2"); } * * }else { JSONUtils.printStr("3"); } return null; } */ /** * 用户修改地址初始化 * * @return * @throws SQLException * @throws DataException */ /* * public String updateAddressInit() throws SQLException, DataException{ * Long id = Convert.strToLong(request("id"), -1); paramMap = * addressService.frontQueryAddressById(id); * * //获取地省份地址 Long provinceId = Convert.strToLong(paramMap.get("provinceId"), * -1); Long cityId = Convert.strToLong(paramMap.get("cityId"), -1); * provinceList = regionService.queryRegionList(-1L, 1L, 1); cityList = * regionService.queryRegionList(-1L, provinceId, 2); areaList = * regionService.queryRegionList(-1L, cityId, 3); * * return SUCCESS; } */ /** * 修改用户地址 * * @return * @throws SQLException * @throws IOException */ /* * public String updateAddress() throws SQLException, IOException{ Long id = * Convert.strToLong(paramMap.get("id"), -1); User user = (User) * session().getAttribute("user"); Long userId = user.getId(); String * consignee = paramMap.get("consignee"); Long provinceId = * Convert.strToLong(paramMap.get("provinceId"), -1); Long cityId = * Convert.strToLong(paramMap.get("cityId"), -1); Long areaId = * Convert.strToLong(paramMap.get("areaId"), -1); String address = * paramMap.get("address"); String mobilePhone = * paramMap.get("mobilePhone"); String telephone = * paramMap.get("telephone"); String postalcode = * paramMap.get("postalcode"); Integer isDefault = * Convert.strToInt("isDefault", 1); * * if (provinceId != null && cityId != null && areaId != null && * StringUtils.isNotBlank(consignee) && StringUtils.isNotBlank(address) && * StringUtils.isNotBlank(postalcode) && * (StringUtils.isNotBlank(mobilePhone) || * StringUtils.isNotBlank(telephone))) { Long returnId * =addressService.frontUpdateAddress(id, userId, consignee, provinceId, * cityId, areaId, address, mobilePhone, telephone, postalcode, isDefault); * if(returnId >=0){ JSONUtils.printStr("1"); }else { * JSONUtils.printStr("2"); } * * }else { JSONUtils.printStr("3"); } return null; } */ /** * 修改用户默认地址 * * @return * @throws SQLException */ /* * public String updateDefaultAddress() throws SQLException{ User user = * (User) session().getAttribute(IConstants.SESSION_USER); Long id = * Convert.strToLong(request("id"), -1); addressService.defaultAddress(id, * user.getId()); return SUCCESS; } */ /** * 删除用户地址 * * @return * @throws SQLException */ /* * public String deleteUserAddress() throws SQLException{ Long id = * Convert.strToLong(request("id"), -1) ; * addressService.frontDeleteAddress(id); return SUCCESS; } */ /** * 默认地址 * * @Title: defaultAddress * @return String * @throws */ /* * public String defaultAddress() throws SQLException{ User user = (User) * session().getAttribute("user"); Long id = * Convert.strToLong(request("id"), -1) ; addressService.defaultAddress(id, * user.getId()); return SUCCESS; } */ /** * 用户课程管理初始化 * * @return * @throws DataException * @throws SQLException */ public String userCourseInit() { return SUCCESS; } /** * 查询课程下的课时信息 * * @return * @throws DataException * @throws SQLException */ /* * public String userLessonList() throws SQLException, DataException{ Long * commonId = Convert.strToLong(request("commonId"), -1); if(commonId<=0){ * return SUCCESS; } AccountUserDo user = (AccountUserDo) session(IConstants.SESSION_USER); * boolean flag = userCourseService.isExpired(user.getId(), commonId); * if(flag){ List<Map<String,Object>> lessonList = * userCourseService.queryLessonListByCourseId(commonId); * request().setAttribute("lessonList", lessonList); } return SUCCESS; } */ /** * 用户课时详情 * * @return * @throws DataException * @throws SQLException */ /* * public String userLessonDetails() throws SQLException, DataException{ * Long commonId = Convert.strToLong(request("commonId"), -1); * if(commonId<=0){ return INPUT; } User user = (User) * session(IConstants.SESSION_USER); boolean flag = * userCourseService.isExpiredLessonByCommonId(user.getId(), commonId); * //根据编号查询讲义信息 if(!flag){ return INPUT; } paramMap = * lessonService.queryLessonTeacherInfoByCommonId(commonId); Long lessonId = * Convert.strToLong(paramMap.get("id"),-1); List<Map<String,Object>> * lectureList = lectureService.queryLectureList(lessonId, null);//查询讲义 * request().setAttribute("lectureList", lectureList);//讲义集合 return SUCCESS; * } */ /** * 添加学习课时记录 * * @return * @throws SQLException * @throws IOException * @throws ParseException */ /* * public String addStudyLesson() throws SQLException, IOException, * ParseException{ Long lessonId = Convert.strToLong(request("lessonId"), * -1); if(lessonId<0){ return null; } User user = (User) * session(IConstants.SESSION_USER); Long lessonStudyId = -1L; String * startDateStr = request("startDate"); SimpleDateFormat sdf = new * SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date startDate = null; try { * startDate = sdf.parse(startDateStr); } catch (ParseException e) { * log.error(e); e.printStackTrace(); throw e; } try { lessonStudyId = * lessonStudyService.addLessonStudy(user.getId(), lessonId,startDate,new * Date ()); } catch (SQLException e) { log.error(e); e.printStackTrace(); * throw e; } JSONUtils.printStr(lessonStudyId+""); return null; } */ /** * 用户学习记录 * * @return */ public String userLessonStudyInit() { return SUCCESS; } /** * 用户学习记录 * * @return * @throws SQLException * @throws DataException */ /* * public String userLessonStudyInfo() throws SQLException, DataException{ * AccountUserDo user = (AccountUserDo) session(IConstants.SESSION_USER); * lessonStudyService.queryLessonStudy(pageBean,user.getId()); return * SUCCESS; } */ /** * 会员中心答疑板实例化 * * @Title: userQuestionBoardInit * @return String */ public String userQuestionBoardInit() { return SUCCESS; } /** * 会员中心答疑板内容列表 * * @Title: userQuestionBoard * @return String */ /* * public String userQuestionBoard(){ try { User user = (User) * session(IConstants.SESSION_USER); long userId = user.getId(); String * title = paramMap.get("title"); String content = paramMap.get("content"); * lessonService.queryLessonQuestionBoard(pageBean,userId, title, content); * } catch (Exception e) { log.error(e); e.printStackTrace(); } return * SUCCESS; } */ /** * 根据id查询会员中心答疑板详情 * * @Title: queryUserQuestionBoardDetail * @return String */ /* * public String queryUserQuestionBoardDetail(){ try { long id = * Convert.strToLong(request("id"), -1); paramMap = * lessonService.queryUserQuestionBoardDetail(id); } catch (Exception e) { * log.error(e); e.printStackTrace(); } return SUCCESS; } */ public List<Map<String, Object>> getProvinceList() throws DataException, SQLException { if (provinceList == null) { try { provinceList = regionService.queryRegionList(-1L, 1L, 1); } catch (SQLException e) { e.printStackTrace(); throw e; } catch (DataException e) { e.printStackTrace(); throw e; } } return provinceList; } 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 void setUserService(UserService userService) { this.userService = userService; } /* * public void setAddressService(AddressService addressService) { * this.addressService = addressService; } */ public void setRegionService(RegionService regionService) { this.regionService = regionService; } public List<Map<String, Object>> getRegcityList() { return regcityList; } public void setRegcityList(List<Map<String, Object>> regcityList) { this.regcityList = regcityList; } 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; } 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 void setProvinceList(List<Map<String, Object>> provinceList) { this.provinceList = provinceList; } public void setCityList(List<Map<String, Object>> cityList) { this.cityList = cityList; } /* * public void setCourseService(CourseService courseService) { * this.courseService = courseService; } * * public void setBannerService(BannerService bannerService) { * this.bannerService = bannerService; } * * public void setTypeService(TypeService typeService) { this.typeService = * typeService; } * * public void setOrderService(OrderService orderService) { * this.orderService = orderService; } * * public void setUserCourseService(UserCourseService userCourseService) { * this.userCourseService = userCourseService; } * * public void setLessonService(LessonService lessonService) { * this.lessonService = lessonService; } * * public void setLectureService(LectureService lectureService) { * this.lectureService = lectureService; } * * public void setLessonStudyService(LessonStudyService lessonStudyService) * { this.lessonStudyService = lessonStudyService; } */ }