package com.zhcs.dt.controller.system.head; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import javax.annotation.Resource; import org.apache.shiro.session.Session; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.servlet.ModelAndView; import com.zhcs.dt.controller.base.BaseController; import com.zhcs.dt.entity.system.Role; import com.zhcs.dt.service.system.appuser.AppuserManager; //import com.zhcs.dt.service.system.fhsms.FhsmsManager; import com.zhcs.dt.service.system.role.RoleManager; import com.zhcs.dt.service.system.user.UserManager; import com.zhcs.dt.service.system.userphoto.UserPhotoManager; import com.zhcs.dt.util.AppUtil; import com.zhcs.dt.util.Const; import com.zhcs.dt.util.Jurisdiction; import com.zhcs.dt.util.PageData; import com.zhcs.dt.util.SmsUtil; import com.zhcs.dt.util.Tools; import com.zhcs.dt.util.Watermark; //import com.zhcs.dt.util.mail.SimpleMailSender; /** * 类名称:HeadController * 创建人:FH 313596790Q * 修改时间:2018年2月4日 * @version */ @Controller @RequestMapping(value="/head") public class HeadController extends BaseController { @Resource(name="userService") private UserManager userService; @Resource(name="appuserService") private AppuserManager appuserService; // @Resource(name="fhsmsService") // private FhsmsManager fhsmsService; @Resource(name="userphotoService") private UserPhotoManager userphotoService; @Resource(name="roleService") private RoleManager roleService; /**去编辑头像页面 * @return * @throws Exception */ @RequestMapping(value="/editPhoto") public ModelAndView editPhoto() throws Exception{ ModelAndView mv = this.getModelAndView(); PageData pd = new PageData(); pd = this.getPageData(); mv.setViewName("system/userphoto/userphoto_edit"); mv.addObject("pd", pd); return mv; } /**获取基本信息 * @return */ @RequestMapping(value="/getList") @ResponseBody public Object getList() { PageData pd = new PageData(); Map map = new HashMap(); try { pd = this.getPageData(); List pdList = new ArrayList(); Session session = Jurisdiction.getSession(); PageData pds = new PageData(); pds = (PageData)session.getAttribute(Const.SESSION_userpds); if(null == pds){ pd.put(Const.SESSION_USERNAME, Jurisdiction.getUsername());//当前登录者用户名 pds = userService.findByUsername(pd); session.setAttribute(Const.SESSION_userpds, pds); } pdList.add(pds); map.put("list", pdList); PageData pdPhoto = userphotoService.findById(pds); map.put("userPhoto", null == pdPhoto?"static/ace/avatars/user.jpg":pdPhoto.getString("PHOTO2"));//用户头像 // map.put("fhsmsCount", fhsmsService.findFhsmsCount(Jurisdiction.getUsername()).get("fhsmsCount").toString());//站内信未读总数 String strWEBSOCKET = Tools.readTxtFile(Const.WEBSOCKET);//读取WEBSOCKET配置 if(null != strWEBSOCKET && !"".equals(strWEBSOCKET)){ String strIW[] = strWEBSOCKET.split(",fh,"); if(strIW.length == 7){ map.put("wimadress", strIW[0]+":"+strIW[1]); //即时聊天服务器IP和端口 map.put("oladress", strIW[2]+":"+strIW[3]); //在线管理和站内信服务器IP和端口 map.put("FHsmsSound", strIW[4]); //站内信提示音效配置 } } Object RNUMBERS = session.getAttribute(Const.SESSION_RNUMBERS); if(null == RNUMBERS){ session.setAttribute(Const.SESSION_RNUMBERS, getRnumbers()); //把当前用户的角色编码放入session } } catch (Exception e) { logger.error(e.toString(), e); } finally { logAfter(logger); } return AppUtil.returnObject(pd, map); } /**判断当前用户角色编码符合过滤条件(用于新任务消息通知) * @return * @throws Exception */ @RequestMapping(value="/isNowRole") @ResponseBody public Object isNowRole() throws Exception{ PageData pd = new PageData(); pd = this.getPageData(); Map map = new HashMap(); if(Jurisdiction.getRnumbers().indexOf(pd.getString("RNUMBER"))!=-1){ map.put("msg", "yes"); }else{ map.put("msg", "no"); } return AppUtil.returnObject(pd, map); } /**通过角色ID数组获取角色列表拼接角色编码 * @return * @throws Exception */ public String getRnumbers() throws Exception{ PageData userpd = new PageData(); userpd.put(Const.SESSION_USERNAME, Jurisdiction.getUsername()); userpd = userService.findByUsername(userpd); //通过用户名获取用户信息 String ZROLE_ID = userpd.get("ROLE_ID").toString()+",fh,"+userpd.getString("ROLE_IDS"); String arryROLE_ID[] = ZROLE_ID.split(",fh,"); List rlist = roleService.getRoleByArryROLE_ID(arryROLE_ID); StringBuffer RNUMBERS = new StringBuffer(); RNUMBERS.append("("); for(Role role:rlist){ RNUMBERS.append("'"+role.getRNUMBER()+"'"); } RNUMBERS.append(")"); return RNUMBERS.toString(); } /**保存用户皮肤 * @return * @throws Exception */ @RequestMapping(value="/saveSkin") @ResponseBody public Object saveSkin() throws Exception{ PageData pd = new PageData(); pd = this.getPageData(); pd.put(Const.SESSION_USERNAME, Jurisdiction.getUsername());//当前登录者用户名 userService.saveSkin(pd); Session session = Jurisdiction.getSession(); session.setAttribute(Const.SKIN, pd.getString("SKIN")); Map map = new HashMap(); map.put("pd", pd); return AppUtil.returnObject(pd, map); } /* *//**获取站内信未读总数 * @return *//* @RequestMapping(value="/getFhsmsCount") @ResponseBody public Object getFhsmsCount() { PageData pd = new PageData(); Map map = new HashMap(); try { map.put("fhsmsCount", fhsmsService.findFhsmsCount(Jurisdiction.getUsername()).get("fhsmsCount").toString());//站内信未读总数 } catch (Exception e) { logger.error(e.toString(), e); } finally { logAfter(logger); } return AppUtil.returnObject(pd, map); }*/ /**去发送邮箱页面 * @return * @throws Exception */ @RequestMapping(value="/editEmail") public ModelAndView editEmail() throws Exception{ ModelAndView mv = this.getModelAndView(); PageData pd = new PageData(); pd = this.getPageData(); mv.setViewName("system/head/edit_email"); mv.addObject("pd", pd); return mv; } /**去发送短信页面 * @return * @throws Exception */ @RequestMapping(value="/goSendSms") public ModelAndView goSendSms() throws Exception{ ModelAndView mv = this.getModelAndView(); PageData pd = new PageData(); pd = this.getPageData(); mv.setViewName("system/head/send_sms"); mv.addObject("pd", pd); return mv; } /**发送短信 * @return */ @RequestMapping(value="/sendSms") @ResponseBody public Object sendSms(){ PageData pd = new PageData(); pd = this.getPageData(); Map map = new HashMap(); String msg = "ok"; //发送状态 int count = 0; //统计发送成功条数 int zcount = 0; //理论条数 List pdList = new ArrayList(); String PHONEs = pd.getString("PHONE"); //对方邮箱 String CONTENT = pd.getString("CONTENT"); //内容 String isAll = pd.getString("isAll"); //是否发送给全体成员 yes or no String TYPE = pd.getString("TYPE"); //类型 1:短信接口1 2:短信接口2 String fmsg = pd.getString("fmsg"); //判断是系统用户还是会员 "appuser"为会员用户 if("yes".endsWith(isAll)){ try { List userList = new ArrayList(); userList = "appuser".equals(fmsg) ? appuserService.listAllUser(pd):userService.listAllUser(pd); zcount = userList.size(); try { for(int i=0;i map = new HashMap(); String msg = "ok"; //发送状态 int count = 0; //统计发送成功条数 int zcount = 0; //理论条数 String strEMAIL = Tools.readTxtFile(Const.EMAIL); //读取邮件配置 List pdList = new ArrayList(); String toEMAIL = pd.getString("EMAIL"); //对方邮箱 String TITLE = pd.getString("TITLE"); //标题 String CONTENT = pd.getString("CONTENT"); //内容 String TYPE = pd.getString("TYPE"); //类型 String isAll = pd.getString("isAll"); //是否发送给全体成员 yes or no String fmsg = pd.getString("fmsg"); //判断是系统用户还是会员 "appuser"为会员用户 if(null != strEMAIL && !"".equals(strEMAIL)){ String strEM[] = strEMAIL.split(",fh,"); if(strEM.length == 4){ if("yes".endsWith(isAll)){ try { List userList = new ArrayList(); userList = "appuser".equals(fmsg) ? appuserService.listAllUser(pd):userService.listAllUser(pd); zcount = userList.size(); try { for(int i=0;i