package com.matrix.system.shopXcx.action;
|
|
import com.matrix.core.anotations.RemoveRequestToken;
|
import com.matrix.core.anotations.SaveRequestToken;
|
import com.matrix.core.constance.MatrixConstance;
|
import com.matrix.core.constance.SystemErrorCode;
|
import com.matrix.core.constance.SystemMessageCode;
|
import com.matrix.core.exception.GlobleException;
|
import com.matrix.core.pojo.AjaxResult;
|
import com.matrix.core.pojo.PaginationVO;
|
import com.matrix.core.tools.LogUtil;
|
import com.matrix.core.tools.StringUtils;
|
import com.matrix.core.tools.WebUtil;
|
import com.matrix.system.common.bean.SysUsers;
|
import com.matrix.system.common.constance.AppConstance;
|
import com.matrix.system.common.tools.ServiceUtil;
|
import com.matrix.system.hive.action.BaseController;
|
import com.matrix.system.hive.action.util.QueryUtil;
|
import com.matrix.system.shopXcx.bean.ShopProductAttribute;
|
import com.matrix.system.shopXcx.dao.ShopProductAttributeDao;
|
import org.apache.commons.collections.CollectionUtils;
|
import org.springframework.beans.factory.annotation.Autowired;
|
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 java.util.*;
|
|
/**
|
* @description 商品属性管理
|
* @author pengliang
|
* @date 2019-06-04 16:10
|
*/
|
@Controller
|
@RequestMapping(value = "admin/shopProductAttribute")
|
public class ShopProductAttributeAction extends BaseController {
|
|
@Autowired
|
private ShopProductAttributeDao shopProductAttributeDao;
|
|
@Autowired
|
private ServiceUtil serviceUtil;
|
|
//记录编辑前的值Before_Edit_Value
|
public static final String BEV="ShopProductAttribute_BEV";
|
|
|
/**
|
* 列表显示
|
*/
|
@RequestMapping(value = "/showList")
|
public @ResponseBody AjaxResult showList(ShopProductAttribute shopProductAttribute, PaginationVO pageVo) {
|
|
List<ShopProductAttribute> dataList = shopProductAttributeDao.selectInPage(shopProductAttribute, pageVo);
|
AjaxResult result = new AjaxResult(AjaxResult.STATUS_SUCCESS, dataList,
|
shopProductAttributeDao.selectTotalRecord(shopProductAttribute));
|
return result;
|
}
|
|
//显示所有属性
|
@RequestMapping(value = "/all")
|
@ResponseBody
|
public AjaxResult showAll(ShopProductAttribute shopProductAttribute){
|
// SysUsers sysUsers = getMe();
|
// shopProductAttribute.setShopId(sysUsers.getShopId());
|
QueryUtil.setQueryLimitCom(shopProductAttribute);
|
List<ShopProductAttribute> list = shopProductAttributeDao.selectByModel(shopProductAttribute);
|
return new AjaxResult(AjaxResult.STATUS_SUCCESS,list);
|
}
|
|
/**
|
* 过滤属性
|
* @param attrCode
|
* @return
|
*/
|
@RequestMapping(value = "/showSonAttribute")
|
@ResponseBody
|
public AjaxResult showSonAttribute(String attrCode,String status){
|
SysUsers sysUsers = getMe();
|
ShopProductAttribute shopProductAttribute = shopProductAttributeDao.selectByIdAsTree(attrCode,sysUsers.getCompanyId());
|
if(null == shopProductAttribute){
|
return new AjaxResult(AjaxResult.STATUS_FAIL,"未找到属性");
|
}
|
if(StringUtils.isNotBlank(status)){
|
List<ShopProductAttribute> list = new ArrayList<>();
|
getList(list, shopProductAttribute);
|
list.remove(shopProductAttribute);
|
return new AjaxResult(AjaxResult.STATUS_SUCCESS,list);
|
}else{
|
List<ShopProductAttribute> list = new ArrayList<>();
|
getList(list, shopProductAttribute);
|
ShopProductAttribute productAttribute = new ShopProductAttribute();
|
productAttribute.setShopId(sysUsers.getShopId());
|
List<ShopProductAttribute> allAttributeList = shopProductAttributeDao.selectByModel(productAttribute);
|
Iterator<ShopProductAttribute> iterator = allAttributeList.iterator();
|
while (iterator.hasNext()){
|
ShopProductAttribute attribute = iterator.next();
|
if(!list.contains(attribute)){
|
iterator.remove();
|
}
|
if(AppConstance.PARENTID_ATTRIBUTE.equals(attribute.getParentId()) && list.contains(attribute)){
|
iterator.remove();
|
}
|
}
|
return new AjaxResult(AjaxResult.STATUS_SUCCESS,allAttributeList);
|
}
|
|
}
|
|
/**
|
* 递归调用获取子节点
|
* @param sourceList
|
* @param targetAttr
|
*/
|
public void getList(List<ShopProductAttribute> sourceList,ShopProductAttribute targetAttr){
|
sourceList.add(targetAttr);
|
if(targetAttr != null && CollectionUtils.isNotEmpty(targetAttr.getChild())){
|
for (ShopProductAttribute childAttr:targetAttr.getChild() ) {
|
getList(sourceList,childAttr);
|
}
|
}
|
}
|
|
/**
|
* 新增
|
*/
|
@RemoveRequestToken
|
@RequestMapping(value = "/addShopProductAttribute")
|
public @ResponseBody AjaxResult addShopProductAttribute(ShopProductAttribute shopProductAttribute) {
|
SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
|
shopProductAttribute.setCreateBy(user.getSuName());
|
shopProductAttribute.setUpdateBy(user.getSuName());
|
shopProductAttribute.setShopId(user.getShopId());
|
shopProductAttribute.setCompanyId(user.getCompanyId());
|
boolean isRepetition = serviceUtil.addCheckRepeatTowColumn("shop_product_attribute",
|
"attr_code", shopProductAttribute.getAttrCode(),
|
"company_id",shopProductAttribute.getCompanyId());
|
if(isRepetition){
|
return new AjaxResult(AjaxResult.STATUS_FAIL,"属性编码不能重复");
|
}
|
shopProductAttribute.setShopId(user.getShopId());
|
int i=shopProductAttributeDao.insert(shopProductAttribute);
|
if(i > 0){
|
return new AjaxResult(AjaxResult.STATUS_SUCCESS, SystemMessageCode.ADD_SUCCES, "商品属性管理");
|
}else {
|
throw new GlobleException(SystemErrorCode.DATA_ADD_FAIL);
|
}
|
}
|
|
@RequestMapping(value = "/findById")
|
@ResponseBody
|
public AjaxResult findById(ShopProductAttribute shopProductAttribute){
|
shopProductAttribute = shopProductAttributeDao.selectById(shopProductAttribute.getAttrId());
|
return new AjaxResult(AjaxResult.STATUS_SUCCESS, Arrays.asList(shopProductAttribute));
|
}
|
|
|
/**
|
* 修改
|
*/
|
@RemoveRequestToken
|
@RequestMapping(value = "/modifyShopProductAttribute")
|
public @ResponseBody AjaxResult modifyShopProductAttribute(ShopProductAttribute shopProductAttribute) {
|
SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
|
shopProductAttribute.setUpdateBy(user.getSuName());
|
shopProductAttribute.setUpdateTime(new Date());
|
ShopProductAttribute newShopProductAttribute = shopProductAttributeDao.selectById(shopProductAttribute.getAttrId());
|
boolean isRepetition;
|
if(shopProductAttribute.getAttrCode().equals(newShopProductAttribute.getAttrCode())){
|
isRepetition = serviceUtil.updateCheckRepeatTowColumn("shop_product_attribute", "attr_code", newShopProductAttribute.getAttrCode()
|
,"company_id", newShopProductAttribute.getCompanyId()
|
,"attr_code",shopProductAttribute.getAttrCode());
|
}else{
|
isRepetition = serviceUtil.addCheckRepeatTowColumn("shop_product_attribute",
|
"attr_code", shopProductAttribute.getAttrCode(),
|
"company_id",shopProductAttribute.getCompanyId());
|
}
|
|
if(isRepetition){
|
return new AjaxResult(AjaxResult.STATUS_FAIL,"属性编码不能重复");
|
}
|
int i = shopProductAttributeDao.updateByModel(shopProductAttribute);
|
if(i>0){
|
return new AjaxResult(AjaxResult.STATUS_SUCCESS, SystemMessageCode.UPDATE_SUCCES, "商品属性管理");
|
}else{
|
throw new GlobleException(SystemErrorCode.DATA_ADD_FAIL);
|
}
|
|
}
|
|
|
|
|
/**
|
* 进入修改界面
|
*/
|
@SaveRequestToken
|
@RequestMapping(value = "/editForm")
|
public ModelAndView editForm(Integer id) {
|
SysUsers sysUsers = getMe();
|
ShopProductAttribute shopProductAttribute = new ShopProductAttribute();
|
shopProductAttribute.setShopId(sysUsers.getShopId());
|
List<ShopProductAttribute> list = shopProductAttributeDao.selectByModel(shopProductAttribute);
|
ModelAndView modelAndView = new ModelAndView("admin/shop/shopProductAttribute-form");
|
modelAndView.addObject("obj",list);
|
return modelAndView;
|
}
|
|
|
/**
|
* 删除
|
*/
|
@RequestMapping(value = "/del")
|
public @ResponseBody AjaxResult del(Integer attrId) {
|
String id = shopProductAttributeDao.selectForById(attrId);
|
List<String> ids = new ArrayList<String>();
|
if(StringUtils.isNotBlank(id)){
|
ids = StringUtils.strToCollToString(id, ",");
|
}
|
ids.add(String.valueOf(attrId));
|
int i = shopProductAttributeDao.deleteByIds(ids);
|
if (i > 0) {
|
return new AjaxResult(AjaxResult.STATUS_SUCCESS, SystemMessageCode.DELETE_SUCCES, i);
|
} else {
|
throw new GlobleException(SystemErrorCode.DATA_DELETE_FAIL);
|
}
|
}
|
|
/**
|
* 查询所有属性
|
*/
|
@RequestMapping(value = "/getAll")
|
public @ResponseBody AjaxResult getAll() {
|
SysUsers sysUsers = getMe();
|
ShopProductAttribute shopProductAttribute = new ShopProductAttribute();
|
shopProductAttribute.setShopId(sysUsers.getShopId());
|
shopProductAttribute.setCompanyId(sysUsers.getCompanyId());
|
List<ShopProductAttribute> attrList= shopProductAttributeDao.selectByModel(shopProductAttribute);
|
return new AjaxResult(AjaxResult.STATUS_SUCCESS, attrList, attrList.size());
|
}
|
|
}
|