Selaa lähdekoodia

Merge remote-tracking branch 'origin/master'

qihanjiao 7 vuotta sitten
vanhempi
commit
d65e346920

+ 1 - 0
tooth-common-tool/src/main/java/com/iamberry/wechat/tools/ResultInfo.java

@@ -23,6 +23,7 @@ public class ResultInfo {
 	public  static String paramFormatError = "";
 	public  static String withdrawCountOutError = "";
 	public  static String cartEmptyError = "";
+	public  static String cartNoStatusError = "商品已下架";
 	public  static String userMoneyOutError = "";
 	public  static String userNoDrpError = "";
 	

+ 1 - 1
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/cart/CartServiceImpl.java

@@ -361,7 +361,7 @@ public class CartServiceImpl implements CartService {
 						}
 						try {
 							sendMessageUtil.orderApplyReturn("尊敬的朵粉,已收到您的【退货申请】",orderId,payMoney,productNum+"件",order2.getSalesReturnDes(),
-									"点击查看退款退货详情。如有问题请致电400-678-1860或直接在微信留言,soodo上朵将第一时间为您服务!",order2.getSalesOpenid(),ResultInfo.ORDER_DETAIL+order2.getSalesOrderid());
+									"点击查看退款退货详情。如有问题请致电400-678-1860或直接在微信留言,soodo上朵将第一时间为您服务!",order2.getSalesOpenid(),ResultInfo.ORDER_DETAIL+orderId);
 						} catch (Exception e) {
 							logger.info("订单号:"+ orderId +"的订单申请退货,发送微信消息失败!");
 						}

+ 1 - 1
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/cartMapper.xml

@@ -252,7 +252,7 @@ PUBLIC
 	<!-- 根据购物车ID数组,批量获取购物车集合 -->
 	<select id="selectCartItemByListId" parameterType="java.util.List" resultType="CartDto">
 		SELECT 
-			C.CART_ID cartId, G.PRODUCT_ID cartProductId, pc.COLOR_ID cartColorId, G.PRODUCT_STATUS productStatus,
+			C.CART_ID cartId, G.PRODUCT_ID cartProductId, pc.COLOR_ID cartColorId, PC.color_status productStatus,
 			C.CART_NUM cartNum, G.PRODUCT_NAME productName, pc.COLOR_DISCOUNT productPrice, 
 
 			pc.color_img productIntroduceImg,

+ 2 - 1
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/productInfoMapper.xml

@@ -81,7 +81,8 @@
     <select id="selectProductByColorId"  resultType="Product">
         SELECT
         <include refid="product"></include>,
-        PC.COLOR_NAME
+        PC.COLOR_NAME,
+		PC.COLOR_PRESENT
         FROM tb_iamberry_product_info PI
         LEFT JOIN tb_iamberry_product_color PC ON PC.color_product_id=PI.PRODUCT_ID
         WHERE PC.color_id=#{colorId} AND color_status=1

+ 12 - 7
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mq/EfastOrderServiceImpl.java

