package com.jshoperx.action.backstage.member; import com.jshoperx.action.backstage.base.BaseTAction; import com.jshoperx.action.backstage.utils.BaseTools; import com.jshoperx.action.backstage.utils.SHA1; import com.jshoperx.action.backstage.utils.statickey.StaticKey; import com.jshoperx.entity.MemberT; import com.jshoperx.service.MemberTService; import com.jshoperx.service.impl.Serial; import org.apache.commons.lang3.StringUtils; import org.apache.struts2.convention.annotation.Action; import org.apache.struts2.convention.annotation.Namespace; import org.apache.struts2.convention.annotation.ParentPackage; import org.apache.struts2.convention.annotation.Result; import org.hibernate.criterion.Criterion; import org.hibernate.criterion.MatchMode; import org.hibernate.criterion.Order; import org.hibernate.criterion.Restrictions; import org.json.simple.JSONArray; import org.json.simple.JSONObject; import org.json.simple.JSONValue; import javax.annotation.Resource; import java.util.*; @Namespace("") @ParentPackage("jshoperx") public class MemberTAction extends BaseTAction { private static final long serialVersionUID = 1L; @Resource private MemberTService memberTService; private String id; private String loginname; private String loginpwd; private String paypassword; private String nick; private String realname; private String city; private String district; private String sex; private String whichsex; private String merrystatus; private String birthday; private String blood; private String constellation; private String des; private String email; private String mobile; private String qq; private String weixin; private String sinaweibo; private String tag; private Integer belove; private Integer loveother; private Integer postingcount; private String question; private String answer; private String userstate; private String headpath; private Date createtime; private String telno; private String creatorid; private String basepath; private MemberT bean=new MemberT(); private List<Map<String,Object>> rows=new ArrayList<Map<String,Object>>(); private int rp; private int page = 1; private int total = 0; private String message; private boolean sucflag; private boolean doingTag;//用于aspect的标记 public String getMobile() { return mobile; } public void setMobile(String mobile) { this.mobile = mobile; } public String getId() { return id; } public void setId(String id) { this.id = id; } public String getLoginname() { return loginname; } public void setLoginname(String loginname) { this.loginname = loginname; } public String getLoginpwd() { return loginpwd; } public void setLoginpwd(String loginpwd) { this.loginpwd = loginpwd; } public String getNick() { return nick; } public void setNick(String nick) { this.nick = nick; } public String getRealname() { return realname; } public void setRealname(String realname) { this.realname = realname; } public String getCity() { return city; } public void setCity(String city) { this.city = city; } public String getDistrict() { return district; } public void setDistrict(String district) { this.district = district; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public String getWhichsex() { return whichsex; } public void setWhichsex(String whichsex) { this.whichsex = whichsex; } public String getMerrystatus() { return merrystatus; } public void setMerrystatus(String merrystatus) { this.merrystatus = merrystatus; } public String getBirthday() { return birthday; } public void setBirthday(String birthday) { this.birthday = birthday; } public String getBlood() { return blood; } public void setBlood(String blood) { this.blood = blood; } public String getConstellation() { return constellation; } public void setConstellation(String constellation) { this.constellation = constellation; } public String getDes() { return des; } public void setDes(String des) { this.des = des; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } public String getQq() { return qq; } public void setQq(String qq) { this.qq = qq; } public String getWeixin() { return weixin; } public void setWeixin(String weixin) { this.weixin = weixin; } public String getSinaweibo() { return sinaweibo; } public void setSinaweibo(String sinaweibo) { this.sinaweibo = sinaweibo; } public String getTag() { return tag; } public void setTag(String tag) { this.tag = tag; } public Integer getBelove() { return belove; } public void setBelove(Integer belove) { this.belove = belove; } public Integer getLoveother() { return loveother; } public void setLoveother(Integer loveother) { this.loveother = loveother; } public Integer getPostingcount() { return postingcount; } public void setPostingcount(Integer postingcount) { this.postingcount = postingcount; } public String getQuestion() { return question; } public void setQuestion(String question) { this.question = question; } public String getAnswer() { return answer; } public void setAnswer(String answer) { this.answer = answer; } public String getUserstate() { return userstate; } public void setUserstate(String userstate) { this.userstate = userstate; } public String getHeadpath() { return headpath; } public void setHeadpath(String headpath) { this.headpath = headpath; } public Date getCreatetime() { return createtime; } public void setCreatetime(Date createtime) { this.createtime = createtime; } public String getCreatorid() { return creatorid; } public void setCreatorid(String creatorid) { this.creatorid = creatorid; } public MemberT getBean() { return bean; } public void setBean(MemberT bean) { this.bean = bean; } public List<Map<String, Object>> getRows() { return rows; } public void setRows(List<Map<String, Object>> rows) { this.rows = rows; } public int getRp() { return rp; } public void setRp(int rp) { this.rp = rp; } public int getPage() { return page; } public void setPage(int page) { this.page = page; } public int getTotal() { return total; } public void setTotal(int total) { this.total = total; } public boolean isSucflag() { return sucflag; } public void setSucflag(boolean sucflag) { this.sucflag = sucflag; } public String getMessage() { return message; } public void setMessage(String message) { this.message = message; } public String getBasepath() { return basepath; } public void setBasepath(String basepath) { this.basepath = basepath; } public String getPaypassword() { return paypassword; } public void setPaypassword(String paypassword) { this.paypassword = paypassword; } @Override public void validate() { this.clearErrorsAndMessages(); } public boolean isDoingTag() { return doingTag; } public void setDoingTag(boolean doingTag) { this.doingTag = doingTag; } public String getTelno() { return telno; } public void setTelno(String telno) { this.telno = telno; } /** * 增加会员 * @return */ @Action(value = "saveMemberT", results = { @Result(name = "json", type = "json") }) public String saveMemberT(){ if(!doingTag){ this.setMessage("系统关闭了注册服务,请在系统管理/全局参数设置/基础相关中开启注册服务"); return JSON; } if(StringUtils.isNotBlank(this.getLoginname())&&StringUtils.isNotBlank(this.getLoginpwd())){ Criterion criterion=Restrictions.eq("loginname", this.getLoginname().toLowerCase(Locale.CHINA).trim()); List<MemberT>list=this.memberTService.findByCriteria(MemberT.class, criterion); if(list.isEmpty()){ MemberT mt=new MemberT(); mt.setId(this.getSerial().Serialid(Serial.MEMBER)); mt.setLoginname(this.getLoginname().toLowerCase(Locale.CHINA).trim()); mt.setLoginpwd(SHA1.getDigestOfString(this.getLoginpwd().trim())); mt.setPaypassword(SHA1.getDigestOfString(this.getPaypassword().trim())); mt.setNick(this.getNick().trim()); mt.setRealname(this.getRealname().trim()); mt.setCity(this.getCity().trim()); mt.setDistrict(this.getDistrict().trim()); mt.setSex(this.getSex().trim()); mt.setWhichsex(this.getWhichsex().trim()); mt.setMerrystatus(this.getMerrystatus().trim()); mt.setBirthday(this.getBirthday().trim()); mt.setBlood(this.getBlood().trim()); mt.setConstellation(this.getConstellation().trim()); mt.setDes(this.getDes().trim()); mt.setEmail(this.getEmail().trim()); mt.setMobile(this.getMobile().trim()); mt.setQq(this.getQq().trim()); mt.setWeixin(this.getWeixin().trim()); mt.setSinaweibo(this.getSinaweibo().trim()); mt.setTag(this.getTag().trim()); mt.setBelove(0);//关注0 mt.setLoveother(0);//喜欢别人0 mt.setPostingcount(0);//发布信息总数0 mt.setQuestion(this.getQuestion().trim()); mt.setAnswer(this.getAnswer().trim()); mt.setMemberstate(StaticKey.MEMBERSTATE_ONE_NUM);//激活 mt.setHeadpath(this.getHeadpath().trim()); mt.setTelno(this.getTelno()); mt.setCreatetime(BaseTools.getSystemTime()); mt.setCreatorid(BaseTools.getAdminCreateId()); mt.setUpdatetime(mt.getCreatetime()); mt.setVersiont(0); this.memberTService.save(mt); this.setSucflag(true); return JSON; }else{ this.setMessage("该用户已经存在"); return JSON; } } return JSON; } /** * 获取所有会员列表 * @return */ @Action(value = "findAllMemberT", results = {@Result(name = "json",type="json")}) public String findAllMemberT(){ if(StaticKey.SC.equals(this.getQtype())){ this.findDefaultAllMemberT(); }else{ if(StringUtils.isBlank(this.getQtype())){ return JSON; }else{ return JSON; } } return JSON; } private void findDefaultAllMemberT() { int currentPage=page; int lineSize=rp; total=this.memberTService.count(MemberT.class).intValue(); Order order=Order.desc("createtime"); List<MemberT>list=this.memberTService.findByCriteriaByPage(MemberT.class, order, currentPage, lineSize); if(!list.isEmpty()){ this.processMemberList(list); } } private void processMemberList(List<MemberT> list) { for(Iterator<MemberT> it=list.iterator();it.hasNext();){ MemberT mt= it.next(); if(mt.getSex()!=null){ if(mt.getSex().equals(StaticKey.ONE)){ mt.setSex(StaticKey.SEXMAN); }else{ mt.setSex(StaticKey.SEXFEMAL); } } if(mt.getMemberstate().equals(StaticKey.MEMBERSTATE_ONE_NUM)){ mt.setMemberstate(StaticKey.DOACTIVE); }else{ mt.setMemberstate(StaticKey.DONOTACTIVE); } Map<String,Object>cellMap=new HashMap<String, Object>(); cellMap.put("id", mt.getId()); cellMap.put("cell", new Object[]{ mt.getLoginname(), mt.getNick(), mt.getRealname(), mt.getCity(), mt.getSex(), mt.getMobile(), mt.getQq(), mt.getWeixin(), mt.getSinaweibo(), getPersonalTag(mt.getTag()), mt.getMemberstate(), BaseTools.formateDbDate(mt.getCreatetime()), mt.getCreatorid(), "<a id='editmember' href='member.jsp?operate=edit&folder=member&id="+mt.getId()+"' name='editmember'>[编辑]</a>" }); rows.add(cellMap); } } /** * 转化个人标签 * @param tag * @return */ private String getPersonalTag(String tag){ String tagstr = ""; if(tag!=null){ JSONArray ja=(JSONArray) JSONValue.parse(tag); int jsonsize=ja.size(); for(int i=0;i<jsonsize;i++){ JSONObject jo=(JSONObject) ja.get(i); tagstr+=jo.get(StaticKey.TAG).toString()+","; } tagstr="["+tagstr.substring(0,tagstr.length()-1)+"]"; } return tagstr; } /** * 更新会员 * @return */ @Action(value = "updateMemberT", results = {@Result(name = "json",type="json")}) public String updateMemberT(){ if(StringUtils.isBlank(this.getId())){ return JSON; } bean=this.memberTService.findByPK(MemberT.class, this.getId()); if(bean!=null){ bean.setNick(this.getNick().trim()); bean.setRealname(this.getRealname().trim()); bean.setCity(this.getCity().trim()); bean.setDistrict(this.getDistrict().trim()); bean.setSex(this.getSex().trim()); bean.setWhichsex(this.getWhichsex().trim()); bean.setMerrystatus(this.getMerrystatus().trim()); bean.setBirthday(this.getBirthday().trim()); bean.setBlood(this.getBlood().trim()); bean.setConstellation(this.getConstellation().trim()); bean.setDes(this.getDes().trim()); bean.setEmail(this.getEmail().trim()); bean.setMobile(this.getMobile().trim()); bean.setQq(this.getQq().trim()); bean.setWeixin(this.getWeixin().trim()); bean.setSinaweibo(this.getSinaweibo().trim()); bean.setTag(this.getTag().trim()); bean.setQuestion(this.getQuestion().trim()); bean.setAnswer(this.getAnswer().trim()); bean.setMemberstate(StaticKey.ONE);//激活 bean.setHeadpath(this.getHeadpath().trim()); bean.setUpdatetime(BaseTools.getSystemTime()); bean.setCreatorid(BaseTools.getAdminCreateId()); bean.setVersiont(bean.getVersiont()+1); this.memberTService.update(bean); this.setSucflag(true); return JSON; } return JSON; } /** * 根据主键id获取会员 * @return */ @Action(value = "findMemberTById", results = {@Result(name = "json",type="json")}) public String findMemberTById(){ if(StringUtils.isBlank(this.getId())){ return JSON; } bean=this.memberTService.findByPK(MemberT.class, this.getId()); if(bean!=null){ bean.setTag(this.getPersonalTag(bean.getTag())); this.setBasepath(BaseTools.getBasePath()); this.setSucflag(true); return JSON; } return JSON; } /** * 批量删除会员 * @return */ @Action(value = "delMemberT", results = {@Result(name = "json",type="json")}) public String delMemberT(){ if(StringUtils.isBlank(this.getId())){ return JSON; } String []strs=StringUtils.split(this.getId(), StaticKey.SPLITDOT); for(String s:strs){ MemberT mt=this.memberTService.findByPK(MemberT.class, s); if(mt!=null){ this.memberTService.delete(mt); } } this.setSucflag(true); return JSON; } /** * 根据登录名查询会员 * @return */ @Action(value = "findMemberByloginname", results = {@Result(name = "json",type="json")}) public String findMemberByloginname(){ if(StringUtils.isBlank(this.getLoginname())){ return JSON; } Criterion criterion=Restrictions.eq("loginname", this.getLoginname()); MemberT mt=this.memberTService.findOneByCriteria(MemberT.class, criterion); if(mt!=null){ this.setBean(mt); this.setSucflag(true); return JSON; } return JSON; } /** * 根据会员名称模糊查询 * @return */ @Action(value = "findMemberLikeloginname", results = {@Result(name = "json",type="json")}) public String findMemberLikeloginname(){ if(StringUtils.isBlank(this.getLoginname())){ return JSON; } Criterion criterion=Restrictions.like("loginname", this.getLoginname(), MatchMode.ANYWHERE); List<MemberT>list=this.memberTService.findByCriteria(MemberT.class, criterion); if(!list.isEmpty()){ processMemberList(list); } this.setSucflag(true); return JSON; } }