소스 검색

Merge remote-tracking branch 'tooth/master'

# Conflicts:
#	tooth-common-core/src/main/java/com/iamberry/wechat/core/entity/integral/UseIntegral.java
liujiankang 7 년 전
부모
커밋
a02bc7129c
51개의 변경된 파일944개의 추가작업 그리고 286개의 파일을 삭제
  1. 16 6
      tooth-common-core/src/main/java/com/iamberry/wechat/core/entity/OrderUtil.java
  2. 10 1
      tooth-common-core/src/main/java/com/iamberry/wechat/core/entity/coupon/CouponItemDto.java
  3. 9 0
      tooth-common-core/src/main/java/com/iamberry/wechat/core/entity/integral/MemberIntegral.java
  4. 12 0
      tooth-common-core/src/main/java/com/iamberry/wechat/core/entity/integral/RankRule.java
  5. 18 0
      tooth-common-core/src/main/java/com/iamberry/wechat/core/entity/order/Order.java
  6. 11 0
      tooth-common-core/src/main/java/com/iamberry/wechat/core/entity/order/OrderActionDto.java
  7. 1 0
      tooth-common-core/src/main/java/com/iamberry/wechat/core/entity/product/Product.java
  8. 40 3
      tooth-common-core/src/main/java/com/iamberry/wechat/core/entity/product/ProductColor.java
  9. 39 2
      tooth-common-tool/src/main/java/com/iamberry/wechat/tools/ResultInfo.java
  10. 5 1
      tooth-common-tool/src/main/java/com/iamberry/wechat/tools/loadResultUtil.java
  11. 16 0
      tooth-wechat-interface/src/main/java/com/iamberry/wechat/face/cart/ProductInfoService.java
  12. 0 6
      tooth-wechat-interface/src/main/java/com/iamberry/wechat/face/coupon/CouponItemService.java
  13. 14 0
      tooth-wechat-interface/src/main/java/com/iamberry/wechat/face/integral/UseIntegralService.java
  14. 6 0
      tooth-wechat-interface/src/main/java/com/iamberry/wechat/face/order/AdminOrderService.java
  15. 2 0
      tooth-wechat-interface/src/main/java/com/iamberry/wechat/face/porduct/ProductService.java
  16. 1 5
      tooth-wechat-interface/src/main/java/com/iamberry/wechat/face/porduct/ProductTypeService.java
  17. 15 0
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/cart/ProductInfoServiceImpl.java
  18. 15 0
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/cart/dao/ProductInfoDao.java
  19. 19 0
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/cart/dao/impl/ProductInfoDaoImpl.java
  20. 1 9
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/coupon/CouponItemServiceImpl.java
  21. 20 0
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/integral/UseIntegralServiceImpl.java
  22. 7 0
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/AdminOrderMapper.java
  23. 0 13
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/CouponItemMapper.java
  24. 14 0
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/ProductInfoMapper.java
  25. 0 5
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/ProductMapper.java
  26. 13 0
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/UseIntegralMapper.java
  27. 23 6
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/adminOrderMapper.xml
  28. 4 25
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/couponItemMapper.xml
  29. 3 5
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/memberMapper.xml
  30. 44 1
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/productInfoMapper.xml
  31. 6 8
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/productMapper.xml
  32. 18 18
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/useIntegralMapper.xml
  33. 5 0
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/order/AdminOrderServiceImpl.java
  34. 7 0
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/order/dao/AdminOrderDao.java
  35. 5 0
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/order/dao/impl/AdminOrderDaoImpl.java
  36. 0 7
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/product/ProductTypeServiceImpl.java
  37. 2 0
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/product/dao/ProductDao.java
  38. 0 1
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/product/dao/impl/ProductDAOImpl.java
  39. 28 26
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/wechat/WeChatServiceImpl.java
  40. 136 18
      tooth-wechat-web/src/main/java/com/iamberry/wechat/handles/admin/AdminOrderHandlers.java
  41. 63 0
      tooth-wechat-web/src/main/java/com/iamberry/wechat/handles/cart/ProductInfoHandler.java
  42. 0 16
      tooth-wechat-web/src/main/java/com/iamberry/wechat/handles/coupon/AdminCouponTypeHandler.java
  43. 113 17
      tooth-wechat-web/src/main/java/com/iamberry/wechat/handles/integral/UseIntegralHandler.java
  44. 0 49
      tooth-wechat-web/src/main/java/com/iamberry/wechat/handles/member/MemberHandler.java
  45. 1 0
      tooth-wechat-web/src/main/java/com/iamberry/wechat/handles/porduct/ProductHandler.java
  46. 2 21
      tooth-wechat-web/src/main/java/com/iamberry/wechat/handles/porduct/ProductTypeHandler.java
  47. 95 1
      tooth-wechat-web/src/main/java/com/iamberry/wechat/utils/SendMessageUtil.java
  48. 4 0
      tooth-wechat-web/src/main/resources/ResultInfo.properties
  49. 1 0
      tooth-wechat-web/src/main/resources/iamberry-wechat-service-mybatis.xml
  50. 2 0
      tooth-wechat-web/src/main/resources/platform.properties
  51. 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: // 换货中
 

+ 10 - 1
tooth-common-core/src/main/java/com/iamberry/wechat/core/entity/coupon/CouponItemDto.java