@@ -87,6 +87,9 @@ public class EfastOrderServiceImpl implements EfastOrderService {
 			JSONObject respData = JSONObject.fromObject(jsonObject.get("resp_data"));
 			// 发货状态 : shipping_status
 			String shippingStatus = respData.getString("shipping_status");
+
+			Order orderByaddress = adminOrderService.getShopOrderByOrderId(message.getServiceToMessage());
+
 			if ("1".equals(shippingStatus)) {
 				// 更新数据:将订单从已支付、代发货状态修改为已发货状态
 				Order order = new Order();
@@ -98,14 +101,16 @@ public class EfastOrderServiceImpl implements EfastOrderService {
 				adminOrderService.updateOrderDeliver(order);
 				//推送微信发货消息
 				//给用户发送消息-已发货的通知
-				Order orderByaddress = adminOrderService.selectOrderStatusByOrderId(order.getSalesOrderid());
-				try {
-					sendMessageUtil.orderSendSuccess("尊敬的朵粉,您的订单已发货,物流信息:",order.getSalesOrderid(), SendMessageUtil.hashmap.get(respData.getString("shipping_name")),
-							respData.getString("invoice_no"),orderByaddress.getSalesAddressInfo(),"如有问题请致电400-678-1860或直接在微信留言,soodo上朵将第一时间为您服务!(点击查看订单详情)",orderByaddress.getSalesOpenid(), ResultInfo.ORDER_DETAIL+order.getSalesOrderid());
-				} catch (Exception e) {
-					logger.info("订单号:"+ order.getSalesOrderid() +"的订单已发货,发送微信消息失败!");
-				}
 
+				//Order orderByaddress = adminOrderService.selectOrderStatusByOrderId(order.getSalesOrderid());
+				if(orderByaddress.getSalesStatus() == 2){
+					try {
+						sendMessageUtil.orderSendSuccess("尊敬的朵粉,您的订单已发货,物流信息:",order.getSalesOrderid(), SendMessageUtil.hashmap.get(respData.getString("shipping_name")),
+								respData.getString("invoice_no"),orderByaddress.getSalesAddressInfo(),"如有问题请致电400-678-1860或直接在微信留言,soodo上朵将第一时间为您服务!(点击查看订单详情)",orderByaddress.getSalesOpenid(), ResultInfo.ORDER_DETAIL+order.getSalesOrderid());
+					} catch (Exception e) {
+						logger.info("订单号:"+ order.getSalesOrderid() +"的订单已发货,发送微信消息失败!");
+					}
+				}
 				return true;
 			}
 			logger.error(this, "get-订单号为:" + message.getServiceToMessage() + "的订单,百胜返回信息:" + resultJson);

+ 2 - 2
tooth-wechat-web/src/main/java/com/iamberry/wechat/filters/WechatFilter.java

@@ -77,8 +77,8 @@ public class WechatFilter implements Filter {
 		// 判断请求,如果是来自Ajax,那么直接返回302跳转会导致前端报错,所以返回JSON格式数据,状态为200
 		String requestedWith = req.getHeader("x-requested-with");
 		String accept = req.getHeader("accept");
-		if ((StringUtils.isNotEmpty(requestedWith) && requestedWith.indexOf("XMLHttpRequest") != -1) 
-				|| (StringUtils.isNotEmpty(accept) && accept.indexOf("json") != -1)) {
+		if ((requestedWith != null && StringUtils.isNotEmpty(requestedWith) && requestedWith.indexOf("XMLHttpRequest") != -1)
+				|| (accept != null && StringUtils.isNotEmpty(accept) && accept.indexOf("json") != -1)) {
 			// 客户端需要的是json数据
 			String redirectURL = req.getHeader("Referer");
 			resp.getWriter().write("{\"isRedirect\":true, \"redirectURL\":\"" + WechatUtils.getOpenIdFunction(redirectURL) + "\"}");

+ 18 - 13
tooth-wechat-web/src/main/java/com/iamberry/wechat/handles/order/OrderHandler.java

@@ -166,10 +166,13 @@ public class OrderHandler {
 
 		List<CartDto> tempCarts = new ArrayList<CartDto>();
 		for (CartDto cartDto : cartDtos) {
-			if (cartDto.getProductStatus() != null ) {
+			if (cartDto.getProductStatus() != null && cartDto.getProductStatus().intValue() == 1) {
 				total += cartDto.getCartNum() * cartDto.getProductPrice();
 				sum++;
 				tempCarts.add(cartDto);
+			}else if(cartDto.getProductStatus().intValue() != 1){
+				msg.setMessage(ResultInfo.cartNoStatusError);
+				return msg;
 			}
 			String[] els = element.split("-");
 			for(String el : els){
@@ -282,23 +285,22 @@ public class OrderHandler {
 			msg.setMessage(ResultInfo.loginOutError);
 			return msg;
 		}
-
 		member=memberService.getMemberByUserId(member.getUserId());
 		if (!validatorUtil.validatorObject(temp)) { // 校验订单信息是否输入有误
 			msg.setMessage(ResultInfo.paramFormatError);
 			return msg;
 		}
-		if (temp.getOrderUserRemark() != null && !temp.getOrderUserRemark().isEmpty()) {
-			Pattern pattern = Pattern.compile("^[\u4e00-\u9fa5_a-zA-Z0-9]+$");
-			if (!pattern.matcher(temp.getOrderUserRemark()).find()) {
-				msg.setMessage(ResultInfo.paramFormatError);
-				return msg;
-			}
-			if (!(temp.getOrderUserRemark().length() >= 1 && temp.getOrderUserRemark().length() <= 100)) {
-				msg.setMessage(ResultInfo.paramFormatError);
-				return msg;
-			}
-		}
+//		if (temp.getOrderUserRemark() != null && !temp.getOrderUserRemark().isEmpty()) {
+//			Pattern pattern = Pattern.compile("^[\u4e00-\u9fa5_a-zA-Z0-9]+$");
+//			if (!pattern.matcher(temp.getOrderUserRemark()).find()) {
+//				msg.setMessage(ResultInfo.paramFormatError);
+//				return msg;
+//			}
+//			if (!(temp.getOrderUserRemark().length() >= 1 && temp.getOrderUserRemark().length() <= 100)) {
+//				msg.setMessage(ResultInfo.paramFormatError);
+//				return msg;
+//			}
+//		}
 		Integer [] cartId = null;
 		try {
 			cartId = checkCartIdListString(temp.getCartIdStr());
@@ -340,6 +342,9 @@ public class OrderHandler {
 				item.setItemProductPrice(cartDto.getProductDiscount());
 				item.setItemColorId(cartDto.getCartColorId());
 				list.add(item);
+			}else if(cartDto.getProductStatus().intValue() != 1){
+				msg.setMessage(ResultInfo.cartNoStatusError);
+				return msg;
 			}
 			if(cartDto.getProductType() == 100){		//当订单中有电动牙刷时,isContainProduct为true
 				isContainProduct = true;

+ 0 - 1
tooth-wechat-web/src/main/java/com/iamberry/wechat/handles/order/orderListener/OrderCloseListener.java

@@ -63,7 +63,6 @@ public class OrderCloseListener {
 					validateCodeMap.put(orders.getSalesOrderid(), DateTimeUtil.format(new Date(),NameUtils.getConfig("DATE_TIME_FORMAT")));
 					break;
 				}
-				
 			}
 		}
 		moveValidateCodeMap();

+ 4 - 1
tooth-wechat-web/src/main/java/com/iamberry/wechat/handles/pay/ResponseWechatPayHandler.java

@@ -58,6 +58,7 @@ import java.io.BufferedOutputStream;
 import java.io.IOException;
 import java.io.StringReader;
 import java.net.URLDecoder;
+import java.text.DecimalFormat;
 import java.text.SimpleDateFormat;
 import java.util.*;
 
@@ -261,10 +262,12 @@ public class ResponseWechatPayHandler {
 //System.out.println("===========pay 201  插入返利到百胜失败==============");
 					}
 					//推送消息到微信
+					DecimalFormat df=new DecimalFormat("0.00");
+					String payMoney = df.format((float)or.getSalesYetAmount()/100) + "元";
 					try {
 						sendMessageUtil.probationPaySuccess(
 								ResultInfo.PAYSUCCESS,
-								or.getSalesYetAmount()/100 + "元",
+								payMoney,
 								orderItemList.get(0).getItemProductName()+"...",
 								ResultInfo.sendRemark1,
 								order.getSalesOpenid(),

+ 18 - 2
tooth-wechat-web/src/main/webapp/WEB-INF/views/admin/order/orderList.jsp

@@ -101,7 +101,7 @@
 	</div>
 
 <!-- 审核备注 -->
-	<div class="layui-layer layui-anim layui-layer-iframe" id="layui-audit" times="4" showtime="0" contype="string" style="display:none;z-index: 19891018; width: 400px; height: 260px; position: absolute; top: 100px; left: 379px;">
+	<div class="layui-layer layui-anim layui-layer-iframe" id="layui-audit" times="4" showtime="0" contype="string" style="display:none;width: 400px; height: 260px; position: absolute; top: 100px; left: 379px;">
 		<form action="" method="post" class="form form-horizontal" id="form-admin-audit">
 			<div class="layui-layer-title" id="audit" style="cursor: move;" move="ok">审核备注</div>
 			<br>
@@ -538,7 +538,23 @@
                 function audit_order() {
                     var salesAuditRemark = $('#salesAuditRemark').val();
                     if (salesAuditRemark == null || salesAuditRemark == '') {
-                        layer.msg("请完善审核备注!",{icon: 5,time:2000});
+                        layer.msg("请完善审核备注!",{
+                            icon: 5,
+                            zIndex: 999,
+							time:2000
+                        });
+                        //通过这种方式弹出的层,每当它被选择,就会置顶。
+                        /*layer.open({
+                            type: 2,
+                            shade: false,
+                            area: '500px',
+                            maxmin: true,
+                            content: '请完善审核备注',
+                            zIndex: 999, //重点1
+                            success: function(layero){
+                                layer.setTop(layero); //重点2
+                            }
+                        });*/
                         return false;
                     }
                     return true;