package com.jshoperx.action.backstage.shop;
import com.jshoperx.action.backstage.base.BaseTAction;
import com.jshoperx.action.backstage.utils.BaseTools;
import com.jshoperx.action.backstage.utils.enums.BaseEnums.DataUsingState;
import com.jshoperx.action.backstage.utils.enums.BaseEnums.JshopOpenState;
import com.jshoperx.action.backstage.utils.enums.BaseEnums.UserType;
import com.jshoperx.action.backstage.utils.statickey.StaticKey;
import com.jshoperx.entity.JshopbasicInfoT;
import com.jshoperx.entity.UserT;
import com.jshoperx.service.JshopbasicInfoTService;
import com.jshoperx.service.UsertService;
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.Order;
import org.hibernate.criterion.Restrictions;
import javax.annotation.Resource;
import java.util.*;
@Namespace("")
@ParentPackage("jshoperx")
public class ShopTAction extends BaseTAction {
private static final long serialVersionUID = 1L;
@Resource
private JshopbasicInfoTService jshopbasicInfoTService;
@Resource
private UsertService usertService;
private String userid;
private String basicinfoid;
private String jshopname;
private String jshopslogan;
private String country;
private String province;
private String city;
private String street;
private String qqservice;
private String skypeservice;
private String weixinservice;
private String sinaweiboservice;
private String emailservice;
private String phoneservice;
private String openstate;
private String siteclosenotes;
private String sitelogo;
private String licensed;
private String icpnum;
private String state;
private String district;
private String creatorid;
private Date createtime;
private String metaKeywords;
private String metaDes;
private JshopbasicInfoT beanlist = new JshopbasicInfoT();
private UserT userbean=new UserT();
private List<Map<String, Object>> rows = new ArrayList<Map<String, Object>>();
private int rp;
private int page = 1;
private int total = 0;
private boolean sucflag;
private String basepath;
public UserT getUserbean() {
return userbean;
}
public void setUserbean(UserT userbean) {
this.userbean = userbean;
}
public String getUserid() {
return userid;
}
public void setUserid(String userid) {
this.userid = userid;
}
public String getBasicinfoid() {
return basicinfoid;
}
public void setBasicinfoid(String basicinfoid) {
this.basicinfoid = basicinfoid;
}
public String getJshopname() {
return jshopname;
}
public void setJshopname(String jshopname) {
this.jshopname = jshopname;
}
public String getJshopslogan() {
return jshopslogan;
}
public void setJshopslogan(String jshopslogan) {
this.jshopslogan = jshopslogan;
}
public String getCountry() {
return country;
}
public void setCountry(String country) {
this.country = country;
}
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 getStreet() {
return street;
}
public void setStreet(String street) {
this.street = street;
}
public String getQqservice() {
return qqservice;
}
public void setQqservice(String qqservice) {
this.qqservice = qqservice;
}
public String getSkypeservice() {
return skypeservice;
}
public void setSkypeservice(String skypeservice) {
this.skypeservice = skypeservice;
}
public String getEmailservice() {
return emailservice;
}
public void setEmailservice(String emailservice) {
this.emailservice = emailservice;
}
public String getPhoneservice() {
return phoneservice;
}
public void setPhoneservice(String phoneservice) {
this.phoneservice = phoneservice;
}
public String getOpenstate() {
return openstate;
}
public void setOpenstate(String openstate) {
this.openstate = openstate;
}
public String getSiteclosenotes() {
return siteclosenotes;
}
public void setSiteclosenotes(String siteclosenotes) {
this.siteclosenotes = siteclosenotes;
}
public String getSitelogo() {
return sitelogo;
}
public void setSitelogo(String sitelogo) {
this.sitelogo = sitelogo;
}
public String getLicensed() {
return licensed;
}
public void setLicensed(String licensed) {
this.licensed = licensed;
}
public String getIcpnum() {
return icpnum;
}
public void setIcpnum(String icpnum) {
this.icpnum = icpnum;
}
public String getState() {
return state;
}
public void setState(String state) {
this.state = state;
}
public JshopbasicInfoT getBeanlist() {
return beanlist;
}
public void setBeanlist(JshopbasicInfoT beanlist) {
this.beanlist = beanlist;
}
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 String getCreatorid() {
return creatorid;
}
public void setCreatorid(String creatorid) {
this.creatorid = creatorid;
}
public boolean isSucflag() {
return sucflag;
}
public void setSucflag(boolean sucflag) {
this.sucflag = sucflag;
}
public String getDistrict() {
return district;
}
public void setDistrict(String district) {
this.district = district;
}
public String getMetaKeywords() {
return metaKeywords;
}
public void setMetaKeywords(String metaKeywords) {
this.metaKeywords = metaKeywords;
}
public String getMetaDes() {
return metaDes;
}
public void setMetaDes(String metaDes) {
this.metaDes = metaDes;
}
public String getBasepath() {
return basepath;
}
public void setBasepath(String basepath) {
this.basepath = basepath;
}
public String getWeixinservice() {
return weixinservice;
}
public void setWeixinservice(String weixinservice) {
this.weixinservice = weixinservice;
}
public String getSinaweiboservice() {
return sinaweiboservice;
}
public void setSinaweiboservice(String sinaweiboservice) {
this.sinaweiboservice = sinaweiboservice;
}
public Date getCreatetime() {
return createtime;
}
public void setCreatetime(Date createtime) {
this.createtime = createtime;
}
/**
* 清理错误
*/
@Override
public void validate() {
this.clearErrorsAndMessages();
}
/**
* 增加商城基本信息
*
* @return
*/
@Action(value = "addJshopbasicInfoT", results = { @Result(name = "json", type = "json") })
public String addJshopbasicInfoT() {
JshopbasicInfoT jbi = new JshopbasicInfoT();
jbi.setBasicinfoid(this.getSerial().Serialid(Serial.JSHOPBASICINFO));
jbi.setJshopname(this.getJshopname().trim());
jbi.setJshopslogan(this.getJshopslogan().trim());
jbi.setCountry(this.getCountry().trim());
jbi.setProvince(this.getProvince().trim());
jbi.setCity(this.getCity().trim());
jbi.setStreet(this.getStreet().trim());
jbi.setQqservice(this.getQqservice().trim());
jbi.setSkypeservice(this.getSkypeservice().trim());
jbi.setWeixinservice(this.getWeixinservice().trim());
jbi.setSinaweiboservice(this.getSinaweiboservice().trim());
jbi.setEmailservice(this.getEmailservice().trim());
jbi.setPhoneservice(this.getPhoneservice().trim());
jbi.setOpenstate(this.getOpenstate().trim());
jbi.setSiteclosenotes(this.getSiteclosenotes());
jbi.setSitelogo(this.getSitelogo().trim());
jbi.setLicensed(this.getLicensed().trim());
jbi.setIcpnum(this.getIcpnum());
jbi.setState(this.getState());
jbi.setDistrict(this.getDistrict());
jbi.setCreatorid(BaseTools.getAdminCreateId());
jbi.setCreatetime(BaseTools.getSystemTime());
jbi.setMetaDes(this.getMetaDes());
jbi.setMetaKeywords(this.getMetaKeywords());
this.jshopbasicInfoTService.save(jbi);
this.setSucflag(true);
return JSON;
}
/**
* 查询所有商铺信息
*
* @return
*/
@Action(value = "findAllShop", results = { @Result(name = "json", type = "json") })
public String findAllShop() {
if (StringUtils.equals(StaticKey.SC, this.getQtype())) {
findDefaultAllShop();
} else {
if (StringUtils.isBlank(this.getQtype())) {
}
}
return JSON;
}
private void findDefaultAllShop() {
int currentPage = page;
int lineSize = rp;
total = this.jshopbasicInfoTService.count(JshopbasicInfoT.class)
.intValue();
Order order = Order.desc("createtime");
List<JshopbasicInfoT> list = this.jshopbasicInfoTService
.findByCriteriaByPage(JshopbasicInfoT.class, order,
currentPage, lineSize);
if (!list.isEmpty()) {
processList(list);
}
}
private void processList(List<JshopbasicInfoT> list) {
for (Iterator<JshopbasicInfoT> it = list.iterator(); it.hasNext();) {
JshopbasicInfoT jbi = (JshopbasicInfoT) it.next();
if (StringUtils.equals(jbi.getOpenstate(),
JshopOpenState.OPEN.getOpenstate())) {
jbi.setOpenstate(JshopOpenState.OPEN.getName());
}
if (StringUtils.equals(jbi.getOpenstate(),
JshopOpenState.CLOSE.getOpenstate())) {
jbi.setOpenstate(JshopOpenState.CLOSE.getName());
}
if (StringUtils.equals(jbi.getState(),
DataUsingState.USING.getState())) {
jbi.setState(DataUsingState.USING.getName());
}
if (StringUtils.equals(jbi.getState(),
DataUsingState.UNUSING.getState())) {
jbi.setState(DataUsingState.UNUSING.getName());
}
Map<String, Object> cellMap = new HashMap<String, Object>();
cellMap.put("id", jbi.getBasicinfoid());
cellMap.put(
"cell",
new Object[] { jbi.getJshopname(), jbi.getMetaKeywords(),
jbi.getOpenstate(), jbi.getState(),
BaseTools.formateDbDate(jbi.getCreatetime()) });
rows.add(cellMap);
}
}
/**
* 更新商城基本信息
*
* @return
*/
@Action(value = "updateJshopbasicInfo", results = { @Result(name = "json", type = "json") })
public String updateJshopbasicInfo() {
JshopbasicInfoT jbi = new JshopbasicInfoT();
jbi = this.jshopbasicInfoTService.findByPK(JshopbasicInfoT.class,
this.getBasicinfoid());
jbi.setJshopname(this.getJshopname().trim());
jbi.setJshopslogan(this.getJshopslogan().trim());
jbi.setCountry(this.getCountry().trim());
jbi.setProvince(this.getProvince().trim());
jbi.setCity(this.getCity().trim());
jbi.setStreet(this.getStreet().trim());
jbi.setQqservice(this.getQqservice().trim());
jbi.setSkypeservice(this.getSkypeservice().trim());
jbi.setWeixinservice(this.getWeixinservice().trim());
jbi.setSinaweiboservice(this.getSinaweiboservice().trim());
jbi.setEmailservice(this.getEmailservice().trim());
jbi.setPhoneservice(this.getPhoneservice().trim());
jbi.setOpenstate(this.getOpenstate().trim());
jbi.setSiteclosenotes(this.getSiteclosenotes());
jbi.setSitelogo(this.getSitelogo().trim());
jbi.setLicensed(this.getLicensed().trim());
jbi.setIcpnum(this.getIcpnum());
jbi.setState(this.getState());
jbi.setDistrict(this.getDistrict());
jbi.setMetaDes(this.getMetaDes());
jbi.setMetaKeywords(this.getMetaKeywords());
this.jshopbasicInfoTService.update(jbi);
this.setSucflag(true);
return JSON;
}
/**
* 根据creatorid获取商城基本信息
*
* @return
*/
@Action(value = "findJshopbasicInfoTById", results = { @Result(name = "json", type = "json") })
public String findJshopbasicInfoTById() {
Criterion criterion = Restrictions.eq("creatorid",
BaseTools.getAdminCreateId());
beanlist = this.jshopbasicInfoTService.findOneByCriteria(
JshopbasicInfoT.class, criterion);
if (beanlist != null) {
this.setSucflag(true);
}
return JSON;
}
/**
* 根据店铺id查询店铺信息
* @return
*/
@Action(value = "findShopById", results = { @Result(name = "json", type = "json") })
public String findShopById() {
if (StringUtils.isNotBlank(this.getBasicinfoid())) {
Criterion criterion = Restrictions.eq("basicinfoid",
this.getBasicinfoid());
beanlist=this.jshopbasicInfoTService.findOneByCriteria(JshopbasicInfoT.class, criterion);
if(beanlist!=null){
this.setBasepath(BaseTools.getBasePath());
this.setSucflag(true);
}
}
return JSON;
}
/**
* 删除商城基本信息
*
* @return
*/
@Action(value = "delJshopbasicInfo", results = { @Result(name = "json", type = "json") })
public String delJshopbasicInfo() {
if (StringUtils.isNotBlank(this.getBasicinfoid())) {
String strs[] = StringUtils.split(this.getBasicinfoid(),
StaticKey.SPLITDOT);
for (String s : strs) {
JshopbasicInfoT j = this.jshopbasicInfoTService.findByPK(
JshopbasicInfoT.class, s);
if (j != null) {
this.jshopbasicInfoTService.delete(j);
}
}
this.setSucflag(true);
}
return JSON;
}
@Action(value = "updateJshopbasicInfostate", results = { @Result(name = "json", type = "json") })
public String updateJshopbasicInfostate() {
if (StringUtils.isNotBlank(this.getBasicinfoid())) {
JshopbasicInfoT j = this.jshopbasicInfoTService.findByPK(
JshopbasicInfoT.class, this.getBasicinfoid());
if (j != null) {
j.setOpenstate(this.getOpenstate());
this.jshopbasicInfoTService.update(j);
}
}
return JSON;
}
/**
* 绑定店铺掌柜
* @return
*/
@Action(value = "bindShopAdmin", results = { @Result(name = "json", type = "json") })
public String bindShopAdmin(){
if(StringUtils.isNotBlank(this.getUserid())&&StringUtils.isNotBlank(this.getBasicinfoid())){
UserT user=this.usertService.findByPK(UserT.class, this.getUserid());
JshopbasicInfoT jt=this.jshopbasicInfoTService.findByPK(JshopbasicInfoT.class, this.getBasicinfoid());
if(user!=null&&jt!=null){
user.setShopid(this.getBasicinfoid());
user.setShopname(jt.getJshopname());
this.usertService.update(user);
this.setSucflag(true);
}
}
return JSON;
}
/**
* 查询店铺掌柜
* @return
*/
@Action(value = "findShopAdmin", results = { @Result(name = "json", type = "json") })
public String findShopAdmin(){
if(StringUtils.isNotBlank(this.getBasicinfoid())){
Criterion criterion=Restrictions.eq("shopid", this.getBasicinfoid());
UserT userT=this.usertService.findOneByCriteria(UserT.class, criterion);
if(userT!=null){
this.setUserbean(userT);
this.setSucflag(true);
}
}
return JSON;
}
/**
* 解绑店铺掌柜
* @return
*/
@Action(value = "unBindShopAdmin", results = { @Result(name = "json", type = "json") })
public String unBindShopAdmin(){
if(StringUtils.isNotBlank(this.getBasicinfoid())){
JshopbasicInfoT jshopbasicInfoT=this.jshopbasicInfoTService.findByPK(JshopbasicInfoT.class, this.getBasicinfoid());
if(jshopbasicInfoT!=null){
Criterion criterion=Restrictions.eq("shopid", jshopbasicInfoT.getBasicinfoid());
List<UserT>userList=this.usertService.findByCriteria(UserT.class, criterion);
for(UserT u:userList){
if(StringUtils.equals(u.getState(), UserType.SHOPMANAGER.getState())){
u.setShopid(StaticKey.ZERO);
u.setShopname(StaticKey.ZERO);
this.usertService.update(u);
}
}
this.setSucflag(true);
}
}
return JSON;
}
}