Browse Source

添加到购物车

master
xyiege 3 years ago
parent
commit
38d9920af6
  1. 30
      src/main/java/cn/chjyj/szwh/controller/api/GoodsController.java
  2. 9
      src/main/java/cn/chjyj/szwh/service/GoodsService.java
  3. 75
      src/main/java/cn/chjyj/szwh/service/impl/GoodsServiceImpl.java

30
src/main/java/cn/chjyj/szwh/controller/api/GoodsController.java

@ -34,22 +34,24 @@ public class GoodsController extends BaseController {
/**
* 添加到购物车
* only support POST method
* @param userIsli
* @param goodsIsli
* @param useYears
* @return
*/
@RequestMapping(value = "/addShoppingCar",method = RequestMethod.POST)
public JSONObject addShoppingCar(@RequestParam("user_isli") String userIsli,
@RequestParam("goods_isli") String goodsIsli,
@RequestParam("use_years") String useYears){
// $goodsService = new GoodsService();
// $this->apilog->info("添加购物车", Request()->param());
// $goodsService->addShoppingCar($user_isli, $goods_isli, $use_years);
jsonObject.put("msg","成功");
@RequestMapping(value = "/addShoppingCar")
public JSONObject addShoppingCar(HttpServletRequest request){
long start=System.currentTimeMillis();
String userIsli = request.getParameter("user_isli");
String goodsIsli = request.getParameter("goods_isli");
String userYears= request.getParameter("user_years");
Integer uyears = StringUtils.isEmpty(userYears)?1:Integer.valueOf(userYears);
// do add
Map<String,Object> retmap =goodsService.addShopCar(userIsli,goodsIsli,uyears);
long end = System.currentTimeMillis();
long howUse=(end-start)/1000l;
// get msg
jsonObject.put("code",retmap.get("code"));
jsonObject.put("msg",retmap.get("msg"));
jsonObject.put("data",retmap);
jsonObject.put("useTime",howUse);
return jsonObject;
}

9
src/main/java/cn/chjyj/szwh/service/GoodsService.java

@ -112,4 +112,13 @@ public interface GoodsService {
* @return
*/
int changeGoodsStatus(int status,int id);
/**
* 添加购物车
* @param userIsli
* @param goodsIsli
* @param userYears
* @return
*/
Map<String,Object> addShopCar(String userIsli,String goodsIsli,Integer userYears);
}

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

@ -1,9 +1,6 @@
package cn.chjyj.szwh.service.impl;
import cn.chjyj.szwh.bean.Goods;
import cn.chjyj.szwh.bean.GoodsDetail;
import cn.chjyj.szwh.bean.GoodsSource;
import cn.chjyj.szwh.bean.OperationLog;
import cn.chjyj.szwh.bean.*;
import cn.chjyj.szwh.constant.ChConstant;
import cn.chjyj.szwh.exception.ChException;
import cn.chjyj.szwh.mapper.*;
@ -11,6 +8,7 @@ import cn.chjyj.szwh.service.GoodsService;
import cn.chjyj.szwh.utils.*;
import cn.chjyj.szwh.vo.GoodsDetailVo;
import cn.chjyj.szwh.vo.GoodsListVo;
import cn.chjyj.szwh.vo.OrderDetailVo;
import com.alibaba.fastjson2.JSONArray;
import com.alibaba.fastjson2.JSONObject;
import org.apache.commons.lang3.StringUtils;
@ -41,6 +39,10 @@ public class GoodsServiceImpl implements GoodsService {
// 节假日mapper
@Autowired
private FestivalsMapper festivalsMapper;
@Autowired
private UserMapper userMapper;
@Autowired
private OrderMapper orderMapper;
@Override
public List<Goods> getGoodsList(int page) {
@ -611,6 +613,71 @@ public class GoodsServiceImpl implements GoodsService {
return goodsMapper.updateGoods(gmap,gid);
}
@Override
public Map<String, Object> addShopCar(String userIsli, String goodsIsli, Integer userYears) {
Map<String,Object> retmap =new HashMap<>();
User user = userMapper.getUserByIsli(userIsli);
// get current goods
Goods goods = goodsMapper.getGoodsFuelByIsLi(goodsIsli);
if(goods==null){
retmap.put("code",400);
retmap.put("msg","没有该标的");
}
if(goods.getGoodsStatus()!=1){
retmap.put("code",400);
retmap.put("msg","该标的现不在上架中");
}
if(goods.getContractStatus()!=1){
retmap.put("code",400);
retmap.put("msg","标的未申请合约关联,不可购买");
}
if(goods.getUserIslicode() == userIsli){
retmap.put("code",400);
retmap.put("msg","您是标的的授权方,不可添加");
}
//
Map ordmap = new HashMap();
ordmap.put("ostatus_not",5);
OrderDetailVo orderDetailVo= orderMapper.getOrderDetailVOByMap(ordmap);
if(orderDetailVo!=null){
retmap.put("code",400);
retmap.put("msg","该标的已有订单,添加购物车失败");
}
// goods detail
GoodsDetail goodsDetail = goodsDetailMapper.getGoodsDetailBygid(goods.getGoodsDetailId());
if(goodsDetail.getStock()<=0 && goodsDetail.getGoodsEntrust() ==1){
retmap.put("code",400);
retmap.put("msg","该标的已有订单,添加购物车失败");
}
Date now=new Date();
if(goodsDetail.getContractualPeriod()==3){
if(goods.getContractualStartTime().compareTo(now)>0
|| goods.getContractualtimeEndTime().compareTo(now)<0
){
retmap.put("code",400);
retmap.put("msg","标的委托已结束");
}
}
//shop car infomation
String shopRedisKey="car_"+userIsli;
JSONObject carjson =new JSONObject();
//object
Object shopCar = RedisUtil.get(shopRedisKey);
if(shopCar!=null){
carjson =JSONObject.parseObject(shopCar.toString());
String tmpGoodsIsli= carjson.getString("goods_islicode");
if(goodsIsli.equals(tmpGoodsIsli)){
retmap.put("code",400);
retmap.put("msg","该标的已添加到购物车");
}
}else{
carjson.put("goods_islicode",goodsIsli);
carjson.put("use_years",userYears);
RedisUtil.set(shopRedisKey,carjson);
}
return null;
}
/**
* query rank list
*

Loading…
Cancel
Save