@@ -16,6 +16,7 @@ public class CouponItemDto implements java.io.Serializable{
 	private Integer couponId; 					//优惠券类型id
 	private String couponName;					//优惠券类型名称
 	private String useropenid;					//领取券的openid
+	private String couponItemCurrentUserOpenid; //如有转赠,转赠人的openid
 	private Integer couponUseStatus;			//使用状态
 	private Integer couponType;                 //优惠券类型
 	
@@ -35,7 +36,15 @@ public class CouponItemDto implements java.io.Serializable{
 	private Date endDate;						//结束时间
 	private String couponItemRemark;			//优惠券详情备注
 	private PageBean page;						//分页
-	
+
+	public String getCouponItemCurrentUserOpenid() {
+		return couponItemCurrentUserOpenid;
+	}
+
+	public void setCouponItemCurrentUserOpenid(String couponItemCurrentUserOpenid) {
+		this.couponItemCurrentUserOpenid = couponItemCurrentUserOpenid;
+	}
+
 	public String getCouponItemId() {
 		return couponItemId;
 	}

+ 9 - 0
tooth-common-core/src/main/java/com/iamberry/wechat/core/entity/integral/MemberIntegral.java

@@ -22,6 +22,15 @@ public class MemberIntegral implements Serializable {
     private Date memberUpdateTime;          //更新时间
 
     private String rankRuleName;            //会员等级名称
+    private String rankIco;                 //图标
+
+    public String getRankIco() {
+        return rankIco;
+    }
+
+    public void setRankIco(String rankIco) {
+        this.rankIco = rankIco;
+    }
 
     public String getRankRuleName() {
         return rankRuleName;

+ 12 - 0
tooth-common-core/src/main/java/com/iamberry/wechat/core/entity/integral/RankRule.java

@@ -65,4 +65,16 @@ public class RankRule implements Serializable{
     public void setRankRuleUpdateTime(Date rankRuleUpdateTime) {
         this.rankRuleUpdateTime = rankRuleUpdateTime;
     }
+
+    @Override
+    public String toString() {
+        return "RankRule{" +
+                "rankRuleId=" + rankRuleId +
+                ", rankRuleName='" + rankRuleName + '\'' +
+                ", rankRuleIntegral=" + rankRuleIntegral +
+                ", rankRuleStatus=" + rankRuleStatus +
+                ", rankRuleCreateTime=" + rankRuleCreateTime +
+                ", rankRuleUpdateTime=" + rankRuleUpdateTime +
+                '}';
+    }
 }

+ 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;
 	}

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

@@ -51,6 +51,7 @@ public class Product implements java.io.Serializable{
 
 	private Integer configAmount;  //代理商的采购价
 
+
 	public Integer getColorId() {
 		return colorId;
 	}

+ 40 - 3
tooth-common-core/src/main/java/com/iamberry/wechat/core/entity/product/ProductColor.java

@@ -27,10 +27,31 @@ public class ProductColor implements java.io.Serializable{
 	private Integer colorPrice;			//产品市场价
 	private String color69Code;			//产品69码
 	private Date colorCretaeTime;		//创建时间
-	private Date colorUpdateTime;	//修改时间
-	
+	private Date colorUpdateTime;		//修改时间
+
+	private String colorImg;			//封面图
+	private Integer colorStatus;		//状态
 	private PageBean page = new PageBean();		//分页
-	
+	private String productName;			//商品名称
+
+	private Integer productType;		//产品类型
+
+	public Integer getProductType() {
+		return productType;
+	}
+
+	public void setProductType(Integer productType) {
+		this.productType = productType;
+	}
+
+	public String getProductName() {
+		return productName;
+	}
+
+	public void setProductName(String productName) {
+		this.productName = productName;
+	}
+
 	public Integer getColorProductType() {
 		return colorProductType;
 	}
@@ -127,6 +148,22 @@ public class ProductColor implements java.io.Serializable{
 		this.page = page;
 	}
 
+	public String getColorImg() {
+		return colorImg;
+	}
+
+	public void setColorImg(String colorImg) {
+		this.colorImg = colorImg;
+	}
+
+	public Integer getColorStatus() {
+		return colorStatus;
+	}
+
+	public void setColorStatus(Integer colorStatus) {
+		this.colorStatus = colorStatus;
+	}
+
 	@Override
 	public String toString() {
 		return "ProductColor [colorId=" + colorId + ", colorProductId="

+ 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());

+ 16 - 0
tooth-wechat-interface/src/main/java/com/iamberry/wechat/face/cart/ProductInfoService.java

@@ -5,6 +5,7 @@ import java.util.List;
 import com.iamberry.wechat.core.entity.cart.UserGiftDto;
 import com.iamberry.wechat.core.entity.product.Product;
 import com.iamberry.wechat.core.entity.product.ProductColor;
+import com.iamberry.wechat.core.entity.product.ProductType;
 import com.iamberry.wechat.core.entity.product.QrcodeGift;
 
 public interface ProductInfoService {
@@ -109,4 +110,19 @@ public interface ProductInfoService {
 	 * @return
 	 */
 	List<ProductColor> selectColorList(Integer colorProductId);
+
+
+	/**
+	 * 根据产品类型id查询产品颜色信息
+	 * @param productColor
+	 * @return
+	 */
+
+	List<ProductColor> listProductColorByTypeId(ProductColor productColor);
+
+	/**
+	 * 查询正在使用的产品类型
+	 * @return
+	 */
+	List<ProductType> listProductType();
 }

+ 0 - 6
tooth-wechat-interface/src/main/java/com/iamberry/wechat/face/coupon/CouponItemService.java

@@ -61,10 +61,4 @@ public interface CouponItemService {
 	 */
 	public Integer updateCouponItemList(List<CouponItem> couponItemList);
 
-	/**
-	 * 查询待用的优惠卷
-	 * @param openid
-	 * @return
-	 */
-	List<CouponItem> getStandByCoupon(String openid );
 }

+ 14 - 0
tooth-wechat-interface/src/main/java/com/iamberry/wechat/face/integral/UseIntegralService.java

@@ -4,6 +4,7 @@ import com.iamberry.wechat.core.entity.PageBean;
 import com.iamberry.wechat.core.entity.ResultMsg;
 import com.iamberry.wechat.core.entity.integral.IntegralConfig;
 import com.iamberry.wechat.core.entity.integral.MemberIntegral;
+import com.iamberry.wechat.core.entity.integral.RankRule;
 import com.iamberry.wechat.core.entity.integral.UseIntegral;
 
 import java.util.List;
@@ -31,6 +32,13 @@ public interface UseIntegralService {
     int getUseIntegralCount(String openid);
 
     /**
+     * 待入账的总积分数
+     * @param userOpenId
+     * @return
+     */
+    int getStayIntegralCount(String userOpenId);
+
+    /**
      * 查询积分来源信息
      * @param integralConfig
      * @return
@@ -43,4 +51,10 @@ public interface UseIntegralService {
      * @return
      */
     MemberIntegral getMemberInfoAndRankName(String openId);
+
+    /**
+     * 查询会员等级信息
+     * @return
+     */
+    List<RankRule> getRankRule();
 }

+ 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);
 
 }

+ 2 - 0
tooth-wechat-interface/src/main/java/com/iamberry/wechat/face/porduct/ProductService.java

@@ -74,4 +74,6 @@ public interface ProductService {
 	 * @return
 	 */
 	public Integer updateProductStatusByProductId(Product product);
+
+
 }

+ 1 - 5
tooth-wechat-interface/src/main/java/com/iamberry/wechat/face/porduct/ProductTypeService.java

@@ -46,9 +46,5 @@ public interface ProductTypeService {
 	 */
 	public Integer updateProductTypeStatusById(ProductType productType);
 
-	/**
-	 * 查询正在使用的产品类型
-	 * @return
-	 */
-	List<ProductType> listProductType();
+
 }

+ 15 - 0
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/cart/ProductInfoServiceImpl.java

@@ -4,6 +4,7 @@ import java.util.List;
 
 import com.iamberry.wechat.core.entity.PageBean;
 import com.iamberry.wechat.core.entity.product.ProductColor;
+import com.iamberry.wechat.core.entity.product.ProductType;
 import com.iamberry.wechat.core.entity.product.QrcodeGift;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -131,4 +132,18 @@ public class ProductInfoServiceImpl implements ProductInfoService {
 	public List<ProductColor> selectColorList(Integer colorProductId) {
 		return productInfoDao.selectColorList(colorProductId);
 	}
+	/**
+	 * 查询正在使用的产品类型
+	 * @return
+	 */
+
+	public List<ProductType> listProductType() {
+		return productInfoDao.listProductType();
+	}
+
+	@Override
+	public List<ProductColor> listProductColorByTypeId(ProductColor productColor) {
+		return productInfoDao.listProductColorByTypeId(productColor);
+	}
+
 }

+ 15 - 0
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/cart/dao/ProductInfoDao.java

@@ -6,6 +6,7 @@ import com.iamberry.wechat.core.entity.cart.ShopOrderItemDto;
 import com.iamberry.wechat.core.entity.cart.UserGiftDto;
 import com.iamberry.wechat.core.entity.product.Product;
 import com.iamberry.wechat.core.entity.product.ProductColor;
+import com.iamberry.wechat.core.entity.product.ProductType;
 import com.iamberry.wechat.core.entity.product.QrcodeGift;
 
 public interface ProductInfoDao {
@@ -105,4 +106,18 @@ public interface ProductInfoDao {
 	 * @return
 	 */
 	List<ProductColor> selectColorList(Integer colorProductId);
+
+	/**
+	 * 查询正在使用的产品类型
+	 * @return
+	 */
+	List<ProductType> listProductType();
+
+
+	/**
+	 * 根据产品类型id查询产品颜色信息
+	 * @param productColor
+	 * @return
+	 */
+	List<ProductColor> listProductColorByTypeId(ProductColor productColor);
 }

+ 19 - 0
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/cart/dao/impl/ProductInfoDaoImpl.java

@@ -3,6 +3,7 @@ package com.iamberry.wechat.service.cart.dao.impl;
 import java.util.List;
 
 import com.iamberry.wechat.core.entity.product.ProductColor;
+import com.iamberry.wechat.core.entity.product.ProductType;
 import com.iamberry.wechat.core.entity.product.QrcodeGift;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Repository;
@@ -112,4 +113,22 @@ public class ProductInfoDaoImpl implements ProductInfoDao {
 	public List<ProductColor> selectColorList(Integer colorProductId) {
 		return productInfoMapper.selectColorList(colorProductId);
 	}
+	/**
+	 * 根据产品类型id查询产品颜色信息
+	 * @param productColor
+	 * @return
+	 */
+	@Override
+	public List<ProductColor> listProductColorByTypeId(ProductColor productColor) {
+		return productInfoMapper.listProductColorByTypeId(productColor);
+	}
+
+
+
+
+	@Override
+	public List<ProductType> listProductType() {
+		return productInfoMapper.listProductType();
+	}
+
 }

+ 1 - 9
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/coupon/CouponItemServiceImpl.java

@@ -57,13 +57,5 @@ public class CouponItemServiceImpl implements CouponItemService {
 		// TODO Auto-generated method stub
 		return couponItemMapper.updateCouponItemList(couponItemList);
 	}
-	/**
-	 * 查询待用的优惠卷
-	 * @param openid
-	 * @return
-	 */
-	@Override
-	public List<CouponItem> getStandByCoupon(String openid) {
-		return couponItemMapper.getStandByCoupon(openid);
-	}
+
 }

+ 20 - 0
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/integral/UseIntegralServiceImpl.java

@@ -4,6 +4,7 @@ import com.iamberry.wechat.core.entity.PageBean;
 import com.iamberry.wechat.core.entity.ResultMsg;
 import com.iamberry.wechat.core.entity.integral.IntegralConfig;
 import com.iamberry.wechat.core.entity.integral.MemberIntegral;
+import com.iamberry.wechat.core.entity.integral.RankRule;
 import com.iamberry.wechat.core.entity.integral.UseIntegral;
 import com.iamberry.wechat.face.integral.UseIntegralService;
 import com.iamberry.wechat.service.mapper.UseIntegralMapper;
@@ -49,6 +50,16 @@ public class UseIntegralServiceImpl implements UseIntegralService {
     }
 
     /**
+     * 待入账的总积分数
+     * @param userOpenId
+     * @return
+     */
+    @Override
+    public int getStayIntegralCount(String userOpenId) {
+        return useIntegralMapper.getStayIntegralCount(userOpenId);
+    }
+
+    /**
      * 全部积分记录
      * @param useIntegral
      * @return
@@ -62,4 +73,13 @@ public class UseIntegralServiceImpl implements UseIntegralService {
     public List<IntegralConfig> listIntegralConfig(IntegralConfig integralConfig) {
         return useIntegralMapper.listIntegralConfig(integralConfig);
     }
+
+    /**
+     * 查询会员等级信息
+     * @return
+     */
+    @Override
+    public List<RankRule> getRankRule() {
+        return useIntegralMapper.getRankRule();
+    }
 }

+ 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);
+
 }

+ 0 - 13
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/CouponItemMapper.java

@@ -62,17 +62,4 @@ public interface CouponItemMapper {
 	 */
 	public Integer updateCouponItemList(List<CouponItem> couponItemList);
 
-	/**
-	 * 查询待用的优惠卷
-	 * @param openid
-	 * @return
-	 */
-	List<CouponItem> getStandByCoupon(String openid );
-
-	/**
-	 * 查询已使用的优惠卷
-	 * @param openid
-	 * @return
-	 */
-	List<CouponItem> getUseCoupon(String openid);
 }

+ 14 - 0
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/ProductInfoMapper.java

@@ -6,6 +6,7 @@ import com.iamberry.wechat.core.entity.cart.ShopOrderItemDto;
 import com.iamberry.wechat.core.entity.cart.UserGiftDto;
 import com.iamberry.wechat.core.entity.product.Product;
 import com.iamberry.wechat.core.entity.product.ProductColor;
+import com.iamberry.wechat.core.entity.product.ProductType;
 import com.iamberry.wechat.core.entity.product.QrcodeGift;
 
 public interface ProductInfoMapper {
@@ -107,4 +108,17 @@ public interface ProductInfoMapper {
 	 * @return
 	 */
 	List<ProductColor> selectColorList(Integer colorProductId);
+
+	/**
+	 * 查询正在使用的产品类型
+	 * @return
+	 */
+	List<ProductType> listProductType();
+
+	/**
+	 * 根据产品类型id查询产品颜色信息
+	 * @param productColor
+	 * @return
+	 */
+	List<ProductColor> listProductColorByTypeId(ProductColor productColor);
 }

+ 0 - 5
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/ProductMapper.java

@@ -104,9 +104,4 @@ public interface ProductMapper {
 	 */
 	public Integer updateProductTypeStatusById(ProductType productType);
 
-	/**
-	 * 查询正在使用的产品类型
-	 * @return
-	 */
-	List<ProductType> listProductType();
 }

+ 13 - 0
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/UseIntegralMapper.java

@@ -32,6 +32,13 @@ public interface UseIntegralMapper {
     int getUseIntegralCount(String openid);
 
     /**
+     * 待入账的总积分数
+     * @param userOpenId
+     * @return
+     */
+    int getStayIntegralCount(String userOpenId);
+
+    /**
      * 查询积分来源信息
      * @param integralConfig
      * @return
@@ -66,4 +73,10 @@ public interface UseIntegralMapper {
      */
     MemberIntegral getMemberInfoAndRankName(String openId);
 
+    /**
+     * 查询会员等级信息
+     * @return
+     */
+    List<RankRule> getRankRule();
+
 }

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

+ 4 - 25
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/couponItemMapper.xml

@@ -14,9 +14,9 @@
 		CI.COUPON_USE_STATUS couponUseStatus,
 		CI.COUPON_USE_DATE couponUseDate,
 		CI.COUPON_ITEM_REMARK couponItemRemark,
+		CI.COUPON_ITEM_CURRENT_USER_OPENID itemCurrentUserOpenid,
 
-		CI.ITEM_CURRENT_USER_OPENID itemCurrentUserOpenid,
-		CT.COU coupon_is_give
+		CT.COUPON_IS_GIVE coupon_is_give,
 		CT.COUPON_NAME couponName,
  		CT.COUPON_REDUCE couponReduce,
  		CT.COUPON_CONSUME_ENOUGH couponConsumeEnough
@@ -25,7 +25,7 @@
  	<select id="getCouponItemDtoList" resultType="CouponItemDto" parameterType="CouponItemDto">
  		SELECT 
  			<include refid="allField"></include>,
- 		CT.COUPON_TYPE couponType	
+ 		  CT.COUPON_TYPE couponType
  		FROM TB_IAMBERRY_COUPON_ITEM CI
  		JOIN TB_IAMBERRY_COUPON_TYPE CT ON CI.COUPON_ID=CT.COUPON_ID
 		<where>
@@ -58,7 +58,7 @@
 	     LIMIT ${page.pageSize}
 	    </if>
  	</select>
- 	
+
  	<!-- 查询优惠券详情总数 -->
  	<select id="getCouponItemCount" resultType="Integer" parameterType="CouponItemDto">
  		SELECT COUNT(COUPON_ITEM_ID) FROM TB_IAMBERRY_COUPON_ITEM
@@ -81,27 +81,6 @@
 		</where>
  	</select>
 
-	<!--查询待用的优惠卷-->
- 	<select id="getStandByCoupon" resultType="CouponItem">
-		SELECT CT.COUPON_NAME,CI.COUPON_USE_END_DATE ,CI.COUPON_RECEIVE_DATE
-		FROM TB_IAMBERRY_COUPON_ITEM CI
-		LEFT JOIN TB_IAMBERRY_COUPON_TYPE CT
- 		ON CI.COUPON_ID=CT.COUPON_ID
- 		WHERE CI.ITEM_CURRENT_USER_OPENID=#{openid} AND CI.COUPON_USE_STATUS=1
- 		ORDER BY CI.COUPON_ITEM_ID
-	</select>
-
-	<!--查询已使用的优惠卷-->
-	<select id="getUseCoupon" resultType="CouponItem">
-		SELECT CT.COUPON_NAME,CI.COUPON_USE_END_DATE ,CI.COUPON_RECEIVE_DATE
-		FROM TB_IAMBERRY_COUPON_ITEM CI
-		LEFT JOIN TB_IAMBERRY_COUPON_TYPE CT
- 		ON CI.COUPON_ID=CT.COUPON_ID
- 		WHERE CI.ITEM_CURRENT_USER_OPENID=#{openid} AND CI.COUPON_USE_STATUS=2
- 		ORDER BY CI.COUPON_ITEM_ID
-	</select>
-
-	<!--查询全部的优惠券-->
 
  	<!-- 添加一张优惠券 -->
  	<insert id="insertCouponItem" parameterType="CouponItem"

+ 3 - 5
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/memberMapper.xml

@@ -39,11 +39,9 @@
 	</sql>
 	<!-- 获取个人信息-->
 	<select id="getMyMemberInfo"  parameterType="String" resultType="Member" >
-		SELECT user_name,
-		user_sex,
-		user_tel,
-		user_birth_date
-		FROM 	TB_IAMBERRY_USER_USERINFO
+		SELECT
+			<include refid="allField"></include>
+		FROM TB_IAMBERRY_USER_USERINFO
 		WHERE user_openid = #{userOpenid}
 	</select>
 	<!-- 匹配查询会员信息 -->

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

@@ -29,9 +29,52 @@
 		COLOR_NAME colorName,
 		COLOR_DISCOUNT colorDiscount,
 		COLOR_PRICE colorPrice,
-		COLOR_69CODE color69Code 
+		COLOR_69CODE color69Code,
+		COLOR_IMG color_img,
+		COLOR_STATUS color_status
 	</sql>
+	<!-- 产品类型 -->
+	<sql id="allTypeField">
+		TYPE_ID typeId,
+		TYPE_NAME typeName,
+		TYPE_DETILAS typeDetilas,
+		TYPE_CREATE_DATE typeCreateDate,
+		TYPE_UPDATE_DATE typeUpdateDate,
+		TYPE_STATE typeState
+	</sql>
+	<!--根据产品类型id查询产品信息-->
+	<select id="listProductColorByTypeId" resultType="ProductColor" parameterType="ProductColor">
+		SELECT
+		COLOR_ID colorId,
+		COLOR_PRODUCT_ID colorProductId,
+		COLOR_NAME colorName,
+		COLOR_DISCOUNT colorDiscount,
+		COLOR_PRICE colorPrice,
+		COLOR_IMG colorImg,
+		COLOR_STATUS colorStatus,
+		COLOR_69CODE color69Code,
+		COLOR_CRETAE_TIME colorCretaeTime,
+		COLOR_UPDATE_TIME colorUpdateTime,
+		PRODUCT_NAME productName
+		FROM tb_iamberry_product_info PI
+		LEFT JOIN tb_iamberry_product_color PC ON PC.color_product_id=PI.PRODUCT_ID
+		WHERE PI.PRODUCT_TYPE=#{productType}
+		ORDER BY PI.product_sort_num
+		<if test="page!=null and page.recordBegin>0 and page.pageSize>0 ">
+			limit ${page.recordBegin},${page.pageSize}
+		</if>
+		<if test="page!=null and page.recordBegin==0 and page.pageSize>0 ">
+			limit ${page.pageSize}
+		</if>
+	</select>
 
+	<!--查询正在使用的产品类型-->
+	<select id="listProductType" resultType="ProductType">
+		SELECT
+		<include refid="allTypeField"></include>
+		FROM TB_IAMBERRY_PRODUCT_TYPE
+		WHERE TYPE_STATE=1
+	</select>
 	<!-- 分页查询商品信息 -->
 	<select id="selectPageProduct" parameterType="Product" resultType="Product">
 		SELECT

+ 6 - 8
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/productMapper.xml

@@ -16,7 +16,11 @@
 		PRODUCT_COLOR_DES productColorDes,
 		PRODUCT_REMARK productRemark,
 		PRODUCT_COLOR productColor,
-		PRODUCT_RENT_TYPE productRentType
+		PRODUCT_RENT_TYPE productRentType,
+		PRODUCT_DISCOUNT productDiscount,
+		PRODUCT_PRICE productPrice,
+		PRODUCT_STATUS productStatus
+
 	</sql>
 	<!-- 产品类型的所有字段 -->
 	<sql id="allTypeField">
@@ -27,13 +31,7 @@
 		TYPE_UPDATE_DATE typeUpdateDate,
 		TYPE_STATE typeState
 	</sql>
-	<!--查询正在使用的产品类型-->
-	<select id="listProductType" resultType="ProductType">
-		SELECT
-			<include refid="allTypeField"></include>
-		FROM TB_IAMBERRY_PRODUCT_TYPE
-		WHERE TYPE_STATE=1
-	</select>
+
 	<!-- 查询所有的产品并分页 -->
 	<select id="selectAllProductInfo" resultMap="productColorMap" parameterType="product">
 		SELECT

+ 18 - 18
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/useIntegralMapper.xml

@@ -10,25 +10,23 @@
         use_type useType,
         use_config_id useConfigId,
         use_integral_remarks useIntegralRemarks,
-        use_integral_create_time useIntegralCreateTime
+        use_integral_create_time useIntegralCreateTime,
+        integral_before_number integralBeforeNumber,
+        integral_end_number integralEndNumber
     </sql>
     <!--全部积分记录-->
     <select id="listIntegralInfo" resultType="UseIntegral" parameterType="UseIntegral">
         SELECT
-          i.*,
+          <include refid="AllUseField"></include>,
           c.integral_config_name integralConfigName
         FROM
           tb_iamberry_use_integral i
         LEFT JOIN tb_iamberry_integral_config c ON i.use_config_id = c.integral_config_id
-        <where>
-            <if test="openid!=null">
-                user_openid=#{openid}
-            </if>
-            <if test="useType != null">
-               AND use_type = #{useType}
+        WHERE i.user_openid=#{userOpenId}
+            <if test="useType != null||useType != ''">
+               AND i.use_type = #{useType}
             </if>
-        </where>
-        ORDER BY ORDER BY UI.use_integral_id DESC
+        ORDER BY i.use_integral_id DESC
         <if test="page!=null and page.recordBegin>0 and page.pageSize>0 ">
             limit ${page.recordBegin},${page.pageSize}
         </if>
@@ -49,14 +47,16 @@
         FROM tb_iamberry_use_integral
         WHERE user_openid=#{userOpenid} AND use_type=2
     </select>
-
-    <!--查询会员信息和会员等级名称-->
-    <select id="getMemberInfoAndRankName" parameterType="String" resultType="MemberIntegral">
-        SELECT m.*,r.rank_rule_name rankRuleName
-        FROM tb_iamberry_member_integral m
-        LEFT JOIN tb_iamberry_rank_rule r
-        ON m.rank_rule_id=r.rank_rule_id
-        WHERE m.user_openid=#{openId}
+    <!--待入账的总积分数-->
+    <select id="getStayIntegralCount" parameterType="String" resultType="int">
+        SELECT avg(stay_number)
+        FROM tb_iamberry_stay_integral
+        WHERE user_openid=#{userOpenid} AND stay_status=1
+    </select>
+    <!--查询积分等级信息-->
+    <select id="getRankRule" resultType="RankRule">
+        SELECT *
+        FROM tb_iamberry_rank_rule
     </select>
     <!-- 查询积分来源信息 -->
     <select id="listIntegralConfig" parameterType="IntegralConfig" resultType="IntegralConfig">

+ 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);
+	}
 }

