package com.jshoperx.action.frontstage.membercenter; import com.jshoperx.action.backstage.base.DataCollectionTAction; import com.jshoperx.action.backstage.staticspage.FreeMarkervariable; import com.jshoperx.action.backstage.utils.BaseTools; import com.jshoperx.action.backstage.utils.statickey.StaticKey; import com.jshoperx.entity.DeliverAddressT; import com.jshoperx.entity.MemberT; import com.jshoperx.service.DeliverAddressTService; import com.jshoperx.service.impl.Serial; import com.opensymphony.xwork2.ActionContext; import com.opensymphony.xwork2.ActionSupport; import freemarker.template.TemplateException; import org.apache.commons.lang3.StringUtils; import org.apache.struts2.convention.annotation.*; import org.apache.struts2.json.annotations.JSON; import org.hibernate.criterion.Criterion; import org.hibernate.criterion.Restrictions; import java.io.IOException; import java.util.HashMap; import java.util.List; import java.util.Map; @ParentPackage("jshoperx") @Namespace("") @InterceptorRefs({ @InterceptorRef("defaultStack") }) public class DeliverAddressAction extends ActionSupport { private Serial serial; private DeliverAddressTService deliverAddressTService; private DataCollectionTAction dataCollectionTAction; private DeliverAddressT bean = new DeliverAddressT(); private String addressid; private String userid; private String membername; private String province; private String city; private String district; private String street; private String postcode; private String telno; private String mobile; private String email; private String state; private String country; private boolean sucflag; private boolean slogin; private String basePath; private Map<String,Object>map=new HashMap<String,Object>(); @JSON(serialize=false) public DataCollectionTAction getDataCollectionTAction() { return dataCollectionTAction; } public void setDataCollectionTAction(DataCollectionTAction dataCollectionTAction) { this.dataCollectionTAction = dataCollectionTAction; } @JSON(serialize=false) public DeliverAddressTService getDeliverAddressTService() { return deliverAddressTService; } public void setDeliverAddressTService(DeliverAddressTService deliverAddressTService) { this.deliverAddressTService = deliverAddressTService; } @JSON(serialize=false) public Serial getSerial() { return serial; } public void setSerial(Serial serial) { this.serial = serial; } public String getAddressid() { return addressid; } public void setAddressid(String addressid) { this.addressid = addressid; } public String getUserid() { return userid; } public void setUserid(String userid) { this.userid = userid; } public String getMembername() { return membername; } public void setMembername(String membername) { this.membername = membername; } public String getProvince() { return province; } public void setProvince(String province) { this.province = province; } 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 getStreet() { return street; } public void setStreet(String street) { this.street = street; } public String getPostcode() { return postcode; } public void setPostcode(String postcode) { this.postcode = postcode; } public String getTelno() { return telno; } public void setTelno(String telno) { this.telno = telno; } public String getMobile() { return mobile; } public void setMobile(String mobile) { this.mobile = mobile; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } public String getState() { return state; } public void setState(String state) { this.state = state; } public boolean isSucflag() { return sucflag; } public void setSucflag(boolean sucflag) { this.sucflag = sucflag; } public boolean isSlogin() { return slogin; } public void setSlogin(boolean slogin) { this.slogin = slogin; } public String getCountry() { return country; } public void setCountry(String country) { this.country = country; } public Map<String, Object> getMap() { return map; } public void setMap(Map<String, Object> map) { this.map = map; } public DeliverAddressT getBean() { return bean; } public void setBean(DeliverAddressT bean) { this.bean = bean; } public String getBasePath() { return basePath; } public void setBasePath(String basePath) { this.basePath = basePath; } /** * 清理错误 */ @Override public void validate() { this.clearErrorsAndMessages(); } /** * 增加用户收获地址 * @return */ @Action(value = "addDeliveraddress", results = { @Result(name = "json",type="json") }) public String addDeliveraddress(){ MemberT member=(MemberT)ActionContext.getContext().getSession().get(StaticKey.MEMBER_SESSION_KEY); if(member!=null){ DeliverAddressT d=new DeliverAddressT(); d.setAddressid(this.getSerial().Serialid(Serial.DELIVERADDRESS)); d.setMemberid(member.getId()); d.setShippingusername(this.getMembername().trim()); d.setCountry(this.getCountry().trim()); d.setProvince(this.getProvince().trim()); d.setCity(this.getCity().trim()); d.setDistrict(this.getDistrict().trim()); d.setStreet(this.getStreet().trim()); d.setPostcode(this.getPostcode().trim()); d.setTelno(this.getTelno()); d.setMobile(this.getMobile()); d.setEmail(this.getEmail().trim()); d.setCreatetime(BaseTools.getSystemTime()); d.setState(StaticKey.ZERO);//0非默认,1默认 this.getDeliverAddressTService().save(d); this.setSucflag(true); return "json"; } this.setSucflag(true); return "json"; } /** * 获取用户收获地址 * @return */ @Action(value = "getMemberDeliverAddress", results = { @Result(name = "success",type="chain",location = "initOrder"), @Result(name = "input",type="redirect",location = "/html/default/shop/user/login.html") }) public String getUserDeliverAddress(){ MemberT memberT=(MemberT) ActionContext.getContext().getSession().get(StaticKey.MEMBER_SESSION_KEY); if(memberT!=null){ Criterion criterion= Restrictions.eq("memberid",memberT.getId()); List<DeliverAddressT> list=this.deliverAddressTService.findByCriteria(DeliverAddressT.class,criterion); ActionContext.getContext().put(FreeMarkervariable.DELIVERADDRESS, list); return SUCCESS; }else{ return INPUT; } } /** * 根据收获地址id删除收获地址 * @return */ @Action(value = "delDeliverAddressByaddressid", results = { @Result(name = "json", type = "json") }) public String delDeliverAddressByaddressid(){ this.setBasePath(BaseTools.getBasePath()); MemberT memberT=(MemberT)ActionContext.getContext().getSession().get(StaticKey.MEMBER_SESSION_KEY); if(memberT!=null){ if(StringUtils.isNotBlank(this.getAddressid())){ String strs[]=StringUtils.split(this.getAddressid(), ","); for(String s:strs){ DeliverAddressT d=this.deliverAddressTService.findByPK(DeliverAddressT.class,s); if(d!=null){ this.deliverAddressTService.delete(d); } } this.setSucflag(true); return "json"; } } return "json"; } /** *用户中心获取用户收货地址 * @return * @throws IOException * @throws TemplateException */ @Action(value = "getMemberDeliverAddress4Mc", results = { @Result(name = "success",type="freemarker",location = "/WEB-INF/theme/default/shop/mydeliveraddress.ftl"), @Result(name = "input",type="redirect",location = "/html/default/shop/user/login.html") }) public String getMemberDeliverAddressForUserCenter() throws TemplateException, IOException{ MemberT memberT=(MemberT) ActionContext.getContext().getSession().get(StaticKey.MEMBER_SESSION_KEY); if(memberT!=null){ Criterion criterion=Restrictions.eq("memberid",memberT.getId()); List<DeliverAddressT> list=this.getDeliverAddressTService().findByCriteria(DeliverAddressT.class,criterion); //获取收货地址 ActionContext.getContext().put(FreeMarkervariable.DELIVERADDRESS, list); this.getDataCollectionTAction().putBaseInfoToContext(); return SUCCESS; }else{ return INPUT; } } /** * 根据地址ID获取用户地址 * return */ @Action(value = "findDeliverAddressByaddresid", results = { @Result(name = "json", type = "json") }) public String findDeliverAddressByaddresid(){ MemberT memberT=(MemberT)ActionContext.getContext().getSession().get(StaticKey.MEMBER_SESSION_KEY); if(memberT!=null){ this.setSlogin(true); if(StringUtils.isNotBlank(this.getAddressid())){ Criterion criterion=Restrictions.eq("addressid",this.getAddressid()); bean = this.getDeliverAddressTService().findOneByCriteria(DeliverAddressT.class,criterion); this.setSucflag(true); return "json"; }else{ this.setSucflag(false); return "json"; } } this.setSucflag(false); return "json"; } /** * 根据地址ID更新用户地址 * */ @Action(value = "updateDeliverAddress", results = { @Result(name = "json", type = "json") }) public String updateDeliverAddress(){ MemberT memberT=(MemberT)ActionContext.getContext().getSession().get(StaticKey.MEMBER_SESSION_KEY); if(memberT!=null){ this.setSlogin(true); if(StringUtils.isNotBlank(this.getAddressid())){ bean = this.getDeliverAddressTService().findByPK(DeliverAddressT.class,this.getAddressid()); bean.setShippingusername(this.getMembername().trim()); bean.setCountry(this.getCountry()); bean.setProvince(this.getProvince()); bean.setCity(this.getCity()); bean.setDistrict(this.getDistrict()); bean.setStreet(this.getStreet()); bean.setTelno(this.getTelno()); bean.setMobile(this.getMobile()); bean.setPostcode(this.getPostcode()); bean.setEmail(this.getEmail()); this.getDeliverAddressTService().update(bean); this.setSucflag(true); return "json"; }else{ this.setSucflag(false); return "json"; } } this.setSucflag(false); return "json"; } }