|
@@ -1,14 +1,12 @@
|
|
|
package com.iamberry.wechat.handles.cart;
|
|
|
|
|
|
import java.text.SimpleDateFormat;
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.Date;
|
|
|
-import java.util.HashMap;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Map;
|
|
|
+import java.util.*;
|
|
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
|
|
|
+import com.iamberry.wechat.core.entity.order.OrderItem;
|
|
|
+import com.iamberry.wechat.core.entity.product.SalesUserGift;
|
|
|
import com.iamberry.wechat.tools.*;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Controller;
|
|
@@ -162,26 +160,27 @@ public class CartHandlers {
|
|
|
*/
|
|
|
@ResponseBody
|
|
|
@RequestMapping("/addProductToCart")
|
|
|
- public ResultMsg addProductToCart(@RequestParam("productId") String productId,
|
|
|
- @RequestParam(value = "cartNum", required = false, defaultValue = "1") Integer cartNum,
|
|
|
+ public ResultMsg addProductToCart(@RequestParam("productId") String productId,
|
|
|
+ @RequestParam("productColorId") String productColorId,
|
|
|
+ @RequestParam(value = "cartNum", required = false, defaultValue = "1") Integer cartNum,
|
|
|
HttpServletRequest request) throws Exception {
|
|
|
String openId = wechatUtils.getUserBySession(request).getUserOpenid();
|
|
|
CartDto cartDto = new CartDto();
|
|
|
ResultMsg remsg=new ResultMsg();
|
|
|
|
|
|
- Integer pid = 0;
|
|
|
- if (productId != null && !"".equals(productId) && !"null".equals(productId) && StaticInfo.pattern.matcher(productId).find()) {
|
|
|
- pid = Integer.parseInt(productId);
|
|
|
+ Integer cid = 0;
|
|
|
+ if (productColorId != null && !"".equals(productColorId) && !"null".equals(productColorId) && StaticInfo.pattern.matcher(productColorId).find()) {
|
|
|
+ cid = Integer.parseInt(productColorId);
|
|
|
} else {
|
|
|
- if (productId == null || "".equals(productId)) {
|
|
|
+ if (productColorId == null || "".equals(productColorId)) {
|
|
|
remsg.setMessage(ResultInfo.ERRORINFO);
|
|
|
remsg.setResultCode(ResultInfo.ERRORCODE);
|
|
|
remsg.setStatus(false);
|
|
|
return remsg;
|
|
|
}
|
|
|
try {
|
|
|
- String productIdString = StaticInfo.md5.decrypt(productId);
|
|
|
- pid = Integer.parseInt(productIdString);
|
|
|
+ String productIdString = StaticInfo.md5.decrypt(productColorId);
|
|
|
+ cid = Integer.parseInt(productIdString);
|
|
|
} catch (Exception e) {
|
|
|
remsg.setMessage(ResultInfo.ERRORINFO);
|
|
|
remsg.setResultCode(ResultInfo.ERRORCODE);
|
|
@@ -192,8 +191,8 @@ public class CartHandlers {
|
|
|
}
|
|
|
|
|
|
cartDto.setCartOpenId(openId);
|
|
|
- cartDto.setCartProductId(pid);
|
|
|
- //根据用户id和商品id查询购物车中是否存在
|
|
|
+ cartDto.setCartColorId(cid);
|
|
|
+ //根据颜色id和商品id查询购物车中是否存在
|
|
|
CartDto cart = cartService.getCartByCartProductId(cartDto);
|
|
|
if (null != cart) {
|
|
|
cartDto.setCartNum(cartNum + cart.getCartNum());
|
|
@@ -238,12 +237,22 @@ public class CartHandlers {
|
|
|
@ResponseBody
|
|
|
@RequestMapping(value = "/addCart",method = RequestMethod.GET)
|
|
|
public ResultMsg addCart(HttpServletRequest request,@RequestParam("productId") Integer productId,
|
|
|
+ @RequestParam("productColorId") String productColorId,
|
|
|
@RequestParam(value = "cartNum", required = false, defaultValue = "1") Integer cartNum) throws Exception {
|
|
|
String openId = wechatUtils.getUserBySession(request).getUserOpenid();
|
|
|
ResultMsg remsg=new ResultMsg();
|
|
|
+ Integer cid = 0;
|
|
|
+ if (productColorId != null && !"".equals(productColorId) && !"null".equals(productColorId) && StaticInfo.pattern.matcher(productColorId).find()) {
|
|
|
+ cid = Integer.parseInt(productColorId);
|
|
|
+ }else{
|
|
|
+ remsg.setMessage(ResultInfo.ERRORINFO);
|
|
|
+ remsg.setResultCode(ResultInfo.ERRORCODE);
|
|
|
+ remsg.setStatus(false);
|
|
|
+ return remsg;
|
|
|
+ }
|
|
|
CartDto cartDto = new CartDto();
|
|
|
cartDto.setCartOpenId(openId);
|
|
|
- cartDto.setCartProductId(productId);
|
|
|
+ cartDto.setCartColorId(cid);
|
|
|
Integer productNum = cartService.getCartNumByOpenId(cartDto);
|
|
|
cartDto.setCartNum(productNum + cartNum);
|
|
|
Integer num = cartService.updateCartByOpenId(cartDto);
|
|
@@ -262,27 +271,27 @@ public class CartHandlers {
|
|
|
/**
|
|
|
* 点击减号按钮删除商品
|
|
|
* @param request
|
|
|
- * @param productId
|
|
|
+ * @param productColorId
|
|
|
* @param cartNum
|
|
|
* @return ResultMsg
|
|
|
* @throws Exception
|
|
|
*/
|
|
|
@ResponseBody
|
|
|
@RequestMapping(value = "/deleteCart",method = RequestMethod.GET)
|
|
|
- public ResultMsg deleteCart(HttpServletRequest request,@RequestParam("productId") Integer productId,
|
|
|
+ public ResultMsg deleteCart(HttpServletRequest request,@RequestParam("productColorId") Integer productColorId,
|
|
|
@RequestParam(value = "cartNum", required = false, defaultValue = "1") Integer cartNum) throws Exception {
|
|
|
String openId = wechatUtils.getUserBySession(request).getUserOpenid();
|
|
|
ResultMsg remsg=new ResultMsg();
|
|
|
CartDto cartDto = new CartDto();
|
|
|
cartDto.setCartOpenId(openId);
|
|
|
- cartDto.setCartProductId(productId);
|
|
|
+ cartDto.setCartColorId(productColorId);
|
|
|
Integer productNum = cartService.getCartNumByOpenId(cartDto);
|
|
|
Integer num = 0;
|
|
|
if (productNum > 1) {
|
|
|
cartDto.setCartNum(productNum - cartNum);
|
|
|
num = cartService.updateCartByOpenId(cartDto);
|
|
|
} else {
|
|
|
- this.deleteCartByProductId(request,productId);
|
|
|
+ this.deleteCartByProductId(request,productColorId);
|
|
|
}
|
|
|
if (num > 0) {
|
|
|
remsg.setMessage(ResultInfo.SUCCESSINFO);
|
|
@@ -299,17 +308,16 @@ public class CartHandlers {
|
|
|
/**
|
|
|
* 点击垃圾桶按钮删除购物车物品信息
|
|
|
* @param request
|
|
|
- * @param cartId
|
|
|
* @return ResultMsg
|
|
|
*/
|
|
|
@ResponseBody
|
|
|
@RequestMapping(value = "/deleteCartByProductId",method = RequestMethod.GET)
|
|
|
- public ResultMsg deleteCartByProductId(HttpServletRequest request,@RequestParam("productId") Integer productId) throws Exception{
|
|
|
+ public ResultMsg deleteCartByProductId(HttpServletRequest request,@RequestParam("productColorId") Integer productColorId) throws Exception{
|
|
|
String openId = wechatUtils.getUserBySession(request).getUserOpenid();
|
|
|
CartDto cartDto = new CartDto();
|
|
|
ResultMsg remsg=new ResultMsg();
|
|
|
cartDto.setCartOpenId(openId);
|
|
|
- cartDto.setCartProductId(productId);
|
|
|
+ cartDto.setCartColorId(productColorId);
|
|
|
if (cartService.deleteCartByCartId(cartDto) >= 1) {
|
|
|
remsg.setMessage(ResultInfo.SUCCESSINFO);
|
|
|
remsg.setResultCode(ResultInfo.SUCCESSCODE);
|
|
@@ -360,7 +368,45 @@ public class CartHandlers {
|
|
|
|
|
|
//查询订单列表时同步百胜信息
|
|
|
if (null != shopOrderList && shopOrderList.size() > 0) {
|
|
|
+
|
|
|
for (ShopOrderAndItemDto orderDto : shopOrderList) {
|
|
|
+ List<SalesUserGift> giftList = new ArrayList<SalesUserGift>();
|
|
|
+ //将赠品和订单项区分开
|
|
|
+ List<OrderItem> orderItemList = orderDto.getOrderItemList();
|
|
|
+ if (orderItemList == null || orderItemList.size() == 0) {
|
|
|
+ remsg.setResultCode(ResultInfo.ERRORCODE);
|
|
|
+ remsg.setStatus(false);
|
|
|
+ return remsg;
|
|
|
+ }
|
|
|
+
|
|
|
+ Iterator it = orderItemList.iterator();
|
|
|
+ //将所有赠品筛选出来
|
|
|
+ while (it.hasNext()) {
|
|
|
+ OrderItem item = (OrderItem)it.next();
|
|
|
+ if (item.getProductDiscount() == 0) {
|
|
|
+ SalesUserGift gift = new SalesUserGift();
|
|
|
+ gift.setGiftName(item.getItemProductName());
|
|
|
+ gift.setGiftColorName(item.getItemProductColor());
|
|
|
+ gift.setUserGiftCount(item.getItemNum());
|
|
|
+ gift.setUserColorId(item.getItemGiftSource());
|
|
|
+ gift.setUserGiftColor(item.getItemColorId());
|
|
|
+ giftList.add(gift);
|
|
|
+ it.remove();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ //将赠品添加到对应的机器上
|
|
|
+ for (OrderItem item : orderItemList) {
|
|
|
+ List<SalesUserGift> gifts = new ArrayList<SalesUserGift>();
|
|
|
+ for (int i = 0;i < giftList.size();i++) {
|
|
|
+ SalesUserGift gift = giftList.get(i);
|
|
|
+ if (item.getItemColorId() == gift.getUserColorId()) {
|
|
|
+ gifts.add(gift);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ item.setSalesUserGiftList(gifts);
|
|
|
+ }
|
|
|
+
|
|
|
MQMessage message = new MQMessage();
|
|
|
if ("2".equals(orderDto.getSalesStatus())) {
|
|
|
message.setServiceToMessage(orderDto.getSalesOrderid());
|
|
@@ -400,7 +446,6 @@ public class CartHandlers {
|
|
|
/**
|
|
|
* 查询订单详情
|
|
|
* @param request
|
|
|
- * @param orderId
|
|
|
* @return
|
|
|
* @throws Exception
|
|
|
*/
|
|
@@ -434,7 +479,44 @@ public class CartHandlers {
|
|
|
}
|
|
|
shopSalesOrderDto.setCouponReduce(money);
|
|
|
}
|
|
|
+
|
|
|
+ List<SalesUserGift> giftList = new ArrayList<SalesUserGift>();
|
|
|
+ //将赠品和订单项区分开
|
|
|
orderItemList = cartService.selectShopOrderItem(orderId);
|
|
|
+ if (orderItemList == null || orderItemList.size() == 0) {
|
|
|
+ remsg.setResultCode(ResultInfo.ERRORCODE);
|
|
|
+ remsg.setStatus(false);
|
|
|
+ return remsg;
|
|
|
+ }
|
|
|
+
|
|
|
+ Iterator it = orderItemList.iterator();
|
|
|
+ //将所有赠品筛选出来
|
|
|
+ while (it.hasNext()) {
|
|
|
+ ShopOrderItemDto item = (ShopOrderItemDto)it.next();
|
|
|
+ if (item.getItemProductDiscount() == 0) {
|
|
|
+ SalesUserGift gift = new SalesUserGift();
|
|
|
+ gift.setGiftName(item.getItemProductName());
|
|
|
+ gift.setGiftColorName(item.getItemProductColor());
|
|
|
+ gift.setUserGiftCount(item.getItemNum());
|
|
|
+ gift.setUserColorId(item.getItemGiftSource());
|
|
|
+ gift.setUserGiftColor(item.getItemColorId());
|
|
|
+ giftList.add(gift);
|
|
|
+ it.remove();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ //将赠品添加到对应的机器上
|
|
|
+ for (ShopOrderItemDto item : orderItemList) {
|
|
|
+ List<SalesUserGift> gifts = new ArrayList<SalesUserGift>();
|
|
|
+ for (int i = 0;i < giftList.size();i++) {
|
|
|
+ SalesUserGift gift = giftList.get(i);
|
|
|
+ if (item.getItemColorId() == gift.getUserColorId()) {
|
|
|
+ gifts.add(gift);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ item.setSalesUserGiftList(gifts);
|
|
|
+ }
|
|
|
+
|
|
|
shopSalesOrderDto.setOrderItemList(orderItemList);
|
|
|
}
|
|
|
if (shopSalesOrderDto == null) {
|
|
@@ -746,4 +828,120 @@ public class CartHandlers {
|
|
|
}
|
|
|
return remsg;
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 确认收货
|
|
|
+ * @param request
|
|
|
+ * @param orderId
|
|
|
+ * @param status
|
|
|
+ * @return
|
|
|
+ * @throws Exception
|
|
|
+ */
|
|
|
+ @ResponseBody
|
|
|
+ @RequestMapping("/confirm_receipt")
|
|
|
+ public ResultMsg confirmReceipt(HttpServletRequest request,
|
|
|
+ @RequestParam(value = "orderId",defaultValue = "")String orderId,
|
|
|
+ @RequestParam(value = "status",defaultValue = "-1") Integer status) throws Exception {
|
|
|
+ String openId = wechatUtils.getUserBySession(request).getUserOpenid();
|
|
|
+ ResultMsg remsg=new ResultMsg();
|
|
|
+ if (null != orderId && !"".equals(orderId)) {
|
|
|
+ ShopSalesOrderDto orderDto = this.cartService.getOpenIdAndStatus(orderId);
|
|
|
+ if (orderDto != null) {
|
|
|
+ if (!openId.equals(orderDto.getSalesOpenid())) {
|
|
|
+ remsg.setMessage("您没有权限,无法操作该订单!");
|
|
|
+ remsg.setResultCode(ResultInfo.ERRORCODE);
|
|
|
+ remsg.setStatus(false);
|
|
|
+ return remsg;
|
|
|
+ }
|
|
|
+ if (Integer.parseInt(orderDto.getSalesStatus()) != 5) {
|
|
|
+ remsg.setMessage("该订单不支持确认收货!");
|
|
|
+ remsg.setResultCode(ResultInfo.ERRORCODE);
|
|
|
+ remsg.setStatus(false);
|
|
|
+ return remsg;
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ remsg.setMessage("该订单无效,请重新确认!");
|
|
|
+ remsg.setResultCode(ResultInfo.ERRORCODE);
|
|
|
+ remsg.setStatus(false);
|
|
|
+ return remsg;
|
|
|
+ }
|
|
|
+ Order order = new Order();
|
|
|
+ order.setSalesStatus(12);
|
|
|
+ order.setSalesOrderid(orderId);
|
|
|
+ order.setOldStatus(status);
|
|
|
+ //修改订单状态
|
|
|
+ boolean flag = adminOrderService.updateOrderStatusByOrderId(order);
|
|
|
+ if (flag) {
|
|
|
+ remsg.setMessage("确认成功!");
|
|
|
+ remsg.setResultCode(ResultInfo.SUCCESSCODE);
|
|
|
+ remsg.setStatus(true);
|
|
|
+ } else {
|
|
|
+ remsg.setMessage("确认失败,请重新操作!");
|
|
|
+ remsg.setResultCode(ResultInfo.ERRORCODE);
|
|
|
+ remsg.setStatus(false);
|
|
|
+ }
|
|
|
+ return remsg;
|
|
|
+ } else {
|
|
|
+ remsg.setMessage("订单号为空,请重新输入!");
|
|
|
+ remsg.setResultCode(ResultInfo.ERRORCODE);
|
|
|
+ remsg.setStatus(false);
|
|
|
+ return remsg;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 提醒发货
|
|
|
+ * @param request
|
|
|
+ * @param orderId
|
|
|
+ * @param status
|
|
|
+ * @return
|
|
|
+ * @throws Exception
|
|
|
+ */
|
|
|
+ @ResponseBody
|
|
|
+ @RequestMapping("/warn_send")
|
|
|
+ public ResultMsg warnSend(HttpServletRequest request,
|
|
|
+ @RequestParam(value = "orderId",defaultValue = "")String orderId,
|
|
|
+ @RequestParam(value = "status",defaultValue = "-1") Integer status) throws Exception {
|
|
|
+ String openId = wechatUtils.getUserBySession(request).getUserOpenid();
|
|
|
+ ResultMsg remsg = new ResultMsg();
|
|
|
+ if (orderId == null || "".equals(orderId)) {
|
|
|
+ remsg.setResultCode(ResultInfo.ERRORCODE);
|
|
|
+ remsg.setStatus(false);
|
|
|
+ return remsg;
|
|
|
+ }
|
|
|
+ ShopSalesOrderDto orderDto = this.cartService.getOpenIdAndStatus(orderId);
|
|
|
+ if (orderDto != null) {
|
|
|
+ if (!openId.equals(orderDto.getSalesOpenid())) {
|
|
|
+ remsg.setMessage(ResultInfo.ERRORINFO);
|
|
|
+ remsg.setResultCode(ResultInfo.ERRORCODE);
|
|
|
+ remsg.setStatus(false);
|
|
|
+ return remsg;
|
|
|
+ }
|
|
|
+ if (Integer.parseInt(orderDto.getSalesStatus()) != 5) {
|
|
|
+ remsg.setMessage(ResultInfo.ERRORINFO);
|
|
|
+ remsg.setResultCode(ResultInfo.ERRORCODE);
|
|
|
+ remsg.setStatus(false);
|
|
|
+ return remsg;
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ remsg.setMessage(ResultInfo.ERRORINFO);
|
|
|
+ remsg.setResultCode(ResultInfo.ERRORCODE);
|
|
|
+ remsg.setStatus(false);
|
|
|
+ return remsg;
|
|
|
+ }
|
|
|
+ Order order = new Order();
|
|
|
+ order.setSalesOrderid(orderId);
|
|
|
+ order.setOldStatus(status);
|
|
|
+ int num = cartService.updateSendWarnNum(order);
|
|
|
+ if (num > 0) {
|
|
|
+ remsg.setMessage("提醒发货成功!");
|
|
|
+ remsg.setResultCode(ResultInfo.SUCCESSCODE);
|
|
|
+ remsg.setStatus(true);
|
|
|
+ } else {
|
|
|
+ remsg.setMessage("提醒发货失败!");
|
|
|
+ remsg.setResultCode(ResultInfo.ERRORCODE);
|
|
|
+ remsg.setStatus(false);
|
|
|
+ }
|
|
|
+ return remsg;
|
|
|
+ }
|
|
|
}
|