From cdcbed9af813b2a02cdc01eefa24db8bec6b51a9 Mon Sep 17 00:00:00 2001
From: yujian <yujian>
Date: 星期三, 27 三月 2019 12:17:33 +0800
Subject: [PATCH] 主分类 + 子分类 DAO改造

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/goods/GoodsClassServiceImpl.java |  536 +++++++++++++++++++++-------------------------------------
 1 files changed, 195 insertions(+), 341 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/goods/GoodsClassServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/goods/GoodsClassServiceImpl.java
index 1e55f2e..0e39efe 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/goods/GoodsClassServiceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/goods/GoodsClassServiceImpl.java
@@ -1,57 +1,40 @@
 package com.yeshi.fanli.service.impl.goods;
 
-import java.io.FileNotFoundException;
-import java.io.IOException;
 import java.io.InputStream;
-import java.io.Serializable;
-import java.net.URLEncoder;
-import java.text.MessageFormat;
 import java.util.ArrayList;
-import java.util.Collection;
 import java.util.HashMap;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
-import java.util.Properties;
 import java.util.UUID;
 
 import javax.annotation.Resource;
 import javax.transaction.Transactional;
 
 import org.apache.commons.beanutils.PropertyUtils;
-import org.hibernate.HibernateException;
-import org.hibernate.Query;
-import org.hibernate.Session;
 import org.springframework.cache.annotation.Cacheable;
-import org.springframework.orm.hibernate4.HibernateCallback;
 import org.springframework.stereotype.Service;
 import org.springframework.web.multipart.MultipartFile;
 import org.yeshi.utils.tencentcloud.COSManager;
 
 import com.google.gson.Gson;
 import com.google.gson.GsonBuilder;
-import com.yeshi.fanli.dao.goods.GoodsClassDao;
 import com.yeshi.fanli.dao.mybatis.GoodsClassMapper;
-import com.yeshi.fanli.dao.mybatis.lable.LabelClassMapper;
-import com.yeshi.fanli.entity.admin.GoodsClassAdmin;
 import com.yeshi.fanli.entity.bus.clazz.GoodsClass;
 import com.yeshi.fanli.entity.bus.clazz.GoodsSubClass;
 import com.yeshi.fanli.entity.bus.su.clazz.SuperGoodsClass;
 import com.yeshi.fanli.entity.system.BusinessSystem;
+import com.yeshi.fanli.exception.GoodsClassException;
 import com.yeshi.fanli.service.inter.config.BusinessSystemService;
 import com.yeshi.fanli.service.inter.goods.GoodsClassService;
-import com.yeshi.fanli.service.inter.goods.GoodsSecondClassService;
 import com.yeshi.fanli.service.inter.goods.GoodsSubClassService;
 import com.yeshi.fanli.service.inter.goods.SuperGoodsClassService;
