Browse Source

修正出现异常d代码

master
xyiege 3 years ago
parent
commit
3534a39055
  1. 24
      src/main/java/cn/chjyj/szwh/service/impl/GoodsServiceImpl.java
  2. 2
      src/main/resources/mapper/szwh/GoodsMapper.xml
  3. 33
      src/test/java/cn/chjyj/szwh/service/impl/GoodsServiceImplTest.java

24
src/main/java/cn/chjyj/szwh/service/impl/GoodsServiceImpl.java

@ -46,11 +46,6 @@ public class GoodsServiceImpl implements GoodsService {
// 节假日mapper // 节假日mapper
@Autowired @Autowired
private FestivalsMapper festivalsMapper; private FestivalsMapper festivalsMapper;
/**
* springboot 自带事务
*/
@Autowired
private PlatformTransactionManager platformTransactionManager;
@Override @Override
public List<Goods> getGoodsList(int page) { public List<Goods> getGoodsList(int page) {
@ -457,13 +452,15 @@ public class GoodsServiceImpl implements GoodsService {
* @param type * @param type
* @return * @return
*/ */
@Override @Override
public int ranksort(String goodsIsli, int type) { public int ranksort(String goodsIsli, int type) {
//去除排序列表 //去除排序列表
String where="is_deleted=0 and is_recommend=1"; //String where="is_deleted=0 and is_recommend=1";
List<Goods> tmpRanklist = goodsMapper.getGoodsByCondition(where, 8, "recommend_sort", "DESC"); //List<Goods> tmpRanklist = goodsMapper.getGoodsByCondition(where, 8, "recommend_sort", "DESC");
List<Goods> tmpRanklist = queryRankList();
int ret = 0; int ret = 0;
for(int i=0;i<tmpRanklist.size()-1;i++){ for(int i=0;i<tmpRanklist.size();i++){
if(goodsIsli.equals(tmpRanklist.get(i).getGoodsIslicode()) ){ if(goodsIsli.equals(tmpRanklist.get(i).getGoodsIslicode()) ){
// 当前项目sort // 当前项目sort
int curSort = tmpRanklist.get(i).getRecommendSort(); int curSort = tmpRanklist.get(i).getRecommendSort();
@ -475,6 +472,7 @@ public class GoodsServiceImpl implements GoodsService {
//前序sort //前序sort
int frontSort = tmpRanklist.get(i-1).getRecommendSort(); int frontSort = tmpRanklist.get(i-1).getRecommendSort();
int afterSort= (frontSort==curSort)?curSort+1:frontSort; int afterSort= (frontSort==curSort)?curSort+1:frontSort;
log.info("更新后的sort:"+afterSort);
// 前序变更recommend sort // 前序变更recommend sort
goodsMapper.updateRecommend(tmpRanklist.get(i-1).getGoodsIslicode(),curSort); goodsMapper.updateRecommend(tmpRanklist.get(i-1).getGoodsIslicode(),curSort);
ret = goodsMapper.updateRecommend(tmpRanklist.get(i).getGoodsIslicode(),afterSort); ret = goodsMapper.updateRecommend(tmpRanklist.get(i).getGoodsIslicode(),afterSort);
@ -511,6 +509,16 @@ public class GoodsServiceImpl implements GoodsService {
return opGoodsInfo(jsonObject); return opGoodsInfo(jsonObject);
} }
/**
* query rank list
* @return
*/
private List<Goods> queryRankList(){
String where="is_deleted=0 and is_recommend=1";
List<Goods> tmpRanklist = goodsMapper.getGoodsByCondition(where, 8, "recommend_sort", "DESC");
return tmpRanklist;
}
/** /**
* 操作商品信息 * 操作商品信息
* *

2
src/main/resources/mapper/szwh/GoodsMapper.xml

@ -257,7 +257,7 @@
<update id="updateRecommend"> <update id="updateRecommend">
update update
<include refid="tbName"/> <include refid="tbName"/>
set is_recommend=#{vale} set recommend_sort=#{vale}
where goods_islicode=#{goodsisli} where goods_islicode=#{goodsisli}
</update> </update>

33
src/test/java/cn/chjyj/szwh/service/impl/GoodsServiceImplTest.java

@ -78,37 +78,42 @@ public class GoodsServiceImplTest {
/** /**
* 测试排序操作 * 测试排序操作
*/ */
@Rollback(true) @Rollback(value = false)
@Test @Test
public void ranksort() { public void ranksort() {
//商品编号 //商品编号
String goods_isliCode="010007-00000000187499999999-1"; String goods_isliCode="010007-00000000278199999999-1";
// 1:add 2: reduce // 1:add 2: reduce
int sortType=1; int type=1;
String where="is_deleted=0 and is_recommend=1"; String where="is_deleted=0 and is_recommend=1";
List<Goods> tmpRanklist = goodsMapper.getGoodsByCondition(where,8, "recommend_sort", "DESC"); List<Goods> tmpRanklist = goodsMapper.getGoodsByCondition(where,8, "recommend_sort", "DESC");
//tmpRanklist.get(0); //tmpRanklist.get(0);
for(int i=0;i<tmpRanklist.size()-1;i++){ int ret = 0;
for(int i=0;i<tmpRanklist.size();i++){
if(goods_isliCode.equals(tmpRanklist.get(i).getGoodsIslicode()) ){ if(goods_isliCode.equals(tmpRanklist.get(i).getGoodsIslicode()) ){
// for add // 当前项目sort
if(sortType==1) { int curSort = tmpRanklist.get(i).getRecommendSort();
// 上移
if(type==1) {
if(i==0){ if(i==0){
break; break;
}else { }else {
goodsMapper.updateRecommend(tmpRanklist.get(i-1).getGoodsIslicode(), //前序sort
tmpRanklist.get(i).getRecommendSort()); int frontSort = tmpRanklist.get(i-1).getRecommendSort();
goodsMapper.updateRecommend(tmpRanklist.get(i).getGoodsIslicode(), int afterSort= (frontSort==curSort)?curSort+1:frontSort;
tmpRanklist.get(i-1).getRecommendSort()); // 前序变更recommend sort
ret = goodsMapper.updateRecommend(goods_isliCode,afterSort);
} }
}else{ }else{
if(i==tmpRanklist.size()-1){ if(i==tmpRanklist.size()-1){
break; break;
}else{ }else{
goodsMapper.updateRecommend(tmpRanklist.get(i+1).getGoodsIslicode(), //前序sort
tmpRanklist.get(i).getRecommendSort()); int frontSort = tmpRanklist.get(i+1).getRecommendSort();
goodsMapper.updateRecommend(tmpRanklist.get(i).getGoodsIslicode(), int afterSort= (frontSort==curSort)?curSort-1:frontSort;
tmpRanklist.get(i+1).getRecommendSort()); // 前序变更recommend sort
ret = goodsMapper.updateRecommend(goods_isliCode, afterSort);
} }
} }
} }

Loading…
Cancel
Save