+ 0 - 7
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/product/ProductTypeServiceImpl.java

@@ -22,8 +22,6 @@ public class ProductTypeServiceImpl implements ProductTypeService {
 
 	@Autowired
 	private ProductDao productDao;
-	@Autowired
-	private ProductMapper productMapper;
 
 	@Override
 	public List<ProductType> getAll() {
@@ -54,9 +52,4 @@ public class ProductTypeServiceImpl implements ProductTypeService {
 		// TODO Auto-generated method stub
 		return productDao.updateProductTypeStatusById(productType);
 	}
-
-	@Override
-	public List<ProductType> listProductType() {
-		return productMapper.listProductType();
-	}
 }

+ 2 - 0
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/product/dao/ProductDao.java

@@ -102,4 +102,6 @@ public interface ProductDao {
 	 * @return
 	 */
 	public Integer updateProductTypeStatusById(ProductType productType);
+
+
 }

+ 0 - 1
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/product/dao/impl/ProductDAOImpl.java

@@ -120,5 +120,4 @@ public class ProductDAOImpl implements ProductDao{
 		// TODO Auto-generated method stub
 		return productMapper.updateProductTypeStatusById(productType);
 	}
-
 }

+ 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,
+                                    "请确认您的退款申请信息填写无误。\\r\\n如有问题请致电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,
+                                    "退款金额将在三个工作日内退款到您的支付账户。\\r\\n如有问题请致电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(),
+                                    "请您尽快联系客服人员处理,根据客服人员指引将机器寄回。\\r\\n对此结果,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(),
+                                    "请确认您的退货申请信息填写无误。\\r\\n如有问题请致电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(),
+                                    "退款金额将在三个工作日内退款到您的支付账户。\\r\\n如有问题请致电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(),
+                                    "退款金额将在三个工作日内退款到您的支付账户。\\r\\n如有问题请致电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;
+    }
+
     /**
      * 订单备注
      *

+ 63 - 0
tooth-wechat-web/src/main/java/com/iamberry/wechat/handles/cart/ProductInfoHandler.java

@@ -670,4 +670,67 @@ public class ProductInfoHandler {
 		remsg.setData(map);
 		return remsg;
 	}
+
+	/**
+	 * 查询正在使用的产品类型列表
+	 * @return
+	 */
+	@RequestMapping("/listProductType")
+	@ResponseBody
+	public ResultMsg listProductType(){
+		ResultMsg rm=new ResultMsg();
+		List<ProductType> list=productInfoService.listProductType();
+		if(list.size()<0){
+			rm.setStatus(false);
+			rm.setResultCode(ResultInfo.ERRORCODE);
+			rm.setMessage(NameUtils.getConfig("ERRORINFO"));
+			return rm;
+		}
+		rm.setData(list);
+		rm.setResultCode(ResultInfo.SUCCESSCODE);
+		rm.setMessage(NameUtils.getConfig("SUCCESSINFO"));
+		rm.setStatus(true);
+		return rm;
+	}
+
+	/**
+	 * 根据产品类型id查询产品颜色信息
+	 * @param typeId
+	 * @param pageSize
+	 * @param pageNO
+	 * @return
+	 */
+	@ResponseBody
+	@RequestMapping("/listProductColorByTypeId")
+	public  ResultMsg listProductColorByTypeId( @RequestParam(value= "typeId",defaultValue= "" ,required=false) Integer typeId,
+											   @RequestParam(value= "pageSize",defaultValue= "6" ,required=false) Integer pageSize,
+											   @RequestParam(value = "pageNO", defaultValue = "1",required=false) Integer pageNO){
+		ResultMsg rm=new ResultMsg();
+		if(typeId<=0){
+			rm.setStatus(false);
+			rm.setResultCode(ResultInfo.ERRORCODE);
+			rm.setMessage(NameUtils.getConfig("ERRORINFO"));
+			return rm;
+		}
+
+		ProductColor productColor=new ProductColor();
+		productColor.setProductType(typeId);
+		productColor.getPage().setPageSize(pageSize);
+		productColor.getPage().setPageNumber(pageNO);
+		productColor.getPage().initRecordBegin();
+		List<ProductColor> list=productInfoService.listProductColorByTypeId(productColor);
+		if(list==null||list.size()<=0){
+			rm.setStatus(false);
+			rm.setResultCode(ResultInfo.ERRORCODE);
+			return rm;
+		}
+		Map<String,Object> map=new HashMap<String, Object>();
+		map.put("productColorList",list);
+		map.put("typeId",typeId);
+		rm.setStatus(true);
+		rm.setResultCode(ResultInfo.SUCCESSCODE);
+		rm.setMessage(NameUtils.getConfig("SUCCESSINFO"));
+		rm.setData(map);
+		return rm ;
+	}
 }

