瀏覽代碼

Merge branch 'master' of http://git.iamberry.com/liuzhiwei/iamberry-common-tooth

H-SEN 7 年之前
父節點
當前提交
b49fe323c9
共有 23 個文件被更改,包括 209 次插入58 次删除
  1. 1 0
      tooth-common-core/src/main/java/com/iamberry/wechat/core/entity/WechatUtils.java
  2. 47 1
      tooth-wechat-web/src/main/java/com/iamberry/wechat/utils/SendMessageUtil.java
  3. 14 0
      tooth-common-tool/src/main/java/com/iamberry/wechat/tools/ResultInfo.java
  4. 52 2
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/cart/CartServiceImpl.java
  5. 1 1
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/cartMapper.xml
  6. 19 3
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mq/EfastOrderServiceImpl.java
  7. 2 2
      tooth-wechat-web/src/main/java/com/iamberry/wechat/filters/WechatFilter.java
  8. 1 1
      tooth-wechat-web/src/main/java/com/iamberry/wechat/handles/admin/AdminAgentToothHandler.java
  9. 1 1
      tooth-wechat-web/src/main/java/com/iamberry/wechat/handles/admin/AdminLoginHandler.java
  10. 22 21
      tooth-wechat-web/src/main/java/com/iamberry/wechat/handles/admin/AdminOrderHandlers.java
  11. 1 1
      tooth-wechat-web/src/main/java/com/iamberry/wechat/handles/admin/AdminProbationOrderHandler.java
  12. 1 1
      tooth-wechat-web/src/main/java/com/iamberry/wechat/handles/cart/ProbationOrderHandler.java
  13. 1 1
      tooth-wechat-web/src/main/java/com/iamberry/wechat/handles/giftCard/CardHandler.java
  14. 1 1
      tooth-wechat-web/src/main/java/com/iamberry/wechat/handles/mq/MQTask.java
  15. 8 5
      tooth-wechat-web/src/main/java/com/iamberry/wechat/handles/order/OrderHandler.java
  16. 3 4
      tooth-wechat-web/src/main/java/com/iamberry/wechat/handles/order/orderListener/OrderCloseListener.java
  17. 1 1
      tooth-wechat-web/src/main/java/com/iamberry/wechat/handles/order/orderListener/OrderListener.java
  18. 1 1
      tooth-wechat-web/src/main/java/com/iamberry/wechat/handles/pay/RequestWechatPayHandler.java
  19. 5 2
      tooth-wechat-web/src/main/java/com/iamberry/wechat/handles/pay/ResponseWechatPayHandler.java
  20. 1 1
      tooth-wechat-web/src/main/java/com/iamberry/wechat/handles/probation/ProbationHandler.java
  21. 2 0
      tooth-wechat-web/src/main/resources/ResultInfo.properties
  22. 6 6
      tooth-wechat-web/src/main/resources/iamberry-wechat-service-orderTesk.xml
  23. 18 2
      tooth-wechat-web/src/main/webapp/WEB-INF/views/admin/order/orderList.jsp

+ 1 - 0
tooth-common-core/src/main/java/com/iamberry/wechat/core/entity/WechatUtils.java

