package cn.ksource.web.controller.uc;
|
|
import cn.ksource.beans.CUSTOMER_CONTACTS;
|
import cn.ksource.beans.DUTY_PLAN;
|
import cn.ksource.core.page.PageInfo;
|
import cn.ksource.core.util.*;
|
import cn.ksource.core.web.SysInfo;
|
import cn.ksource.core.web.WebUtil;
|
import cn.ksource.web.Constants;
|
import cn.ksource.web.SysConstants;
|
import cn.ksource.web.facade.uc.configure.UcConfigureFacade;
|
import cn.ksource.web.facade.uc.login.UcFacade;
|
import cn.ksource.web.facade.uc.order.UcCiRemindFacade;
|
import cn.ksource.web.facade.uc.order.UcHealthFacade;
|
import cn.ksource.web.facade.uc.ucsearch.UcSearchFacade;
|
import org.springframework.stereotype.Controller;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMethod;
|
import org.springframework.web.servlet.ModelAndView;
|
|
import javax.annotation.Resource;
|
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpSession;
|
import java.util.HashMap;
|
import java.util.List;
|
import java.util.Map;
|
/**
|
* 用户中心--主页管理控制器
|
* @note:
|
* @version
|
* @author sxj
|
* @date July 15, 2016 10:35:44 AM
|
*/
|
@Controller
|
@RequestMapping("/uc")
|
public class UcController {
|
|
@Resource(name="ucFacade")
|
private UcFacade ucFacade;
|
|
@Resource
|
private UcCiRemindFacade ucCiRemindFacade;
|
|
@Resource
|
private UcHealthFacade ucHealthFacade;
|
|
@Resource
|
private UcConfigureFacade ucConfigureFacade;
|
|
@Resource
|
private UcSearchFacade ucSearchFacade;
|
|
/**
|
* 跳转到用户中心首页
|
* @param request
|
* @return
|
*/
|
@RequestMapping("home.html")
|
public ModelAndView toIndex(HttpServletRequest request) {
|
ModelAndView modelAndView = new ModelAndView("/uc/home");
|
//客户基本信息
|
String customer_Id = WebUtil.getWebLoginUserCusId(request);
|
Map pro = ucFacade.getCusMsgByCusId(customer_Id);
|
modelAndView.addObject("cusMsg", pro);
|
//取出客户上月满意度得分
|
String score = ucFacade.getCusSatisByCusId(customer_Id);
|
modelAndView.addObject("score", score);
|
//取出驻场人员
|
int usercount = ucFacade.getZcUserByCusId(customer_Id);
|
modelAndView.addObject("usercount", usercount);
|
//获取角色对应的人数
|
//服务台
|
int fwt = ucFacade.getUserByRole(Constants.ROLE_SERVICE);
|
//运维人员
|
int yw = ucFacade.getUserByRole(Constants.ROLE_OPERATION);
|
//一线
|
int yx = ucFacade.getUserByRole(Constants.ROLE_FLINE);
|
//二线
|
int ex = ucFacade.getUserByRole(Constants.ROLE_SLINE);
|
//三线
|
int sx = ucFacade.getUserByRole(Constants.ROLE_TLINE);
|
modelAndView.addObject("fwt", fwt);
|
modelAndView.addObject("yw", yw);
|
modelAndView.addObject("yx", yx);
|
modelAndView.addObject("ex", ex);
|
modelAndView.addObject("sx", sx);
|
//业务次数
|
int ciadd = 0 ;
|
int incident = 0;
|
int question = 0;
|
int zcyw = 0;
|
int remind = 0;
|
int health = 0;
|
List<Map> ordernum = ucFacade.getOrderNumByCusId(customer_Id);
|
for(Map order:ordernum){
|
if(ConvertUtil.obj2Integer(order.get("BUSINESSTYPE")) == 6){
|
remind = ConvertUtil.obj2Integer(order.get("NUM"));
|
}else if(ConvertUtil.obj2Integer(order.get("BUSINESSTYPE")) == 7){
|
health = ConvertUtil.obj2Integer(order.get("NUM"));
|
}else if(ConvertUtil.obj2Integer(order.get("BUSINESSTYPE")) == 8){
|
incident = ConvertUtil.obj2Integer(order.get("NUM"));
|
}else if(ConvertUtil.obj2Integer(order.get("BUSINESSTYPE")) == 9){
|
question = ConvertUtil.obj2Integer(order.get("NUM"));
|
}else if(ConvertUtil.obj2Integer(order.get("BUSINESSTYPE")) == 10){
|
zcyw = ConvertUtil.obj2Integer(order.get("NUM"));
|
}
|
}
|
|
modelAndView.addObject("incident", incident);
|
modelAndView.addObject("question", question);
|
modelAndView.addObject("zcyw", zcyw);
|
modelAndView.addObject("remind", remind);
|
modelAndView.addObject("health", health);
|
//日常巡检次数
|
int zcxjcount = ucFacade.getZcxjCount(customer_Id);
|
modelAndView.addObject("zcxjcount", zcxjcount);
|
//工单信息
|
List<Map> orderlist = ucFacade.getOrderListByCusId(customer_Id,3);
|
modelAndView.addObject("orderlist", orderlist);
|
PageInfo info = new PageInfo();
|
Map<String,String> param = ParamsMapUtil.getParameterMap(request);
|
param.put("cusId", customer_Id);
|
//例行维护
|
info = ucCiRemindFacade.queryRemindOrderList(info,param);
|
List<Map> remindlist = info.getDatas();
|
Map remind1 = new HashMap();
|
Map remind2 = new HashMap();
|
if(remindlist.size() > 2){
|
remind1 = (Map)remindlist.get(0);
|
remind2 = (Map)remindlist.get(1);
|
|
}else if(remindlist.size() == 1){
|
remind1 = (Map)remindlist.get(0);
|
}
|
modelAndView.addObject("remind1", remind1);
|
modelAndView.addObject("remind2", remind2);
|
//健康检查
|
param.put("customer_Id", customer_Id);
|
param.put("businessType", Constants.WORKFLOW_BASE_BUSINESS_TYPE_CI_HEALTH+"");
|
PageInfo info1 = ucHealthFacade.queryHealthOrderList(info,param);
|
List<Map> healthlist = info1.getDatas();
|
Map health1 = new HashMap();
|
Map health2 = new HashMap();
|
if(healthlist.size() > 2){
|
health1 = (Map)healthlist.get(0);
|
health2 = (Map)healthlist.get(1);
|
}else if(healthlist.size() == 1){
|
health1 = (Map)healthlist.get(0);
|
}
|
modelAndView.addObject("health1", health1);
|
modelAndView.addObject("health2", health2);
|
ciadd = ucConfigureFacade.queryCiListCount(param);
|
modelAndView.addObject("ciadd", ciadd);
|
param.put("userId" ,WebUtil.getWebLoginUserId(request));
|
int know = ucSearchFacade.getsearchKnowCount(param);
|
modelAndView.addObject("know", know);
|
return modelAndView;
|
}
|
|
|
/**
|
* 用户退出登录
|
* @param request
|
* @param response
|
* @return
|
*/
|
@RequestMapping("userout.html")
|
public ModelAndView onLogOut(HttpServletRequest request, HttpServletResponse response) {
|
HttpSession session = request.getSession();
|
session.removeAttribute(SysConstants.WEBSITE_LOGIN_INFO_KEY);
|
session.invalidate();
|
return new ModelAndView("redirect:/user/login.html");
|
}
|
|
|
/**
|
* 修改初始化密码
|
*/
|
@RequestMapping("changeInitPwd.html")
|
public ModelAndView changeInitPwd(HttpServletRequest request) {
|
ModelAndView modelAndView = new ModelAndView("/uc/msg/changeInitPwd");
|
return modelAndView;
|
}
|
|
/**
|
* 修改密码
|
*/
|
@RequestMapping(value="resetpassword.html",method=RequestMethod.POST)
|
public ModelAndView resetpasswordSubmit(HttpServletResponse response,HttpServletRequest request) {
|
String newPassword = request.getParameter("password");
|
String userId = WebUtil.getWebLoginUserId(request);
|
String result = ucFacade.updateUserPwd(userId,newPassword);
|
Map msgMap = JsonUtil.json2Map(result);
|
if (!StringUtil.isEmpty(ConvertUtil.obj2StrBlank(msgMap.get("msg")))) {
|
return WebUtil.sysInfoPage(request,ConvertUtil.obj2StrBlank(msgMap.get("msg")),"",SysInfo.Error,"");
|
}
|
return WebUtil.sysInfoPage(request,"操作成功!",
|
"",
|
SysInfo.Success,"/uc/home.html");
|
}
|
|
/**
|
* 个人中心第三方认证
|
* @param request
|
* @param response
|
* @return
|
*/
|
@RequestMapping(value="ucuserBind.html")
|
public ModelAndView getUserBind(HttpServletRequest request,HttpServletResponse response){
|
ModelAndView view = new ModelAndView("/uc/msg/ucuserBind");
|
String userId = WebUtil.getWebLoginUserId(request);
|
Map user = new CUSTOMER_CONTACTS(userId).getBeanMapById();
|
String msg = "您已完成了";
|
if(!StringUtil.isEmpty(ConvertUtil.obj2StrBlank(user.get("ISEMAIL")))){
|
if(ConvertUtil.obj2Integer(user.get("ISEMAIL")) == 2){
|
msg = msg + "Email、";
|
}
|
}
|
if(!StringUtil.isEmpty(ConvertUtil.obj2StrBlank(user.get("ISPHONE")))){
|
if(ConvertUtil.obj2Integer(user.get("ISPHONE")) == 2){
|
msg = msg + "手机号、";
|
}
|
}
|
msg = msg.substring(0, msg.length()-1)+"的绑定!";
|
view.addObject("msg", msg);
|
view.addObject("user", user);
|
return view;
|
}
|
|
@RequestMapping("ucemailBind.html")
|
public ModelAndView getEmailBind(HttpServletRequest request,HttpServletResponse response){
|
ModelAndView view = new ModelAndView("/uc/msg/ucemailBind");
|
String userId = WebUtil.getWebLoginUserId(request);
|
CUSTOMER_CONTACTS user = new CUSTOMER_CONTACTS(userId).getInstanceById();
|
view.addObject("email",user.getEmail());
|
return view;
|
}
|
/**
|
* email验证
|
* @param request
|
* @param response
|
*/
|
@RequestMapping("ucemail.html")
|
public void Emailyanzheng(HttpServletRequest request,HttpServletResponse response){
|
String result = new String();
|
String email = request.getParameter("email");
|
if(StringUtil.notEmpty(email)) {
|
if(StringUtil.isEmail(email)) {
|
String random = StringUtil.randomNumber(6);
|
request.getSession().setAttribute("random", random);
|
String title = "用户中心邮箱验证";
|
String content = "亲爱的客户!您于"+DateUtil.getToday("yyyy年MM月dd日")+"申请了用户中心邮箱验证,验证码是"+random+"";
|
try {
|
EmailUtil.sendEmail(new String[]{email}, title,content, null);
|
result = "1";
|
} catch (Exception e) {
|
result = "验证失败";
|
}
|
} else {
|
result = "请输入正确格式的邮箱";
|
}
|
} else {
|
result = "请输入邮箱";
|
}
|
|
WebUtil.write(response, result);
|
}
|
|
/**
|
* 比对邮箱验证码
|
*/
|
@RequestMapping("uccompareRandom.html")
|
public void compareRandom(HttpServletRequest request,HttpServletResponse response) {
|
String result = new String();
|
String email = request.getParameter("email");
|
String userId = WebUtil.getWebLoginUserId(request);
|
String requestRandom = request.getParameter("yzm");
|
String sessionRandom = (String)request.getSession().getAttribute("random");
|
boolean b = ucFacade.isEmail(userId, email);
|
if(b){
|
if(StringUtil.notEmpty(requestRandom)) {
|
if(StringUtil.notEmpty(sessionRandom)) {
|
if(requestRandom.trim().equals(sessionRandom)) {
|
//更新用户邮箱信息
|
result = ucFacade.updateUserEmail(userId,email);
|
request.getSession().removeAttribute("random");
|
WebUtil.getWebLoginUser(request).setIsEmail("2");
|
} else {
|
result = "验证码输入不正确";
|
}
|
} else {
|
result = "验证码已失效";
|
}
|
} else {
|
result = "验证码不能为空";
|
}
|
|
}else{
|
result = "该邮箱已绑定过!";
|
}
|
WebUtil.write(response, result);
|
}
|
/**
|
* 详细资料
|
* @param request
|
* @param response
|
* @return
|
*/
|
@RequestMapping("ucmyDetail.html")
|
public ModelAndView myDetail(HttpServletRequest request,HttpServletResponse response){
|
ModelAndView view = new ModelAndView("/uc/msg/ucmyDetail");
|
String id = WebUtil.getWebLoginUserId(request);
|
Map loginUser = new CUSTOMER_CONTACTS(id).getBeanMapById();
|
view.addObject("user", loginUser);
|
return view;
|
}
|
@RequestMapping("ucuserDetail.html")
|
public ModelAndView userDetail(HttpServletRequest request,HttpServletResponse response){
|
ModelAndView view = new ModelAndView("/uc/msg/ucuserDetail");
|
String id = WebUtil.getWebLoginUserId(request);
|
Map loginUser = new CUSTOMER_CONTACTS(id).getBeanMapById();
|
view.addObject("user", loginUser);
|
return view;
|
}
|
|
@RequestMapping("ucsaveAccount.html")
|
public ModelAndView save(HttpServletRequest request,HttpServletResponse response){
|
String name = request.getParameter("zsxm");
|
String phone = request.getParameter("sjhm");
|
String email = request.getParameter("email");
|
String userId = WebUtil.getWebLoginUserId(request);
|
|
new CUSTOMER_CONTACTS(userId)
|
.setContact_name(name)
|
.setMobile(phone)
|
.setEmail(email).update();
|
return WebUtil.sysInfoPage(request,"操作成功!",
|
"",
|
SysInfo.Success,"/uc/ucmyDetail.html");
|
|
}
|
@RequestMapping("ucphoneBind.html")
|
public ModelAndView phoneBind(HttpServletRequest request,HttpServletResponse response){
|
ModelAndView view = new ModelAndView("/uc/msg/ucphoneBind");
|
String userId = WebUtil.getWebLoginUserId(request);
|
CUSTOMER_CONTACTS user = new CUSTOMER_CONTACTS(userId).getInstanceById();
|
view.addObject("phone",user.getMobile());
|
return view;
|
}
|
/**
|
* 发送手机验证码
|
*/
|
@RequestMapping(value="ucsendValid.html",method=RequestMethod.POST)
|
public void sendValid(HttpServletRequest request,HttpServletResponse response) {
|
String result = new String();
|
Map msgMap = new HashMap();
|
String mobile = request.getParameter("phone");
|
if(StringUtil.notEmpty(mobile)) {
|
if(StringUtil.isValidMobileNum(mobile)) {
|
String random = StringUtil.randomNumber(6);
|
request.getSession().setAttribute("sjRandom", random);
|
|
String message = "【"+Constants.company_name+"】亲爱的用户!您于"+DateUtil.getToday("yy年MM月dd日")+"申请了"+Constants.company_name+"用户中心手机号验证,验证码是"+random+"。";
|
try {
|
result = SMSUtil.sendSMS(message,mobile );
|
msgMap = JsonUtil.json2Map(result);
|
if(!result.equals("0")) {
|
result = "绑定失败";
|
}
|
} catch (Exception e) {
|
result = "绑定失败";
|
}
|
} else {
|
result = "请输入正确格式的手机号码";
|
}
|
} else {
|
result = "请输入手机号码";
|
}
|
|
WebUtil.write(response, ConvertUtil.obj2StrBlank(msgMap.get("msg")));
|
}
|
/**
|
* 手机绑定
|
*/
|
@RequestMapping("uccompareMobileRandom.html")
|
public void compareMobileRandom(HttpServletRequest request,HttpServletResponse response) {
|
String result = new String();
|
String mobile = request.getParameter("phone");
|
String userId = WebUtil.getWebLoginUserId(request);
|
String requestRandom = request.getParameter("yzm");
|
String sessionRandom = (String)request.getSession().getAttribute("sjRandom");
|
boolean b = ucFacade.isPhone(userId, mobile);
|
if(b){
|
if(StringUtil.notEmpty(requestRandom)) {
|
if(StringUtil.notEmpty(sessionRandom)) {
|
if(requestRandom.trim().equals(sessionRandom)) {
|
//更新用户手机绑定信息
|
|
result = ucFacade.updateUserMobile(userId,mobile);
|
request.getSession().removeAttribute("sjRandom");
|
WebUtil.getWebLoginUser(request).setIsPhone("2");
|
} else {
|
result = "验证码输入不正确";
|
}
|
} else {
|
result = "验证码已失效";
|
}
|
} else {
|
result = "验证码不能为空";
|
}
|
|
}else{
|
result = "该手机号码已绑定过!";
|
}
|
WebUtil.write(response, result);
|
}
|
|
/**
|
* qq绑定回调页面
|
* @param request
|
* @param response
|
* @return
|
*/
|
@RequestMapping("ucqquserCallBack.html")
|
public ModelAndView getCallBack(HttpServletRequest request,HttpServletResponse response){
|
ModelAndView view = new ModelAndView("/uc/msg/ucqquserCallBack");
|
return view;
|
}
|
|
/**
|
* 回调页面调用方法,判断是否是第一次绑定
|
* @param request
|
* @param response
|
*/
|
@RequestMapping("get_user_info.html")
|
public void getuserinfo(HttpServletRequest request,HttpServletResponse response){
|
String openid = request.getParameter("openid");
|
CUSTOMER_CONTACTS sc = new CUSTOMER_CONTACTS();
|
|
sc.setQq_open_id(openid);
|
|
CUSTOMER_CONTACTS user = sc.queryForBean();
|
if(user==null){
|
WebUtil.write(response, "1");
|
}else{
|
WebUtil.write(response, "2");
|
}
|
}
|
/**
|
*绑定qq
|
* @param request
|
* @param response
|
* @return
|
*/
|
@RequestMapping("qqUserLogin.html")
|
public void qqUserLogin(HttpServletRequest request,HttpServletResponse response){
|
String openId = request.getParameter("openId");
|
String userId = WebUtil.getWebLoginUserId(request);
|
new CUSTOMER_CONTACTS(userId).setQq_open_id(openId).update();
|
WebUtil.write(response, "1");
|
}
|
|
/**
|
* 取消微信绑定
|
* @param request
|
* @param response
|
*/
|
@RequestMapping("cancelWechat.html")
|
public void cancelWechat(HttpServletRequest request,HttpServletResponse response){
|
String userId = WebUtil.getWebLoginUserId(request);
|
new CUSTOMER_CONTACTS(userId)
|
.setWechat_open_id(null).update();
|
WebUtil.write(response, "1");
|
}
|
|
/**
|
* 跳转到修改密码
|
*/
|
@RequestMapping("ucrepassword.html")
|
public ModelAndView toRepassword() {
|
ModelAndView modelAndView = new ModelAndView("/uc/msg/ucrepassword");
|
return modelAndView;
|
}
|
|
/**
|
* 检验密码是否正确
|
*/
|
@RequestMapping("checkpwd.html")
|
public void checkpwd(HttpServletRequest request,HttpServletResponse response){
|
String userId = WebUtil.getWebLoginUserId(request);
|
String pwd = request.getParameter("oldPassword");
|
int count = ucFacade.getUserByPwd(userId,pwd);
|
if(count > 0){
|
WebUtil.write(response, "1");
|
}else{
|
WebUtil.write(response, "0");
|
}
|
|
}
|
|
/**
|
* 修改密码
|
*/
|
@RequestMapping(value="uctoRepassword.html",method=RequestMethod.POST)
|
public ModelAndView toRepasswordSubmit(HttpServletResponse response,HttpServletRequest request) {
|
String oldPassword = request.getParameter("oldPassword");
|
String newPassword = request.getParameter("newPassword");
|
String userId = WebUtil.getWebLoginUserId(request);
|
String result = ucFacade.updateUserOldPwd(userId,oldPassword,newPassword);
|
return WebUtil.sysInfoPage(request,"操作成功!",
|
"",
|
SysInfo.Success,"/uc/ucmyDetail.html");
|
}
|
|
/**
|
* 工单详细信息
|
*/
|
@RequestMapping(value="orderInfo.html")
|
public ModelAndView orderInfo(HttpServletRequest request) {
|
String orderType = request.getParameter("orderType");
|
ModelAndView modelAndView = null;
|
String orderId = request.getParameter("orderId");
|
String flowId = request.getParameter("flowId");
|
if(StringUtil.notEmpty(orderId)) {
|
if(StringUtil.notEmpty(orderType)){
|
if(orderType.equals(Constants.WORKFLOW_BASE_BUSINESS_TYPE_INCIDENT.toString())) {
|
modelAndView = new ModelAndView("redirect:/uc/ucincident/ucincidentDetail.html?orderId="+orderId+"&flowId="+flowId);
|
} else if (orderType.equals(Constants.WORKFLOW_BASE_BUSINESS_TYPE_QUESTION.toString())) {
|
modelAndView = new ModelAndView("redirect:/uc/ucquestion/ucquestionDetail.html?orderId="+orderId+"&flowId="+flowId);
|
} else if(orderType.equals(Constants.WORKFLOW_BASE_BUSINESS_TYPE_INCIDENT_LOCAL.toString())) {
|
modelAndView = new ModelAndView("redirect:/uc/uczcyw/uczcywDetail.html?orderId="+orderId+"&flowId="+flowId);
|
} else if(orderType.equals(Constants.WORKFLOW_BASE_BUSINESS_TYPE_CI_REMIND.toString())) {//例行维护
|
modelAndView = new ModelAndView("redirect:/uc/ucciremind/ucciRemindDetail.html?orderId="+orderId+"&flowId="+flowId);
|
} else if(orderType.equals(Constants.WORKFLOW_BASE_BUSINESS_TYPE_CI_HEALTH.toString())) {//健康检查
|
modelAndView = new ModelAndView("redirect:/uc/uchealth/uchealthDetail.html?orderId="+orderId+"&flowId="+flowId);
|
}
|
}
|
}
|
return modelAndView;
|
}
|
|
/**
|
* 一键报修
|
* @param request
|
* @param response
|
* @author chenlong
|
*/
|
@RequestMapping(value="subRepair.html",method=RequestMethod.POST)
|
public void subRepair(HttpServletRequest request,HttpServletResponse response){
|
Map<String, String> params = ParamsMapUtil.getParameterMap(request);
|
String cusId = WebUtil.getWebLoginUserCusId(request);
|
params.put("cusId", cusId);
|
String userId = WebUtil.getWebLoginUser(request).getUserId();
|
String userName = WebUtil.getWebLoginUser(request).getUserName();
|
params.put("userId", userId);
|
params.put("userName", userName);
|
ucFacade.doSubRepair(params);
|
WebUtil.write(response, "1");
|
}
|
/**
|
* 一键报修
|
* @param request
|
* @return
|
*/
|
@RequestMapping("yjbx.html")
|
public ModelAndView yjbx(HttpServletRequest request){
|
ModelAndView view=new ModelAndView("/uc/yjbx");
|
return view;
|
}
|
/**
|
* 保存一件报修
|
* @param dutyPlan
|
* @param request
|
* @return
|
*/
|
@RequestMapping("saveYjbx.html")
|
public ModelAndView saveYjbx(DUTY_PLAN dutyPlan,HttpServletRequest request){
|
String cusId = WebUtil.getWebLoginUserCusId(request);
|
String userId = WebUtil.getWebLoginUser(request).getUserId();
|
CUSTOMER_CONTACTS user = new CUSTOMER_CONTACTS(userId).getInstanceById();
|
Map<String, String> params = ParamsMapUtil.getParameterMap(request);
|
params.put("cusId", cusId);
|
params.put("userId", userId);
|
params.put("userName", user.getContact_name());
|
params.put("lx_phone", user.getContacts_type());
|
ucFacade.doSubRepair(params);
|
return WebUtil.sysInfoPage(request, "操作成功!",
|
"window.top.hideDialog('0');",
|
SysInfo.Success,"");
|
}
|
}
|