+ 0 - 16
tooth-wechat-web/src/main/java/com/iamberry/wechat/handles/coupon/AdminCouponTypeHandler.java

@@ -185,21 +185,5 @@ public class AdminCouponTypeHandler {
 		}
 		return mv;
 	}
-	/**
-	 * 查询待用的优惠卷
-	 * @param openid
-	 * @return
-	 */
-	public ResultMsg getStandByCoupon(HttpServletRequest req,
-									  @RequestParam(value = "openid",required = false)String openid){
-		ResultMsg rm=new ResultMsg();
-		Member m= WechatUtils.getUserBySession(req);
-		List<CouponItem> list=couponItemService.getStandByCoupon(m.getUserOpenid());
 
-		rm.setStatus(true);
-		rm.setResultCode(ResultInfo.SUCCESSCODE);
-		rm.setMessage(NameUtils.getConfig("SUCCESSINFO"));
-		rm.setData(list);
-		return rm;
-	}
 }

+ 113 - 17
tooth-wechat-web/src/main/java/com/iamberry/wechat/handles/integral/UseIntegralHandler.java

@@ -5,9 +5,11 @@ package com.iamberry.wechat.handles.integral;
 import com.iamberry.wechat.core.entity.PageBean;
 import com.iamberry.wechat.core.entity.ResultMsg;
 import com.iamberry.wechat.core.entity.WechatUtils;
