Browse Source

修改bug

wangxiaoming 7 years ago
parent
commit
e6dd120c6b

+ 197 - 0
iamberry-common-core/src/main/java/com/iamberry/wechat/tools/SendMessageUtil.java

@@ -0,0 +1,197 @@
+package com.iamberry.wechat.tools;
+
+import com.iamberry.wechat.tools.NameUtils;
+import com.iamberry.wechat.tools.ResultInfo;
+import com.iamberry.wechat.tools.WeixinUtil;
+import org.springframework.stereotype.Component;
+
+import java.util.HashMap;
+/**
+ * @company	深圳爱贝源科技有限公司
+ * @website www.iamberry.com
+ * @author 	献
+ * @tel		18271840547
+ * @date	2016年11月3日
+ * @explain	发送消息通知工具类类
+ */
+@Component
+public class SendMessageUtil {
+
+		//快递公司列表
+		public static HashMap<String, String> hashmap = new HashMap<String, String>();
+		//正式环境
+		{
+			hashmap.put("sto", "申通快递");
+			hashmap.put("yto", "圆通快递");
+			hashmap.put("sf", "顺丰快递");
+			hashmap.put("longbanwuliu", "龙邦快递");
+			hashmap.put("ems", "邮政EMS");
+			hashmap.put("zto", "中通快递");
+			hashmap.put("zjs", "宅急送");
+			hashmap.put("yunda", "韵达快递");
+			hashmap.put("cces", "cces快递");
+			hashmap.put("pick", "上门提货");
+			hashmap.put("htky", "汇通快递");
+			hashmap.put("ttkdex", "天天快递");
+			hashmap.put("stars", "邮政EMS");
+			hashmap.put("jd", "星晨急便");
+			hashmap.put("01", "其他");
+			hashmap.put("02", "上门送货");
+		}
+		
+		/**
+		 * 发送模板通知给用户
+		 * @param date data 日期
+		 * @param openId 接受的用户id
+		 * @param url  点击打开的url
+		 * @param type 发送类型 1,收益成功通知 2,发货提醒通知 3、收入提醒通知,4、订单未支付通知
+		 * @return
+		 */
+		public boolean sendTemplateMessageToOpenid(String date,String openId, String url,Integer type) {
+			boolean result =false;
+			switch (type) {
+			case 1:  //1,收益成功通知
+				WeixinUtil.sendTemplateMessage(NameUtils.appId, NameUtils.appSecret, openId,ResultInfo.rewards_template_id, date, url);
+				break;
+			case 2:  // 2,发货提醒通知 
+				WeixinUtil.sendTemplateMessage(NameUtils.appId, NameUtils.appSecret, openId, ResultInfo.Shipment_template_id, date, url);
+				break;
+			case 3:  //3、收入提醒通知
+				WeixinUtil.sendTemplateMessage(NameUtils.appId, NameUtils.appSecret, openId, ResultInfo.Income_template_id, date, url);
+				break;
+			case 4:  //4、订单未支付通知
+				WeixinUtil.sendTemplateMessage(NameUtils.appId, NameUtils.appSecret, openId, ResultInfo.Order_template_id, date, url);
+				break;
+			case 5:  //5、支付成功
+				WeixinUtil.sendTemplateMessage(NameUtils.getConfig("appId"), NameUtils.getConfig("appSecret"), openId, ResultInfo.probation_pay_success, date, url);
+				break;
+			case 6:  //6、用户申请退款提醒
+				WeixinUtil.sendTemplateMessage(NameUtils.getConfig("appId"), NameUtils.getConfig("appSecret"), openId, ResultInfo.order_apply_refund, date, url);
+				break;
+			case 7:  //7、用户 申请退货 提醒
+				WeixinUtil.sendTemplateMessage(NameUtils.getConfig("appId"), NameUtils.getConfig("appSecret"), openId, ResultInfo.order_apply_return, date, url);
+				break;
+			case 8:  //8、用户 申请换货 提醒
+				WeixinUtil.sendTemplateMessage(NameUtils.getConfig("appId"), NameUtils.getConfig("appSecret"), openId, ResultInfo.order_apply_barter, date, url);
+				break;
+			case 9:  //9、发货后 提醒
+				WeixinUtil.sendTemplateMessage(NameUtils.getConfig("appId"), NameUtils.getConfig("appSecret"), openId, ResultInfo.order_send_success, date, url);
+				break;
+			default:
+				break;
+			}
+			result = true;
+			return result;
+		}
+
+
+	/**
+	 * 支付成功
+	 * @param first
+	 * @param keyword1
+	 * @param keyword2
+	 * @param keyword3
+	 * @param remark
+	 * @param openId
+	 * @param url
+	 */
+	public void probationPaySuccess(String first,String keyword1,String keyword2,String keyword3,String remark,String openId,String url){
+		String temp = ResultInfo.PROBATIONPAYSUCCESS;
+		temp = temp.replaceFirst("first", first)
+				.replaceFirst("keyword1",keyword1)
+				.replaceFirst("keyword2",keyword2)
+				.replaceFirst("keyword3",keyword3)
+				.replaceFirst("colorValue","#1C86EE")
+				.replaceFirst("remark",remark);
+		sendTemplateMessageToOpenid(temp, openId, url,5);
+	}
+
+
+	/**
+	 * 用户申请退款提醒
+	 * @param first
+	 * @param keyword1
+	 * @param keyword2
+	 * @param keyword3
+	 * @param remark
+	 * @param openId
+	 * @param url
+	 */
+	public void orderApplyRefund(String first,String keyword1,String keyword2,String keyword3,String remark,String openId,String url){
+		String temp = ResultInfo.APPLYREFUND;
+		temp = temp.replaceFirst("first", first)
+				.replaceFirst("keyword1",keyword1)
+				.replaceFirst("keyword2",keyword2)
+				.replaceFirst("keyword3",keyword3)
+				.replaceFirst("colorValue","#1C86EE")
+				.replaceFirst("remark",remark);
+		sendTemplateMessageToOpenid(temp, openId, url,6);
+	}
+
+
+	/**
+	 * 退货
+	 * @param first
+	 * @param keyword1
+	 * @param keyword2
+	 * @param keyword3
+	 * @param keyword4
+	 * @param remark
+	 * @param openId
+	 * @param url
+	 */
+	public void orderApplyReturn(String first,String keyword1,String keyword2,String keyword3,String keyword4,String remark,String openId,String url){
+		String temp = ResultInfo.APPLYRETURN;
+		temp = temp.replaceFirst("first", first)
+				.replaceFirst("keyword1",keyword1)
+				.replaceFirst("keyword2",keyword2)
+				.replaceFirst("keyword3",keyword3)
+				.replaceFirst("keyword4",keyword4)
+				.replaceFirst("colorValue","#1C86EE")
+				.replaceFirst("remark",remark);
+		sendTemplateMessageToOpenid(temp, openId, url,7);
+	}
+
+	/**
+	 * 申请换货
+	 * @param first
+	 * @param keyword1
+	 * @param keyword2
+	 * @param remark
+	 * @param openId
+	 * @param url
+	 */
+	public void orderApplyBarter(String first,String keyword1,String keyword2,String remark,String openId,String url){
+		String temp = ResultInfo.APPLYBARTER;
+		temp = temp.replaceFirst("first", first)
+				.replaceFirst("keyword1",keyword1)
+				.replaceFirst("keyword2",keyword2)
+				.replaceFirst("colorValue","#1C86EE")
+				.replaceFirst("remark",remark);
+		sendTemplateMessageToOpenid(temp, openId, url,8);
+	}
+
+	/**
+	 * 发货后提醒
+	 * @param first
+	 * @param keyword1
+	 * @param keyword2
+	 * @param keyword3
+	 * @param keyword4
+	 * @param remark
+	 * @param openId
+	 * @param url
+	 */
+	public void orderSendSuccess(String first,String keyword1,String keyword2,String keyword3,String keyword4,String remark,String openId,String url){
+		String temp = ResultInfo.SENDSUCCESS;
+		temp = temp.replaceFirst("first", first)
+				.replaceFirst("keyword1",keyword1)
+				.replaceFirst("keyword2",keyword2)
+				.replaceFirst("keyword3",keyword3)
+				.replaceFirst("keyword4",keyword4)
+				.replaceFirst("colorValue","#1C86EE")
+				.replaceFirst("remark",remark);
+		sendTemplateMessageToOpenid(temp, openId, url,9);
+	}
+
+}

