|
|
|
@ -135,50 +135,39 @@ public class OrderController extends BaseController { |
|
|
|
*/ |
|
|
|
@RequestMapping("/createOrder") |
|
|
|
public JSONObject createOrder(HttpServletRequest request) { |
|
|
|
//goods_isli=010007-00000000347399999999-2
|
|
|
|
// &is_car=2&user_isli=899998-000000001640-3
|
|
|
|
// &use_years=99&random=0.23348573938145045
|
|
|
|
// todo 对参数进行非空判断
|
|
|
|
long start = System.currentTimeMillis(); |
|
|
|
// 商品编号,逗号分隔
|
|
|
|
String goodsIsli=request.getParameter("goods_isli"); |
|
|
|
// 是否在购物车
|
|
|
|
String isCar = request.getParameter("is_car"); |
|
|
|
//用户购买年限,逗号分隔
|
|
|
|
// //用户购买年限,逗号分隔
|
|
|
|
String userYears = request.getParameter("user_years"); |
|
|
|
// 用户编码
|
|
|
|
Integer iuyears=StringUtils.isNotBlank(userYears)?Integer.valueOf(userYears):1; |
|
|
|
// // 用户编码
|
|
|
|
String userIsli= request.getParameter("user_isli"); |
|
|
|
// get http_sign
|
|
|
|
String httpSign = request.getHeader("HTTP_SIGN"); |
|
|
|
//
|
|
|
|
String redisKey = "createOrder_"+httpSign; |
|
|
|
String redisCon = RedisUtils.get(redisKey); |
|
|
|
|
|
|
|
log.info("创建订单接口"+request.toString()); |
|
|
|
String msg=""; |
|
|
|
int code=400; |
|
|
|
String sign = request.getHeader("sign"); |
|
|
|
//redis中是否存在
|
|
|
|
String r_key="createOrder_"+sign; |
|
|
|
if(StringUtils.isNotEmpty(RedisUtils.get(r_key))){ |
|
|
|
throw new ChException("请勿重复提交",400); |
|
|
|
} |
|
|
|
// 存入redis
|
|
|
|
RedisUtils.set(r_key,1,10); |
|
|
|
//用户购物车
|
|
|
|
String shopCar = RedisUtils.get("car_"+userIsli); |
|
|
|
//分割多个goodsisli
|
|
|
|
String goodArr[]=goodsIsli.split(","); |
|
|
|
// 购买年限数组
|
|
|
|
String uYears[] = userYears.split(","); |
|
|
|
//用户信息
|
|
|
|
User buser = userService.getUserByIsli(userIsli); |
|
|
|
|
|
|
|
//只有一条记录的时候
|
|
|
|
if(goodArr.length==1){ |
|
|
|
String batchcode = buyFindGoods(userIsli,goodsIsli,Integer.valueOf(userYears)); |
|
|
|
if(StringUtils.isNotBlank(shopCar)){ |
|
|
|
|
|
|
|
} |
|
|
|
}else{ //多个商品编号
|
|
|
|
|
|
|
|
} |
|
|
|
//未能删除成功
|
|
|
|
if(!RedisUtils.delete(r_key)){ |
|
|
|
throw new ChException("请勿重复提交",400); |
|
|
|
Map<String,Object> retmap = orderService.createOrder(userIsli,goodsIsli,iuyears); |
|
|
|
if(StringUtils.isNotBlank(redisCon)){ |
|
|
|
jsonObject.put("code","error"); |
|
|
|
jsonObject.put("msg","请勿重复提交"); |
|
|
|
}else{ |
|
|
|
// 10s redis
|
|
|
|
RedisUtils.set(redisKey,1,10); |
|
|
|
} |
|
|
|
jsonObject.put("code",code); |
|
|
|
jsonObject.put("msg",msg); |
|
|
|
long end =System.currentTimeMillis(); |
|
|
|
long howuse = (end-start)/1000l; |
|
|
|
// jsonObject.put("code","error");
|
|
|
|
// jsonObject.put("msg","参数错误错误");
|
|
|
|
jsonObject.put("useTime",howuse); |
|
|
|
return jsonObject; |
|
|
|
} |
|
|
|
|
|
|
|
|