+import com.iamberry.wechat.core.entity.integral.RankRule;
 import com.iamberry.wechat.core.entity.integral.UseIntegral;
 import com.iamberry.wechat.core.entity.member.Member;
 import com.iamberry.wechat.face.integral.UseIntegralService;
+import com.iamberry.wechat.face.member.MemberService;
 import com.iamberry.wechat.tools.NameUtils;
 import com.iamberry.wechat.tools.ResultInfo;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -18,6 +20,8 @@ import org.springframework.web.bind.annotation.ResponseBody;
 
 
 import javax.servlet.http.HttpServletRequest;
+import java.lang.reflect.Array;
+import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -31,7 +35,8 @@ public class UseIntegralHandler {
 
     @Autowired
     private UseIntegralService useIntegralService;
-
+    @Autowired
+    private MemberService memberService;
     /**
      * 收入记录 use_type=1
      * @param req
@@ -40,14 +45,18 @@ public class UseIntegralHandler {
      * @param pageNO
      * @return
      */
-    @RequestMapping("/listGainIntegralInfo")
+        @RequestMapping("/listGainIntegralInfo")
     @ResponseBody
     public ResultMsg listGainIntegralInfo(HttpServletRequest req,
                                     @RequestParam(value="useType",defaultValue= "1", required=false)Integer useType,
-                                     @RequestParam(value="pageSize",defaultValue= "6", required=false)String pageSize,
-                                     @RequestParam(value="pageNO",defaultValue= "1", required=false)String pageNO){
+                                    @RequestParam(value= "pageSize",defaultValue= "6" ,required=false) Integer pageSize,
+                                    @RequestParam(value = "pageNO", defaultValue = "1",required=false) Integer pageNO){
         ResultMsg rm=new ResultMsg();
         Member m= WechatUtils.getUserBySession(req);
+        if (m == null || m.getUserOpenid() == null) {
+            rm.setMessage(ResultInfo.loginOutError);
+            return rm;
+        }
         int gainIntegralCount=useIntegralService.getGainIntegralCount(m.getUserOpenid());
         if(gainIntegralCount<0){
             rm.setStatus(false);
@@ -58,10 +67,11 @@ public class UseIntegralHandler {
         UseIntegral useIntegral=new UseIntegral();
         useIntegral.setUserOpenId(m.getUserOpenid());
         useIntegral.setUseType(useType);
-        useIntegral.getPage().setPageSize(Integer.parseInt(pageSize));
-        useIntegral.getPage().setPageNumber(Integer.parseInt(pageNO));
+        useIntegral.getPage().setPageSize(pageSize);
+        useIntegral.getPage().setPageNumber(pageNO);
+        useIntegral.getPage().initRecordBegin();
         List<UseIntegral> listGainIntegralInfo=useIntegralService.listIntegralInfo(useIntegral);
-
+        System.out.println(listGainIntegralInfo);
         Map<String,Object> map=new HashMap<String, Object>();
         map.put("listGainIntegralInfo",listGainIntegralInfo);
         map.put("gainIntegralCount",gainIntegralCount);
@@ -74,6 +84,51 @@ public class UseIntegralHandler {
     }
 
     /**
+     * 待入账记录 use_type=3
+     * @param req
+     * @param useType
+     * @param pageSize
+     * @param pageNO
+     * @return
+     */
+    @RequestMapping("/listStayIntegral")
+    @ResponseBody
+    public ResultMsg listStayIntegral(HttpServletRequest req,
+                                      @RequestParam(value="useType",defaultValue= "3", required=false)Integer useType,
+                                      @RequestParam(value= "pageSize",defaultValue= "6" ,required=false)Integer pageSize,
+                                      @RequestParam(value = "pageNO", defaultValue = "1",required=false)Integer pageNO){
+        ResultMsg rm=new ResultMsg();
+        Member m= WechatUtils.getUserBySession(req);
+        if (m == null || m.getUserOpenid() == null) {
+            rm.setMessage(ResultInfo.loginOutError);
+            return rm;
+        }
+        int stayIntegralCount=useIntegralService.getStayIntegralCount(m.getUserOpenid());
+        if(stayIntegralCount<0){
+            rm.setStatus(false);
+            rm.setResultCode(ResultInfo.ERRORCODE);
+            rm.setMessage(NameUtils.getConfig("ERRORINFO"));
+            return rm;
+        }
+        UseIntegral useIntegral=new UseIntegral();
+        useIntegral.setUserOpenId(m.getUserOpenid());
+        useIntegral.setUseType(useType);
+        useIntegral.getPage().setPageSize(pageSize);
+        useIntegral.getPage().setPageNumber(pageNO);
+        useIntegral.getPage().initRecordBegin();
+        List<UseIntegral> listStayIntegral=useIntegralService.listIntegralInfo(useIntegral);
+
+        Map<String,Object> map=new HashMap<String, Object>();
+        map.put("listStayIntegralInfo",listStayIntegral);
+        map.put("stayIntegralCount",stayIntegralCount);
+
+        rm.setStatus(true);
+        rm.setResultCode(ResultInfo.SUCCESSCODE);
+        rm.setMessage(NameUtils.getConfig("SUCCESSINFO"));
+        rm.setData(map);
+        return rm;
+    }
+    /**
      * 全部记录 use_type=null
      * @param req
      * @param useType
@@ -84,30 +139,38 @@ public class UseIntegralHandler {
     @RequestMapping("/listAllIntegralInfo")
     @ResponseBody
     public ResultMsg listAllIntegralInfo(HttpServletRequest req,
-                                   @RequestParam(value="useType",defaultValue= "null", required=false)Integer useType,
-                                   @RequestParam(value="pageSize",defaultValue= "6", required=false)String pageSize,
-                                   @RequestParam(value="pageNO",defaultValue= "1", required=false)String pageNO){
+                                   @RequestParam(value="useType",defaultValue= "", required=false)Integer useType,
+                                   @RequestParam(value= "pageSize",defaultValue= "6" ,required=false)Integer pageSize,
+                                   @RequestParam(value = "pageNO", defaultValue = "1",required=false)Integer pageNO){
         ResultMsg rm=new ResultMsg();
         Member m=WechatUtils.getUserBySession(req);
-        int useIntegralCount=useIntegralService.getUseIntegralCount(m.getUserOpenid());
-        int gainIntegralCount=useIntegralService.getGainIntegralCount(m.getUserOpenid());
-        if(useIntegralCount<0||gainIntegralCount<0){
+        String openid=m.getUserOpenid();
+        if (m == null || openid == null) {
+            rm.setMessage(ResultInfo.loginOutError);
+            return rm;
+        }
+        int useIntegralCount=useIntegralService.getUseIntegralCount(openid);
+        int gainIntegralCount=useIntegralService.getGainIntegralCount(openid);
+        int stayIntegralCount=useIntegralService.getStayIntegralCount(openid);
+        if(useIntegralCount<0||gainIntegralCount<0||stayIntegralCount<0){
             rm.setStatus(false);
             rm.setResultCode(ResultInfo.ERRORCODE);
             rm.setMessage(NameUtils.getConfig("ERRORINFO"));
             return rm;
         }
         UseIntegral useIntegral=new UseIntegral();
-        useIntegral.setUserOpenId(m.getUserOpenid());
+        //useIntegral.setUserOpenId(m.getUserOpenid());
         useIntegral.setUseType(useType);
-        useIntegral.getPage().setPageSize(Integer.parseInt(pageSize));
-        useIntegral.getPage().setPageNumber(Integer.parseInt(pageNO));
+        useIntegral.getPage().setPageSize(pageSize);
+        useIntegral.getPage().setPageNumber(pageNO);
+        useIntegral.getPage().initRecordBegin();
         List<UseIntegral> listAllIntegralInfo=useIntegralService.listIntegralInfo(useIntegral);
 
         Map<String,Object> map=new HashMap<String, Object>();
         map.put("listAllIntegralInfo",listAllIntegralInfo);
         map.put("useIntegralCount",useIntegralCount);
         map.put("gainIntegralCount",gainIntegralCount);
+        map.put("stayIntegralCount",stayIntegralCount);
 
         rm.setStatus(true);
         rm.setResultCode(ResultInfo.SUCCESSCODE);
@@ -116,6 +179,39 @@ public class UseIntegralHandler {
         return rm;
     }
 
-
+    /**
+     * 获取会员信息、会员等级信息
+     * @param req
+     * @return
+     */
+    @RequestMapping("/getRankRule")
+    @ResponseBody
+    public ResultMsg getRankRule(HttpServletRequest req){
+        ResultMsg rm=new ResultMsg();
+        Map<String,Object> map=new HashMap<String, Object>();
+        Member member=WechatUtils.getUserBySession(req);
+        if (member == null || member.getUserOpenid() == null) {
+            rm.setMessage(ResultInfo.loginOutError);
+            return rm;
+        }
+        member=memberService.getMyMemberInfo(member.getUserOpenid());
+        int userIntegralCount=member.getUserIntegral();
+
+        List<RankRule> list=useIntegralService.getRankRule();
+        RankRule rankRule=null;
+        for(RankRule r:list){
+            if(r.getRankRuleIntegral()>=userIntegralCount){
+                rankRule=r;
+                break;
+            }
+        }
+        map.put("rankRule",rankRule);
+        map.put("memberInfo",member);
+        rm.setStatus(true);
+        rm.setResultCode(ResultInfo.SUCCESSCODE);
+        rm.setMessage(NameUtils.getConfig("SUCCESSINFO"));
+        rm.setData(map);
+        return rm;
+    }
 
 }

+ 0 - 49
tooth-wechat-web/src/main/java/com/iamberry/wechat/handles/member/MemberHandler.java

@@ -366,54 +366,5 @@ public class MemberHandler {
 			}
 		}
 	}
-	/**
-	 * 获取个人信息
-	 * @param req
-	 * @return
-	 */
-	@RequestMapping("/getMyMemberInfo")
-	@ResponseBody
-	public ResultMsg getMyMemberInfo(HttpServletRequest req){
-		ResultMsg rm = new ResultMsg();
-		Member member = WechatUtils.getUserBySession(req);
-		member = memberService.getMyMemberInfo(member.getUserOpenid());
-		if(member==null){
-			rm.setStatus(false);
-			rm.setResultCode(ResultInfo.ERRORCODE);
-			rm.setMessage(NameUtils.getConfig("待完善"));
-			return rm;
-		}
-		rm.setStatus(true);
-		rm.setResultCode(ResultInfo.SUCCESSCODE);
-		rm.setMessage(NameUtils.getConfig("SUCCESSINFO"));
-		rm.setData(member);
-		return rm;
-	}
-
-	/**
-	 * 获取会员信息.会员等级名称
-	 * @param req
-	 * @return
-	 */
-	@RequestMapping("/getMemberInfoAndRankName")
-	@ResponseBody
-	public ResultMsg getMemberInfoAndRankName(HttpServletRequest req){
-		ResultMsg rm=new ResultMsg();
-		Member m=WechatUtils.getUserBySession(req);
-		String openid=m.getUserOpenid();
-		MemberIntegral mi=useIntegralService.getMemberInfoAndRankName(openid);
-		if(mi==null) {
-			rm.setStatus(false);
-			rm.setResultCode(ResultInfo.ERRORCODE);
-			rm.setMessage(NameUtils.getConfig("ERRORINFO"));
-			return rm;
-		}
-
-		rm.setStatus(true);
-		rm.setResultCode(ResultInfo.SUCCESSCODE);
-		rm.setMessage(NameUtils.getConfig("SUCCESSINFO"));
-		rm.setData(mi);
-		return rm;
-	}
 
 }