+ 1 - 1
iamberry-common-tool/src/main/java/com/iamberry/wechat/tools/NameUtils.java

@@ -44,7 +44,7 @@ public class NameUtils {
 	// 线下试用订单ID前缀
 	public static final String ORDER_ID = "1310";
 	/** path root */
-	public static final String PATH_ROOT = "http://test.iamberry.com";
+	public static final String PATH_ROOT = "https://h5.iamberry.com";
 //	public static final String PATH_ROOT = "http://h5.iamberry.com";
 	/** 微信端会员 */
 	public static final String WECHAT_MEMBER_ROOT = "/member"; // 微信端会员根目录

+ 39 - 4
iamberry-common-tool/src/main/java/com/iamberry/wechat/tools/ResultInfo.java

@@ -75,7 +75,13 @@ public class ResultInfo {
 		public static String Income_template_id="3oJmW0XWy47RSdLwgjj1Iy2hs8JIivq-WWVPsWPAMMI";//收入提醒模版id
 		public static String Shipment_template_id="744KA1PdB1I5PzRcjtxqbEz5t2bp8vdsi4I2ytW1rbE";//发货提醒模版id
 		public static String Order_template_id="K58fJRkIy0ELcbKvrpxwt4K_zXUbprYKM4fWVgHwjro";//订单未支付模版id
-	
+
+		public static String probation_pay_success= "";	//订单支付成功
+		public static String order_apply_refund= "";	//用户申请退款提醒
+		public static String order_apply_return= "";	//用户 申请退货 提醒
+		public static String order_apply_barter= "";	//用户 申请换货 提醒
+		public static String order_send_success= "";	//发货后 提醒
+
 	// 返现到账通知消息模版
 	public static String REWARDSREMINDTEMP =  "{'first':{'color':'#173177','value':'firstValueIamberry'}, order:{'color':'#173177','value':'orderValueIamberry'}, 'money':{'color':'#173177', 'value':'moneyValueIamberry'}, 'remark':{'color':'#173177','value':'remarkValueIamberry'}}";
 	
@@ -87,8 +93,29 @@ public class ResultInfo {
 	
 	//订单未支付(5分钟)通知
 	public static String ORDERWEIZHIFU = "{'first':{'color':'#173177','value':'firstValueIamberry'}, 'ordertape':{'color':'#173177','value':'ordertapeValue'}, 'ordeID':{'color':'#173177', 'value':'ordeIDVALUE'},'remark':{'color':'#173177','value':'remarkValueIamberry'}}";
-		
-	
+
+	/**	  订单支付成功	 */
+	public static String PROBATIONPAYSUCCESS = "{'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'}}";
+
+	/** 	试用订单关闭通知		*/
+	//public static String PROBATIONSHUTDOWN = "{'first':{'color':'#173177','value':'firstValueIamberry'}, 'transid':{'color':'#173177','value':'transidValue'}, 'fee':{'color':'#173177', 'value':'feeValue'}, 'pay_time':{'color':'#173177','value':'pay_timeValue'},'remark':{'color':'#173177','value':'remarkValue'}}";
+
+	/**  用户申请退款提醒 */
+	public static String APPLYREFUND= "{'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'}}";
+
+	/**  用户 申请退货 提醒 */
+	public static String APPLYRETURN= "{'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 APPLYBARTER= "{'first':{'color':'#173177','value':'firstValueIamberry'}, 'keyword1':{'color':'#173177','value':'keyword1Value'}, 'keyword2':{'color':'#173177', 'value':'keyword2Value'},'remark':{'color':'colorValue','value':'remarkValue'}}";
+
+	/**  发货后 提醒 */
+	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 REFUNDAPPLICATIONNOTICE= "{'first':{'color':'#173177','value':'firstValueIamberry'}, 'orderProductPrice':{'color':'#173177','value':'keyword1Value'}, 'orderProductName':{'color':'#173177', 'value':'keyword2Value'}, 'orderName':{'color':'#173177', 'value':'keyword3Value'},'remark':{'color':'colorValue','value':'remarkValue'}}";
+
+
 	//微信模板消息提示语
 	public static final String REWARDSWILLMESSAGE = "尊敬的客户您好~您有新的返现即将入账~";
 	public static final String REWARDSHASMESSAGE  = "您有新的返现已入账~";
@@ -99,7 +126,15 @@ public class ResultInfo {
 	public static final String NEXTUSERTUIHUOMESSAGE = "您的下线已退货~";
 	public static final String ORDERGUOQI = "您有订单未支付~";
 
-	
+	public static final String PAYSUCCESS = "尊敬的用户,您好,您已成功支付";
+	public static final String PAYSUCCESSFOOT = "感谢您的支持,祝您使用愉快!";
+	public static final String sendRemark1 = "如有问题请致电400-800-6692或直接在微信留言,Aiberle爱贝源将第一时间为您服务!(点击查看订单详情)";
+
+	/**
+	 * 订单详情连接
+	 */
+	public static String ORDER_DETAIL = "https://s.iamberry.com/aiberle/wechat/order-details.html?orderId=";
+
 	// 凡是下线关注时的回复语
 	public static String FOLLOW_REPLY_MESSAGE_TEXT = "恭喜您,已获得购买冲奶机优惠40元资格!";
 	

+ 7 - 3
iamberry-common-tool/src/main/java/com/iamberry/wechat/tools/loadResultUtil.java

@@ -81,9 +81,13 @@ public class loadResultUtil {
 			ResultInfo.Income_template_id = prop.getProperty("Income_template_id");//收入提醒模版id
 			ResultInfo.Shipment_template_id = prop.getProperty("Shipment_template_id");//发货提醒模版id
 			ResultInfo.Order_template_id = prop.getProperty("Order_template_id");//订单未支付模版id
-			
-			
-			
+
+			ResultInfo.probation_pay_success = prop.getProperty("probation_pay_success");	//订单支付成功
+			ResultInfo.order_apply_refund = prop.getProperty("order_apply_refund");			//用户申请退款提醒
+			ResultInfo.order_apply_return = prop.getProperty("order_apply_return");			//用户 申请退货 提醒
+			ResultInfo.order_apply_barter = prop.getProperty("order_apply_barter");			//用户 申请换货 提醒
+			ResultInfo.order_send_success = prop.getProperty("order_send_success");			//发货后 提醒
+
 		} catch (IOException e) {
 			ResultInfo.SUCCESSINFO="操作成功!";
 			ResultInfo.ERRORINFO="操作失败!";

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

@@ -20,6 +20,7 @@ PUBLIC
 			P.PRODUCT_STATUS,
 			pc.color_name,
 			pc.color_product_pic,
+			p.product_introduce_img,
 			PRODUCT_REMARK,
 			pc.color_id
 		FROM
@@ -38,7 +39,7 @@ PUBLIC
 		<result column="color_discount" property="productPrice"/>
 		<result column="product_status" property="productStatus"/>
 		<result column="color_name" property="productColor"/>
-		<result column="color_product_pic" property="productIntroduceImg"/>
+		<result column="product_introduce_img" property="productIntroduceImg"/>
 		<result column="product_remark" property="productRemark"/>
 		<result column="color_id" property="cartColorId"/>
 		<collection property="salesUserGiftList" column="color_id" ofType="SalesUserGift" select="listGift"/>

+ 17 - 17
iamberry-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/productInfoMapper.xml

@@ -10,21 +10,21 @@
 	</sql>
 
 	<resultMap id="productMap" type="Product">
-		<id column="product_id" property="productId"/>
-		<result column="product_name" property="productName"/>
-		<result column="product_abbreviation" property="productAbbreviation"/>
-		<result column="product_salesnum" property="productSalesnum"/>
-		<result column="product_accessnum" property="productAccessnum"/>
-		<result column="product_status" property="productStatus"/>
-		<result column="product_parameter_img" property="productParameterImg"/>
-		<result column="PRODUCT_CREATE_DATE" property="productCreateDate"/>
-		<result column="PRODUCT_SORT_NUM" property="productSortNum"/>
-		<result column="PRODUCT_COLOR_DES" property="productColorDes"/>
-		<result column="PRODUCT_REMARK" property="productRemark"/>
-		<result column="PRODUCT_CHOICENESS" property="productChoiceness"/>
-		<result column="product_choiceness_im" property="productChoicenessIm"/>
-		<collection property="productColorList" column="product_id" ofType="colorMap" select="selectProductColor"/>
-	</resultMap>
+	<id column="product_id" property="productId"/>
+	<result column="product_name" property="productName"/>
+	<result column="product_abbreviation" property="productAbbreviation"/>
+	<result column="product_salesnum" property="productSalesnum"/>
+	<result column="product_accessnum" property="productAccessnum"/>
+	<result column="product_status" property="productStatus"/>
+	<result column="product_parameter_img" property="productParameterImg"/>
+	<result column="PRODUCT_CREATE_DATE" property="productCreateDate"/>
+	<result column="PRODUCT_SORT_NUM" property="productSortNum"/>
+	<result column="PRODUCT_COLOR_DES" property="productColorDes"/>
+	<result column="PRODUCT_REMARK" property="productRemark"/>
+	<result column="PRODUCT_CHOICENESS" property="productChoiceness"/>
+	<result column="product_choiceness_im" property="productChoicenessIm"/>
+	<collection property="productColorList" column="product_id" ofType="colorMap" select="selectProductColor"/>
+</resultMap>
 
 	<resultMap id="colorMap" type="ProductColor">
 		<id column="color_id" property="colorId"/>
@@ -68,7 +68,7 @@
 				AND PRODUCT_NAME like #{str} 
 			</if>
 			<if test="otherInt != null and otherInt != ''">
-				AND tb_iamberry_product_child_type.type_id  = #{otherInt}
+				AND TB_IAMBERRY_PRODUCT_INFO.product_type = #{otherInt}
 			</if>
 			GROUP BY TB_IAMBERRY_PRODUCT_INFO.PRODUCT_ID
 			ORDER BY PRODUCT_CREATE_DATE DESC 
@@ -264,7 +264,7 @@
 			PRODUCT_CHOICENESS_IM
 			FROM
 			TB_IAMBERRY_PRODUCT_INFO
-			LEFT JOIN TB_IAMBERRY_PRODUCT_COLOR on TB_IAMBERRY_PRODUCT_INFO.product_id = TB_IAMBERRY_PRODUCT_COLOR.color_product_id
+
 			LEFT JOIN tb_iamberry_product_child_type on tb_iamberry_product_child_type.child_type_id = TB_IAMBERRY_PRODUCT_INFO.product_child_type
 			WHERE
 			PRODUCT_STATUS = 1

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

@@ -8,6 +8,7 @@ import java.util.Map;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
+import com.iamberry.wechat.tools.*;
 import net.sf.json.JSONObject;
 
 import org.apache.commons.lang3.StringEscapeUtils;
@@ -26,9 +27,7 @@ import com.iamberry.wechat.core.entity.order.OrderItem;
 import com.iamberry.wechat.face.cart.CartService;
 import com.iamberry.wechat.face.mq.EfastOrderService;
 import com.iamberry.wechat.face.order.AdminOrderService;
-import com.iamberry.wechat.tools.DateTimeUtil;
-import com.iamberry.wechat.tools.HttpClient431Util;
-import com.iamberry.wechat.tools.NameUtils;
+
 @Service
 public class EfastOrderServiceImpl implements EfastOrderService {
 	
@@ -40,6 +39,9 @@ public class EfastOrderServiceImpl implements EfastOrderService {
 	
 	@Autowired
 	private CartService cartService;
+
+	@Autowired
+	private SendMessageUtil sendMessageUtil;
 	
 
 	@Override
@@ -71,6 +73,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();
@@ -80,6 +85,24 @@ public class EfastOrderServiceImpl implements EfastOrderService {
 				order.setSalesPostFirm(respData.getString("shipping_name"));
 				order.setSalesPostNum(respData.getString("invoice_no"));
 				adminOrderService.updateOrderDeliver(order);
+
+				if(orderByaddress.getSalesStatus() == 2){
+					try {
+						sendMessageUtil.orderSendSuccess(
+								"尊敬的朵粉,您的订单已发货,物流信息:",
+								order.getSalesOrderid(),
+								SendMessageUtil.hashmap.get(respData.getString("shipping_name")),
+								respData.getString("invoice_no"),
+								orderByaddress.getSalesAddressInfo(),
+								ResultInfo.sendRemark1,
+								orderByaddress.getSalesOpenid(),
+								ResultInfo.ORDER_DETAIL+order.getSalesOrderid()
+						);
+					} catch (Exception e) {
+						logger.info("订单号:"+ order.getSalesOrderid() +"的订单已发货,发送微信消息失败!");
+					}
+				}
+
 				return true;
 			}
 			logger.error(this, "get-订单号为:" + message.getServiceToMessage() + "的订单,百胜返回信息:" + resultJson);

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

@@ -40,7 +40,7 @@ import com.iamberry.wechat.handles.mq.MQServiceProxy;
 import com.iamberry.wechat.tools.DateTimeUtil;
 import com.iamberry.wechat.tools.NameUtils;
 import com.iamberry.wechat.tools.ResultInfo;
-import com.iamberry.wechat.utils.SendMessageUtil;
+import com.iamberry.wechat.tools.SendMessageUtil;
 
 @Controller
 @RequestMapping("/admin/order")

+ 7 - 4
iamberry-wechat-web/src/main/java/com/iamberry/wechat/handles/cart/CartHandlers.java

@@ -6,7 +6,9 @@ import java.util.*;
 import javax.servlet.http.HttpServletRequest;
 
 import com.iamberry.wechat.core.entity.order.OrderItem;
+import com.iamberry.wechat.core.entity.product.ProductColor;
 import com.iamberry.wechat.core.entity.product.SalesUserGift;
+import com.iamberry.wechat.face.cart.ProductInfoService;
 import com.iamberry.wechat.tools.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
@@ -80,6 +82,9 @@ public class CartHandlers {
 	
 	@Autowired
 	private CouponItemService couponItemService;
+
+	@Autowired
+	private ProductInfoService productInfoService;
 	
 	/**
 	 * 进入购物车页面
@@ -229,20 +234,19 @@ public class CartHandlers {
 	/**
 	 * 	点击加号按钮添加商品到购物车
 	 * @param request
-	 * @param productId
 	 * @param cartNum
 	 * @return	ResultMsg
 	 * @throws Exception
 	 */
 	@ResponseBody
 	@RequestMapping(value = "/addCart",method = RequestMethod.GET)
-	public ResultMsg  addCart(HttpServletRequest request,@RequestParam("productId") Integer productId,
+	public ResultMsg  addCart(HttpServletRequest request,
 							  @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()) {
+		if (productColorId != null && !"".equals(productColorId) ) {
 			cid = Integer.parseInt(productColorId);
 		}else{
 			remsg.setMessage(ResultInfo.ERRORINFO);
@@ -429,7 +433,6 @@ public class CartHandlers {
 				}
 			}
 		}
-		
 		Integer pageCount = cartService.getOrderNumByOpenId(bean);
 		int count = pageCount % pageSize == 0? pageCount/pageSize:(pageCount/pageSize)+1;
 		Map<String,Object> map = new HashMap<String,Object>();

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

@@ -18,7 +18,7 @@ import com.iamberry.wechat.face.order.AdminOrderService;
 import com.iamberry.wechat.tools.DateTimeUtil;
 import com.iamberry.wechat.tools.NameUtils;
 import com.iamberry.wechat.tools.ResultInfo;
-import com.iamberry.wechat.utils.SendMessageUtil;
+import com.iamberry.wechat.tools.SendMessageUtil;
 
 public class OrderCloseListener {
 

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

@@ -1,12 +1,9 @@
 package com.iamberry.wechat.handles.order.orderListener;
 
-import java.net.URLDecoder;
-import java.util.Date;
 import java.util.List;
 
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.scheduling.annotation.Scheduled;
 
 import com.iamberry.wechat.core.entity.admin.ShopSystemRule;
 import com.iamberry.wechat.core.entity.drp.PlaceInfo;
@@ -19,10 +16,8 @@ import com.iamberry.wechat.face.member.MemberService;
 import com.iamberry.wechat.face.order.AdminOrderService;
 import com.iamberry.wechat.face.relationship.DealerRelationService;
 import com.iamberry.wechat.face.relationship.WdRelationService;
-import com.iamberry.wechat.tools.DateTimeUtil;
-import com.iamberry.wechat.tools.NameUtils;
 import com.iamberry.wechat.tools.ResultInfo;
-import com.iamberry.wechat.utils.SendMessageUtil;
+import com.iamberry.wechat.tools.SendMessageUtil;
 
 /**
  * 定时任务:30天后自动奖励积分

+ 30 - 3
iamberry-wechat-web/src/main/java/com/iamberry/wechat/handles/pay/ResponseWechatPayHandler.java

@@ -3,6 +3,7 @@ package com.iamberry.wechat.handles.pay;
 import java.io.BufferedOutputStream;
 import java.io.IOException;
 import java.io.StringReader;
+import java.text.DecimalFormat;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
@@ -11,6 +12,9 @@ import java.util.Map;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
+import com.iamberry.wechat.core.entity.order.OrderItem;
+import com.iamberry.wechat.tools.ResultInfo;
+import com.iamberry.wechat.tools.SendMessageUtil;
 import org.jdom.Document;
 import org.jdom.Element;
 import org.jdom.input.SAXBuilder;
@@ -67,7 +71,8 @@ public class ResponseWechatPayHandler {
 	@Autowired
 	private MemberService memberService;
 
-	
+	@Autowired
+	private SendMessageUtil sendMessageUtil;
 	
 	@Autowired
 	private AdminOrderService adminOrderService;
@@ -123,6 +128,13 @@ public class ResponseWechatPayHandler {
 						order.setSalesTransactionId(wpr.getTransactionId()); // 微信支付ID
 						order.setSalesTransactionDate(new Date()); // 微信支付时间
 						order.setSalesOpenid(wpr.getOpenid());
+
+						Order or = adminOrderService.getShopOrderByOrderId(orderIdMD5);
+						if(or.getSalesStatus() != 1){
+							return;
+						}
+
+						List<OrderItem> orderItemList = adminOrderService.getShopOrderItemByOrderId(or.getSalesOrderid());
 						
 						// 修改订单状态
 						int count = cartService.updateOrderStatus(order);
@@ -195,9 +207,24 @@ public class ResponseWechatPayHandler {
 							message.setServiceHandlerMethodName("addOrderInfoToEfast");
 							mQservice.insertMQMessage(message);
 						} catch (Exception e) {
-//System.out.println("===========pay 201  插入返利到百胜失败==============");		
 						}
-//System.out.println("===========pay 201  插入返利到百胜完成==============");		
+
+						//推送消息到微信
+						DecimalFormat df=new DecimalFormat("0.00");
+						String payMoney = df.format((float)or.getSalesYetAmount()/100) + "元";
+						try {
+							sendMessageUtil.probationPaySuccess(
+									ResultInfo.PAYSUCCESS,
+									orderItemList.get(0).getItemProductName()+"...",
+									or.getSalesOrderid(),
+									payMoney,
+									ResultInfo.sendRemark1,
+									order.getSalesOpenid(),
+									ResultInfo.ORDER_DETAIL+order.getSalesOrderid());
+						} catch (Exception e) {
+							System.out.println("推送支付成功消息失败!");
+						}
+
 						try {
 							//给父节点推送返利消息
 //							rewardsMessage(member,orderIdMD5);

+ 0 - 59
iamberry-wechat-web/src/main/java/com/iamberry/wechat/utils/SendMessageUtil.java

@@ -1,59 +0,0 @@
-package com.iamberry.wechat.utils;
-
-import java.util.HashMap;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-import com.iamberry.wechat.tools.NameUtils;
-import com.iamberry.wechat.tools.ResultInfo;
-import com.iamberry.wechat.tools.WeixinUtil;
-/**
- * @company	深圳爱贝源科技有限公司
- * @website www.iamberry.com
- * @author 	献
- * @tel		18271840547
- * @date	2016年11月3日
- * @explain	发送消息通知工具类类
- */
-@Component
-public class SendMessageUtil {
-
-		//快递公司列表
-		public static HashMap<String, String> hashmap = new HashMap<String, String>();
-		//正式环境
-		{
-			hashmap.put("shentong", "申通快递"); 
-			hashmap.put("yuantong", "圆通快递");
-			hashmap.put("shunfeng", "顺丰快递");
-			hashmap.put("longbanwuliu", "龙邦快递");	
-		}
-		
-		/**
-		 * 发送模板通知给用户
-		 * @param date data 日期
-		 * @param openId 接受的用户id
-		 * @param url  点击打开的url
-		 * @param type 发送类型 1,收益成功通知 2,发货提醒通知 3、收入提醒通知,4、订单未支付通知
-		 * @return
-		 */
-		public boolean sendTemplateMessageToOpenid(String date,String openId, String url,Integer type) {
-			boolean result =false;
-			switch (type) {
-			case 1:  //1,收益成功通知
-				WeixinUtil.sendTemplateMessage(NameUtils.appId, NameUtils.appSecret, openId,ResultInfo.rewards_template_id, date, url);
-				break;
-			case 2:  // 2,发货提醒通知 
-				WeixinUtil.sendTemplateMessage(NameUtils.appId, NameUtils.appSecret, openId, ResultInfo.Shipment_template_id, date, url);
-				break;
-			case 3:  //3、收入提醒通知
-				WeixinUtil.sendTemplateMessage(NameUtils.appId, NameUtils.appSecret, openId, ResultInfo.Income_template_id, date, url);
-				break;
-			case 4:  //4、订单未支付通知
-				WeixinUtil.sendTemplateMessage(NameUtils.appId, NameUtils.appSecret, openId, ResultInfo.Order_template_id, date, url);
-				break;
-			default: 
-				break;
-			}
-			result = true;
-			return result;
-		}
-}

+ 5 - 1
iamberry-wechat-web/src/main/resources/ResultInfo.properties

@@ -71,7 +71,11 @@ rewards_template_id=d9PDeKqQh19QIbQbSJ2iPftW3yzCIrWRbP0wncjI92w
 Income_template_id=Q0QpJWNcKODceBtxrYUUVRZejljaL0A31Bql3SlrdYI
 Shipment_template_id=tSUvS9TdxgTxqlDp1dK-4clzDKPCbGUIdQDCCSUt7sE
 Order_template_id=sWKXh5WgBAGM1r8pwBs7Jjr1PP4Q41FsVUj4TT306u0
-
+probation_pay_success=eYitquwqnl4WlmBzDAJPztiCvavhmXNtt20gBHR1q7Y
+order_apply_refund=PbTdaDa4payS_Iq6PE7xQRSaG1S21HW0lncnU4dfbYI
+order_apply_return=pnxucPuUygE6epyyC3oPGhjxm2o7mK_B2vLzYxIYXRo
+order_apply_barter=qmj2m-BVyZtEKsKCSBbPlJVSykOr2YScr9pRkPA909w
+order_send_success=Nd6MapQ80Ye4PsQOwJdYljxyPGz6N5gfmGip_KztnhY