Browse Source

修正推荐接口显示异常的bug

master
xyiege 3 years ago
parent
commit
9c2f701450
  1. 15
      src/main/java/cn/chjyj/szwh/controller/api/OrderController.java
  2. 27
      src/main/java/cn/chjyj/szwh/service/impl/GoodsServiceImpl.java
  3. 5
      src/main/java/cn/chjyj/szwh/service/impl/OrderServiceImpl.java
  4. 38
      src/main/java/cn/chjyj/szwh/vo/GoodsListVo.java
  5. 3
      src/main/resources/mapper/szwh/GoodsMapper.xml
  6. 2
      src/test/java/cn/chjyj/szwh/mapper/GoodsMapperTest.java

15
src/main/java/cn/chjyj/szwh/controller/api/OrderController.java

@ -4,10 +4,10 @@ import cn.chjyj.szwh.bean.*;
import cn.chjyj.szwh.controller.BaseController;
import cn.chjyj.szwh.exception.ChException;
import cn.chjyj.szwh.service.*;
import cn.chjyj.szwh.utils.RedisUtil;
import cn.chjyj.szwh.utils.RedisUtils;
import cn.chjyj.szwh.utils.SzOrderUtils;
import cn.chjyj.szwh.utils.SzwhApiUtils;
import cn.chjyj.szwh.vo.OrderDetailVo;
import com.alibaba.fastjson2.JSONObject;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.logging.Log;
@ -20,7 +20,6 @@ import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
@ -151,22 +150,20 @@ public class OrderController extends BaseController {
String userIsli= request.getParameter("user_isli");
// get http_sign
String httpSign = request.getHeader("HTTP_SIGN");
//
String redisKey = "createOrder_"+httpSign;
String redisCon = RedisUtils.get(redisKey);
//redis chk order flag
String redisKey = "createOrder_"+userIsli;
Object redisCon = RedisUtil.get(redisKey);
Map<String,Object> retmap = orderService.createOrder(userIsli,goodsIsli,iuyears);
if(StringUtils.isNotBlank(redisCon)){
if(redisCon!=null){
jsonObject.put("code","error");
jsonObject.put("msg","请勿重复提交");
}else{
// 10s redis
RedisUtils.set(redisKey,1,10);
RedisUtil.set(redisKey,1,10);
}
long end =System.currentTimeMillis();
long howuse = (end-start)/1000l;
// jsonObject.put("code","error");
// jsonObject.put("msg","参数错误错误");
jsonObject.put("useTime",howuse);
return jsonObject;
}

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

@ -216,7 +216,7 @@ public class GoodsServiceImpl implements GoodsService {
glmap.put("goods_type", gl.getGoods_type());
glmap.put("goods_status", gl.getGoods_status());
glmap.put("goods_detail_id", gl.getGoods_detail_id());
glmap.put("is_recommend", gl.getIsRecommend());
glmap.put("is_recommend", gl.getIs_recommend());
glmap.put("entrust_status", gl.getEntrust_status());
glmap.put("charges_type", gl.getCharges_type());
glmap.put("price", gl.getPrice());
@ -536,29 +536,36 @@ public class GoodsServiceImpl implements GoodsService {
@Override
public List getTypeGoods(String type, String createtime, String goods_type) {
// 商品列表
List<Goods> glist = new ArrayList<>();
String where = "";//查询条件
Map qmap = new HashMap();//查询条件
qmap.put("g.is_deleted",0);
int limit=8;
String orderKey="g.id"; //排序字段
if ("1".equals(type)) {
glist = goodsMapper.getGoodsByCondition("1=1", 10, "click_count", "DESC");
limit=10;
orderKey="click_count";
}
if ("2".equals(type)) {
glist = goodsMapper.getGoodsByCondition("1=1", 10, "sale_count", "DESC");
limit=10;
orderKey="click_count";
}
if ("3".equals(type)) {
where = "is_recommend=1 and goods_status=1";
glist = goodsMapper.getGoodsByCondition(where, 8, "recommend_sort", "DESC");
orderKey="recommend_sort";
qmap.put("g.is_recommend",1);
qmap.put("g.goods_status",1);
}
List<GoodsListVo> glist = goodsMapper.getGoodsVoList(qmap,orderKey,"DESC",limit,0);
//填充信息
List retlist = new ArrayList();
for (Goods g : glist) {
for (GoodsListVo g : glist) {
Map tgmap =new HashMap();
//List tmpglist =new ArrayList();
JSONObject tmpjson = (JSONObject) JSON.toJSON(g);
tgmap= JSONObject.parseObject(tmpjson.toJSONString());
//
GoodsDetail gd = goodsDetailMapper.getGoodsDetailBygid(g.getGoodsDetailId());
//GoodsDetail gd = goodsDetailMapper.getGoodsDetailBygid(g.getGoodsDetailId());
//add
tgmap.put("entrust_month",gd.getContractualPeriod());
tgmap.put("entrust_month",g.getContractual_period());
retlist.add(tgmap);
}

5
src/main/java/cn/chjyj/szwh/service/impl/OrderServiceImpl.java

@ -5,6 +5,7 @@ import cn.chjyj.szwh.constant.ChConstant;
import cn.chjyj.szwh.exception.ChException;
import cn.chjyj.szwh.mapper.*;
import cn.chjyj.szwh.service.OrderService;
import cn.chjyj.szwh.utils.RedisUtil;
import cn.chjyj.szwh.utils.RedisUtils;
import cn.chjyj.szwh.utils.SzFileUtils;
import cn.chjyj.szwh.vo.OrderDetailVo;
@ -625,8 +626,8 @@ public class OrderServiceImpl implements OrderService {
retmap.put("msg","用户不存在");
}
String ureidsKey="car_"+userIsli;
String shopCar = RedisUtils.get(ureidsKey);
//查询购物车
Object shopCar = RedisUtil.get(ureidsKey);
return null;
}

38
src/main/java/cn/chjyj/szwh/vo/GoodsListVo.java

@ -16,7 +16,7 @@ public class GoodsListVo {
private Integer goods_type;//商品类型;1:文化资源数据;2:文化数字内容 |goods_detail
private Integer goods_status;//商品状态;1:上架中;2:下架中;3:已转让;4:已失效;5:冻结中;6:下架中 |goods
private Integer goods_detail_id; //商品明细ID |goods
private Integer isRecommend; //是否推荐;0:否;1:是 \goods
private Integer is_recommend; //是否推荐;0:否;1:是 \goods
private Integer entrust_status; //商品委托类型;1:转让;2:许可 \goods_detail
//处理其他操作
private String key;
@ -29,6 +29,10 @@ public class GoodsListVo {
private Integer stock;
private Integer sale_count;
private Integer click_count;
//add extral
private Integer user_id; //via:goods
private Integer recommend_sort;
private Integer contractual_period;//委托周期
public Integer getId() {
return id;
@ -102,12 +106,12 @@ public class GoodsListVo {
this.goods_detail_id = goods_detail_id;
}
public Integer getIsRecommend() {
return isRecommend;
public Integer getIs_recommend() {
return is_recommend;
}
public void setIsRecommend(Integer isRecommend) {
this.isRecommend = isRecommend;
public void setIs_recommend(Integer is_recommend) {
this.is_recommend = is_recommend;
}
public Integer getEntrust_status() {
@ -197,4 +201,28 @@ public class GoodsListVo {
public void setClick_count(Integer click_count) {
this.click_count = click_count;
}
public Integer getUser_id() {
return user_id;
}
public void setUser_id(Integer user_id) {
this.user_id = user_id;
}
public Integer getRecommend_sort() {
return recommend_sort;
}
public void setRecommend_sort(Integer recommend_sort) {
this.recommend_sort = recommend_sort;
}
public Integer getContractual_period() {
return contractual_period;
}
public void setContractual_period(Integer contractual_period) {
this.contractual_period = contractual_period;
}
}

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

@ -66,7 +66,8 @@
<select id="getGoodsVoList" parameterType="java.util.Map" resultType="cn.chjyj.szwh.vo.GoodsListVo">
SELECT g.*,gd.*
FROM goods as g
INNER JOIN goods_detail as gd ON g.goods_detail_id=gd.id
INNER JOIN goods_detail as gd
ON g.goods_detail_id=gd.id
<where>
<if test="map!=null">
<foreach collection="map" item="v" index="k" separator="and">

2
src/test/java/cn/chjyj/szwh/mapper/GoodsMapperTest.java

@ -95,7 +95,7 @@ public class GoodsMapperTest {
String odval="DESC";
List<GoodsListVo> goodsListVoList = goodsMapper.getGoodsVoList(map,odkey,odval,100,0);
for (GoodsListVo gv:goodsListVoList){
System.out.println(gv.getGoods_name()+" | "+gv.getIsRecommend()+" | "+gv.getId());
System.out.println(gv.getGoods_name()+" | "+gv.getIs_recommend()+" | "+gv.getId());
}
}

Loading…
Cancel
Save