+ 1 - 0
tooth-wechat-web/src/main/java/com/iamberry/wechat/handles/porduct/ProductHandler.java

@@ -13,6 +13,7 @@ import javax.servlet.http.HttpServletResponse;
 import com.iamberry.wechat.core.entity.PageBean;
 import com.iamberry.wechat.core.entity.ResultMsg;
 import com.iamberry.wechat.core.entity.product.*;
+import com.iamberry.wechat.tools.NameUtils;
 import com.iamberry.wechat.tools.ResultInfo;
 import com.iamberry.wechat.utils.Result;
 import org.apache.commons.lang.StringUtils;

+ 2 - 21
tooth-wechat-web/src/main/java/com/iamberry/wechat/handles/porduct/ProductTypeHandler.java

@@ -7,6 +7,7 @@ import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
 import com.iamberry.wechat.core.entity.ResultMsg;
+import com.iamberry.wechat.core.entity.product.Product;
 import com.iamberry.wechat.tools.NameUtils;
 import com.iamberry.wechat.tools.ResultInfo;
 import org.apache.commons.lang.StringUtils;
@@ -26,6 +27,7 @@ import com.iamberry.wechat.face.porduct.ProductTypeService;
 public class ProductTypeHandler {
 	@Autowired
 	private ProductTypeService productTypeService;
+
 	
 	/**
 	 * 查询所有产品类型
@@ -140,25 +142,4 @@ public class ProductTypeHandler {
 		return "{\"status\":\"修改成功!\"}";
 	}
 
-	/**
-	 * 查询正在使用的产品类型列表
-	 * @return
-	 */
-	@RequestMapping("/listProductType")
-	@ResponseBody
-	public ResultMsg listProductType(){
-		ResultMsg rm=new ResultMsg();
-		List<ProductType> list=productTypeService.listProductType();
-		if(list.size()<0){
-			rm.setStatus(false);
-			rm.setResultCode(ResultInfo.ERRORCODE);
-			rm.setMessage(NameUtils.getConfig("ERRORINFO"));
-			return rm;
-		}
-		rm.setData(list);
-		rm.setResultCode(ResultInfo.SUCCESSCODE);
-		rm.setMessage(NameUtils.getConfig("SUCCESSINFO"));
-		rm.setStatus(true);
-		return rm;
-	}
 }

+ 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
 

+ 1 - 0
tooth-wechat-web/src/main/resources/iamberry-wechat-service-mybatis.xml

@@ -239,6 +239,7 @@
 		<typeAlias type="com.iamberry.wechat.core.entity.integral.IntegralConfig" alias="IntegralConfig"/>
 		<typeAlias type="com.iamberry.wechat.core.entity.integral.MemberIntegral" alias="MemberIntegral"/>
 		<typeAlias type="com.iamberry.wechat.core.entity.integral.RankRule" alias="RankRule"/>
+		<typeAlias type="com.iamberry.wechat.core.entity.integral.StayIntegral" alias="StayIntegral"/>
 
 		<package name="com.iamberry.wechat.core.entity.rent"/>
 	</typeAliases>

+ 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;
+                }
+
 				/**
 				 * 同步订单状态
 				 */