@@ -75,6 +75,7 @@ public class WechatUtils {
 		if (cookies == null) {
 			throw new UserNotLoginException();
 		}
+
 		for (Cookie cookie : cookies) {
 			if (cookie.getName().equals("WATERO_WEB_PF")) {
 				continue;

+ 47 - 1
tooth-wechat-web/src/main/java/com/iamberry/wechat/utils/SendMessageUtil.java

@@ -1,4 +1,4 @@
-package com.iamberry.wechat.utils;
+package com.iamberry.wechat.tools;
 
 import java.util.HashMap;
 
@@ -89,6 +89,12 @@ public class SendMessageUtil {
 			case 15:  //15、发货后 提醒
 				WeixinUtil.sendTemplateMessage(NameUtils.getConfig("appId"), NameUtils.getConfig("appSecret"), openId, ResultInfo.order_send_success, date, url);
 				break;
+			case 16:  //16、退款申请驳回
+				WeixinUtil.sendTemplateMessage(NameUtils.getConfig("appId"), NameUtils.getConfig("appSecret"), openId, ResultInfo.refund_to_dismiss, date, url);
+				break;
+			case 17:  //17、退款申请通知
+				WeixinUtil.sendTemplateMessage(NameUtils.getConfig("appId"), NameUtils.getConfig("appSecret"), openId, ResultInfo.refund_application_notice, date, url);
+				break;
 			default: 
 				break;
 			}
@@ -328,4 +334,44 @@ public class SendMessageUtil {
 		sendTemplateMessageToOpenid(temp, openId, url,15);
 	}
 
+	/**
+	 * 退款申请驳回
+	 * @param first
+	 * @param keyword1 退款金额
+	 * @param keyword2 商品详情
+	 * @param keyword3 订单编号
+	 * @param remark
+	 * @param openId
+	 * @param url
+	 */
+	public void refundToDismiss(String first,String keyword1,String keyword2,String keyword3,String remark,String openId,String url){
+		String temp = ResultInfo.REFUNDSPPLICATIONREJECTED;
+		temp = temp.replaceFirst("firstValueIamberry", first)
+				.replaceFirst("keyword1Value",keyword1)
+				.replaceFirst("keyword2Value",keyword2)
+				.replaceFirst("keyword3Value",keyword3)
+				.replaceFirst("colorValue","#1C86EE")
+				.replaceFirst("remarkValue",remark);
+		sendTemplateMessageToOpenid(temp, openId, url,16);
+	}
+
+	/**
+	 * 退款申请通知
+	 * @param first
+	 * @param keyword1
+	 * @param keyword2
+	 * @param remark
+	 * @param openId
+	 * @param url
+	 */
+	public void refundApplicationNotice(String first,String keyword1,String keyword2,String keyword3,String remark,String openId,String url){
+		String temp = ResultInfo.APPLYREFUND;
+		temp = temp.replaceFirst("firstValueIamberry", first)
+				.replaceFirst("keyword1Value",keyword1)
+				.replaceFirst("keyword2Value",keyword2)
+				.replaceFirst("keyword3Value",keyword3)
+				.replaceFirst("colorValue","#1C86EE")
+				.replaceFirst("remarkValue",remark);
+		sendTemplateMessageToOpenid(temp, openId, url,17);
+	}
 }

+ 14 - 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 = "";
 	
@@ -176,6 +177,16 @@ public class ResultInfo {
 	public static String order_send_success="";
 
 	/**
+	 * 退款申请驳回
+	 */
+	public static String refund_to_dismiss="";
+
+	/**
+	 * 退款申请通知
+	 */
+	public static String refund_application_notice="";
+
+	/**
 	 * 返现到账通知消息模版
 	 */
 	public static String REWARDSREMINDTEMP =  "{'first':{'color':'#173177','value':'firstValueIamberry'}, order:{'color':'#173177','value':'orderValueIamberry'}, 'money':{'color':'#173177', 'value':'moneyValueIamberry'}, 'remark':{'color':'#173177','value':'remarkValueIamberry'}}";
@@ -222,6 +233,9 @@ public class ResultInfo {
 	/**  发货后 提醒 */
 	public static String SENDSUCCESS= "{'first':{'color':'#173177','value':'firstValueIamberry'}, 'keyword1':{'color':'#173177','value':'keyword1Value'}, 'keyword2':{'color':'#173177', 'value':'keyword2Value'}, 'keyword3':{'color':'#173177', 'value':'keyword3Value'}, 'keyword4':{'color':'#173177', 'value':'keyword4Value'},'remark':{'color':'colorValue','value':'remarkValue'}}";
 
+	/**  退款申请驳回 */
+	public static String REFUNDSPPLICATIONREJECTED= "{'first':{'color':'#173177','value':'firstValueIamberry'}, 'keyword1':{'color':'#173177','value':'keyword1Value'}, 'keyword2':{'color':'#173177', 'value':'keyword2Value'}, 'keyword3':{'color':'#173177', 'value':'keyword3Value'}, 'remark':{'color':'colorValue','value':'remarkValue'}}";
+
 
 
 

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

@@ -1,9 +1,14 @@
 package com.iamberry.wechat.service.cart;
 
+import java.text.DecimalFormat;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
+import com.iamberry.app.tool.log.RatFWLogger;
+import com.iamberry.wechat.face.order.AdminOrderService;
+import com.iamberry.wechat.tools.ResultInfo;
+import com.iamberry.wechat.tools.SendMessageUtil;
 import org.apache.commons.lang.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -46,8 +51,13 @@ public class CartServiceImpl implements CartService {
 	private RebackServices rebackServices;
 	@Autowired
 	ProductInfoService productInfoService;
-	
-	
+	@Autowired
+	private SendMessageUtil sendMessageUtil;
+	@Autowired
+	private AdminOrderService adminOrderService;
+
+	@Autowired
+	private RatFWLogger logger;
 	@Override
 	public List<CartDto> selectCartByOpenId(String openId) {
 		// TODO Auto-generated method stub
@@ -299,6 +309,19 @@ public class CartServiceImpl implements CartService {
 					//修改订单状态
 					int num = cartDao.updateOrderByOrder(order);
 					if (num > 0) {
+						//推送微信发货消息
+						//给用户发送消息-已发货的通知
+						DecimalFormat df=new DecimalFormat("0.00");
+						Order order2 = adminOrderService.selectOrderStatusByOrderId(order.getSalesOrderid());
+						String payMoney = df.format((float)order2.getSalesYetAmount()/100) + "元";
+						//获取当前订单订单项
+						List<OrderItem> itemList = adminOrderService.getShopOrderItemByOrderId(orderId);
+						try {
+							sendMessageUtil.refundApplicationNotice("尊敬的朵粉,我们已收到您的退款申请,我们正在积极处理:",payMoney,itemList.get(0).getItemProductName(),orderId,
+									"如有问题请致电400-678-1860或直接在微信留言,soodo上朵将第一时间为您服务!(点击查看订单详情)",order2.getSalesOpenid(),ResultInfo.ORDER_DETAIL+orderId);
+						} catch (Exception e) {
+							logger.info("订单号:"+ orderId +"的订单驳回退款,发送微信消息失败!");
+						}
 						flag = true;
 					}
 				} else {
@@ -327,6 +350,23 @@ public class CartServiceImpl implements CartService {
 					//修改订单状态
 					int num = cartDao.updateOrderByOrder(order);
 					if (num > 0) {
+						DecimalFormat df=new DecimalFormat("0.00");
+						Order order2 = adminOrderService.selectOrderStatusByOrderId(order.getSalesOrderid());
+						//获取当前订单订单项
+						List<OrderItem> itemList = adminOrderService.getShopOrderItemByOrderId(orderId);
+						String payMoney = df.format((float)order2.getSalesYetAmount()/100) + "元";
+						int productNum = 0;
+						for (OrderItem item : itemList) {
+							productNum += item.getItemNum();
+						}
+						try {
+							sendMessageUtil.orderApplyReturn("尊敬的朵粉,已收到您的【退货申请】",orderId,payMoney,productNum+"件",order2.getSalesReturnDes(),
+									"点击查看退款退货详情。如有问题请致电400-678-1860或直接在微信留言,soodo上朵将第一时间为您服务!",order2.getSalesOpenid(),ResultInfo.ORDER_DETAIL+orderId);
+						} catch (Exception e) {
+							logger.info("订单号:"+ orderId +"的订单申请退货,发送微信消息失败!");
+						}
+
+
 						flag = true;
 					}
 				} else if (operation == 7) {	//申请换货
@@ -334,6 +374,16 @@ public class CartServiceImpl implements CartService {
 					//修改订单状态
 					int num = cartDao.updateOrderByOrder(order);
 					if (num > 0) {
+						Order order2 = adminOrderService.selectOrderStatusByOrderId(orderId);
+						//获取当前订单订单项
+						List<OrderItem> itemList = adminOrderService.getShopOrderItemByOrderId(orderId);
+						try {
+							sendMessageUtil.orderApplyBarter("尊敬的朵粉,已收到您的【换货申请】,我们正在确认换货信息。",orderId,itemList.get(0).getItemProductName(),
+									"对此结果,soodo上朵深表歉意,我们会继续提升,期待下一次相遇!如有问题请致电400-678-1860或直接在微信留言,soodo上朵将第一时间为您服务!",order2.getSalesOpenid(),ResultInfo.ORDER_DETAIL+orderId);
+						} catch (Exception e) {
+							logger.info("订单号:"+ orderId +"的订单申请换货,发送微信消息失败!");
+						}
+
 						flag = true;
 					}
 				} else {

+ 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,

+ 19 - 3
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mq/EfastOrderServiceImpl.java

@@ -11,6 +11,7 @@ import java.util.regex.Pattern;
 import com.iamberry.wechat.core.entity.agentInfo.AgentOrder;
 import com.iamberry.wechat.core.entity.agentInfo.AgentOrderItem;
 import com.iamberry.wechat.service.mapper.AgentPurchaseOrderMapper;
+import com.iamberry.wechat.tools.*;
 import net.sf.json.JSONObject;
 
 import org.apache.commons.lang3.StringEscapeUtils;
@@ -32,9 +33,6 @@ import com.iamberry.wechat.face.mq.EfastOrderService;
 import com.iamberry.wechat.face.order.AdminOrderService;
 import com.iamberry.wechat.face.order.AdminProbationOrderService;
 import com.iamberry.wechat.face.porduct.ProductColorService;
-import com.iamberry.wechat.tools.DateTimeUtil;
-import com.iamberry.wechat.tools.HttpClient431Util;
-import com.iamberry.wechat.tools.NameUtils;
 import com.iamberry.wechat.core.entity.admin.ShopSystemRule;
 
 @Service
@@ -57,6 +55,9 @@ public class EfastOrderServiceImpl implements EfastOrderService {
 	@Autowired
 	private AgentPurchaseOrderMapper agentPurchaseOrderMapper;
 
+	@Autowired
+	private SendMessageUtil sendMessageUtil;
+
 	@Override
 	public boolean selectEfastSendOrderInfo(MQMessage message) {
 		// TODO Auto-generated method stub
@@ -86,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();
@@ -95,6 +99,18 @@ public class EfastOrderServiceImpl implements EfastOrderService {
 				order.setSalesPostFirm(respData.getString("shipping_name"));
 				order.setSalesPostNum(respData.getString("invoice_no"));
 				adminOrderService.updateOrderDeliver(order);
+				//推送微信发货消息
+				//给用户发送消息-已发货的通知
+
+				//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) + "\"}");

+ 1 - 1
tooth-wechat-web/src/main/java/com/iamberry/wechat/handles/admin/AdminAgentToothHandler.java

@@ -18,7 +18,7 @@ import com.iamberry.wechat.face.order.CodeService;
 import com.iamberry.wechat.face.porduct.ProductColorService;
 import com.iamberry.wechat.tools.NameUtils;
 import com.iamberry.wechat.tools.ResultInfo;
-import com.iamberry.wechat.utils.SendMessageUtil;
+import com.iamberry.wechat.tools.SendMessageUtil;
 import org.apache.commons.lang.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;

+ 1 - 1
tooth-wechat-web/src/main/java/com/iamberry/wechat/handles/admin/AdminLoginHandler.java

@@ -6,7 +6,7 @@ import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpSession;
 
-import com.iamberry.wechat.utils.SendMessageUtil;
+import com.iamberry.wechat.tools.SendMessageUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;

+ 22 - 21
tooth-wechat-web/src/main/java/com/iamberry/wechat/handles/admin/AdminOrderHandlers.java

@@ -26,7 +26,7 @@ import com.iamberry.wechat.face.relationship.WdRelationService;
 import com.iamberry.wechat.handles.mq.MQServiceProxy;
 import com.iamberry.wechat.tools.NameUtils;
 import com.iamberry.wechat.tools.ResultInfo;
-import com.iamberry.wechat.utils.SendMessageUtil;
+import com.iamberry.wechat.tools.SendMessageUtil;
 import org.apache.commons.collections.map.HashedMap;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -617,8 +617,10 @@ public class AdminOrderHandlers {
                     if (adminOrderService.updateOrderStatusByOrderId(order)) {// 驳回退款
                         String payMoney = df.format((float)currentOrder.getSalesYetAmount()/100) + "元";
                         try {
-                            sendMessageUtil.orderApplyRefund("尊敬的朵粉,您的退款申请被退回:",payMoney,itemList.get(0).getItemProductName(),orderId,
-                                    "请确认您的退款申请信息填写无误。\\r\\n如有问题请致电400-678-1860或直接在微信留言,soodo上朵将第一时间为您服务!(点击查看订单详情)",currentOrder.getSalesOpenid(),null);
+                            //sendMessageUtil.orderApplyRefund("尊敬的朵粉,您的退款申请被退回。",payMoney,itemList.get(0).getItemProductName(),orderId,
+                            //  "请确认您的退款申请信息填写无误。如有问题请致电400-678-1860或直接在微信留言,soodo上朵将第一时间为您服务!(点击查看订单详情)",currentOrder.getSalesOpenid(),ResultInfo.ORDER_DETAIL + orderId);
+                            sendMessageUtil.refundToDismiss("尊敬的朵粉,您的退款申请被退回。",payMoney,itemList.get(0).getItemProductName(),orderId,
+                                    "请确认您的退款申请信息填写无误。 如有问题请致电400-678-1860或直接在微信留言,soodo上朵将第一时间为您服务!(点击查看订单详情)",currentOrder.getSalesOpenid(),ResultInfo.ORDER_DETAIL + orderId);
                         } catch (Exception e) {
                             logger.info("订单号:"+ orderId +"的订单驳回退款,发送微信消息失败!");
                         }
@@ -665,8 +667,8 @@ public class AdminOrderHandlers {
 
                         String payMoney = df.format((float)currentOrder.getSalesYetAmount()/100) + "元";
                         try {
-                            sendMessageUtil.orderApplyRefund("尊敬的朵粉,您的退款申请已通过",payMoney,itemList.get(0).getItemProductName(),orderId,
-                                    "退款金额将在三个工作日内退款到您的支付账户。\\r\\n如有问题请致电400-678-1860或直接在微信留言,soodo上朵将第一时间为您服务!(点击查看订单详情)",currentOrder.getSalesOpenid(),null);
+                            sendMessageUtil.orderApplyRefund("尊敬的朵粉,您的退款申请已通过",payMoney,itemList.get(0).getItemProductName(),orderId,
+                                    "退款金额将在三个工作日内退款到您的支付账户。如有问题请致电400-678-1860或直接在微信留言,soodo上朵将第一时间为您服务!(点击查看订单详情)",currentOrder.getSalesOpenid(),ResultInfo.ORDER_DETAIL + orderId);
                         } catch (Exception e) {
                             logger.info("订单号:"+ orderId +"的订单同意退款,发送微信消息失败!");
                         }
@@ -714,7 +716,7 @@ public class AdminOrderHandlers {
                         }
                         try {
                             sendMessageUtil.orderApplyReturn("尊敬的朵粉,soodo上朵已通过您的【退货申请】",orderId,payMoney,productNum+"件",currentOrder.getSalesReturnDes(),
-                                    "请您尽快联系客服人员处理,根据客服人员指引将机器寄回。\\r\\n对此结果,soodo上朵深表歉意,我们会继续提升,期待下一次相遇!",currentOrder.getSalesOpenid(),null);
+                                    "请您尽快联系客服人员处理,根据客服人员指引将机器寄回。对此结果,soodo上朵深表歉意,我们会继续提升,期待下一次相遇!",currentOrder.getSalesOpenid(),ResultInfo.ORDER_DETAIL + orderId);
                         } catch (Exception e) {
                             logger.info("订单号:"+ orderId +"的订单同意退货,发送微信消息失败!");
                         }
@@ -726,8 +728,8 @@ public class AdminOrderHandlers {
                             productNum += item.getItemNum();
                         }
                         try {
-                            sendMessageUtil.orderApplyReturn("尊敬的朵粉,您的【退货申请】没有通过",orderId,payMoney,productNum+"件",currentOrder.getSalesReturnDes(),
-                                    "请确认您的退货申请信息填写无误。\\r\\n如有问题请致电400-678-1860或直接在微信留言,soodo上朵将第一时间为您服务!",currentOrder.getSalesOpenid(),null);
+                            sendMessageUtil.orderApplyReturn("尊敬的朵粉,您的【退货申请】没有通过",orderId,payMoney,productNum+"件",currentOrder.getSalesReturnDes(),
+                                    "请确认您的退货申请信息填写无误。如有问题请致电400-678-1860或直接在微信留言,soodo上朵将第一时间为您服务!",currentOrder.getSalesOpenid(),ResultInfo.ORDER_DETAIL + orderId);
                         } catch (Exception e) {
                             logger.info("订单号:"+ orderId +"的订单驳回退货,发送微信消息失败!");
                         }
@@ -823,18 +825,17 @@ public class AdminOrderHandlers {
                                 break;
                         }
 
-                        /*try {
-                            //发送消息
-                            String temp = ResultInfo.INCOMEREMINDTEMP;
-                            temp = temp.replaceFirst("firstValueIamberry", ResultInfo.NEXTUSERTUIHUOMESSAGE)
-                                    .replaceFirst("accountValueIamberry", URLDecoder.decode(member.getUserNickname(), "UTF-8"))
-                                    .replaceFirst("timeValueIamberry", DateTimeUtil.format(new Date(), NameUtils.getConfig("DATE_TIME_FORMAT")))
-                                    .replaceFirst("typeValueIamberry", "用户退货")
-                                    .replaceFirst("remarkValueIamberry", ResultInfo.INTOSHOP);
-                            sendMessageUtil.sendTemplateMessageToOpenid(temp, toopenid, ResultInfo.TUIHUI_SHIPMENT, 3);
+                        String payMoney = df.format((float)currentOrder.getSalesYetAmount()/100) + "元";
+                        int productNum = 0;
+                        for (OrderItem item : itemList) {
+                            productNum += item.getItemNum();
+                        }
+                        try {
+                            sendMessageUtil.orderApplyReturn("尊敬的朵粉,soodo上朵已收到您寄回的产品",orderId,payMoney,productNum+"件",currentOrder.getSalesReturnDes(),
+                                    "退款金额将在三个工作日内退款到您的支付账户。对此结果,soodo上朵深表歉意,我们会继续提升,期待下一次相遇!",currentOrder.getSalesOpenid(),ResultInfo.ORDER_DETAIL + orderId);
                         } catch (Exception e) {
-
-                        }*/
+                            logger.info("订单号:"+ orderId +"的订单退货,后台确认收货,发送微信消息失败!");
+                        }
 
                     }
 
@@ -912,7 +913,7 @@ public class AdminOrderHandlers {
 
                         try {
                             sendMessageUtil.orderApplyBarter("尊敬的朵粉,您的【换货申请】通过。",orderId,itemList.get(0).getItemProductName(),
-                                    "退款金额将在三个工作日内退款到您的支付账户。\\r\\n如有问题请致电400-678-1860或直接在微信留言,soodo上朵将第一时间为您服务!(点击查看订单详情)",currentOrder.getSalesOpenid(),null);
+                                    "如有问题请致电400-678-1860或直接在微信留言,soodo上朵将第一时间为您服务!(点击查看订单详情)",currentOrder.getSalesOpenid(),ResultInfo.ORDER_DETAIL + orderId);
                         } catch (Exception e) {
                             logger.info("订单号:"+ orderId +"的订单同意换货,发送微信消息失败!");
                         }
@@ -922,7 +923,7 @@ public class AdminOrderHandlers {
 
                         try {
                             sendMessageUtil.orderApplyBarter("尊敬的朵粉,您的【换货申请】没有通过。",orderId,itemList.get(0).getItemProductName(),
-                                    "退款金额将在三个工作日内退款到您的支付账户。\\r\\n如有问题请致电400-678-1860或直接在微信留言,soodo上朵将第一时间为您服务!(点击查看订单详情)",currentOrder.getSalesOpenid(),null);
+                                    "请确认您的退货申请信息填写无误。如有问题请致电400-678-1860或直接在微信留言,soodo上朵将第一时间为您服务!(点击查看订单详情)",currentOrder.getSalesOpenid(),ResultInfo.ORDER_DETAIL + orderId);
                         } catch (Exception e) {
                             logger.info("订单号:"+ orderId +"的订单驳回换货,发送微信消息失败!");
                         }

+ 1 - 1
tooth-wechat-web/src/main/java/com/iamberry/wechat/handles/admin/AdminProbationOrderHandler.java

@@ -10,7 +10,7 @@ import java.util.List;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
-import com.iamberry.wechat.utils.SendMessageUtil;
+import com.iamberry.wechat.tools.SendMessageUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.PathVariable;

+ 1 - 1
tooth-wechat-web/src/main/java/com/iamberry/wechat/handles/cart/ProbationOrderHandler.java

@@ -7,7 +7,7 @@ import java.util.Map;
 
 import javax.servlet.http.HttpServletRequest;
 
-import com.iamberry.wechat.utils.SendMessageUtil;
+import com.iamberry.wechat.tools.SendMessageUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;

+ 1 - 1
tooth-wechat-web/src/main/java/com/iamberry/wechat/handles/giftCard/CardHandler.java

@@ -11,7 +11,7 @@ import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
-import com.iamberry.wechat.utils.SendMessageUtil;
+import com.iamberry.wechat.tools.SendMessageUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.PathVariable;

+ 1 - 1
tooth-wechat-web/src/main/java/com/iamberry/wechat/handles/mq/MQTask.java

@@ -12,7 +12,7 @@ import com.iamberry.wechat.face.agentInfo.AgentPurchaseOrderService;
 import com.iamberry.wechat.face.integral.UseIntegralService;
 import com.iamberry.wechat.tools.HttpClient431Util;
 import com.iamberry.wechat.tools.NameUtils;
-import com.iamberry.wechat.utils.SendMessageUtil;
+import com.iamberry.wechat.tools.SendMessageUtil;
 import org.apache.commons.lang.StringUtils;
 import org.springframework.beans.factory.InitializingBean;
 import org.springframework.beans.factory.annotation.Autowired;

+ 8 - 5
tooth-wechat-web/src/main/java/com/iamberry/wechat/handles/order/OrderHandler.java

@@ -122,8 +122,8 @@ public class OrderHandler {
 
 		OrderPayDto dto = new OrderPayDto();
 		// 用户信息
-		Member member = WechatUtils.getUserBySession(request);
-		member = memberService.getMemberByUserId(member.getUserId());
+		String openId  = WechatUtils.getUserBySession(request).getUserOpenid();
+		Member member = memberService.getMemberByUserOpenId(openId);
 		String cartIds = request.getParameter("cartIds");
 		if (cartIds == null) {
 			msg.setMessage(ResultInfo.cartEmptyError);
@@ -170,6 +170,9 @@ public class OrderHandler {
 				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){
@@ -178,12 +181,10 @@ public class OrderHandler {
 				}
 			}
 		}
-
 		if (sum <= 0) {
 			msg.setMessage(ResultInfo.cartEmptyError);
 			return msg;
 		}
-
 		//查询所有优惠券
 		CouponItemDto cDto = new CouponItemDto();
 		cDto.setUseropenid(member.getUserOpenid());
@@ -284,7 +285,6 @@ public class OrderHandler {
 			msg.setMessage(ResultInfo.loginOutError);
 			return msg;
 		}
-
 		member=memberService.getMemberByUserId(member.getUserId());
 		if (!validatorUtil.validatorObject(temp)) { // 校验订单信息是否输入有误
 			msg.setMessage(ResultInfo.paramFormatError);
@@ -342,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;

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

@@ -7,7 +7,7 @@ import java.util.Map;
 import java.util.Map.Entry;
 import java.util.concurrent.ConcurrentHashMap;
 
-import com.iamberry.wechat.utils.SendMessageUtil;
+import com.iamberry.wechat.tools.SendMessageUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 
 import com.iamberry.wechat.core.entity.admin.ShopSystemRule;
@@ -34,7 +34,7 @@ public class OrderCloseListener {
 	public final static Map<String, Object> validateCodeMap = new ConcurrentHashMap<>(); 
 	
 	public void closeOrderByCreateTime() {
-		System.out.println("走一走关闭订单的这个");
+		/*System.out.println("走一走关闭订单的这个");
 		
 		Order order = new Order();
 		//获取规则表中对于订单关闭限定的时间
@@ -63,7 +63,6 @@ public class OrderCloseListener {
 					validateCodeMap.put(orders.getSalesOrderid(), DateTimeUtil.format(new Date(),NameUtils.getConfig("DATE_TIME_FORMAT")));
 					break;
 				}
-				
 			}
 		}
 		moveValidateCodeMap();
@@ -91,7 +90,7 @@ public class OrderCloseListener {
 		//修改优惠券状态
 		if (itemList.size()> 0) {
 			couponItemService.updateCouponItemList(itemList);
-		}
+		}*/
 	}
 	
 	//时间大于5分钟的,全部都 移除.......

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

@@ -2,7 +2,7 @@ package com.iamberry.wechat.handles.order.orderListener;
 
 import java.util.List;
 
-import com.iamberry.wechat.utils.SendMessageUtil;
+import com.iamberry.wechat.tools.SendMessageUtil;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 

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

@@ -16,7 +16,7 @@ import com.iamberry.wechat.core.entity.agentInfo.AgentTooth;
 import com.iamberry.wechat.face.agentInfo.AgentInfoService;
 import com.iamberry.wechat.face.agentInfo.AgentPurchaseOrderService;
 import com.iamberry.wechat.tools.*;
-import com.iamberry.wechat.utils.SendMessageUtil;
+import com.iamberry.wechat.tools.SendMessageUtil;
 import net.sf.json.JSONArray;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;

+ 5 - 2
tooth-wechat-web/src/main/java/com/iamberry/wechat/handles/pay/ResponseWechatPayHandler.java

@@ -42,7 +42,7 @@ import com.iamberry.wechat.face.order.ProbationShopOrderService;
 import com.iamberry.wechat.face.qrcode.TemporaryQrcodeService;
 import com.iamberry.wechat.handles.mq.MQServiceProxy;
 import com.iamberry.wechat.tools.*;
-import com.iamberry.wechat.utils.SendMessageUtil;
+import com.iamberry.wechat.tools.SendMessageUtil;
 import org.apache.commons.lang3.StringUtils;
 import org.jdom.Document;
 import org.jdom.Element;
@@ -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(),

+ 1 - 1
tooth-wechat-web/src/main/java/com/iamberry/wechat/handles/probation/ProbationHandler.java

@@ -5,7 +5,7 @@ import java.util.List;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
-import com.iamberry.wechat.utils.SendMessageUtil;
+import com.iamberry.wechat.tools.SendMessageUtil;
 import org.apache.commons.lang.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;

+ 2 - 0
tooth-wechat-web/src/main/resources/ResultInfo.properties

@@ -72,4 +72,6 @@ order_apply_barter=i4WvtaMw3zJHP4PLmqkvM8l3EXHIFmGL9vysfjn1NKA
 order_apply_return=rypqDnrOLbEjTsFJFBa35jOSsFG_-A1i9hB6OjI8zQY
 order_apply_refund=ySwst_myzaUGRm3T56308QISvPIiP4ZXG2SqjD9qlEw
 order_send_success=eMk2Cu5IUPTIUVlNK5MdHNo6-QFiax3p85VBJXJfbTM
+refund_to_dismiss=uevo2BouTPCuBWDSPQMHuhBUbrz-NjlqzfIeyIqZhJ8
+refund_application_notice=d_dWYOK2p16B0Qow_D8cbJW0PFtqMB6Jng9-7Vsk0ro
 

+ 6 - 6
tooth-wechat-web/src/main/resources/iamberry-wechat-service-orderTesk.xml

@@ -25,19 +25,19 @@
 	<bean id="closeOrder"
 		class="com.iamberry.wechat.handles.order.orderListener.OrderCloseListener" ></bean>
 		
-	<bean id="closeOrderTask"
+	<!--<bean id="closeOrderTask"
 		class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
 		<property name="targetObject" ref="closeOrder" />
 		<property name="targetMethod" value="closeOrderByCreateTime" />
 		 <property name="concurrent" value="false" />
-	</bean>
+	</bean>-->
 	
-	<bean id="closeOrderTime"
+	<!--<bean id="closeOrderTime"
 		class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
-		<property name="jobDetail" ref="closeOrderTask" />
+		<property name="jobDetail" ref="closeOrderTask" />-->
 		<!-- cron表达式  秒 分 时 日 月  星期 年-->
-		<property name="cronExpression" value="0 0/2 * * * ?" />
-	</bean>
+		<!--<property name="cronExpression" value="0 0/50 * * * ?" />
+	</bean>-->
 	<!-- 45分钟后订单关闭end -->
 	
 	<!-- 30分钟后租赁订单关闭start -->

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

@@ -95,7 +95,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>
@@ -530,7 +530,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;