-import com.yeshi.fanli.util.Constant;
+import com.yeshi.fanli.service.inter.lable.LabelClassService;
 import com.yeshi.fanli.util.StringUtil;
 import com.yeshi.fanli.util.Utils;
 
 @Service
 public class GoodsClassServiceImpl implements GoodsClassService {
-
-	@Resource
-	private GoodsClassDao goodsClassDao;
 
 	@Resource
 	private BusinessSystemService businessSystemService;
@@ -60,290 +43,69 @@
 	private SuperGoodsClassService superGoodsClassService;
 
 	@Resource
-	private GoodsSecondClassService goodsSecondClassService;
-
-	@Resource
 	private GoodsClassMapper goodsClassMapper;
-	
-	@Resource
-	private LabelClassMapper labelClassMapper;
-	
 	
 	@Resource
 	private GoodsSubClassService goodsSubClassService;
 	
+	@Resource
+	private LabelClassService labelClassService;
+	
 
-	public GoodsClass getGoodsClass(long gcid) {
-		return goodsClassDao.find(GoodsClass.class, gcid);
+	public GoodsClass getGoodsClass(long id) {
+		return goodsClassMapper.selectByPrimaryKey(id);
 	}
 
 	@Override
-	public void deleteGoodsClass(final long id) {
-		goodsClassDao.excute(new HibernateCallback() {
-				public Object doInHibernate(Session session)
-						throws HibernateException {
-					Query query = session.createQuery("delete from GoodsClass  where  id = ? ");
-					query.setParameter(0, id);
-					query.executeUpdate();
-					return null;
-				}
-			});
+	public int updateByPrimaryKey(GoodsClass record) {
+		return goodsClassMapper.updateByPrimaryKey(record);
 	}
 	
 	@Override
-	@SuppressWarnings("unchecked")
-	public List<GoodsClass> getByorderby(int orderby) {
-		
-		List<GoodsClass> goodsClassList = (List<GoodsClass>) goodsClassDao.excute(new HibernateCallback<List<GoodsClass>>() {
-			public List<GoodsClass> doInHibernate(Session session) throws HibernateException {
-				Query query = session.createQuery(" from GoodsClass rs where rs.orderby = ? ");
-				query.setParameter(0, orderby);
-				return query.list();
-			}
-		});
-		
-		return goodsClassList;
+	public String getKeysById(Long id) {
+		return goodsClassMapper.getKeysById(id);
+	}
+	
+	@Override
+	public GoodsClass selectByPrimaryKey(Long gcid) {
+		return goodsClassMapper.selectByPrimaryKey(gcid);
+	}
+	
+	@Override
+	public int updateByPrimaryKeySelective(GoodsClass record) {
+		return goodsClassMapper.updateByPrimaryKeySelective(record);
 	}
 	
 	
-	@SuppressWarnings("unchecked")
-	public List<GoodsClassAdmin> getGoodsClassAdmins(int index, String platform, String packages, String key) {
-		final int strat = index * Constant.PAGE_SIZE;
-		platform = Utils.getMap().get(platform);
-		BusinessSystem system = businessSystemService.getBusinessSystem(platform, packages);
-		List<GoodsClass> GoodsClassList = null;
-		List<SuperGoodsClass> superGoodsClassList = null;
-		Map<Long, GoodsClassAdmin> goodsClassAdminMap = new HashMap<Long, GoodsClassAdmin>();
-		List<GoodsClassAdmin> goodsClassAdmin = new ArrayList<GoodsClassAdmin>();
-		if (system == null) {
-			final String likekey = "%" + key + "%";
-			GoodsClassList = (List<GoodsClass>) goodsClassDao.excute(new HibernateCallback<List<GoodsClass>>() {
-				public List<GoodsClass> doInHibernate(Session session) throws HibernateException {
-					Query query = session.createQuery(" from GoodsClass rs where rs.name like ? ");
-					query.setFirstResult(strat);
-					query.setMaxResults(Constant.PAGE_SIZE);
-					query.setParameter(0, likekey);
-					return query.list();
-				}
-			});
-			List<Long> gcIdList = new ArrayList<Long>();
-			for (GoodsClass rs : GoodsClassList) {
-				gcIdList.add(rs.getId());
-			}
-			superGoodsClassList = superGoodsClassService.getSuperGoodsClasss(gcIdList);
-			Map<Long, List<BusinessSystem>> superMap = new HashMap<Long, List<BusinessSystem>>();
-			Long rsId = null;
-			List<BusinessSystem> systemList = null;
-			for (SuperGoodsClass srs : superGoodsClassList) {
-				rsId = srs.getGoodsClass().getId();
-				systemList = superMap.get(rsId);
-				if (systemList == null) {
-					systemList = new ArrayList<BusinessSystem>();
-				}
-				systemList.add(srs.getSystem());
-				superMap.put(rsId, systemList);
-			}
-			GoodsClassAdmin rsa = null;
-			for (GoodsClass GoodsClass : GoodsClassList) {
-				long id = GoodsClass.getId();
-				rsa = goodsClassAdminMap.get(id);
-				if (rsa == null) {
-					rsa = new GoodsClassAdmin();
-				}
-				List<BusinessSystem> list = superMap.get(id);
-				if (list != null) {
-					rsa.getSystemList().addAll(superMap.get(id));
-				}
-				rsa.setGoodsClass(GoodsClass);
-				goodsClassAdminMap.put(id, rsa);
-			}
-		} else if (system != null) {
-			String likekey = "%" + key + "%";
-			superGoodsClassList = superGoodsClassService.getSuperGoodsClassList(system.getId(), strat,
-					Constant.PAGE_SIZE, likekey);
-			List<Long> gcIdList = new ArrayList<Long>();
-			for (SuperGoodsClass superGoodsClass : superGoodsClassList) {
-				GoodsClass GoodsClass = superGoodsClass.getGoodsClass();
-				gcIdList.add(GoodsClass.getId());
-			}
-			superGoodsClassList = superGoodsClassService.getSuperGoodsClasss(gcIdList);
-			GoodsClassAdmin rsa = null;
-			for (SuperGoodsClass superGoodsClass : superGoodsClassList) {
-				GoodsClass goodsClass = superGoodsClass.getGoodsClass();
-				rsa = goodsClassAdminMap.get(goodsClass.getId());
-				if (rsa == null) {
-					rsa = new GoodsClassAdmin(goodsClass);
-				}
-				rsa.getSystemList().add(superGoodsClass.getSystem());
-				goodsClassAdminMap.put(goodsClass.getId(), rsa);
-			}
-		}
-		Map map = Utils.orderBy(goodsClassAdminMap);
-		Collection<GoodsClassAdmin> values = map.values();
-		goodsClassAdmin.addAll(values);
-		return goodsClassAdmin;
-
+	@Cacheable(value="classCache",key="'getGoodsClass-'+#gcid")
+	@Override
+	public GoodsClass getGoodsClassCache(long gcid) {
+		return getGoodsClass(gcid);
 	}
 
+	
+	@Override
+	public void deleteGoodsClass(long id) {
+		goodsClassMapper.deleteByPrimaryKey(id);
+	}
+	
+
+	@Override
 	public int getCount(String platform, String packages, final String key) {
+		
+		Long systemId = null;
+		
 		platform = Utils.getMap().get(platform);
-		final BusinessSystem system = businessSystemService.getBusinessSystem(platform, packages);
-		return (Integer) goodsClassDao.excute(new HibernateCallback<Integer>() {
-
-			public Integer doInHibernate(Session session) throws HibernateException {
-				String k = "%" + key + "%";
-				if (system == null) {
-					// Query query = session.createSQLQuery("select
-					// count(a.name) from (select `name` from yeshi_ec_class
-					// where `name` like ?) a");
-					Query query = session.createQuery("select count(gc.id) from GoodsClass gc where gc.name like ?");
-					query.setParameter(0, k);
-					Long result = (Long) query.uniqueResult();
-					int intValue = result.intValue();
-					return intValue;
-				} else {
-					// Query query =session.createSQLQuery("select count(a.name)
-					// from (select hs.name from yeshi_ec_super_goodsclass shs
-					// left join yeshi_ec_class hs on shs.goodsclass_id=hs.id
-					// where shs.system_id=? and hs.name like ?) a");
-					Query query = session.createQuery(
-							"select count(sgc.id) from SuperGoodsClass sgc where sgc.goodsClass.name like ? and sgc.system.id=?");
-					query.setParameter(0, k);
-					query.setParameter(1, system.getId());
-					Long result = (Long) query.uniqueResult();
-					int intValue = result.intValue();
-					return intValue;
-				}
-			}
-		});
-	}
-
-	// @Transactional
-	// public void addGoodsClass(GoodsClass goodsClass) {
-	// goodsClass.setCreatetime(java.lang.System.currentTimeMillis());
-	// Serializable id = goodsClassDao.save(goodsClass);
-	// Properties properties = new Properties();
-	// InputStream in = null;
-	// try {
-	// in = new BufferedInputStream (new FileInputStream("url.properties"));
-	// properties.load(in);
-	// String url = (String) properties.get("url");
-	// goodsClass.setUrl(url+id);
-	// goodsClassDao.update(goodsClass);
-	// } catch (FileNotFoundException e) {
-	// e.printStackTrace();
-	// } catch (IOException e) {
-	// e.printStackTrace();
-	// }finally{
-	// if(in !=null){
-	// try {
-	// in.close();
-	// } catch (IOException e) {
-	// e.printStackTrace();
-	// }
-	// }
-	// }
-	// }
-
-	public Integer addGoodsClass(final GoodsClass goodsClass) {
-
-		return (Integer) goodsClassDao.excute(new HibernateCallback() {
-
-			public Object doInHibernate(Session session) throws HibernateException {
-				session.getTransaction().begin();
-				goodsClass.setCreatetime(java.lang.System.currentTimeMillis());
-				Serializable id = session.save(goodsClass);
-				Properties properties = new Properties();
-				InputStream in = null;
-				try {
-					in = this.getClass().getClassLoader().getResourceAsStream("url.properties");
-					properties.load(in);
-					String url = (String) properties.get("url");
-					url = MessageFormat.format(url, id, goodsClass.getKey(), goodsClass.getName());
-					goodsClass.setUrl(url);
-					session.update(goodsClass);
-					session.flush();
-					session.getTransaction().commit();
-				} catch (FileNotFoundException e) {
-					session.getTransaction().rollback();
-					e.printStackTrace();
-					return 1;
-				} catch (IOException e) {
-					session.getTransaction().rollback();
-					e.printStackTrace();
-					return 2;
-				} finally {
-					if (in != null) {
-						try {
-							in.close();
-						} catch (IOException e) {
-							e.printStackTrace();
-						}
-					}
-				}
-				return null;
-			}
-		});
-	}
-
-	
-	@Transactional
-	public void deleteGoodsClasss(long[] gcids) {
-		for (long id : gcids) {
-			superGoodsClassService.deleteSuperGoodsClass(id);
-			goodsSecondClassService.deleteSecondClassByGC(id);
-			goodsClassDao.delete(new GoodsClass(id));
+		
+		BusinessSystem system = businessSystemService.getBusinessSystem(platform, packages);
+		if (system != null) {
+			systemId = system.getId();
 		}
-	}
-	
-	public Integer updateGoodsClass(final GoodsClass goodsClass) {
-
-		return (Integer) goodsClassDao.excute(new HibernateCallback() {
-
-			public Object doInHibernate(Session session) throws HibernateException {
-				session.getTransaction().begin();
-				goodsClass.setCreatetime(java.lang.System.currentTimeMillis());
-				session.update(goodsClass);
-				Properties properties = new Properties();
-				InputStream in = null;
-				try {
-					in = this.getClass().getClassLoader().getResourceAsStream("url.properties");
-					properties.load(in);
-					String url = (String) properties.get("url");
-					
-					java.lang.System.out.println(goodsClass.getKey());
-					java.lang.System.out.println(goodsClass.getName());
-					
-					String encodeKey = URLEncoder.encode(goodsClass.getKey(), "utf-8");
-					String encodeName = URLEncoder.encode(goodsClass.getName(), "utf-8");
-					url = MessageFormat.format(url, goodsClass.getId(), encodeKey, encodeName);
-					goodsClass.setUrl(url);
-					session.update(goodsClass);
-					session.flush();
-					session.getTransaction().commit();
-				} catch (FileNotFoundException e) {
-					session.getTransaction().rollback();
-					e.printStackTrace();
-					return 1;
-				} catch (IOException e) {
-					session.getTransaction().rollback();
-					e.printStackTrace();
-					return 2;
-				} finally {
-					if (in != null) {
-						try {
-							in.close();
-						} catch (IOException e) {
-							e.printStackTrace();
-						}
-					}
-				}
-				return null;
-			}
-		});
+		;
+		return goodsClassMapper.countByName(key, systemId);
 	}
 
-	@SuppressWarnings("unchecked")
+
 	@Override
 	public List<GoodsClass> queryAll(String platform, String packages) throws Exception{
 
@@ -358,12 +120,7 @@
 		
 		if (system == null) {
 			
-			goodsClassList = (List<GoodsClass>) goodsClassDao.excute(new HibernateCallback<List<GoodsClass>>() {
-				public List<GoodsClass> doInHibernate(Session session) throws HibernateException {
-					Query query = session.createQuery(" from GoodsClass order by orderby");
-					return query.list();
-				}
-			});
+			goodsClassList = goodsClassMapper.getGoodsClassAll();
 			
 			if (goodsClassList == null || goodsClassList.size() == 0) {
 				return null;
@@ -375,7 +132,7 @@
 			}
 
 		} else if (system != null) {
-			superGoodsClassList = superGoodsClassService.getSuperGoodsClassAll(system.getId());
+			superGoodsClassList = superGoodsClassService.getSuperGoodsClassBySystemId(system.getId());
 			
 			if (goodsClassList == null || goodsClassList.size() == 0) {
 				return null;
@@ -406,8 +163,16 @@
 			} else {
 				gclass.setCountClick(0l);
 			}
+			
+			String searchParam = gclass.getSearchParam();
+			if (searchParam == null) {
+				gclass.setSearchParam("");
+			} else {
+				gclass.setSearchParam(searchParam);
+			}
+			
 
-			int countlabel = labelClassMapper.getCountQueryByClassId(gclass.getId());
+			int countlabel = labelClassService.getCountQueryByClassId(gclass.getId());
 			gclass.setCountlabel(countlabel);
 
 			List<Long> gList = new ArrayList<Long>();
@@ -453,67 +218,124 @@
 	}
 	
 	public List<GoodsClass> getGoodsClassAll() {
-		return goodsClassDao.list("from GoodsClass order by orderby");
+		return goodsClassMapper.getGoodsClassAll();
 	}
 
-	@Override
-	public String getKwById(Long id) {
-		return goodsClassMapper.getKwById(id);
-	}
 	
 	@Override
-	public GoodsClass selectByPrimaryKey(Long gcid) {
-		return goodsClassMapper.selectByPrimaryKey(gcid);
-	}
-	
-	@Override
-	public int updateByPrimaryKeySelective(GoodsClass record) {
-		return goodsClassMapper.updateByPrimaryKeySelective(record);
-	}
-	
-	
-	
-	@Override
-	public List<GoodsClass> queryAll() {
-		return goodsClassMapper.queryAll();
-	}
-	
-	@Cacheable(value="classCache",key="'getGoodsClass-'+#gcid")
-	@Override
-	public GoodsClass getGoodsClassCache(long gcid) {
-		return getGoodsClass(gcid);
-	}
-
-	@Override
-	@SuppressWarnings("unchecked")
-	public long saveAdd(GoodsClass record, MultipartFile file) throws Exception{
+	public void saveObject(MultipartFile file, GoodsClass record) throws GoodsClassException, Exception{
 		
-		long result = 0;		
-		record.setCreatetime(java.lang.System.currentTimeMillis());
-		
-		/*  涓婁紶鏂板浘鐗�  */
-		if (file != null) {
-			InputStream inputStream = file.getInputStream();
-			String contentType = file.getContentType();
-			String type = contentType.substring(contentType.indexOf("/") + 1);
-			// 涓婁紶鏂囦欢鐩稿浣嶇疆
-			String fileUrl="ClassImg/"+UUID.randomUUID().toString().replace("-", "") + "." + type;
-			String uploadFilePath = COSManager.getInstance().uploadFile(inputStream, fileUrl).getUrl();
-			
-			record.setPicture(uploadFilePath);
+		String name = record.getName();
+		if (name == null || name.trim().length() == 0) {
+			throw new GoodsClassException(1, "鍒嗙被鍚嶇О涓嶈兘涓虹┖");
 		}
 		
-		addGoodsClass(record);
 		
-		record.setOrderby((int)record.getId());
-		updateGoodsClass(record);
+		// 鍥剧墖涓婁紶
+		String picture = null;
+		if (file != null) {
+			picture = uploadPicture(file);
+		}
 		
-		long id = record.getId();
-		if (id > 0) 
-			return id;
+		String params = record.getSearchParam();
+		if (params== null || params.trim().length() == 0 || "null".equalsIgnoreCase(params)) {
+			record.setSearchParam(null);
+		} else {
+			record.setSearchParam(params);
+		}
 		
-		return result;
+		
+		
+		Long id = record.getId();
+		if (id == null) {
+			record.setPicture(picture);
+			record.setIosClick(0L);
+			record.setAndroidClick(0L);
+			
+			record.setCreatetime(java.lang.System.currentTimeMillis());
+			
+			if (params== null || params.trim().length() == 0 || "null".equalsIgnoreCase(params)) {
+				// 鎼滅储鏉′欢:鏈夊埜銆佸湪鍞环20-200銆佺墰鐨櫍杞诲井
+				record.setSearchParam("{\"quan\":1,\"endPrice\":220,\"includeGoodRate\":true,\"baoYou\":true,\"ip\":\"218.72.111.105\"}");
+			}
+			
+			// 鎺掑簭
+			int maxOrder = goodsClassMapper.getMaxOrder();
+			record.setOrderby(maxOrder + 1);
+			
+			goodsClassMapper.insert(record);
+			
+			// 榛樿鎵�鏈夌郴缁熶娇鐢�
+			List<BusinessSystem> listSystems = businessSystemService.getBusinessSystems();
+			if (listSystems != null && listSystems.size() > 0) {
+				for(BusinessSystem businessSystem: listSystems) {
+					SuperGoodsClass superGoodsClass = new SuperGoodsClass();
+					superGoodsClass.setGoodsClass(record);;
+					superGoodsClass.setSystem(businessSystem);
+					superGoodsClassService.insertSelective(superGoodsClass);
+				}
+			}
+			
+		} else {
+			// 淇敼
+			GoodsClass resultObj = goodsClassMapper.selectByPrimaryKey(id);
+			if (resultObj == null) {
+				throw new GoodsClassException(1, "淇敼鍐呭宸蹭笉瀛樺湪");
+			}
+			
+			if (picture != null && picture.trim().length() > 0) {
+				// 鍒犻櫎鑰佸浘
+				removePicture(resultObj.getPicture());
+				// 瀛樺偍鏂板浘
+				record.setPicture(picture);
+			} else {
+				record.setPicture(resultObj.getPicture());
+			}
+			
+			record.setIosClick(resultObj.getIosClick());
+			record.setOrderby(resultObj.getOrderby());
+			record.setAndroidClick(resultObj.getAndroidClick());
+			record.setCreatetime(resultObj.getCreatetime());
+			goodsClassMapper.updateByPrimaryKey(record);
+		}
 	}
+	
+
+	/**
+	 * 涓婁紶鍥剧墖
+	 * @param file
+	 * @return
+	 * @throws Exception
+	 */
+	public String uploadPicture(MultipartFile file) throws Exception {
+		
+		// 鏂囦欢瑙f瀽 
+		InputStream inputStream = file.getInputStream();
+		String contentType = file.getContentType();
+		String type = contentType.substring(contentType.indexOf("/") + 1);
+	
+		// 鏂囦欢璺緞
+		String filePath="/img/GoodsClass/"+UUID.randomUUID().toString().replace("-", "") + "." + type;
+		// 鎵ц涓婁紶
+		String fileLink= COSManager.getInstance().uploadFile(inputStream, filePath).getUrl();
+		
+		return fileLink;
+	}
+
+	/**
+	 * 鍒犻櫎鍥剧墖-涓嶆洿鏂版暟鎹簱
+	 * @param record
+	 * @throws Exception
+	 */
+	public void removePicture(String picture) throws Exception {
+		if (picture != null && picture.trim().length() > 0) {
+			COSManager.getInstance().deleteFile(picture);
+		}
+	}
+	
+	
+	
+	
 	
 	@Override
 	public void uploadPicture(GoodsClass record, MultipartFile file) throws Exception {
@@ -540,7 +362,7 @@
 		/*  鏇存柊鏁版嵁搴撲俊鎭�  */
 		if (!StringUtil.isNullOrEmpty(uploadFilePath)) {
 			record.setPicture(uploadFilePath);
-			updateGoodsClass(record);
+			goodsClassMapper.updateByPrimaryKey(record);
 		}
 		
 	}
@@ -562,7 +384,7 @@
 		if (deleteFile) {
 			record.setPicture(null);
 			// 鏇存柊鏁版嵁搴�
-			 updateGoodsClass(record);
+			goodsClassMapper.updateByPrimaryKey(record);
 		} 
 	}
 
@@ -630,5 +452,37 @@
 
 		return list;
 	}
+
+	
+	@Override
+	@Transactional
+	public void updateOrder(Long id, Integer moveType) throws GoodsClassException {
+		
+		if (id == null || moveType == null || (!moveType.equals(1) && !moveType.equals(-1))) {
+			throw new GoodsClassException(1, "璇蜂紶閫掓纭弬鏁�");
+		}
+		
+		GoodsClass resultObj = goodsClassMapper.selectByPrimaryKey(id);
+		if (resultObj == null) {
+			throw new GoodsClassException(1, "姝ゅ唴瀹瑰凡涓嶅瓨鍦�");
+		}
+		
+		Integer order = resultObj.getOrderby();
+		// 鑾峰彇浜ゆ崲瀵硅薄
+		GoodsClass exchangeObject = goodsClassMapper.getByAdjoinOrder( order, moveType);
+		if (exchangeObject == null) {
+			if (moveType == 1) {
+				throw new GoodsClassException(1, "鍦ㄧ浉鍚屼娇鐢ㄥ湴鏂逛腑浼樺厛绾у凡缁忔渶浣庝簡");
+			} else {
+				throw new GoodsClassException(1, "鍦ㄧ浉鍚屼娇鐢ㄥ湴鏂逛腑浼樺厛绾у凡缁忔渶楂樹簡");
+			}
+		}
+		
+		resultObj.setOrderby(exchangeObject.getOrderby());
+		exchangeObject.setOrderby(order);
+		
+		goodsClassMapper.updateByPrimaryKey(resultObj);
+		goodsClassMapper.updateByPrimaryKey(exchangeObject);
+	}
 	
 }

--
Gitblit v1.8.0