Commit daa14e7d authored by 张永's avatar 张永

1

parent d067b57b
package com.egolm.shop.api;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import com.alibaba.fastjson.JSONObject;
import com.egolm.common.bean.Rjx;
import com.egolm.shop.api.service.CartService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
@Api(tags={"购物车相关接口"})
@RestController
@RequestMapping("cart")
public class CartController {
@Autowired
private CartService cartService;
@ApiOperation("购物车商品种类数量")
@ApiImplicitParams({
@ApiImplicitParam(paramType = "query", name = "orgNo", dataType = "String", required = true),
@ApiImplicitParam(paramType = "query", name="shopNo", dataType = "String", required = true, value = "店铺编号", defaultValue = ""),
@ApiImplicitParam(paramType = "query", name = "terminal", dataType = "String", required = false, value = "终端标识", defaultValue = "wechat"),
@ApiImplicitParam(paramType = "query", name = "langID", dataType = "String", required = false, value = "语言", defaultValue = "936"),
@ApiImplicitParam(paramType = "query", name = "sign", dataType = "String", required = true, value = "签名", defaultValue = ""),
@ApiImplicitParam(paramType = "query", name = "timestamp", dataType = "String", required = true, value = "时间戳", defaultValue = "")
})
@RequestMapping(value = "/getCartCount",method=RequestMethod.GET)
public String cartQuery(String orgNo, String shopNo) {
Map<String, Object> map = cartService.count(orgNo, shopNo);
return Rjx.jsonOk().set("count", map.get("totalCount")).set("qty", map.get("totalSaleQty")).toJson();
}
@ApiOperation("购物车信息")
@ApiImplicitParams({
@ApiImplicitParam(paramType = "query", name = "orgNo", dataType = "String", required = true),
@ApiImplicitParam(paramType = "query", name="shopNO", dataType = "String", required = true, value = "店铺编号", defaultValue = ""),
@ApiImplicitParam(paramType = "query", name = "terminal", dataType = "String", required = false, value = "终端标识", defaultValue = "wechat"),
@ApiImplicitParam(paramType = "query", name = "langID", dataType = "String", required = false, value = "语言", defaultValue = "936"),
@ApiImplicitParam(paramType = "query", name = "sign", dataType = "String", required = true, value = "签名", defaultValue = ""),
@ApiImplicitParam(paramType = "query", name = "timestamp", dataType = "String", required = true, value = "时间戳", defaultValue = "")
})
@RequestMapping(value = "/cartQuery",method=RequestMethod.GET)
public String cartQuery(String orgNo, HttpServletRequest request, HttpServletResponse response) {
Map<String,Object> params = new HashMap<String,Object>();
params.put("orgNo", orgNo);
params.put("shopNO",request.getParameter("shopNO"));
params.put("terminal",request.getParameter("terminal"));
params.put("langID",request.getParameter("langID"));
return cartService.query(params);
}
@ApiOperation("加入购物车(JSON格式)")
@ApiImplicitParams({
@ApiImplicitParam(paramType = "query", name = "orgNo", dataType = "String", required = true),
@ApiImplicitParam(paramType = "query", name = "data", dataType = "String", required = false, value = "JSON格式", defaultValue = "{\"shopNO\": \"00029975\",\"cartList\": [{\"goodsID\": \"30771\",\"goodsTypeID\": 0,\"saleQty\": \"24\", \"setPrice\": \"10.5\",\"agentContractNO\": \"600327002\",\"promoGroupNO\":\"\",\"promoPaperNO\":\"00001810100007\"}]}"),
@ApiImplicitParam(paramType = "query", name = "terminal", dataType = "String", required = true, value = "终端标识", defaultValue = "wechat"),
@ApiImplicitParam(paramType = "query", name = "langID", dataType = "String", required = true, value = "语言", defaultValue = "936"),
@ApiImplicitParam(paramType = "query", name = "sign", dataType = "String", required = true, value = "签名", defaultValue = ""),
@ApiImplicitParam(paramType = "query", name = "timestamp", dataType = "String", required = true, value = "时间戳", defaultValue = "")
})
@RequestMapping(value = "/appendCart",method=RequestMethod.POST,produces = "application/json")
public String appendCart(String orgNo, HttpServletRequest request, HttpServletResponse response) {
String reqJson =request.getParameter("data");
JSONObject jsonObj = JSONObject.parseObject(reqJson);
jsonObj.put("orgNo", orgNo);
System.out.println("appendCart-------"+reqJson);
String terminal = request.getParameter("terminal");
return cartService.append(jsonObj,terminal);
}
@ApiOperation("删除购物车(JSON格式)")
@ApiImplicitParams({
@ApiImplicitParam(paramType = "query", name = "orgNo", dataType = "String", required = true),
@ApiImplicitParam(paramType = "query", name = "data", dataType = "String", required = false, value = "JSON格式", defaultValue = "{\"shopNO\": \"00029975\",\"idxs\": [1,2,3]}"),
@ApiImplicitParam(paramType = "query", name = "terminal", dataType = "String", required = true, value = "终端标识", defaultValue = "wechat"),
@ApiImplicitParam(paramType = "query", name = "langID", dataType = "String", required = true, value = "语言", defaultValue = "936"),
@ApiImplicitParam(paramType = "query", name = "sign", dataType = "String", required = true, value = "签名", defaultValue = ""),
@ApiImplicitParam(paramType = "query", name = "timestamp", dataType = "String", required = true, value = "时间戳", defaultValue = "")
})
@RequestMapping(value = "/remove",method=RequestMethod.POST)
public String remove(String orgNo, HttpServletRequest request, HttpServletResponse response) {
String reqJson = request.getParameter("data");
JSONObject jsonObj = JSONObject.parseObject(reqJson);
jsonObj.put("orgNo", orgNo);
System.out.println("remove-------"+reqJson);
String terminal = request.getParameter("terminal");
return cartService.remove(jsonObj,terminal);
}
@ApiOperation("修改数量(JSON格式)")
@ApiImplicitParams({
@ApiImplicitParam(paramType = "query", name = "orgNo", dataType = "String", required = true),
@ApiImplicitParam(paramType = "query", name = "data", dataType = "String", required = false, value = "JSON格式", defaultValue = "{\"shopNO\": \"00029975\", \"idx\": 2,\"saleQty\": \"23\"}"),
@ApiImplicitParam(paramType = "query", name = "sign", dataType = "String", required = true, value = "签名", defaultValue = ""),
@ApiImplicitParam(paramType = "query", name = "timestamp", dataType = "String", required = true, value = "时间戳", defaultValue = "")
})
@RequestMapping(value = "/updateQty",method=RequestMethod.POST)
public String updateQty(String orgNo, HttpServletRequest request, HttpServletResponse response) {
String reqJson = request.getParameter("data");
JSONObject jsonObj = JSONObject.parseObject(reqJson);
jsonObj.put("orgNo", orgNo);
System.out.println("updateQty-------"+reqJson);
String terminal = request.getParameter("terminal");
return cartService.updateQty(jsonObj,terminal);
}
@ApiOperation("修改价格(JSON格式)")
@ApiImplicitParams({
@ApiImplicitParam(paramType = "query", name = "orgNo", dataType = "String", required = true),
@ApiImplicitParam(paramType = "query", name = "data", dataType = "String", required = false, value = "JSON格式", defaultValue = "{\"shopNO\": \"00029975\", \"idx\": 2,\"setPrice\": \"2.3\"}"),
@ApiImplicitParam(paramType = "query", name = "sign", dataType = "String", required = true, value = "签名", defaultValue = ""),
@ApiImplicitParam(paramType = "query", name = "timestamp", dataType = "String", required = true, value = "时间戳", defaultValue = "")
})
@RequestMapping(value = "/setPrice",method=RequestMethod.POST)
public String setPrice(String orgNo, HttpServletRequest request, HttpServletResponse response) {
String reqJson = request.getParameter("data");
JSONObject jsonObj = JSONObject.parseObject(reqJson);
jsonObj.put("orgNo", orgNo);
System.out.println("setPrice-------"+reqJson);
String terminal = request.getParameter("terminal");
return cartService.setPrice(jsonObj,terminal);
}
@ApiOperation("清空购物车")
@ApiImplicitParams({
@ApiImplicitParam(paramType = "query", name = "orgNo", dataType = "String", required = true),
@ApiImplicitParam(paramType = "query", name="shopNo", dataType = "String", required = true, value = "店铺编号", defaultValue = ""),
@ApiImplicitParam(paramType = "query", name = "terminal", dataType = "String", required = false, value = "终端标识", defaultValue = "wechat"),
@ApiImplicitParam(paramType = "query", name = "langID", dataType = "String", required = false, value = "语言", defaultValue = "936"),
@ApiImplicitParam(paramType = "query", name = "sign", dataType = "String", required = true, value = "签名", defaultValue = ""),
@ApiImplicitParam(paramType = "query", name = "timestamp", dataType = "String", required = true, value = "时间戳", defaultValue = "")
})
@RequestMapping(value = "/clear",method=RequestMethod.GET)
public String clear(String orgNo, String shopNo) {
cartService.clear(orgNo, shopNo);
return Rjx.jsonOk().toJson();
}
}
package com.egolm.shop.api;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import com.alibaba.fastjson.JSONObject;
import com.egolm.common.StringUtil;
import com.egolm.common.bean.Rjx;
import com.egolm.shop.api.service.CartService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
@Api(tags={"购物车相关接口"})
@RestController
@RequestMapping("cart")
public class CartController {
@Autowired
private CartService cartService;
@ApiOperation("购物车商品种类数量")
@ApiImplicitParams({
@ApiImplicitParam(paramType = "query", name = "orgNo", dataType = "String", required = true),
@ApiImplicitParam(paramType = "query", name="shopNo", dataType = "String", required = true, value = "店铺编号", defaultValue = ""),
@ApiImplicitParam(paramType = "query", name = "terminal", dataType = "String", required = false, value = "终端标识", defaultValue = "wechat"),
@ApiImplicitParam(paramType = "query", name = "langID", dataType = "String", required = false, value = "语言", defaultValue = "936"),
@ApiImplicitParam(paramType = "query", name = "sign", dataType = "String", required = true, value = "签名", defaultValue = ""),
@ApiImplicitParam(paramType = "query", name = "timestamp", dataType = "String", required = true, value = "时间戳", defaultValue = "")
})
@RequestMapping(value = "/getCartCount",method=RequestMethod.GET)
public String cartQuery(String orgNo, String shopNo) {
Map<String, Object> map = cartService.count(orgNo, shopNo);
return Rjx.jsonOk().set("count", map.get("totalCount")).set("qty", map.get("totalSaleQty")).toJson();
}
@ApiOperation("购物车信息")
@ApiImplicitParams({
@ApiImplicitParam(paramType = "query", name = "orgNo", dataType = "String", required = true),
@ApiImplicitParam(paramType = "query", name="shopNO", dataType = "String", required = true, value = "店铺编号", defaultValue = ""),
@ApiImplicitParam(paramType = "query", name="isCalcPromo", dataType = "String", required = true, value = "是否计算汇总 0为不计算,1为计算", defaultValue = ""),
@ApiImplicitParam(paramType = "query", name = "terminal", dataType = "String", required = false, value = "终端标识", defaultValue = "wechat"),
@ApiImplicitParam(paramType = "query", name = "langID", dataType = "String", required = false, value = "语言", defaultValue = "936"),
@ApiImplicitParam(paramType = "query", name = "sign", dataType = "String", required = true, value = "签名", defaultValue = ""),
@ApiImplicitParam(paramType = "query", name = "timestamp", dataType = "String", required = true, value = "时间戳", defaultValue = "")
})
@RequestMapping(value = "/cartQuery",method=RequestMethod.GET)
public String cartQuery(String orgNo, HttpServletRequest request, HttpServletResponse response) {
String isCaclPromo = request.getParameter("isCalcPromo");
if(StringUtil.isNotUndefinedAndNull(isCaclPromo) && StringUtil.isNotEmpty(isCaclPromo)) {
}else {
isCaclPromo = "1"; //
}
Map<String,Object> params = new HashMap<String,Object>();
params.put("orgNo", orgNo);
params.put("shopNO",request.getParameter("shopNO"));
params.put("terminal",request.getParameter("terminal"));
params.put("langID",request.getParameter("langID"));
params.put("isCalcPromo",isCaclPromo);
return cartService.query(params);
}
@ApiOperation("加入购物车(JSON格式)")
@ApiImplicitParams({
@ApiImplicitParam(paramType = "query", name = "orgNo", dataType = "String", required = true),
@ApiImplicitParam(paramType = "query", name = "data", dataType = "String", required = false, value = "JSON格式", defaultValue = "{\"shopNO\": \"00029975\",\"cartList\": [{\"goodsID\": \"30771\",\"goodsTypeID\": 0,\"saleQty\": \"24\", \"setPrice\": \"10.5\",\"agentContractNO\": \"600327002\",\"promoGroupNO\":\"\",\"promoPaperNO\":\"00001810100007\"}]}"),
@ApiImplicitParam(paramType = "query", name = "terminal", dataType = "String", required = true, value = "终端标识", defaultValue = "wechat"),
@ApiImplicitParam(paramType = "query", name = "langID", dataType = "String", required = true, value = "语言", defaultValue = "936"),
@ApiImplicitParam(paramType = "query", name = "sign", dataType = "String", required = true, value = "签名", defaultValue = ""),
@ApiImplicitParam(paramType = "query", name = "timestamp", dataType = "String", required = true, value = "时间戳", defaultValue = "")
})
@RequestMapping(value = "/appendCart",method=RequestMethod.POST,produces = "application/json")
public String appendCart(String orgNo, HttpServletRequest request, HttpServletResponse response) {
String reqJson =request.getParameter("data");
JSONObject jsonObj = JSONObject.parseObject(reqJson);
jsonObj.put("orgNo", orgNo);
System.out.println("appendCart-------"+reqJson);
String terminal = request.getParameter("terminal");
return cartService.append(jsonObj,terminal);
}
@ApiOperation("删除购物车(JSON格式)")
@ApiImplicitParams({
@ApiImplicitParam(paramType = "query", name = "orgNo", dataType = "String", required = true),
@ApiImplicitParam(paramType = "query", name = "data", dataType = "String", required = false, value = "JSON格式", defaultValue = "{\"shopNO\": \"00029975\",\"idxs\": [1,2,3]}"),
@ApiImplicitParam(paramType = "query", name = "terminal", dataType = "String", required = true, value = "终端标识", defaultValue = "wechat"),
@ApiImplicitParam(paramType = "query", name = "langID", dataType = "String", required = true, value = "语言", defaultValue = "936"),
@ApiImplicitParam(paramType = "query", name = "sign", dataType = "String", required = true, value = "签名", defaultValue = ""),
@ApiImplicitParam(paramType = "query", name = "timestamp", dataType = "String", required = true, value = "时间戳", defaultValue = "")
})
@RequestMapping(value = "/remove",method=RequestMethod.POST)
public String remove(String orgNo, HttpServletRequest request, HttpServletResponse response) {
String reqJson = request.getParameter("data");
JSONObject jsonObj = JSONObject.parseObject(reqJson);
jsonObj.put("orgNo", orgNo);
System.out.println("remove-------"+reqJson);
String terminal = request.getParameter("terminal");
return cartService.remove(jsonObj,terminal);
}
@ApiOperation("修改数量(JSON格式)")
@ApiImplicitParams({
@ApiImplicitParam(paramType = "query", name = "orgNo", dataType = "String", required = true),
@ApiImplicitParam(paramType = "query", name = "data", dataType = "String", required = false, value = "JSON格式", defaultValue = "{\"shopNO\": \"00029975\", \"idx\": 2,\"saleQty\": \"23\"}"),
@ApiImplicitParam(paramType = "query", name = "sign", dataType = "String", required = true, value = "签名", defaultValue = ""),
@ApiImplicitParam(paramType = "query", name = "timestamp", dataType = "String", required = true, value = "时间戳", defaultValue = "")
})
@RequestMapping(value = "/updateQty",method=RequestMethod.POST)
public String updateQty(String orgNo, HttpServletRequest request, HttpServletResponse response) {
String reqJson = request.getParameter("data");
JSONObject jsonObj = JSONObject.parseObject(reqJson);
jsonObj.put("orgNo", orgNo);
System.out.println("updateQty-------"+reqJson);
String terminal = request.getParameter("terminal");
return cartService.updateQty(jsonObj,terminal);
}
@ApiOperation("修改价格(JSON格式)")
@ApiImplicitParams({
@ApiImplicitParam(paramType = "query", name = "orgNo", dataType = "String", required = true),
@ApiImplicitParam(paramType = "query", name = "data", dataType = "String", required = false, value = "JSON格式", defaultValue = "{\"shopNO\": \"00029975\", \"idx\": 2,\"setPrice\": \"2.3\"}"),
@ApiImplicitParam(paramType = "query", name = "sign", dataType = "String", required = true, value = "签名", defaultValue = ""),
@ApiImplicitParam(paramType = "query", name = "timestamp", dataType = "String", required = true, value = "时间戳", defaultValue = "")
})
@RequestMapping(value = "/setPrice",method=RequestMethod.POST)
public String setPrice(String orgNo, HttpServletRequest request, HttpServletResponse response) {
String reqJson = request.getParameter("data");
JSONObject jsonObj = JSONObject.parseObject(reqJson);
jsonObj.put("orgNo", orgNo);
System.out.println("setPrice-------"+reqJson);
String terminal = request.getParameter("terminal");
return cartService.setPrice(jsonObj,terminal);
}
@ApiOperation("清空购物车")
@ApiImplicitParams({
@ApiImplicitParam(paramType = "query", name = "orgNo", dataType = "String", required = true),
@ApiImplicitParam(paramType = "query", name="shopNo", dataType = "String", required = true, value = "店铺编号", defaultValue = ""),
@ApiImplicitParam(paramType = "query", name = "terminal", dataType = "String", required = false, value = "终端标识", defaultValue = "wechat"),
@ApiImplicitParam(paramType = "query", name = "langID", dataType = "String", required = false, value = "语言", defaultValue = "936"),
@ApiImplicitParam(paramType = "query", name = "sign", dataType = "String", required = true, value = "签名", defaultValue = ""),
@ApiImplicitParam(paramType = "query", name = "timestamp", dataType = "String", required = true, value = "时间戳", defaultValue = "")
})
@RequestMapping(value = "/clear",method=RequestMethod.GET)
public String clear(String orgNo, String shopNo) {
cartService.clear(orgNo, shopNo);
return Rjx.jsonOk().toJson();
}
}
package com.egolm.shop.api.service;
import java.util.Map;
public interface CartQueryService {
public Map<String, Object> query(String orgNo, String shopNo, String terminal) ;
}
package com.egolm.shop.api.service;
import java.util.Map;
public interface CartQueryService {
public Map<String, Object> query(String orgNo, String shopNo, String terminal,String isCalcPromo) ;
}
......@@ -43,7 +43,7 @@ public class CartQueryServiceImpl implements CartQueryService {
@Autowired
private JdbcTemplate jdbcTemplate;
public Map<String, Object> query(String orgNo, String shopNo, String terminal) {
public Map<String, Object> query(String orgNo, String shopNo, String terminal,String isCalcPromo) {
Rjx rjx = Rjx.json().set("IsValid", true);
if (!StringUtil.isNotUndefinedAndNull(shopNo, terminal)) {
throw new ReflectException("Query the shopping cart parameter error:"
......@@ -71,7 +71,13 @@ public class CartQueryServiceImpl implements CartQueryService {
} catch (Exception e1) {
e1.printStackTrace();
}
try {
String sql1 = "exec up_B2BCartToCartTempItem '" + shopNo + "', '"+isCalcPromo+"' "; //是否计算促销
jdbcTemplate.executeUpdate(sql1);
} catch (Exception e1) {
e1.printStackTrace();
}
List<Map<String, Object>> datas = this.getGoodsList(orgNo, shopNo, terminal);
......
......@@ -216,7 +216,8 @@ public class CartServiceImpl implements CartService {
String orgNo = (String)params.get("orgNo");
String shopNO = params.get("shopNO")+"";
String terminal = params.get("terminal")+"";
Map<String, Object> queryMap = cartRedisService.query(orgNo, shopNO, terminal);
String isCalcPromo = params.get("isCalcPromo")+""; //"是否计算汇总 0为不计算,1为计算"
Map<String, Object> queryMap = cartRedisService.query(orgNo, shopNO, terminal,isCalcPromo);
/*Map<String, Object> countMap = this.count(orgNo, shopNO);
queryMap.putAll(countMap);*/
return Rjx.jsonOk().setData(queryMap).toJson();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment