浏览代码

修改了后台订单的操作

liuzhiwei 7 年之前
父节点
当前提交
46e539b2c5
共有 17 个文件被更改,包括 485 次插入76 次删除
  1. 16 6
      tooth-common-core/src/main/java/com/iamberry/wechat/core/entity/OrderUtil.java
  2. 18 0
      tooth-common-core/src/main/java/com/iamberry/wechat/core/entity/order/Order.java
  3. 11 0
      tooth-common-core/src/main/java/com/iamberry/wechat/core/entity/order/OrderActionDto.java
  4. 39 2
      tooth-common-tool/src/main/java/com/iamberry/wechat/tools/ResultInfo.java
  5. 5 1
      tooth-common-tool/src/main/java/com/iamberry/wechat/tools/loadResultUtil.java
  6. 6 0
      tooth-wechat-interface/src/main/java/com/iamberry/wechat/face/order/AdminOrderService.java
  7. 7 0
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/AdminOrderMapper.java
  8. 23 6
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/adminOrderMapper.xml
  9. 5 0
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/order/AdminOrderServiceImpl.java
  10. 7 0
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/order/dao/AdminOrderDao.java
  11. 5 0
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/order/dao/impl/AdminOrderDaoImpl.java
  12. 28 26
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/wechat/WeChatServiceImpl.java
  13. 136 18
      tooth-wechat-web/src/main/java/com/iamberry/wechat/handles/admin/AdminOrderHandlers.java
  14. 95 1
      tooth-wechat-web/src/main/java/com/iamberry/wechat/utils/SendMessageUtil.java
  15. 4 0
      tooth-wechat-web/src/main/resources/ResultInfo.properties
  16. 2 0
      tooth-wechat-web/src/main/resources/platform.properties
  17. 78 16
      tooth-wechat-web/src/main/webapp/WEB-INF/views/admin/order/orderList.jsp

+ 16 - 6
tooth-common-core/src/main/java/com/iamberry/wechat/core/entity/OrderUtil.java

@@ -86,7 +86,8 @@ public class OrderUtil {
                     "insertPostInfoAndSend",    // 录入物流信息并发货
                     "rejectedReturn",            //拒绝退货
                     "rejectedInOrder",            //拒绝换货
-                    "select_efast_order"        //同步订单状态
+                    "select_efast_order",        //同步订单状态
+                    "markRefund"                 //财务已退款
             };
 
     public String[] getOrderActin() {
@@ -160,7 +161,7 @@ public class OrderUtil {
      * @return
      * @throws Exception
      */
-    public List<OrderOperation> orderStatusToOperation(Integer status, String orderId) throws Exception {
+    public List<OrderOperation> orderStatusToOperation(Integer status, String orderId, Integer rfund) throws Exception {
         if (status == null) {
             return null;
         }
@@ -215,8 +216,13 @@ public class OrderUtil {
                                 + adminUtils.byte2hex(adminUtils.createRandomByte())));
                 operations.add(agreedRefund);
                 return operations;
-            case 4: // 无操作权限
-
+            case 4: // 已退款
+                //财务没有退款时才有此功能
+                if (rfund == null || (rfund != null && rfund != 2)) {
+                    OrderOperation markRefund = new OrderOperation("&#xe60c;", "标记财务已退款",
+                            "/admin/order/" + orderActin[13] + "/" + orderId);
+                    operations.add(markRefund);
+                }
                 return operations;
             case 5: // 无操作权限
 
@@ -245,8 +251,12 @@ public class OrderUtil {
                                 + adminUtils.byte2hex(adminUtils.createRandomByte())));
                 operations.add(quitOrderSuccess);
                 return operations;
-            case 8: // 无操作权限
-
+            case 8: // 订单退货,订单关闭
+                if (rfund == null || (rfund != null && rfund != 2)) {
+                    OrderOperation markoperation = new OrderOperation("&#xe60c;", "标记财务已退款",
+                            "/admin/order/" + orderActin[13] + "/" + orderId);
+                    operations.add(markoperation);
+                }
                 return operations;
             case 9: // 换货中
 

+ 18 - 0
tooth-common-core/src/main/java/com/iamberry/wechat/core/entity/order/Order.java

@@ -70,6 +70,8 @@ public class Order implements java.io.Serializable{
 	
 	private String salesPorderid;		//试用订单id
 	private Integer salesOrderType;		//订单类型		1:正常订单(默认)	2:试用订单
+	private String salesAuditRemark;	//审批备注
+	private Integer salesIsRfund;	//是否已退款
 	
 	// -------------------------------------------- 新增
 	private String storesName;			// 用户第二级上线
@@ -82,6 +84,22 @@ public class Order implements java.io.Serializable{
 	
 	private String userResource;		// 用户来源
 
+	public String getSalesAuditRemark() {
+		return salesAuditRemark;
+	}
+
+	public void setSalesAuditRemark(String salesAuditRemark) {
+		this.salesAuditRemark = salesAuditRemark;
+	}
+
+	public Integer getSalesIsRfund() {
+		return salesIsRfund;
+	}
+
+	public void setSalesIsRfund(Integer salesIsRfund) {
+		this.salesIsRfund = salesIsRfund;
+	}
+
 	public Integer getOldStatus() {
 		return oldStatus;
 	}

+ 11 - 0
tooth-common-core/src/main/java/com/iamberry/wechat/core/entity/order/OrderActionDto.java

@@ -36,6 +36,17 @@ public class OrderActionDto implements java.io.Serializable{
 	private Date probationEndTime;			//试用订单结束时间
 	private String probationUserRemark;	//试用订单备注,存放礼品信息
 
+	//-------------------审批备注
+	private String salesAuditRemark;	//审批备注
+
+	public String getSalesAuditRemark() {
+		return salesAuditRemark;
+	}
+
+	public void setSalesAuditRemark(String salesAuditRemark) {
+		this.salesAuditRemark = salesAuditRemark;
+	}
+
 	public Date getProbationEndTime() {
 		return probationEndTime;
 	}

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

@@ -29,7 +29,7 @@ public class ResultInfo {
 	public  static String repeatNameError="";
 	public  static String lostMemberInfo="";
 
-	public  static String barCodePrefix="QR_CODE";
+	public  static String barCodePrefix="MACHINE_QR_CODE";
 	/**
 	 * 初始化代理商信息openid成功前缀
 	 */
@@ -150,6 +150,27 @@ public class ResultInfo {
 	 * 更换刷头提示信息 模板id
 	 */
 	public static String update_tooth_hint="";
+
+	/**
+	 * 用户申请退款提醒
+	 */
+	public static String order_apply_refund="";
+
+	/**
+	 * 用户 申请退货 提醒
+	 */
+	public static String order_apply_return="";
+
+	/**
+	 * 用户 申请换货 提醒
+	 */
+	public static String order_apply_barter="";
+
+	/**
+	 * 发货后 提醒
+	 */
+	public static String order_send_success="";
+
 	/**
 	 * 返现到账通知消息模版
 	 */
@@ -173,7 +194,7 @@ public class ResultInfo {
 	/** 	试用申请成功通知 	 */
 	public static String PROBATIONAPPLYSUCCESS = "{'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'},'keyword5':{'color':'#173177','value':'keyword5Value'},'remark':{'color':'#173177','value':'remarkValue'}}";
 
-	/**		 试用订单支付成功	 */
+	/**		 试用订单支付成功   订单支付成功	 */
 	public static String PROBATIONPAYSUCCESS = "{'first':{'color':'#173177','value':'firstValueIamberry'}, 'orderMoneySum':{'color':'#173177','value':'orderMoneySumValue'}, 'orderProductName':{'color':'#173177', 'value':'orderProductNameValue'},'Remark':{'color':'#173177','value':'remarkValue'}}";
 
 	/** 	试用订单关闭通知		*/
@@ -184,6 +205,22 @@ public class ResultInfo {
 
 	/**  更换刷头提示信息  */
 	public static String UPDATETOOTHHINT= "{'first':{'color':'#173177','value':'firstValueIamberry'}, 'keyword1':{'color':'#173177','value':'keyword1Value'}, 'keyword2':{'color':'#173177', 'value':'keyword2Value'},'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'}}";
+
+
+
+
 	/**
 	 * 微信模板消息提示语
 	 */

+ 5 - 1
tooth-common-tool/src/main/java/com/iamberry/wechat/tools/loadResultUtil.java

@@ -72,7 +72,11 @@ public class loadResultUtil {
 			ResultInfo.probation_pay_success = prop.getProperty("probation_pay_success");	//订单支付成功
 			ResultInfo.probation_shut_down = prop.getProperty("probation_shut_down");		//订单关闭通知	 	模版id	TM00984
 			ResultInfo.prize_receive_push = prop.getProperty("prize_receive_push");			//付费代理商支付后推送推荐人通知  	模版id
-			ResultInfo.update_tooth_hint = prop.getProperty("update_tooth_hint");	//订单支付成功
+			ResultInfo.update_tooth_hint = prop.getProperty("update_tooth_hint");			//订单支付成功
+			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) {
 			new RuntimeException(e.getMessage());

+ 6 - 0
tooth-wechat-interface/src/main/java/com/iamberry/wechat/face/order/AdminOrderService.java

@@ -196,5 +196,11 @@ public interface AdminOrderService {
 	 */
 	List<StatisticsSalesOrder> listYearNum(StatisticsSalesOrder salesOrder);
 
+	/**
+	 * 修改订单退款状态
+	 * @param order
+	 * @return
+	 */
+	Integer updateOrderRfund(Order order);
 
 }

+ 7 - 0
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/AdminOrderMapper.java

@@ -186,4 +186,11 @@ public interface AdminOrderMapper {
 	 */
 	List<StatisticsSalesOrder> listYearNum(StatisticsSalesOrder salesOrder);
 
+	/**
+	 * 修改订单退款状态
+	 * @param order
+	 * @return
+	 */
+	Integer updateOrderRfund(Order order);
+
 }

+ 23 - 6
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/adminOrderMapper.xml

@@ -42,7 +42,7 @@ PUBLIC
 			O.SALES_STATUS salesStatus, O.SALES_CREATE_DATE salesCreateDate, 
 			O.SALES_POST_NUM salesPostNum,O.SALES_POST_FIRM salesPostFirm,
 			O.SALES_ADMIN_REMARK salesAdminRemark, O.SALES_COLOR_TYPE salesColorType, 
-			O.SALES_USER_REMARK salesUserRemark,
+			O.SALES_USER_REMARK salesUserRemark,O.SALES_IS_RFUND salesIsRfund,
 			P.PLACE_NAME storesName, 
 			PP.PLACE_NAME vipName,
 			PP.PLACE_ROLE_ID vipRole,
@@ -102,7 +102,7 @@ PUBLIC
 			O.SALES_STATUS salesStatus, O.SALES_CREATE_DATE salesCreateDate, 
 			O.SALES_ADMIN_REMARK salesAdminRemark, O.SALES_COLOR_TYPE salesColorType,
 			o.sales_post_num salesPostNum,o.sales_post_firm salesPostFirm,
-			O.SALES_USER_REMARK salesUserRemark 
+			O.SALES_USER_REMARK salesUserRemark, O.SALES_IS_RFUND salesIsRfund
 		FROM 
 			TB_IAMBERRY_SHOP_SALES_ORDER O LEFT JOIN TB_IAMBERRY_USER_USERINFO U 
 		ON O.SALES_OPENID = U.USER_OPENID 
@@ -175,7 +175,7 @@ PUBLIC
 			O.SALES_USER_REMARK salesUserRemark, O.SALES_COLOR_TYPE salesColorType, O.SALES_ADMIN_REMARK salesAdminRemark, 
 			O.SALES_RETURN_DES salesReturnDes, O.SALES_ADDRESS_INFO salesAddressInfo, O.SALES_RETURN_DATE salesReturnDate,
 			O.SALES_AMOUNT salesAmount, O.SALES_TRANSACTION_DATE salesTransactionDate, O.SALES_OPENID salesOpenid, 
-			O.SALES_COUPON_RECEIVE_ID couponId, O.SALES_BALANCE_AMOUNT balancePayAmount 
+			O.SALES_COUPON_RECEIVE_ID couponId, O.SALES_BALANCE_AMOUNT balancePayAmount, O.SALES_IS_RFUND salesIsRfund
 		FROM 
 			TB_IAMBERRY_SHOP_SALES_ORDER O LEFT JOIN TB_IAMBERRY_USER_USERINFO U 
 			ON O.SALES_OPENID = U.USER_OPENID 
@@ -204,8 +204,9 @@ PUBLIC
 		SELECT 
 			SALES_STATUS salesStatus, SALES_PROXY_REWARD salesProxyReward, 
 			SALES_POST_FIRM salesPostFirm, SALES_POST_NUM salesPostNum ,
-			sales_openid salesOpenid
-			
+			sales_openid salesOpenid, SALES_IS_RFUND salesIsRfund,
+			SALES_YET_AMOUNT salesYetAmount, sales_return_des salesReturnDes,
+			SALES_ADDRESS_INFO salesAddressInfo
 		FROM 
 			TB_IAMBERRY_SHOP_SALES_ORDER
 		WHERE 
@@ -220,6 +221,9 @@ PUBLIC
 			<if test="salesChangeOrderid != null and salesChangeOrderid != ''">
 				SALES_CHANGE_ORDERID = #{salesChangeOrderid},
 			</if>
+			<if test="salesAuditRemark != null and salesAuditRemark != ''">
+				SALES_AUDIT_REMARK = #{salesAuditRemark},
+			</if>
 			SALES_STATUS = #{salesStatus} 
 		WHERE 
 			SALES_ORDERID = #{salesOrderid} 
@@ -274,12 +278,25 @@ PUBLIC
 				SALES_COLOR_TYPE = #{salesColorType}, 
 			</if>
 			<if test="salesAdminRemark != null and salesAdminRemark != ''">
-				SALES_ADMIN_REMARK = #{salesAdminRemark} 
+				SALES_ADMIN_REMARK = #{salesAdminRemark}
 			</if>
 		</set>
 		WHERE 
 			SALES_ORDERID = #{salesOrderid}
 	</update>
+
+	<!-- 修改订单退款状态 -->
+	<update id="updateOrderRfund" parameterType="Order" >
+		UPDATE
+		TB_IAMBERRY_SHOP_SALES_ORDER
+		<set>
+			<if test="salesIsRfund != null and salesIsRfund != ''">
+				SALES_IS_RFUND = #{salesIsRfund}
+			</if>
+		</set>
+		WHERE
+		SALES_ORDERID = #{salesOrderid}
+	</update>
 	
 	<!-- 查询订单中没有奖励积分的数据 -->
 	<select id="selectOrderByIntegral" resultType="Order" resultMap="orderMap">

+ 5 - 0
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/order/AdminOrderServiceImpl.java

@@ -764,4 +764,9 @@ public class AdminOrderServiceImpl implements AdminOrderService {
 	public List<StatisticsSalesOrder> listYearNum(StatisticsSalesOrder salesOrder) {
 		return adminOrderDao.listYearNum(salesOrder);
 	}
+
+	@Override
+	public Integer updateOrderRfund(Order order) {
+		return adminOrderDao.updateOrderRfund(order);
+	}
 }

+ 7 - 0
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/order/dao/AdminOrderDao.java

@@ -203,4 +203,11 @@ public interface AdminOrderDao {
 	 */
 	List<StatisticsSalesOrder> listYearNum(StatisticsSalesOrder salesOrder);
 
+	/**
+	 * 修改订单退款状态
+	 * @param order
+	 * @return
+	 */
+	Integer updateOrderRfund(Order order);
+
 }

+ 5 - 0
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/order/dao/impl/AdminOrderDaoImpl.java

@@ -304,4 +304,9 @@ public class AdminOrderDaoImpl implements AdminOrderDao {
 	public List<StatisticsSalesOrder> listYearNum(StatisticsSalesOrder salesOrder) {
 		return adminOrderMapper.listYearNum(salesOrder);
 	}
+
+	@Override
+	public Integer updateOrderRfund(Order order) {
+		return adminOrderMapper.updateOrderRfund(order);
+	}
 }

+ 28 - 26
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/wechat/WeChatServiceImpl.java

@@ -3,6 +3,7 @@ package com.iamberry.wechat.service.wechat;
 import java.io.UnsupportedEncodingException;
 import java.net.URLEncoder;
 import java.text.ParseException;
+import java.text.SimpleDateFormat;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
@@ -10,8 +11,10 @@ import java.util.Map;
 
 import com.iamberry.wechat.core.entity.machineNumber.MachineNumber;
 import com.iamberry.wechat.face.machineNumber.MachineNumberService;
+import com.iamberry.wechat.tools.*;
 import net.sf.json.JSONObject;
 
+import org.apache.commons.lang3.StringEscapeUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -42,11 +45,6 @@ import com.iamberry.wechat.service.MessageUtil;
 import com.iamberry.wechat.service.ShopUtil;
 import com.iamberry.wechat.service.mapper.PlaceInfoMapper;
 import com.iamberry.wechat.service.relationship.Dao.WdRelationDao;
-import com.iamberry.wechat.tools.DateTimeUtil;
-import com.iamberry.wechat.tools.NameUtils;
-import com.iamberry.wechat.tools.QQFace;
-import com.iamberry.wechat.tools.ResultInfo;
-import com.iamberry.wechat.tools.WeixinUtil;
 
 /**
  * description : wechat handler的核心服务类
@@ -294,30 +292,34 @@ public class WeChatServiceImpl implements WeChatService {
 	 */
 	public String bindingMachine(String senceid, String fromUserName) {
 		StringBuilder str = new StringBuilder();
-		MachineNumber machineNumber = new MachineNumber();
-		machineNumber.setNumberBarcode(senceid);
-		//分页查询机器编号集合
-		List<MachineNumber> numberList = machineNumberService.listMachineNumber(machineNumber);
-		if (numberList == null && numberList.size() == 0) {
-			str.append("该机器条形码有误,请重新扫描!");
-		}
-		MachineNumber machine = numberList.get(0);
-		if (machine.getNumberOpenId() != null && !"".equals(machine.getNumberOpenId())) {
-			str.append("该机器已绑定用户,不能重复绑定!");
-			return str.toString();
-		} else {
-			machineNumber.setNumberOpenId(fromUserName);
-			boolean flag = machineNumberService.updateNumber(machineNumber);
-			if (flag) {
-                str.append("Hi!欢迎您关注WaterO,现在完善购买信息,即赠送美国WaterO滤芯T1一个、美国WaterO滤芯T2一个,<a href=\"");
-                str.append(NameUtils.getConfig("WECHAT_GO_PERSONAL_INFORMATION"));
-                str.append(machine.getNumberId());
-                str.append("\">立即完善>></a>");
+		String url = NameUtils.getConfig("rst_base_url") + senceid;
+		Map<String,String> params = new HashMap<String,String>();
+		SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
+		try {
+			//查询百胜订单信息
+			String resultJson = HttpClient431Util.doGet(params,url,null,null,null);
+			resultJson = StringEscapeUtils.unescapeJava(resultJson); // unicode
+			inLongLogger.info("==========================获取机器信息成功,返回值为:" + resultJson + "=========================");
+			JSONObject jsonObject = JSONObject.fromObject(resultJson);
+			if (jsonObject.getInt("resultCode") != 200) {
+				str.append("没有查到该机器信息,请确认二维码是否正确!");
 				return str.toString();
-			} else {
-				str.append("绑定机器失败,请重新操作!");
+			}
+			JSONObject jsonMessage = jsonObject.getJSONObject("message");
+			if (jsonMessage.getInt("isBeing") == 2) {
+				str.append("没有查到该机器信息,请确认二维码是否正确!");
 				return str.toString();
 			}
+			str.append("您的<");
+			str.append(jsonMessage.getString("productType"));
+			str.append(">为正品,生产日期为:");
+			str.append(format.format(new Date(jsonMessage.getLong("producedTime"))));
+			str.append("。请放心使用。");
+			return str.toString();
+		} catch (Exception e) {
+			inLongLogger.info("==========================获取机器信息失败,机器条形码为:" + senceid + "=========================");
+			str.append("没有查到该机器信息,请确认二维码是否正确!");
+			return str.toString();
 		}
 	}
 	

+ 136 - 18
tooth-wechat-web/src/main/java/com/iamberry/wechat/handles/admin/AdminOrderHandlers.java

@@ -42,6 +42,7 @@ import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 import java.net.URLDecoder;
+import java.text.DecimalFormat;
 import java.text.SimpleDateFormat;
 import java.util.Date;
 import java.util.List;
@@ -132,7 +133,7 @@ public class AdminOrderHandlers {
                     orders.setUserNickname(URLDecoder.decode(orders.getUserNickname(), "UTF-8"));
                 }
                 // 获取用户的操作权限
-                orders.setOperations(orderUtil.orderStatusToOperation(orders.getSalesStatus(), orders.getSalesOrderid()));
+                orders.setOperations(orderUtil.orderStatusToOperation(orders.getSalesStatus(), orders.getSalesOrderid(), orders.getSalesIsRfund()));
                 orders.setOrderLinkStatus(orderUtil.orderStatusToString(orders.getSalesStatus())); // 订单状态描述,中文
 
                 // 遍历订单, 判断用户角色
@@ -178,7 +179,7 @@ public class AdminOrderHandlers {
                     orders.setUserNickname(URLDecoder.decode(orders.getUserNickname(), "UTF-8"));
                 }
                 // 获取用户的操作权限
-                orders.setOperations(orderUtil.orderStatusToOperation(orders.getSalesStatus(), orders.getSalesOrderid()));
+                orders.setOperations(orderUtil.orderStatusToOperation(orders.getSalesStatus(), orders.getSalesOrderid(), orders.getSalesIsRfund()));
 
                 // 遍历订单, 判断用户角色
                 if (orders.getPlaceOpenID() != null && orders.getPlaceOpenID().equals(orders.getSalesOrderid())) {
@@ -326,7 +327,7 @@ public class AdminOrderHandlers {
                 order.setUserNickname(URLDecoder.decode(order.getUserNickname(), "UTF-8"));
             }
             // 获取用户的操作权限
-            order.setOperations(orderUtil.orderStatusToOperation(order.getSalesStatus(), order.getSalesOrderid()));
+            order.setOperations(orderUtil.orderStatusToOperation(order.getSalesStatus(), order.getSalesOrderid(), order.getSalesIsRfund()));
             order.setOrderLinkStatus(orderUtil.orderStatusToString(order.getSalesStatus())); // 订单状态描述,中文
             if (order.getSalesStatus() == 2) {
                 // 给百胜推送信息
@@ -455,7 +456,7 @@ public class AdminOrderHandlers {
                     orders.setUserNickname(URLDecoder.decode(orders.getUserNickname(), "UTF-8"));
                 }
                 // 获取用户的操作权限
-                orders.setOperations(orderUtil.orderStatusToOperation(orders.getSalesStatus(), orders.getSalesOrderid()));
+                orders.setOperations(orderUtil.orderStatusToOperation(orders.getSalesStatus(), orders.getSalesOrderid(), orders.getSalesIsRfund()));
                 orders.setOrderLinkStatus(orderUtil.orderStatusToString(orders.getSalesStatus())); // 订单状态描述,中文
             }
         } else {
@@ -466,7 +467,7 @@ public class AdminOrderHandlers {
                     orders.setUserNickname(URLDecoder.decode(orders.getUserNickname(), "UTF-8"));
                 }
                 // 获取用户的操作权限
-                orders.setOperations(orderUtil.orderStatusToOperation(orders.getSalesStatus(), orders.getSalesOrderid()));
+                orders.setOperations(orderUtil.orderStatusToOperation(orders.getSalesStatus(), orders.getSalesOrderid(), orders.getSalesIsRfund()));
             }
         }
         // 时间区间的处理
@@ -510,6 +511,7 @@ public class AdminOrderHandlers {
             OrderActionDto actionDto
     ) throws Exception {
         ModelAndView mv = new ModelAndView("admin/msg/msg");
+        DecimalFormat df=new DecimalFormat("0.00");
         Order order = new Order();
         order.setSalesOrderid(orderId);
         // 订单状态,数字标识
@@ -517,6 +519,8 @@ public class AdminOrderHandlers {
         order.setSalesPostNum(actionDto.getPostNum());
         // 判断当前的订单,是否支持希望进行的操作
         Order currentOrder = adminOrderService.selectOrderStatusByOrderId(orderId);
+        //获取当前订单订单项
+        List<OrderItem> itemList = adminOrderService.getShopOrderItemByOrderId(orderId);
         Integer orderStatus = currentOrder.getSalesStatus();
         order.setOldStatus(orderStatus);
         order.setSalesOpenid(currentOrder.getSalesOpenid());
@@ -578,22 +582,29 @@ public class AdminOrderHandlers {
                         // TODO: handle exception
                     }
                     //给用户发送消息-已发货的通知
+                    try {
+                        sendMessageUtil.orderSendSuccess("尊敬的朵粉,您的订单已发货,物流信息:",orderId,SendMessageUtil.hashmap.get(actionDto.getPostFirm()),
+                                actionDto.getPostNum(),currentOrder.getSalesAddressInfo(),"如有问题请致电400-678-1860或直接在微信留言,soodo上朵将第一时间为您服务!(点击查看订单详情)",currentOrder.getSalesOpenid(),null);
+                    } catch (Exception e) {
+                        logger.info("订单号:"+ orderId +"的订单驳回退款,发送微信消息失败!");
+                    }
 
-
-                    //消息内容
+                    /*//消息内容
                     String data = ResultInfo.ORDERPACKAGETEMP;
                     data = data.replaceFirst("firstValueOrder", ResultInfo.SHIPMENTMESSAGE)
                             .replaceFirst("orderIdValueOrder", orderId)
                             .replaceFirst("orderValuePackageId", SendMessageUtil.hashmap.get(actionDto.getPostFirm()) + ":" + actionDto.getPostNum())
                             .replaceFirst("orderRemarkValue", ResultInfo.INTOSHOP);
-                    sendMessageUtil.sendTemplateMessageToOpenid(data, currentOrder.getSalesOpenid(), ResultInfo.PAGE_SHIPMENT + orderId, 2);
+                    sendMessageUtil.sendTemplateMessageToOpenid(data, currentOrder.getSalesOpenid(), ResultInfo.PAGE_SHIPMENT + orderId, 2);*/
 
                     return mv;
                 } else {
                     mv.addObject("msgObj", new MessageDto(false, "对不起,取消订单失败", "对不起,取消订单失败,请稍后重试!"));
                     return mv;
                 }
-            case 3: // 退款申请中(管理员可以操作:确认退款)
+            case 3: // 退款申请中(管理员可以操作:确认退款、驳回退款)
+
+                order.setSalesAuditRemark(actionDto.getSalesAuditRemark());
 
                 // 只有两种操作 : 确认退款、驳回退款
                 if (orderUtil.getOrderActin()[4].equals(action)) {
@@ -605,6 +616,14 @@ public class AdminOrderHandlers {
                     }
                     order.setSalesStatus(2);
                     if (adminOrderService.updateOrderStatusByOrderId(order)) {// 驳回退款
+                        String payMoney = df.format((float)currentOrder.getSalesYetAmount()/100) + "元";
+                        try {
+                            sendMessageUtil.orderApplyRefund("尊敬的朵粉,您的退款申请被退回:",payMoney,itemList.get(0).getItemProductName(),orderId,
+                                    "请确认您的退款申请信息填写无误。如有问题请致电400-678-1860或直接在微信留言,soodo上朵将第一时间为您服务!(点击查看订单详情)",currentOrder.getSalesOpenid(),null);
+                        } catch (Exception e) {
+                            logger.info("订单号:"+ orderId +"的订单驳回退款,发送微信消息失败!");
+                        }
+
                         mv.addObject("msgObj", new MessageDto(true, "驳回退款成功!", "驳回退款成功,订单进入待发货状态!"));
                         return mv;
                     } else {
@@ -644,7 +663,16 @@ public class AdminOrderHandlers {
                             adminOrderService.addCashLog(cashLog);
                         }
                         rebackServices.updateStatus(rabackInfo);
-                        mv.addObject("msgObj", new MessageDto(true, "订单退款成功", "恭喜您!订单退款成功,订单将封存!"));
+
+                        String payMoney = df.format((float)currentOrder.getSalesYetAmount()/100) + "元";
+                        try {
+                            sendMessageUtil.orderApplyRefund("尊敬的朵粉,您的退款申请已通过:",payMoney,itemList.get(0).getItemProductName(),orderId,
+                                    "退款金额将在三个工作日内退款到您的支付账户。如有问题请致电400-678-1860或直接在微信留言,soodo上朵将第一时间为您服务!(点击查看订单详情)",currentOrder.getSalesOpenid(),null);
+                        } catch (Exception e) {
+                            logger.info("订单号:"+ orderId +"的订单同意退款,发送微信消息失败!");
+                        }
+
+                        mv.addObject("msgObj", new MessageDto(true, "订单退款成功", "请联系财务部门,将此订单退款!"));
                         updateRebate(order, 3);
                         return mv;
                     } else {
@@ -665,6 +693,8 @@ public class AdminOrderHandlers {
                 return mv;
             case 6: // 申请退货中(只有管理员能操作 : 确认退货)
 
+                order.setSalesAuditRemark(actionDto.getSalesAuditRemark());
+
                 if (!orderUtil.getOrderActin()[6].equals(action) && !orderUtil.getOrderActin()[10].equals(action)) {// 判断当前请求操作是否相符, 否则提示不成功
                     mv.addObject("msgObj", new MessageDto(false, "对不起,操作有误", "对不起,您刚才的操作流程有误,请按照系统流程操作!"));
                     return mv;
@@ -678,8 +708,30 @@ public class AdminOrderHandlers {
                 order.setSalesStatus(orderUtil.getOrderStatusByStr(actionDto.getToOrderStatus()));
                 if (adminOrderService.updateOrderStatusByOrderId(order)) {
                     if (orderUtil.orderStatusIntToOrderStatusString(7).equals(actionDto.getToOrderStatus())) {
+                        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(),null);
+                        } catch (Exception e) {
+                            logger.info("订单号:"+ orderId +"的订单同意退货,发送微信消息失败!");
+                        }
                         mv.addObject("msgObj", new MessageDto(true, "订单申请退货成功", "恭喜您!同意订单:" + orderId + "退货,等待收到货物后确认退货!"));
                     } else {
+                        String payMoney = df.format((float)currentOrder.getSalesYetAmount()/100) + "元";
+                        int productNum = 0;
+                        for (OrderItem item : itemList) {
+                            productNum += item.getItemNum();
+                        }
+                        try {
+                            sendMessageUtil.orderApplyReturn("尊敬的朵粉,您的【退货申请】没有通过",orderId,payMoney,productNum+"件",currentOrder.getSalesReturnDes(),
+                                    "请确认您的退货申请信息填写无误。如有问题请致电400-678-1860或直接在微信留言,soodo上朵将第一时间为您服务!",currentOrder.getSalesOpenid(),null);
+                        } catch (Exception e) {
+                            logger.info("订单号:"+ orderId +"的订单驳回退货,发送微信消息失败!");
+                        }
                         mv.addObject("msgObj", new MessageDto(true, "成功驳回订单退货", "订单:" + orderId + "退货被驳回,状态返回已发货!"));
                     }
                     return mv;
@@ -771,14 +823,20 @@ public class AdminOrderHandlers {
                                 }
                                 break;
                         }
-                        //发送消息
-                        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);
+
+                        /*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);
+                        } catch (Exception e) {
+
+                        }*/
+
                     }
 
                     return mv;
@@ -852,8 +910,24 @@ public class AdminOrderHandlers {
                 }
                 if (adminOrderService.updateOrderStatusByOrderId(order)) {
                     if (orderUtil.orderStatusIntToOrderStatusString(9).equals(actionDto.getToOrderStatus())) {
+
+                        try {
+                            sendMessageUtil.orderApplyBarter("尊敬的朵粉,您的【换货申请】通过。",orderId,itemList.get(0).getItemProductName(),
+                                    "退款金额将在三个工作日内退款到您的支付账户。如有问题请致电400-678-1860或直接在微信留言,soodo上朵将第一时间为您服务!(点击查看订单详情)",currentOrder.getSalesOpenid(),null);
+                        } catch (Exception e) {
+                            logger.info("订单号:"+ orderId +"的订单同意换货,发送微信消息失败!");
+                        }
+
                         mv.addObject("msgObj", new MessageDto(true, "同意换货成功", "恭喜您!同意订单:" + orderId + "换货,请收货后录入物流信息并同意换货!"));
                     } else {
+
+                        try {
+                            sendMessageUtil.orderApplyBarter("尊敬的朵粉,您的【换货申请】没有通过。",orderId,itemList.get(0).getItemProductName(),
+                                    "退款金额将在三个工作日内退款到您的支付账户。如有问题请致电400-678-1860或直接在微信留言,soodo上朵将第一时间为您服务!(点击查看订单详情)",currentOrder.getSalesOpenid(),null);
+                        } catch (Exception e) {
+                            logger.info("订单号:"+ orderId +"的订单驳回换货,发送微信消息失败!");
+                        }
+
                         mv.addObject("msgObj", new MessageDto(true, "驳回换货成功", "您已驳回订单:" + orderId + "换货,订单状态改为已发货!"));
                     }
                     return mv;
@@ -883,6 +957,50 @@ public class AdminOrderHandlers {
         LoadRewardTaskService.updateStatus(rabackInfo);
     }
 
+    @ResponseBody
+    @RequestMapping("/markRefund/{orderId}")
+    public ResultMsg markRefund(HttpServletRequest request,
+                                @PathVariable("orderId") String orderId) throws Exception {
+        ResultMsg msg = new ResultMsg();
+        //查询该订单的状态
+        Order order = adminOrderService.selectOrderStatusByOrderId(orderId);
+        if (order == null) {
+            msg.setResultCode(ResultInfo.ERRORCODE);
+            msg.setStatus(false);
+            msg.setMessage("该订单不存在,请重新操作!");
+            return msg;
+        }
+        //4:已退款,8:订单退货,订单关闭
+        if (order.getSalesStatus() != 4 && order.getSalesStatus() != 8) {
+            msg.setResultCode(ResultInfo.ERRORCODE);
+            msg.setStatus(false);
+            msg.setMessage("该订单不支持标记已退款!");
+            return msg;
+        }
+
+        if (order.getSalesIsRfund() != null && order.getSalesIsRfund() == 2) {
+            msg.setResultCode(ResultInfo.ERRORCODE);
+            msg.setStatus(false);
+            msg.setMessage("该订单已标记退款,不能重复标记!");
+            return msg;
+        }
+
+        Order orderInfo = new Order();
+        orderInfo.setSalesOrderid(orderId);
+        orderInfo.setSalesIsRfund(2);
+        //修改订单退款状态
+        int num = adminOrderService.updateOrderRfund(orderInfo);
+        if (num > 0) {
+            msg.setResultCode(ResultInfo.SUCCESSCODE);
+            msg.setStatus(true);
+        } else {
+            msg.setResultCode(ResultInfo.ERRORCODE);
+            msg.setStatus(false);
+            msg.setMessage("标记退款失败,请重新标记!");
+        }
+        return msg;
+    }
+
     /**
      * 订单备注
      *

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

@@ -74,9 +74,21 @@ public class SendMessageUtil {
 			case 10:  //10、奖品领取通知 
 				WeixinUtil.sendTemplateMessage(NameUtils.getConfig("appId"), NameUtils.getConfig("appSecret"), openId, ResultInfo.prize_receive_push, date, url);
 				break;
-			case 11:
+			case 11:  //11、更换电动牙刷通知
 				WeixinUtil.sendTemplateMessage(NameUtils.getConfig("appId"), NameUtils.getConfig("appSecret"), openId, ResultInfo.update_tooth_hint, date, url);
 				break;
+			case 12:  //12、用户申请退款提醒
+				WeixinUtil.sendTemplateMessage(NameUtils.getConfig("appId"), NameUtils.getConfig("appSecret"), openId, ResultInfo.order_apply_refund, date, url);
+				break;
+			case 13:  //13、用户 申请退货 提醒
+				WeixinUtil.sendTemplateMessage(NameUtils.getConfig("appId"), NameUtils.getConfig("appSecret"), openId, ResultInfo.order_apply_return, date, url);
+				break;
+			case 14:  //14、用户 申请换货 提醒
+				WeixinUtil.sendTemplateMessage(NameUtils.getConfig("appId"), NameUtils.getConfig("appSecret"), openId, ResultInfo.order_apply_barter, date, url);
+				break;
+			case 15:  //15、发货后 提醒
+				WeixinUtil.sendTemplateMessage(NameUtils.getConfig("appId"), NameUtils.getConfig("appSecret"), openId, ResultInfo.order_send_success, date, url);
+				break;
 			default: 
 				break;
 			}
@@ -234,4 +246,86 @@ public class SendMessageUtil {
 				.replaceFirst("remarkValue",remark);
 		sendTemplateMessageToOpenid(temp, openId, url,11);
 	}
+
+	/**
+	 * 换货提醒信息
+	 * @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("firstValueIamberry", first)
+				.replaceFirst("keyword1Value",keyword1)
+				.replaceFirst("keyword2Value",keyword2)
+				.replaceFirst("colorValue","#1C86EE")
+				.replaceFirst("remarkValue",remark);
+		sendTemplateMessageToOpenid(temp, openId, url,14);
+	}
+
+	/**
+	 * 退款提醒信息
+	 * @param first
+	 * @param keyword1
+	 * @param keyword2
+	 * @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("firstValueIamberry", first)
+				.replaceFirst("keyword1Value",keyword1)
+				.replaceFirst("keyword2Value",keyword2)
+				.replaceFirst("keyword3Value",keyword3)
+				.replaceFirst("colorValue","#1C86EE")
+				.replaceFirst("remarkValue",remark);
+		sendTemplateMessageToOpenid(temp, openId, url,12);
+	}
+
+	/**
+	 * 退货提醒信息
+	 * @param first
+	 * @param keyword1
+	 * @param keyword2
+	 * @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("firstValueIamberry", first)
+				.replaceFirst("keyword1Value",keyword1)
+				.replaceFirst("keyword2Value",keyword2)
+				.replaceFirst("keyword3Value",keyword3)
+				.replaceFirst("keyword4Value",keyword4)
+				.replaceFirst("colorValue","#1C86EE")
+				.replaceFirst("remarkValue",remark);
+		sendTemplateMessageToOpenid(temp, openId, url,13);
+	}
+
+	/**
+	 * 发货提醒信息
+	 * @param first
+	 * @param keyword1
+	 * @param keyword2
+	 * @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("firstValueIamberry", first)
+				.replaceFirst("keyword1Value",keyword1)
+				.replaceFirst("keyword2Value",keyword2)
+				.replaceFirst("keyword3Value",keyword3)
+				.replaceFirst("keyword4Value",keyword4)
+				.replaceFirst("colorValue","#1C86EE")
+				.replaceFirst("remarkValue",remark);
+		sendTemplateMessageToOpenid(temp, openId, url,15);
+	}
+
 }

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

@@ -68,4 +68,8 @@ probation_pay_success=SrPdazrlMtsScC5w06C0ktqY-VnpLRCIqTeVtvtwxks
 probation_shut_down=QzfF4V8M9xXHR24kLsDABKNWGBGRVDVT0CSLQ_X3mpg
 prize_receive_push=7d_r3XJsY5MAISYCDxrjdnPXgNm3IU8XLRYWXbCJjbs
 update_tooth_hint=Ca7Yj8rbRPF6cnL5ZU3-gN9Bu2v98Jj_g2R0yw8NuAs
+order_apply_barter=i4WvtaMw3zJHP4PLmqkvM8l3EXHIFmGL9vysfjn1NKA
+order_apply_return=rypqDnrOLbEjTsFJFBa35jOSsFG_-A1i9hB6OjI8zQY
+order_apply_refund=ySwst_myzaUGRm3T56308QISvPIiP4ZXG2SqjD9qlEw
+order_send_success=eMk2Cu5IUPTIUVlNK5MdHNo6-QFiax3p85VBJXJfbTM
 

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

@@ -130,6 +130,8 @@ app_secret=8888
 sd_id=001
 # sd_idt	\u592A\u539F\u5E97\u94FA	test:001		watero:9
 sd_idt=001
+#rst_base_url
+rst_base_url=http://test.iamberry.com/rst/mcahine/getMachineInfo?barCode=
 # efast_base_url
 efast_base_url=http://121.199.165.244/efast_test/efast_api/webservice/web/index.php
 

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

@@ -94,6 +94,28 @@
 		</span>
 	</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;">
+		<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>
+			<div class="row cl">
+				<label class="form-label col-3"><span class="c-red">*</span>&nbsp;审核备注:</label>
+				<div class="formControls col-5">
+					<input type="text" id="salesAuditRemark" name="salesAuditRemark" class="input-text" value="" placeholder="请输入审核备注" nullmsg="审核备注不能为空">
+				</div>
+				<div class="col-4"> </div>
+			</div>
+			<br>
+			<div class="col-9 col-offset-3">
+				<input class="btn btn-primary radius" onclick="return audit_order()" type="submit" value="&nbsp;&nbsp;确认&nbsp;&nbsp;">
+			</div>
+		</form>
+		<span class="layui-layer-setwin">
+					<a class="layui-layer-ico layui-layer-close layui-layer-close1" onclick="exitWindowsDiv(this)" href="javascript:;"></a>
+			</span>
+	</div>
+
 	<!-- 后台备注 -->
 	<div class="layui-layer layui-anim layui-layer-iframe" id="layui-remark" times="4" showtime="0" contype="string" style="display:none;z-index: 19891018; width: 400px; height: 260px; position: absolute; top: 100px; left: 379px;">
 		<form action="" method="post" class="form form-horizontal" id="form-admin-remark">
@@ -340,30 +362,58 @@
 						var url = $a.attr("href");
 						$("#url").val(url);
 						return false;
-						/*var url = $a.attr("href");
-						 $.ajax({
-						 type:'POST',
-						 url: url,
-						 dataType: 'json',
-						 success:function(data) {
-						 location.reload();
-						 }
-						 });
-						 return false;*/
+                    } else if (orderStatusStr == "驳回退款" || orderStatusStr == "确认退款"
+						|| orderStatusStr == "同意退货,等待收货" || orderStatusStr == "驳回退货"
+						|| orderStatusStr == "同意换货" || orderStatusStr == "驳回换货") {
+                        orderid = $a.attr("lang");
+                        $("#layui-audit").show();
+                        $("#form-admin-audit").attr("action", $a.attr("href"));
+                        return false;
+                    } else if (orderStatusStr == "标记财务已退款") {
+                        var url = $a.attr("href");
+                        //禁止<a>跳转
+                        stopDefault($a.attr("href"));
+                        $.ajax({
+                            type: "GET",
+                            url: url,
+                            traditional: true,
+                            dataType: "json",
+                            success: function (data) {
+								if (data.status) {
+                                    layer.msg("标记成功!",{icon: 1,time:2000});
+                                    //使用  setTimeout()方法设定定时2000毫秒
+                                    setTimeout(function(){
+										window.location.reload();
+                                    },2000);
+                                } else {
+                                    layer.msg(data.message,{icon: 5,time:2000});
+								}
+                            }
+                        });
                     }
 					return true;
 				}
 
-				function submitSendOrder() {
-				    var postNumId = $('#order-post-num-id').val();
-				    var postFirm = $('#postFirm').val();
-				    if (postNumId == null || postNumId == '') {
+				//禁止链接跳转
+                function stopDefault( e ) {
+                    if ( e && e.preventDefault )
+                        e.preventDefault();
+                    else
+                        window.event.returnValue = false;
+
+                    return false;
+                }
+
+                function submitSendOrder() {
+                    var postNumId = $('#order-post-num-id').val();
+                    var postFirm = $('#postFirm').val();
+                    if (postNumId == null || postNumId == '') {
                         layer.msg("请填写物流编号!",{icon: 5,time:2000});
-				        return false;
+                        return false;
                     }
                     if (postFirm == null || postFirm == '') {
                         layer.msg("请选择物流公司!",{icon: 5,time:2000});
-				        return false;
+                        return false;
                     }
                 }
 				
@@ -474,6 +524,18 @@
                     layer.closeAll();
                 });
 
+                /**
+				 * 审核订单
+				 */
+                function audit_order() {
+                    var salesAuditRemark = $('#salesAuditRemark').val();
+                    if (salesAuditRemark == null || salesAuditRemark == '') {
+                        layer.msg("请完善审核备注!",{icon: 5,time:2000});
+                        return false;
+                    }
+                    return true;
+                }
+
 				/**
 				 * 同步订单状态
 				 */