Browse Source

积分商城

wangxiaoming 7 years ago
parent
commit
b4ff95c229
53 changed files with 3508 additions and 18 deletions
  1. 6 1
      tooth-common-core/src/main/java/com/iamberry/wechat/core/entity/WechatUtils.java
  2. 27 0
      tooth-common-core/src/main/java/com/iamberry/wechat/core/entity/integral/IntegralCart.java
  3. 165 0
      tooth-common-core/src/main/java/com/iamberry/wechat/core/entity/integral/IntegralItem.java
  4. 135 0
      tooth-common-core/src/main/java/com/iamberry/wechat/core/entity/integral/IntegralOrder.java
  5. 112 0
      tooth-common-core/src/main/java/com/iamberry/wechat/core/entity/integral/IntegralOrderAddress.java
  6. 122 0
      tooth-common-core/src/main/java/com/iamberry/wechat/core/entity/integral/IntegralProduct.java
  7. 102 0
      tooth-common-core/src/main/java/com/iamberry/wechat/core/entity/integral/IntegralProductConvert.java
  8. 51 0
      tooth-common-core/src/main/java/com/iamberry/wechat/core/entity/integral/IntegralProductGrade.java
  9. 52 0
      tooth-common-core/src/main/java/com/iamberry/wechat/core/entity/integral/IntegralProductPicture.java
  10. 1 1
      tooth-common-core/src/main/java/com/iamberry/wechat/core/entity/integral/UseIntegral.java
  11. 7 6
      tooth-common-core/src/main/java/com/iamberry/wechat/core/entity/member/Member.java
  12. 12 0
      tooth-common-tool/src/main/java/com/iamberry/wechat/tools/payUtil/RandomUtil.java
  13. 7 0
      tooth-wechat-interface/src/main/java/com/iamberry/wechat/face/coupon/CouponItemService.java
  14. 50 0
      tooth-wechat-interface/src/main/java/com/iamberry/wechat/face/integral/IntegralItemService.java
  15. 43 0
      tooth-wechat-interface/src/main/java/com/iamberry/wechat/face/integral/IntegralOrderAddressService.java
  16. 68 0
      tooth-wechat-interface/src/main/java/com/iamberry/wechat/face/integral/IntegralOrderService.java
  17. 45 0
      tooth-wechat-interface/src/main/java/com/iamberry/wechat/face/integral/IntegralProductConvertService.java
  18. 43 0
      tooth-wechat-interface/src/main/java/com/iamberry/wechat/face/integral/IntegralProductGradeService.java
  19. 43 0
      tooth-wechat-interface/src/main/java/com/iamberry/wechat/face/integral/IntegralProductPictureService.java
  20. 50 0
      tooth-wechat-interface/src/main/java/com/iamberry/wechat/face/integral/IntegralProductService.java
  21. 6 0
      tooth-wechat-interface/src/main/java/com/iamberry/wechat/face/member/MemberService.java
  22. 6 0
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/ImberryConfig.java
  23. 5 0
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/coupon/CouponItemServiceImpl.java
  24. 80 0
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/integral/IntegralItemServiceImpl.java
  25. 65 0
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/integral/IntegralOrderAddressServiceImpl.java
  26. 322 0
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/integral/IntegralOrderServiceImpl.java
  27. 65 0
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/integral/IntegralProductConvertServiceImpl.java
  28. 65 0
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/integral/IntegralProductGradeServiceImpl.java
  29. 65 0
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/integral/IntegralProductPictureServiceImpl.java
  30. 78 0
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/integral/IntegralProductServiceImpl.java
  31. 7 0
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/CouponItemMapper.java
  32. 49 0
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/IntegralItemMapper.java
  33. 206 0
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/IntegralItemMapper.xml
  34. 44 0
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/IntegralOrderAddressMapper.java
  35. 43 0
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/IntegralOrderMapper.java
  36. 43 0
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/IntegralProductConvertMapper.java
  37. 43 0
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/IntegralProductGradeMapper.java
  38. 43 0
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/IntegralProductMapper.java
  39. 43 0
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/IntegralProductPictureMapper.java
  40. 14 0
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/couponItemMapper.xml
  41. 133 0
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/integralOrderAddressMapper.xml
  42. 126 0
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/integralOrderMapper.xml
  43. 118 0
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/integralProductConvertMapper.xml
  44. 74 0
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/integralProductGradeMapper.xml
  45. 136 0
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/integralProductMapper.xml
  46. 74 0
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/integralProductPictureMapper.xml
  47. 16 0
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/member/MemberServiceImpl.java
  48. 82 4
      tooth-wechat-web/src/main/java/com/iamberry/wechat/handles/apparatus/ApparatusHandler.java
  49. 157 0
      tooth-wechat-web/src/main/java/com/iamberry/wechat/handles/integral/IntegralOrderHandler.java
  50. 107 0
      tooth-wechat-web/src/main/java/com/iamberry/wechat/handles/integral/IntegralProductHandler.java
  51. 29 5
      tooth-wechat-web/src/main/java/com/iamberry/wechat/handles/integral/UseIntegralHandler.java
  52. 3 1
      tooth-wechat-web/src/main/resources/iamberry-app-service-config.properties
  53. 20 0
      tooth-wechat-web/src/main/resources/iamberry-wechat-service-mybatis.xml

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

@@ -75,7 +75,12 @@ public class WechatUtils {
 	 */
 	 */
 	public static Member getUserBySession(HttpServletRequest request) {
 	public static Member getUserBySession(HttpServletRequest request) {
 
 
-		logger.info("获取用户信息");
+		Member m = new Member();
+		m.setUserId(15752);
+		m.setUserOpenid("oZ9pv02WMRQgyDVRY1a_daYecwHI");
+		if(true){
+			return m;
+		}
 
 
 		//获取一个cookie数组
 		//获取一个cookie数组
 		Cookie[] cookies = request.getCookies();
 		Cookie[] cookies = request.getCookies();

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

@@ -0,0 +1,27 @@
+package com.iamberry.wechat.core.entity.integral;
+
+import java.io.Serializable;
+
+public class IntegralCart  implements Serializable{
+    private static final long serialVersionUID = 8533497896734115921L;
+
+    private Integer productId;
+
+    private Integer num;
+
+    public Integer getProductId() {
+        return productId;
+    }
+
+    public void setProductId(Integer productId) {
+        this.productId = productId;
+    }
+
+    public Integer getNum() {
+        return num;
+    }
+
+    public void setNum(Integer num) {
+        this.num = num;
+    }
+}

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

@@ -0,0 +1,165 @@
+package com.iamberry.wechat.core.entity.integral;
+
+import com.iamberry.wechat.core.entity.coupon.CouponItem;
+
+import  java.util.Date;
+import  java.io.Serializable;
+/**
+ *  销售订单项表类
+ * @author ys
+ * @Date 2018-04-28
+ */
+public class IntegralItem  implements  Serializable{
+    private static final long serialVersionUID = 2919221966398903010L;
+    //订单条目id
+    private Integer integralItemId;
+    //所属订单
+    private String integralItemOrderId;
+    //商品id
+    private Integer integralProductId;
+    //商品数量
+    private Integer integralItemNum;
+    //支付的金额 合计
+    private Integer integralItemTotal;
+    //使用的积分 合计
+    private Integer integralItemDfbi;
+    //积分商品类型 1:商城内优惠券 2:其他
+    private Integer integralItemProductType;
+    //优惠券类型id
+    private Integer integralItemCouponId;
+    //优惠券id
+    private String integralItemCouponItemId;
+    //商品名称
+    private String integralItemProductName;
+    //商品价格
+    private Integer integralItemProductPrice;
+    //所需朵粉币
+    private Integer integralItemProductDfbi;
+    //介绍图
+    private String integralItemProductPic;
+    //创建时间'
+    private Date integralItemCreateDate;
+
+    /*在生成优惠券的时候有优惠券对象*/
+    private CouponItem couponItem = new CouponItem();
+
+    public Integer getIntegralItemId(){
+        return integralItemId;
+    }
+
+    public void setIntegralItemId(Integer  integralItemId){
+        this.integralItemId=integralItemId;
+    }
+
+    public String getIntegralItemOrderId(){
+        return integralItemOrderId;
+    }
+
+    public void setIntegralItemOrderId(String  integralItemOrderId){
+        this.integralItemOrderId=integralItemOrderId;
+    }
+
+    public Integer getIntegralProductId(){
+        return integralProductId;
+    }
+
+    public void setIntegralProductId(Integer  integralProductId){
+        this.integralProductId=integralProductId;
+    }
+
+    public Integer getIntegralItemNum(){
+        return integralItemNum;
+    }
+
+    public void setIntegralItemNum(Integer  integralItemNum){
+        this.integralItemNum=integralItemNum;
+    }
+
+    public Integer getIntegralItemTotal(){
+        return integralItemTotal;
+    }
+
+    public void setIntegralItemTotal(Integer  integralItemTotal){
+        this.integralItemTotal=integralItemTotal;
+    }
+
+    public Integer getIntegralItemDfbi(){
+        return integralItemDfbi;
+    }
+
+    public void setIntegralItemDfbi(Integer  integralItemDfbi){
+        this.integralItemDfbi=integralItemDfbi;
+    }
+
+    public Integer getIntegralItemProductType(){
+        return integralItemProductType;
+    }
+
+    public void setIntegralItemProductType(Integer  integralItemProductType){
+        this.integralItemProductType=integralItemProductType;
+    }
+
+    public Integer getIntegralItemCouponId(){
+        return integralItemCouponId;
+    }
+
+    public void setIntegralItemCouponId(Integer  integralItemCouponId){
+        this.integralItemCouponId=integralItemCouponId;
+    }
+
+    public String getIntegralItemCouponItemId(){
+        return integralItemCouponItemId;
+    }
+
+    public void setIntegralItemCouponItemId(String  integralItemCouponItemId){
+        this.integralItemCouponItemId=integralItemCouponItemId;
+    }
+
+    public String getIntegralItemProductName(){
+        return integralItemProductName;
+    }
+
+    public void setIntegralItemProductName(String  integralItemProductName){
+        this.integralItemProductName=integralItemProductName;
+    }
+
+    public Integer getIntegralItemProductPrice(){
+        return integralItemProductPrice;
+    }
+
+    public void setIntegralItemProductPrice(Integer  integralItemProductPrice){
+        this.integralItemProductPrice=integralItemProductPrice;
+    }
+
+    public Integer getIntegralItemProductDfbi(){
+        return integralItemProductDfbi;
+    }
+
+    public void setIntegralItemProductDfbi(Integer  integralItemProductDfbi){
+        this.integralItemProductDfbi=integralItemProductDfbi;
+    }
+
+    public String getIntegralItemProductPic(){
+        return integralItemProductPic;
+    }
+
+    public void setIntegralItemProductPic(String  integralItemProductPic){
+        this.integralItemProductPic=integralItemProductPic;
+    }
+
+    public Date getIntegralItemCreateDate(){
+        return integralItemCreateDate;
+    }
+
+    public void setIntegralItemCreateDate(Date  integralItemCreateDate){
+        this.integralItemCreateDate=integralItemCreateDate;
+    }
+
+    public CouponItem getCouponItem() {
+        return couponItem;
+    }
+
+    public void setCouponItem(CouponItem couponItem) {
+        this.couponItem = couponItem;
+    }
+}

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

@@ -0,0 +1,135 @@
+package com.iamberry.wechat.core.entity.integral;
+
+import java.util.ArrayList;
+import  java.util.Date;
+import  java.io.Serializable;
+import java.util.List;
+
+/**
+ *  积分商城订单表类
+ * @author ys
+ * @Date 2018-04-28
+ */
+public class IntegralOrder  implements  Serializable{
+    private static final long serialVersionUID = 3561602807369619385L;
+    //
+    private String integralOrderId;
+    //用户openid
+    private String integralOrderOpenId;
+    //订单付款金额
+    private Integer integralOrderYetAmount;
+    //使用朵粉币数量
+    private Integer integralOrderDfbi;
+    //订单金额
+    private Integer integralOrderAmount;
+    //状态 1:未兑换 2:已兑换 3:兑换失败
+    private Integer integralOrderStatus;
+    //后台的备注
+    private String integralOrderAdminRemark;
+    //用户备注
+    private String integralOrderUserRemark;
+    //微信订单号
+    private String integralOrderTransactionId;
+    //微信支付时间
+    private Date integralOrderTransactionDate;
+    //创建时间'
+    private Date integralOrderCreateDate;
+    //积分兑换订单项
+    private List<IntegralItem> integralItemList = new ArrayList<>();
+
+    public String getIntegralOrderId(){
+        return integralOrderId;
+    }
+
+    public void setIntegralOrderId(String  integralOrderId){
+        this.integralOrderId=integralOrderId;
+    }
+
+    public String getIntegralOrderOpenId(){
+        return integralOrderOpenId;
+    }
+
+    public void setIntegralOrderOpenId(String  integralOrderOpenId){
+        this.integralOrderOpenId=integralOrderOpenId;
+    }
+
+    public Integer getIntegralOrderYetAmount(){
+        return integralOrderYetAmount;
+    }
+
+    public void setIntegralOrderYetAmount(Integer  integralOrderYetAmount){
+        this.integralOrderYetAmount=integralOrderYetAmount;
+    }
+
+    public Integer getIntegralOrderDfbi(){
+        return integralOrderDfbi;
+    }
+
+    public void setIntegralOrderDfbi(Integer  integralOrderDfbi){
+        this.integralOrderDfbi=integralOrderDfbi;
+    }
+
+    public Integer getIntegralOrderAmount(){
+        return integralOrderAmount;
+    }
+
+    public void setIntegralOrderAmount(Integer  integralOrderAmount){
+        this.integralOrderAmount=integralOrderAmount;
+    }
+
+    public Integer getIntegralOrderStatus(){
+        return integralOrderStatus;
+    }
+
+    public void setIntegralOrderStatus(Integer  integralOrderStatus){
+        this.integralOrderStatus=integralOrderStatus;
+    }
+
+    public String getIntegralOrderAdminRemark(){
+        return integralOrderAdminRemark;
+    }
+
+    public void setIntegralOrderAdminRemark(String  integralOrderAdminRemark){
+        this.integralOrderAdminRemark=integralOrderAdminRemark;
+    }
+
+    public String getIntegralOrderUserRemark(){
+        return integralOrderUserRemark;
+    }
+
+    public void setIntegralOrderUserRemark(String  integralOrderUserRemark){
+        this.integralOrderUserRemark=integralOrderUserRemark;
+    }
+
+    public String getIntegralOrderTransactionId(){
+        return integralOrderTransactionId;
+    }
+
+    public void setIntegralOrderTransactionId(String  integralOrderTransactionId){
+        this.integralOrderTransactionId=integralOrderTransactionId;
+    }
+
+    public Date getIntegralOrderTransactionDate(){
+        return integralOrderTransactionDate;
+    }
+
+    public void setIntegralOrderTransactionDate(Date  integralOrderTransactionDate){
+        this.integralOrderTransactionDate=integralOrderTransactionDate;
+    }
+
+    public Date getIntegralOrderCreateDate(){
+        return integralOrderCreateDate;
+    }
+
+    public void setIntegralOrderCreateDate(Date  integralOrderCreateDate){
+        this.integralOrderCreateDate=integralOrderCreateDate;
+    }
+
+    public List<IntegralItem> getIntegralItemList() {
+        return integralItemList;
+    }
+
+    public void setIntegralItemList(List<IntegralItem> integralItemList) {
+        this.integralItemList = integralItemList;
+    }
+}

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

@@ -0,0 +1,112 @@
+package com.iamberry.wechat.core.entity.integral;
+
+import  java.util.Date;
+import  java.io.Serializable;
+/**
+ *  积分商城订单邮寄信息类
+ * @author Administrator
+ * @Date 2018-04-28
+ */
+public class IntegralOrderAddress  implements  Serializable{
+    private static final long serialVersionUID = -5275095918085436844L;
+    //订单邮寄信息id
+    private Integer orderAddressId;
+    //订单id
+    private String integralOrderId;
+    //
+    private String orderAddressPostNum;
+    //
+    private String orderAddressPostFirm;
+    //状态 1:已支付未发货 2:已发货
+    private Integer orderAddressStatus;
+    //发货时间
+    private Date orderAddressSendDate;
+    //详细地址
+    private String orderAddressAddressInfo;
+    //邮编
+    private String orderAddressAddressPostnum;
+    //收件人电话
+    private String orderAddressAddressTel;
+    //收件人姓名'
+    private String orderAddressAddressName;
+
+    public Integer getOrderAddressId(){
+        return orderAddressId;
+    }
+
+    public void setOrderAddressId(Integer  orderAddressId){
+        this.orderAddressId=orderAddressId;
+    }
+
+    public String getIntegralOrderId(){
+        return integralOrderId;
+    }
+
+    public void setIntegralOrderId(String  integralOrderId){
+        this.integralOrderId=integralOrderId;
+    }
+
+    public String getOrderAddressPostNum(){
+        return orderAddressPostNum;
+    }
+
+    public void setOrderAddressPostNum(String  orderAddressPostNum){
+        this.orderAddressPostNum=orderAddressPostNum;
+    }
+
+    public String getOrderAddressPostFirm(){
+        return orderAddressPostFirm;
+    }
+
+    public void setOrderAddressPostFirm(String  orderAddressPostFirm){
+        this.orderAddressPostFirm=orderAddressPostFirm;
+    }
+
+    public Integer getOrderAddressStatus(){
+        return orderAddressStatus;
+    }
+
+    public void setOrderAddressStatus(Integer  orderAddressStatus){
+        this.orderAddressStatus=orderAddressStatus;
+    }
+
+    public Date getOrderAddressSendDate(){
+        return orderAddressSendDate;
+    }
+
+    public void setOrderAddressSendDate(Date  orderAddressSendDate){
+        this.orderAddressSendDate=orderAddressSendDate;
+    }
+
+    public String getOrderAddressAddressInfo(){
+        return orderAddressAddressInfo;
+    }
+
+    public void setOrderAddressAddressInfo(String  orderAddressAddressInfo){
+        this.orderAddressAddressInfo=orderAddressAddressInfo;
+    }
+
+    public String getOrderAddressAddressPostnum(){
+        return orderAddressAddressPostnum;
+    }
+
+    public void setOrderAddressAddressPostnum(String  orderAddressAddressPostnum){
+        this.orderAddressAddressPostnum=orderAddressAddressPostnum;
+    }
+
+    public String getOrderAddressAddressTel(){
+        return orderAddressAddressTel;
+    }
+
+    public void setOrderAddressAddressTel(String  orderAddressAddressTel){
+        this.orderAddressAddressTel=orderAddressAddressTel;
+    }
+
+    public String getOrderAddressAddressName(){
+        return orderAddressAddressName;
+    }
+
+    public void setOrderAddressAddressName(String  orderAddressAddressName){
+        this.orderAddressAddressName=orderAddressAddressName;
+    }
+}

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

@@ -0,0 +1,122 @@
+package com.iamberry.wechat.core.entity.integral;
+
+import  java.util.Date;
+import  java.io.Serializable;
+/**
+ *  积分商品类
+ * @author ys
+ * @Date 2018-04-28
+ */
+public class IntegralProduct  implements  Serializable{
+    private static final long serialVersionUID = -7466017509080040027L;
+    //商品id
+    private Integer integralProductId;
+    //积分商品名称
+    private String integralProductName;
+    //积分商品介绍图
+    private String integralProductImg;
+    //产品简介
+    private String integralProductDesc;
+    //商品类型 1:商城内优惠券 2:其他
+    private Integer integralProductType;
+    //商品总数量
+    private Integer integralProductNum;
+    //商品已兑换数量
+    private Integer integralProductRemainingNum;
+    //详情
+    private String integralProductImagetext;
+    //状态 1:使用中 2未使用
+    private Integer integralProductStatus;
+    //创建时间
+    private Date integralProductCreateTime;
+    //修改时间'
+    private Date integralProductUpdateTime;
+
+    public Integer getIntegralProductId(){
+        return integralProductId;
+    }
+
+    public void setIntegralProductId(Integer  integralProductId){
+        this.integralProductId=integralProductId;
+    }
+
+    public String getIntegralProductName(){
+        return integralProductName;
+    }
+
+    public void setIntegralProductName(String  integralProductName){
+        this.integralProductName=integralProductName;
+    }
+
+    public String getIntegralProductImg(){
+        return integralProductImg;
+    }
+
+    public void setIntegralProductImg(String  integralProductImg){
+        this.integralProductImg=integralProductImg;
+    }
+
+    public String getIntegralProductDesc(){
+        return integralProductDesc;
+    }
+
+    public void setIntegralProductDesc(String  integralProductDesc){
+        this.integralProductDesc=integralProductDesc;
+    }
+
+    public Integer getIntegralProductType(){
+        return integralProductType;
+    }
+
+    public void setIntegralProductType(Integer  integralProductType){
+        this.integralProductType=integralProductType;
+    }
+
+    public Integer getIntegralProductNum(){
+        return integralProductNum;
+    }
+
+    public void setIntegralProductNum(Integer  integralProductNum){
+        this.integralProductNum=integralProductNum;
+    }
+
+    public Integer getIntegralProductRemainingNum(){
+        return integralProductRemainingNum;
+    }
+
+    public void setIntegralProductRemainingNum(Integer  integralProductRemainingNum){
+        this.integralProductRemainingNum=integralProductRemainingNum;
+    }
+
+    public String getIntegralProductImagetext(){
+        return integralProductImagetext;
+    }
+
+    public void setIntegralProductImagetext(String  integralProductImagetext){
+        this.integralProductImagetext=integralProductImagetext;
+    }
+
+    public Integer getIntegralProductStatus(){
+        return integralProductStatus;
+    }
+
+    public void setIntegralProductStatus(Integer  integralProductStatus){
+        this.integralProductStatus=integralProductStatus;
+    }
+
+    public Date getIntegralProductCreateTime(){
+        return integralProductCreateTime;
+    }
+
+    public void setIntegralProductCreateTime(Date  integralProductCreateTime){
+        this.integralProductCreateTime=integralProductCreateTime;
+    }
+
+    public Date getIntegralProductUpdateTime(){
+        return integralProductUpdateTime;
+    }
+
+    public void setIntegralProductUpdateTime(Date  integralProductUpdateTime){
+        this.integralProductUpdateTime=integralProductUpdateTime;
+    }
+}

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

@@ -0,0 +1,102 @@
+package com.iamberry.wechat.core.entity.integral;
+
+import  java.util.Date;
+import  java.io.Serializable;
+/**
+ *  商品兑换信息
+ * @author ys
+ * @Date 2018-04-28
+ */
+public class IntegralProductConvert  implements  Serializable{
+    private static final long serialVersionUID = -8623665032906045517L;
+    //
+    private Integer convertId;
+    //商品id
+    private Integer integralProductId;
+    //所需朵粉币数量
+    private Integer convertDfbi;
+    //是否邮寄 1:需要邮寄 2:不需要邮寄 def:2
+    private Integer convertIsMailing;
+    //是否需要支付 1:需要支付 2:不需要支付 def:2
+    private Integer convertIsPay;
+    //需要支付的金额
+    private Integer convertPrice;
+    //优惠券类型id 当类型为优惠券时,需要关联某个优惠券类型
+    private Integer couponId;
+    //创建时间
+    private Date convertCreateTime;
+    //修改时间'
+    private Date convertUpdateTime;
+
+    public Integer getConvertId(){
+        return convertId;
+    }
+
+    public void setConvertId(Integer  convertId){
+        this.convertId=convertId;
+    }
+
+    public Integer getIntegralProductId(){
+        return integralProductId;
+    }
+
+    public void setIntegralProductId(Integer  integralProductId){
+        this.integralProductId=integralProductId;
+    }
+
+    public Integer getConvertDfbi(){
+        return convertDfbi;
+    }
+
+    public void setConvertDfbi(Integer  convertDfbi){
+        this.convertDfbi=convertDfbi;
+    }
+
+    public Integer getConvertIsMailing(){
+        return convertIsMailing;
+    }
+
+    public void setConvertIsMailing(Integer  convertIsMailing){
+        this.convertIsMailing=convertIsMailing;
+    }
+
+    public Integer getConvertIsPay(){
+        return convertIsPay;
+    }
+
+    public void setConvertIsPay(Integer  convertIsPay){
+        this.convertIsPay=convertIsPay;
+    }
+
+    public Integer getConvertPrice(){
+        return convertPrice;
+    }
+
+    public void setConvertPrice(Integer  convertPrice){
+        this.convertPrice=convertPrice;
+    }
+
+    public Integer getCouponId(){
+        return couponId;
+    }
+
+    public void setCouponId(Integer  couponId){
+        this.couponId=couponId;
+    }
+
+    public Date getConvertCreateTime(){
+        return convertCreateTime;
+    }
+
+    public void setConvertCreateTime(Date  convertCreateTime){
+        this.convertCreateTime=convertCreateTime;
+    }
+
+    public Date getConvertUpdateTime(){
+        return convertUpdateTime;
+    }
+
+    public void setConvertUpdateTime(Date  convertUpdateTime){
+        this.convertUpdateTime=convertUpdateTime;
+    }
+}

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

@@ -0,0 +1,51 @@
+package com.iamberry.wechat.core.entity.integral;
+
+import  java.util.Date;
+import  java.io.Serializable;
+/**
+ *  积分商品兑换对应等级类
+ * @author ys
+ * @Date 2018-05-04
+ */
+public class IntegralProductGrade  implements  Serializable{
+    //对应等级id
+    private Integer productGradeId;
+    //商品id
+    private Integer integralProductId;
+    //对应的等级
+    private Integer rankId;
+    //创建时间'
+    private Date productGradeTime;
+
+    public Integer getProductGradeId(){
+        return productGradeId;
+    }
+
+    public void setProductGradeId(Integer  productGradeId){
+        this.productGradeId=productGradeId;
+    }
+
+    public Integer getIntegralProductId(){
+        return integralProductId;
+    }
+
+    public void setIntegralProductId(Integer  integralProductId){
+        this.integralProductId=integralProductId;
+    }
+
+    public Integer getRankId(){
+        return rankId;
+    }
+
+    public void setRankId(Integer  rankId){
+        this.rankId=rankId;
+    }
+
+    public Date getProductGradeTime(){
+        return productGradeTime;
+    }
+
+    public void setProductGradeTime(Date  productGradeTime){
+        this.productGradeTime=productGradeTime;
+    }
+}

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

@@ -0,0 +1,52 @@
+package com.iamberry.wechat.core.entity.integral;
+
+import  java.util.Date;
+import  java.io.Serializable;
+/**
+ *  产品轮播图类
+ * @author ys
+ * @Date 2018-04-28
+ */
+public class IntegralProductPicture  implements  Serializable{
+    private static final long serialVersionUID = -4331105427483207548L;
+    //图片id
+    private Integer pictureId;
+    //所属产品
+    private Integer integralProductId;
+    //图片URL
+    private String pictureUrl;
+    //创建时间'
+    private Date pictureCreateDate;
+
+    public Integer getPictureId(){
+        return pictureId;
+    }
+
+    public void setPictureId(Integer  pictureId){
+        this.pictureId=pictureId;
+    }
+
+    public Integer getIntegralProductId(){
+        return integralProductId;
+    }
+
+    public void setIntegralProductId(Integer  integralProductId){
+        this.integralProductId=integralProductId;
+    }
+
+    public String getPictureUrl(){
+        return pictureUrl;
+    }
+
+    public void setPictureUrl(String  pictureUrl){
+        this.pictureUrl=pictureUrl;
+    }
+
+    public Date getPictureCreateDate(){
+        return pictureCreateDate;
+    }
+
+    public void setPictureCreateDate(Date  pictureCreateDate){
+        this.pictureCreateDate=pictureCreateDate;
+    }
+}

+ 1 - 1
tooth-common-core/src/main/java/com/iamberry/wechat/core/entity/integral/UseIntegral.java

@@ -15,7 +15,7 @@ public class UseIntegral implements Serializable {
     private static final long serialVersionUID = 8060941187906868547L;
     private static final long serialVersionUID = 8060941187906868547L;
     private Integer integralId;          //ID
     private Integer integralId;          //ID
     private String userOpenId;              //用户openid
     private String userOpenId;              //用户openid
-    private Integer integralType;                //积分类型
+    private Integer integralType;                //积分类型 1:收入(已入账)2:支出3 : 待入账4: 取消
     private Integer stayId;                //待入账积分ID
     private Integer stayId;                //待入账积分ID
     private Integer integralNumber;      //使用积分数量
     private Integer integralNumber;      //使用积分数量
     private Integer configId;            //积分来源类型
     private Integer configId;            //积分来源类型

+ 7 - 6
tooth-common-core/src/main/java/com/iamberry/wechat/core/entity/member/Member.java

@@ -35,22 +35,25 @@ public class Member implements Serializable{
 	@DateTimeFormat(pattern="yyyy-MM-dd")
 	@DateTimeFormat(pattern="yyyy-MM-dd")
 	@JsonFormat(pattern="yyyy-MM-dd",timezone = "GMT+8")
 	@JsonFormat(pattern="yyyy-MM-dd",timezone = "GMT+8")
 	private Date userCreateDate;			//创建时间
 	private Date userCreateDate;			//创建时间
-	
+
 	private Integer userIdentity;			//会员身份			1:会员   2:微信用户    用于判断是否为上朵会员
 	private Integer userIdentity;			//会员身份			1:会员   2:微信用户    用于判断是否为上朵会员
 	private Integer userIsFlag;				//关系是否绑定		1:没有2:绑定
 	private Integer userIsFlag;				//关系是否绑定		1:没有2:绑定
 	private String userName;				//姓名
 	private String userName;				//姓名
 	private String userPwd;					//用户密码
 	private String userPwd;					//用户密码
 	private String userTel;					//用户电话
 	private String userTel;					//用户电话
-	
+
 	private String userQrcode;				//二维码
 	private String userQrcode;				//二维码
 	private Integer userResType;			//来源       		1:默认  	 2:会员	3:商户
 	private Integer userResType;			//来源       		1:默认  	 2:会员	3:商户
 	private Integer userStatus;				//用户状态		1:未关注,默认  2:已关注     0:已取消关注
 	private Integer userStatus;				//用户状态		1:未关注,默认  2:已关注     0:已取消关注
 	@DateTimeFormat(pattern="yyyy-MM-dd")
 	@DateTimeFormat(pattern="yyyy-MM-dd")
 	@JsonFormat(pattern="yyyy-MM-dd",timezone = "GMT+8")
 	@JsonFormat(pattern="yyyy-MM-dd",timezone = "GMT+8")
 	private Date userSubDate;				//关注/取消时间	(每次扫二维码都会更新)
 	private Date userSubDate;				//关注/取消时间	(每次扫二维码都会更新)
-	private Integer userSurplusIntegral;	//剩余积分
-	
+
+	private Integer userSurplusIntegral;	//剩余积分		朵粉币
+	private Integer userIntegral;			//总积分 成长值
 	private Integer userUseIntegral;		//已用积分
 	private Integer userUseIntegral;		//已用积分
+
+
 	private Integer userIncome;				//收入金额,单位为分
 	private Integer userIncome;				//收入金额,单位为分
 	private Integer templateId;				//返利模板id
 	private Integer templateId;				//返利模板id
 	private Integer userDealers;			//代理商层级id
 	private Integer userDealers;			//代理商层级id
@@ -60,9 +63,7 @@ public class Member implements Serializable{
 	private String userEmail;				//邮箱
 	private String userEmail;				//邮箱
 	private String numberBarcode;			//条形码
 	private String numberBarcode;			//条形码
 	private String phoneCode;				//手机验证码
 	private String phoneCode;				//手机验证码
-	private Integer userIntegral;			//积分
 	private Integer userQrcodeType;			//扫描二维码类型
 	private Integer userQrcodeType;			//扫描二维码类型
-
 	private  Integer quantityPurchased;		//购买数量
 	private  Integer quantityPurchased;		//购买数量
 	private  Integer totalConsume; 			//消费金额
 	private  Integer totalConsume; 			//消费金额
 	private  Integer userAgeStage; 			//年龄阶段 1:80后 2:85后 3:90后 4:95后 5:00后 6:其他
 	private  Integer userAgeStage; 			//年龄阶段 1:80后 2:85后 3:90后 4:95后 5:00后 6:其他

+ 12 - 0
tooth-common-tool/src/main/java/com/iamberry/wechat/tools/payUtil/RandomUtil.java

@@ -82,4 +82,16 @@ public class RandomUtil {
 		return sb.toString();
 		return sb.toString();
 	}
 	}
 
 
+	/**
+	 * 6为短信验证码
+	 * @return
+	 */
+	public static String getRandom(){
+		String randNum = new Random().nextInt(1000000)+"";
+		if(randNum.length()!=6){
+			return getRandom();
+		}
+		return randNum;
+	}
+
 }
 }

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

@@ -73,6 +73,13 @@ public interface CouponItemService {
 	Integer isReceive(CouponItem couponItem);
 	Integer isReceive(CouponItem couponItem);
 
 
 	/**
 	/**
+	 * 根据openid查询领取了多少张优惠券
+	 * @param couponItem
+	 * @return
+	 */
+	Integer userCouponNum(CouponItem couponItem);
+
+	/**
 	 * 获取所有领取优惠券的人
 	 * 获取所有领取优惠券的人
 	 * @param couponItem
 	 * @param couponItem
 	 * @return
 	 * @return

+ 50 - 0
tooth-wechat-interface/src/main/java/com/iamberry/wechat/face/integral/IntegralItemService.java

@@ -0,0 +1,50 @@
+package com.iamberry.wechat.face.integral;
+
+import com.iamberry.wechat.core.entity.integral.IntegralItem;
+
+import java.util.List;
+
+/**
+ *  销售订单项表接口
+ * @author ys
+ * @Date 2018-04-28
+ */
+public interface IntegralItemService {
+    /**
+     * 获取集合
+     * @param  integralItem
+     * @return List
+     */
+    List<IntegralItem> getIntegralItemList(IntegralItem  integralItem);
+    /**
+     * 查询单条数据
+     * @param  id
+     * @return  integralItem
+     */
+    IntegralItem getIntegralItemById(Integer  id);
+    /**
+     * 增加数据
+     * @param  integralItem
+     * @return Integer
+     */
+    Integer  save(IntegralItem  integralItem);
+    /**
+     * 修改数据
+     * @param  integralItem
+     * @return Integer
+     */
+    Integer  update(IntegralItem  integralItem);
+    /**
+     * 删除数据
+     * @param  id
+     * @return Integer
+     */
+    Integer  delete(Integer  id);
+
+    /**
+     * 增加数据 <集合>
+     * @param  integralItemList
+     * @return Integer
+     */
+    Integer  saveList(List<IntegralItem>  integralItemList);
+}

+ 43 - 0
tooth-wechat-interface/src/main/java/com/iamberry/wechat/face/integral/IntegralOrderAddressService.java

@@ -0,0 +1,43 @@
+package com.iamberry.wechat.face.integral;
+
+import com.iamberry.wechat.core.entity.integral.IntegralOrderAddress;
+
+import java.util.List;
+
+/**
+ *  积分商城订单邮寄信息接口
+ * @author Administrator
+ * @Date 2018-04-28
+ */
+public interface IntegralOrderAddressService {
+    /**
+     * 获取集合
+     * @param  integralOrderAddress
+     * @return List
+     */
+    List<IntegralOrderAddress> getIntegralOrderAddressList(IntegralOrderAddress  integralOrderAddress);
+    /**
+     * 查询单条数据
+     * @param  id
+     * @return  integralOrderAddress
+     */
+    IntegralOrderAddress getIntegralOrderAddressById(Integer  id);
+    /**
+     * 增加数据
+     * @param  integralOrderAddress
+     * @return Integer
+     */
+    Integer  save(IntegralOrderAddress  integralOrderAddress);
+    /**
+     * 修改数据
+     * @param  integralOrderAddress
+     * @return Integer
+     */
+    Integer  update(IntegralOrderAddress  integralOrderAddress);
+    /**
+     * 删除数据
+     * @param  id
+     * @return Integer
+     */
+    Integer  delete(Integer  id);
+}

+ 68 - 0
tooth-wechat-interface/src/main/java/com/iamberry/wechat/face/integral/IntegralOrderService.java

@@ -0,0 +1,68 @@
+package com.iamberry.wechat.face.integral;
+
+import com.iamberry.wechat.core.entity.integral.IntegralCart;
+import com.iamberry.wechat.core.entity.integral.IntegralOrder;
+import com.iamberry.wechat.core.entity.integral.IntegralProduct;
+import com.iamberry.wechat.core.entity.member.Member;
+import com.iamberry.wechat.core.entity.page.PageRequest;
+import com.iamberry.wechat.core.entity.page.PagedResult;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ *  积分商城订单表接口
+ * @author ys
+ * @Date 2018-04-28
+ */
+public interface IntegralOrderService {
+
+    /**
+     * 添加订单
+     * @param openId
+     * @param integralCartList
+     * @return
+     */
+    Map<String,Object> addOrder(String openId, List<IntegralCart> integralCartList);
+
+    /**
+     * 获取订单集合与订单项集合
+     * @param integralOrder
+     * @return
+     */
+    List<IntegralOrder> getIntegralOrderListAndItem(IntegralOrder  integralOrder);
+
+    /**
+     * 获取集合
+     * @param  integralOrder
+     * @return List
+     */
+    List<IntegralOrder> getIntegralOrderList(IntegralOrder  integralOrder);
+
+    PagedResult<IntegralOrder> listIntegralProductPage(PageRequest<IntegralOrder> pageRequest);
+
+    /**
+     * 查询单条数据
+     * @param  id
+     * @return  integralOrder
+     */
+    IntegralOrder getIntegralOrderById(String  id);
+    /**
+     * 增加数据
+     * @param  integralOrder
+     * @return Integer
+     */
+    Integer  save(IntegralOrder  integralOrder);
+    /**
+     * 修改数据
+     * @param  integralOrder
+     * @return Integer
+     */
+    Integer  update(IntegralOrder  integralOrder);
+    /**
+     * 删除数据
+     * @param  id
+     * @return Integer
+     */
+    Integer  delete(String  id);
+}

+ 45 - 0
tooth-wechat-interface/src/main/java/com/iamberry/wechat/face/integral/IntegralProductConvertService.java

@@ -0,0 +1,45 @@
+package com.iamberry.wechat.face.integral;
+
+import com.iamberry.wechat.core.entity.integral.IntegralProductConvert;
+
+import java.util.List;
+
+/**
+ *  接口
+ * @author ys
+ * @Date 2018-04-28
+ */
+public interface IntegralProductConvertService {
+    /**
+     * 获取集合
+     * @param  integralProductConvert
+     * @return List
+     */
+    List<IntegralProductConvert> getIntegralProductConvertList(IntegralProductConvert  integralProductConvert);
+
+    /**
+     * 查询单条数据
+     * @param  integralProductId
+     * @return  integralProductConvert
+     */
+    IntegralProductConvert getIntegralProductConvertByProductId(Integer  integralProductId);
+
+    /**
+     * 增加数据
+     * @param  integralProductConvert
+     * @return Integer
+     */
+    Integer  save(IntegralProductConvert  integralProductConvert);
+    /**
+     * 修改数据
+     * @param  integralProductConvert
+     * @return Integer
+     */
+    Integer  update(IntegralProductConvert  integralProductConvert);
+    /**
+     * 删除数据
+     * @param  id
+     * @return Integer
+     */
+    Integer  delete(Integer  id);
+}

+ 43 - 0
tooth-wechat-interface/src/main/java/com/iamberry/wechat/face/integral/IntegralProductGradeService.java

@@ -0,0 +1,43 @@
+package com.iamberry.wechat.face.integral;
+
+import com.iamberry.wechat.core.entity.integral.IntegralProductGrade;
+
+import java.util.List;
+
+/**
+ *  积分商品兑换对应等级接口
+ * @author Administrator
+ * @Date 2018-04-28
+ */
+public interface IntegralProductGradeService {
+    /**
+     * 获取集合
+     * @param  integralProductGrade
+     * @return List
+     */
+    List<IntegralProductGrade> getIntegralProductGradeList(IntegralProductGrade  integralProductGrade);
+    /**
+     * 查询单条数据
+     * @param  id
+     * @return  integralProductGrade
+     */
+    IntegralProductGrade getIntegralProductGradeById(Integer  id);
+    /**
+     * 增加数据
+     * @param  integralProductGrade
+     * @return Integer
+     */
+    Integer  save(IntegralProductGrade  integralProductGrade);
+    /**
+     * 修改数据
+     * @param  integralProductGrade
+     * @return Integer
+     */
+    Integer  update(IntegralProductGrade  integralProductGrade);
+    /**
+     * 删除数据
+     * @param  id
+     * @return Integer
+     */
+    Integer  delete(Integer  id);
+}

+ 43 - 0
tooth-wechat-interface/src/main/java/com/iamberry/wechat/face/integral/IntegralProductPictureService.java

@@ -0,0 +1,43 @@
+package com.iamberry.wechat.face.integral;
+
+import com.iamberry.wechat.core.entity.integral.IntegralProductPicture;
+
+import java.util.List;
+
+/**
+ *  产品轮播图接口
+ * @author ys
+ * @Date 2018-04-28
+ */
+public interface IntegralProductPictureService {
+    /**
+     * 获取集合
+     * @param  integralProductPicture
+     * @return List
+     */
+    List<IntegralProductPicture> getIntegralProductPictureList(IntegralProductPicture  integralProductPicture);
+    /**
+     * 查询单条数据
+     * @param  id
+     * @return  integralProductPicture
+     */
+    IntegralProductPicture getIntegralProductPictureById(Integer  id);
+    /**
+     * 增加数据
+     * @param  integralProductPicture
+     * @return Integer
+     */
+    Integer  save(IntegralProductPicture  integralProductPicture);
+    /**
+     * 修改数据
+     * @param  integralProductPicture
+     * @return Integer
+     */
+    Integer  update(IntegralProductPicture  integralProductPicture);
+    /**
+     * 删除数据
+     * @param  id
+     * @return Integer
+     */
+    Integer  delete(Integer  id);
+}

+ 50 - 0
tooth-wechat-interface/src/main/java/com/iamberry/wechat/face/integral/IntegralProductService.java

@@ -0,0 +1,50 @@
+package com.iamberry.wechat.face.integral;
+
+import com.github.pagehelper.PageHelper;
+import com.iamberry.wechat.core.entity.integral.IntegralProduct;
+import com.iamberry.wechat.core.entity.page.PageRequest;
+import com.iamberry.wechat.core.entity.page.PagedResult;
+import com.iamberry.wechat.core.entity.receive.ChargerReceive;
+
+import java.util.List;
+
+/**
+ *  积分商品接口
+ * @author ys
+ * @Date 2018-04-28
+ */
+public interface IntegralProductService {
+    /**
+     * 获取集合
+     * @param  integralProduct
+     * @return List
+     */
+    List<IntegralProduct> getIntegralProductList(IntegralProduct  integralProduct);
+
+    PagedResult<IntegralProduct> listIntegralProductPage(PageRequest<IntegralProduct> pageRequest);
+
+    /**
+     * 查询单条数据
+     * @param  id
+     * @return  integralProduct
+     */
+    IntegralProduct  getIntegralProductById(Integer  id);
+    /**
+     * 增加数据
+     * @param  integralProduct
+     * @return Integer
+     */
+    Integer  save(IntegralProduct integralProduct);
+    /**
+     * 修改数据
+     * @param  integralProduct
+     * @return Integer
+     */
+    Integer  update(IntegralProduct  integralProduct);
+    /**
+     * 删除数据
+     * @param  id
+     * @return Integer
+     */
+    Integer  delete(Integer  id);
+}

+ 6 - 0
tooth-wechat-interface/src/main/java/com/iamberry/wechat/face/member/MemberService.java

@@ -163,4 +163,10 @@ public interface MemberService{
 	 * @return
 	 * @return
 	 */
 	 */
 	Integer getRegisteredNumber();
 	Integer getRegisteredNumber();
+
+	/**
+	 * 获取用户当前等级
+	 * @return
+	 */
+	Integer getUserGrad(Integer userId);
 }
 }

+ 6 - 0
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/ImberryConfig.java

@@ -41,6 +41,10 @@ public class ImberryConfig {
 	public static String ORDER_UPDATE_STATUS_TEXT = "";
 	public static String ORDER_UPDATE_STATUS_TEXT = "";
 	/**发送待处理订单信息**/
 	/**发送待处理订单信息**/
 	public static String PENDING_ORDER_REMINDER = "";
 	public static String PENDING_ORDER_REMINDER = "";
+
+	/*给手机发送验证码*/
+	public static String SEND_VERIFICATION_PHONE = "";
+
 	static {
 	static {
 		Properties pro = new Properties();
 		Properties pro = new Properties();
 		InputStream in = ImberryConfig.class.getClassLoader().getResourceAsStream("iamberry-app-service-config.properties");
 		InputStream in = ImberryConfig.class.getClassLoader().getResourceAsStream("iamberry-app-service-config.properties");
@@ -69,6 +73,8 @@ public class ImberryConfig {
 			ORDER_UPDATE_STATUS_TEXT = pro.getProperty("ORDER_UPDATE_STATUS_TEXT");
 			ORDER_UPDATE_STATUS_TEXT = pro.getProperty("ORDER_UPDATE_STATUS_TEXT");
 			PENDING_ORDER_REMINDER = pro.getProperty("PENDING_ORDER_REMINDER");
 			PENDING_ORDER_REMINDER = pro.getProperty("PENDING_ORDER_REMINDER");
 
 
+			SEND_VERIFICATION_PHONE = pro.getProperty("SEND_VERIFICATION_PHONE");
+
 		} catch (Exception e) {
 		} catch (Exception e) {
 			e.printStackTrace();
 			e.printStackTrace();
 		}
 		}

+ 5 - 0
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/coupon/CouponItemServiceImpl.java

@@ -69,6 +69,11 @@ public class CouponItemServiceImpl implements CouponItemService {
 	}
 	}
 
 
 	@Override
 	@Override
+	public Integer userCouponNum(CouponItem couponItem) {
+		return couponItemMapper.userCouponNum(couponItem);
+	}
+
+	@Override
 	public Integer allCouponItemNumber(CouponItem couponItem) {
 	public Integer allCouponItemNumber(CouponItem couponItem) {
 		return couponItemMapper.allCouponItemNumber(couponItem);
 		return couponItemMapper.allCouponItemNumber(couponItem);
 	}
 	}

+ 80 - 0
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/integral/IntegralItemServiceImpl.java

@@ -0,0 +1,80 @@
+package com.iamberry.wechat.service.integral;
+
+import com.iamberry.wechat.core.entity.integral.IntegralItem;
+import com.iamberry.wechat.face.integral.IntegralItemService;
+import com.iamberry.wechat.service.mapper.IntegralItemMapper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ *  销售订单项表接口
+ * @author ys
+ * @Date 2018-04-28
+ */
+@Service
+public class IntegralItemServiceImpl  implements IntegralItemService {
+    @Autowired
+    private IntegralItemMapper integralItemMapper;
+    /**
+     * 获取集合
+     * @param  integralItem
+     * @return List
+     */
+    @Override
+    public List<IntegralItem> getIntegralItemList(IntegralItem  integralItem){
+        return  integralItemMapper.getIntegralItemList(integralItem);
+    }
+
+    /**
+     * 查询单条数据
+     * @param  id
+     * @return  integralItem
+     */
+    @Override
+    public  IntegralItem  getIntegralItemById(Integer  id){
+        return  integralItemMapper.getIntegralItemById(id);
+    }
+
+    /**
+     * 增加数据
+     * @param  integralItem
+     * @return Integer
+     */
+    @Override
+    public  Integer  save(IntegralItem  integralItem){
+        return  integralItemMapper.save(integralItem);
+    }
+
+    /**
+     * 修改数据
+     * @param  integralItem
+     * @return Integer
+     */
+    @Override
+    public  Integer  update(IntegralItem  integralItem){
+        return  integralItemMapper.update(integralItem);
+    }
+
+    /**
+     * 删除数据
+     * @param  id
+     * @return Integer
+     */
+    @Override
+    public  Integer  delete(Integer  id){
+        return  integralItemMapper.delete(id);
+    }
+
+    /**
+     * 增加数据 <集合>
+     * @param  integralItemList
+     * @return Integer
+     */
+    @Override
+    public  Integer  saveList(List<IntegralItem>  integralItemList){
+        return  integralItemMapper.saveList(integralItemList);
+    }
+
+}

+ 65 - 0
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/integral/IntegralOrderAddressServiceImpl.java

@@ -0,0 +1,65 @@
+package com.iamberry.wechat.service.integral;
+
+import com.iamberry.wechat.core.entity.integral.IntegralOrderAddress;
+import com.iamberry.wechat.face.integral.IntegralOrderAddressService;
+import com.iamberry.wechat.service.mapper.IntegralOrderAddressMapper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ *  积分商城订单邮寄信息接口
+ * @author Administrator
+ * @Date 2018-04-28
+ */
+@Service
+public class IntegralOrderAddressServiceImpl  implements IntegralOrderAddressService {
+    @Autowired
+    private IntegralOrderAddressMapper integralOrderAddressMapper;
+    /**
+     * 获取集合
+     * @param  integralOrderAddress
+     * @return List
+     */
+    @Override
+    public List<IntegralOrderAddress> getIntegralOrderAddressList(IntegralOrderAddress  integralOrderAddress){
+        return  integralOrderAddressMapper.getIntegralOrderAddressList(integralOrderAddress);
+    }
+    /**
+     * 查询单条数据
+     * @param  id
+     * @return  integralOrderAddress
+     */
+    @Override
+    public  IntegralOrderAddress  getIntegralOrderAddressById(Integer  id){
+        return  integralOrderAddressMapper.getIntegralOrderAddressById(id);
+    }
+    /**
+     * 增加数据
+     * @param  integralOrderAddress
+     * @return Integer
+     */
+    @Override
+    public  Integer  save(IntegralOrderAddress  integralOrderAddress){
+        return  integralOrderAddressMapper.save(integralOrderAddress);
+    }
+    /**
+     * 修改数据
+     * @param  integralOrderAddress
+     * @return Integer
+     */
+    @Override
+    public  Integer  update(IntegralOrderAddress integralOrderAddress){
+        return  integralOrderAddressMapper.update(integralOrderAddress);
+    }
+    /**
+     * 删除数据
+     * @param  id
+     * @return Integer
+     */
+    @Override
+    public  Integer  delete(Integer  id){
+        return  integralOrderAddressMapper.delete(id);
+    }
+}

+ 322 - 0
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/integral/IntegralOrderServiceImpl.java

@@ -0,0 +1,322 @@
+package com.iamberry.wechat.service.integral;
+
+import com.github.pagehelper.PageHelper;
+import com.iamberry.wechat.core.entity.coupon.CouponItem;
+import com.iamberry.wechat.core.entity.coupon.CouponType;
+import com.iamberry.wechat.core.entity.integral.*;
+import com.iamberry.wechat.core.entity.member.Member;
+import com.iamberry.wechat.core.entity.page.PageRequest;
+import com.iamberry.wechat.core.entity.page.PagedResult;
+import com.iamberry.wechat.face.coupon.CouponItemService;
+import com.iamberry.wechat.face.coupon.CouponTypeService;
+import com.iamberry.wechat.face.integral.IntegralItemService;
+import com.iamberry.wechat.face.integral.IntegralOrderService;
+import com.iamberry.wechat.face.integral.IntegralProductConvertService;
+import com.iamberry.wechat.face.integral.IntegralProductService;
+import com.iamberry.wechat.face.member.MemberService;
+import com.iamberry.wechat.service.mapper.*;
+import com.iamberry.wechat.tools.OrderNOUtil;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import util.PageUtil;
+
+import java.beans.Transient;
+import java.util.*;
+
+/**
+ *  积分商城订单表接口
+ * @author ys
+ * @Date 2018-04-28
+ */
+@Service
+public class IntegralOrderServiceImpl  implements IntegralOrderService {
+
+    private Logger logger = LoggerFactory.getLogger(IntegralOrderServiceImpl.class);
+
+    @Autowired
+    private IntegralOrderMapper integralOrderMapper;
+    @Autowired
+    private IntegralOrderService integralOrderService;
+    @Autowired
+    private IntegralItemMapper integralItemMapper;
+    @Autowired
+    private MemberMapper memberMapper;
+    @Autowired
+    private MemberService memberService;
+    @Autowired
+    private IntegralProductConvertMapper integralProductConvertMapper;
+    @Autowired
+    private IntegralProductMapper integralProductMapper;
+    @Autowired
+    private CouponTypeMapper couponTypeMapper;
+    @Autowired
+    private CouponItemMapper couponItemMapper;
+    @Autowired
+    private UseIntegralMapper useIntegralMapper;
+    @Autowired
+    private IntegralProductGradeMapper integralProductGradeMapper;
+
+    /**
+     * 添加订单
+     * @param openId
+     * @param integralCartList
+     * @return
+     */
+    @Override
+    @Transient
+    public synchronized Map<String, Object> addOrder(String openId, List<IntegralCart> integralCartList) {
+        /**
+         * 查询商品是否有库存
+         * 查询用户积分是否大于商品积分
+         * 拼接订单值
+         * 添加订单
+         * 优惠券直接用朵粉币兑换成功直接生成优惠券
+         * 减去用户朵粉币,生成积分使用记录
+         * 减去商品库存
+         */
+        Integer flag = 0;
+        Map<String,Object> map = new HashMap<>();
+        Member member = memberMapper.getMemberByUserOpenId(openId);
+
+        /*获取用户当前等级*/
+        memberService.
+
+         /*创建订单*/
+        IntegralOrder IntegralOrder = new IntegralOrder();
+        IntegralOrder.setIntegralOrderOpenId(member.getUserOpenid());
+        IntegralOrder.setIntegralOrderId(OrderNOUtil.createOrderCode(member.getUserId()));
+        IntegralOrder.setIntegralOrderUserRemark("");       //用户备注
+
+        /*订单项*/
+        List<IntegralItem> integralItemList = new ArrayList<>();
+
+        Integer dfbiTotal = 0,monTotal = 0;
+        Integer isPay = 0;  //是否需要支付
+        for (int i = 0; i < integralCartList.size(); i++) {
+            IntegralCart integralCart = integralCartList.get(i);
+
+            IntegralItem integralItem = new IntegralItem();
+
+            IntegralProduct integralProduct = integralProductMapper.getIntegralProductById(integralCart.getProductId());
+            if(integralProduct == null ){
+                throw new RuntimeException("商品不存在,请重新添加");
+            }
+            IntegralProductGrade integralProductGrade = new IntegralProductGrade();
+            integralProductGrade.setIntegralProductId(integralProduct.getIntegralProductId());
+            List<IntegralProductGrade> integralProductGradeList = integralProductGradeMapper.getIntegralProductGradeList(integralProductGrade);
+            for (integralProductGradeList:) {
+
+            }
+
+            //商品总数量 - 商品已兑换数量
+            if(integralProduct.getIntegralProductNum() - integralProduct.getIntegralProductRemainingNum() < 0){
+                throw new RuntimeException(integralProduct.getIntegralProductName() + "商品数量为空");
+            }
+
+            /*获取商品兑换信息*/
+            IntegralProductConvert ipc = integralProductConvertMapper.getIntegralProductConvertByProductId(integralProduct.getIntegralProductId());
+            if(ipc.getConvertIsPay() == 1){     //需要支付, //1:需要支付 2:不需要支付
+                /*此处写支付*/
+                Integer monTol = ipc.getConvertPrice() * integralCart.getNum();
+                integralItem.setIntegralItemTotal(monTol);
+                monTotal += monTol;
+                isPay = 1;
+                throw new RuntimeException("-");
+            }
+
+            /*朵粉币*/
+            Integer dfbiTol = ipc.getConvertDfbi() * integralCart.getNum();
+            integralItem.setIntegralItemDfbi(dfbiTol);
+            dfbiTotal += dfbiTol;
+
+            if(ipc.getConvertIsMailing() == 1){ //需要邮寄,需要判断邮寄地址信息
+                throw new RuntimeException("邮寄地址为空");
+            }
+
+            integralItem.setIntegralProductId(integralCart.getProductId());
+            integralItem.setIntegralItemNum(integralCart.getNum());
+            integralItem.setIntegralItemProductPic(integralProduct.getIntegralProductImg());    //介绍图
+            integralItem.setIntegralItemDfbi(dfbiTotal);    //朵粉币
+            integralItem.setIntegralItemTotal(monTotal);    //小计
+            integralItem.setIntegralItemProductType(integralProduct.getIntegralProductType());
+            integralItem.setIntegralItemCouponId(ipc.getCouponId());    //优惠券类型
+            integralItem.setIntegralItemProductDfbi(ipc.getConvertDfbi());
+            integralItem.setIntegralItemProductPrice(ipc.getConvertPrice());
+            integralItem.setIntegralItemProductName(integralProduct.getIntegralProductName());
+            integralItemList.add(integralItem);
+
+            /*减去商品库存*/
+            IntegralProduct ip = new IntegralProduct();
+            ip.setIntegralProductId(integralProduct.getIntegralProductId());
+            ip.setIntegralProductRemainingNum(integralProduct.getIntegralProductRemainingNum()+integralCart.getNum());
+            flag =  integralProductMapper.update(ip);
+            if(flag < 1){
+                throw new RuntimeException("商品减去库存失败");
+            }
+
+
+        }
+
+        if(member.getUserSurplusIntegral() < dfbiTotal){     //剩余积分-朵粉币   <  所需朵粉币数量
+            throw new RuntimeException("朵粉币数量不够");
+        }
+
+        if(isPay == 1){
+            IntegralOrder.setIntegralOrderYetAmount(monTotal);  //订单付款金额 实付
+            IntegralOrder.setIntegralOrderAmount(monTotal);     //订单金额
+            IntegralOrder.setIntegralOrderStatus(1);        //需要支付,状态为未兑换
+        }else{
+            IntegralOrder.setIntegralOrderYetAmount(0);  //订单付款金额 实付
+            IntegralOrder.setIntegralOrderAmount(0);     //订单金额
+            IntegralOrder.setIntegralOrderStatus(2);     //直接用朵粉币兑换,状态直接为已兑换
+        }
+        IntegralOrder.setIntegralOrderDfbi(dfbiTotal);
+        flag = integralOrderMapper.save(IntegralOrder);    //添加订单
+        if(flag < 1){
+            throw new RuntimeException("添加订单失败");
+        }
+
+        for (IntegralItem ii: integralItemList) {
+            ii.setIntegralItemOrderId(IntegralOrder.getIntegralOrderId());
+        }
+
+        flag = integralItemMapper.saveList(integralItemList);
+        if(flag < 1){
+            throw new RuntimeException("添加订单项失败");
+        }
+
+        /*判断是否用积分兑换,支付为0,直接操作*/
+        if(isPay != 1 || monTotal == 0){
+            for (IntegralItem ii: integralItemList) {
+                if(ii.getIntegralItemProductType() == 1){        //积分商品类型 1:商城内优惠券 2:其他
+                    Integer couponTypeId = ii.getIntegralItemCouponId();
+                    CouponType couponType = couponTypeMapper.getCouponTypeById(couponTypeId);
+                    CouponItem couponItem = new CouponItem();
+                    couponItem.setCouponId(couponTypeId);
+
+                    Calendar calendar = Calendar.getInstance();
+                    calendar.add(Calendar.DATE,couponType.getCouponGetDays());  //领取后有效天数
+
+                    couponItem.setCouponUseEndDate(calendar.getTime());
+                    couponItem.setCouponReceiveDate(new Date());
+                    couponItem.setCouponItemUseropenid(member.getUserOpenid());
+                    couponItem.setCouponUseStatus(1);
+                    couponItem.setCouponIsDonation(2);
+                    couponItem.setCouponItemRemark("朵粉币兑换");
+                    flag = couponItemMapper.insertCouponItem(couponItem);
+                    if(flag < 1){
+                        throw new RuntimeException("添加优惠券失败");
+                    }
+                    CouponType ct = new CouponType();
+                    ct.setCouponId(couponType.getCouponId());
+                    ct.setCouponUsedNum(couponType.getCouponUsedNum()+1);       ////已经领取券数量
+                    ct.setCouponRemainingNum(couponType.getCouponRemainingNum()-1); ////剩余券数
+                    flag = couponTypeMapper.updateCouponTypeById(ct);
+                    if(flag < 1){
+                        throw new RuntimeException("修改优惠券失败");
+                    }
+                }
+                ii.setIntegralItemOrderId(IntegralOrder.getIntegralOrderId());
+            }
+        }
+        //变动前可用积分总额
+        Integer integralBeforeNumber = member.getUserSurplusIntegral();
+        //变动后可用积分总额
+        Integer integralEndNumber=member.getUserSurplusIntegral()-dfbiTotal;
+
+        Member mem = new Member();
+        mem.setUserId(member.getUserId());
+        mem.setUserSurplusIntegral(member.getUserSurplusIntegral()-dfbiTotal);  //剩余积分		朵粉币
+        mem.setUserIntegral(member.getUserIntegral()+dfbiTotal);    //已用积分
+        flag = memberMapper.updateMemberByUserId(mem);
+        if(flag < 1){
+            throw new RuntimeException("修改用户朵粉币失败");
+        }
+
+        UseIntegral useIntegral = new UseIntegral();
+        useIntegral.setUserOpenId(member.getUserOpenid());
+        useIntegral.setIntegralType(2);
+        useIntegral.setIntegralNumber(dfbiTotal);
+        useIntegral.setIntegralBeforeNumber(integralBeforeNumber);
+        useIntegral.setIntegralEndNumber(integralEndNumber);
+        useIntegral.setIntegralRemarks("兑换积分商品,兑换订单号为:"+IntegralOrder.getIntegralOrderId());
+        flag = useIntegralMapper.addUseIntegral(useIntegral);
+        if(flag < 1){
+            throw new RuntimeException("添加积分使用记录");
+        }
+        return map;
+    }
+
+    /**
+     * 获取集合
+     * @param  integralOrder
+     * @return List
+     */
+    @Override
+    public List<IntegralOrder> getIntegralOrderListAndItem(IntegralOrder  integralOrder){
+        List<IntegralOrder> integralOrderList = integralOrderMapper.getIntegralOrderList(integralOrder);
+        for (IntegralOrder io:integralOrderList) {
+            IntegralItem integralItem = new IntegralItem();
+            integralItem.setIntegralItemOrderId(io.getIntegralOrderId());
+            List<IntegralItem> integralItemList = integralItemMapper.getIntegralItemList(integralItem);
+            io.setIntegralItemList(integralItemList);
+        }
+        return  integralOrderList;
+    }
+
+    /**
+     * 获取集合
+     * @param  integralOrder
+     * @return List
+     */
+    @Override
+    public List<IntegralOrder> getIntegralOrderList(IntegralOrder  integralOrder){
+        return  integralOrderMapper.getIntegralOrderList(integralOrder);
+    }
+
+    @Override
+    public PagedResult<IntegralOrder> listIntegralProductPage(PageRequest<IntegralOrder> pageRequest) {
+        PageHelper.startPage(pageRequest.getPageNO(), pageRequest.getPageSize(), pageRequest.isPageTotal());
+        List<IntegralOrder> detedctList = integralOrderService.getIntegralOrderList(pageRequest.getData());
+        return PageUtil.getPage(detedctList);
+    }
+
+    /**
+     * 查询单条数据
+     * @param  id
+     * @return  integralOrder
+     */
+    @Override
+    public  IntegralOrder  getIntegralOrderById(String  id){
+        return  integralOrderMapper.getIntegralOrderById(id);
+    }
+    /**
+     * 增加数据
+     * @param  integralOrder
+     * @return Integer
+     */
+    @Override
+    public  Integer  save(IntegralOrder  integralOrder){
+        return  integralOrderMapper.save(integralOrder);
+    }
+    /**
+     * 修改数据
+     * @param  integralOrder
+     * @return Integer
+     */
+    @Override
+    public  Integer  update(IntegralOrder integralOrder){
+        return  integralOrderMapper.update(integralOrder);
+    }
+    /**
+     * 删除数据
+     * @param  id
+     * @return Integer
+     */
+    @Override
+    public  Integer  delete(String  id){
+        return  integralOrderMapper.delete(id);
+    }
+}

+ 65 - 0
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/integral/IntegralProductConvertServiceImpl.java

@@ -0,0 +1,65 @@
+package com.iamberry.wechat.service.integral;
+
+import com.iamberry.wechat.core.entity.integral.IntegralProductConvert;
+import com.iamberry.wechat.face.integral.IntegralProductConvertService;
+import com.iamberry.wechat.service.mapper.IntegralProductConvertMapper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ *  接口
+ * @author ys
+ * @Date 2018-04-28
+ */
+@Service
+public class IntegralProductConvertServiceImpl  implements IntegralProductConvertService {
+    @Autowired
+    private IntegralProductConvertMapper integralProductConvertMapper;
+    /**
+     * 获取集合
+     * @param  integralProductConvert
+     * @return List
+     */
+    @Override
+    public List<IntegralProductConvert> getIntegralProductConvertList(IntegralProductConvert  integralProductConvert){
+        return  integralProductConvertMapper.getIntegralProductConvertList(integralProductConvert);
+    }
+    /**
+     * 查询单条数据
+     * @param  integralProductId
+     * @return  integralProductConvert
+     */
+    @Override
+    public  IntegralProductConvert  getIntegralProductConvertByProductId(Integer  integralProductId){
+        return  integralProductConvertMapper.getIntegralProductConvertByProductId(integralProductId);
+    }
+    /**
+     * 增加数据
+     * @param  integralProductConvert
+     * @return Integer
+     */
+    @Override
+    public  Integer  save(IntegralProductConvert  integralProductConvert){
+        return  integralProductConvertMapper.save(integralProductConvert);
+    }
+    /**
+     * 修改数据
+     * @param  integralProductConvert
+     * @return Integer
+     */
+    @Override
+    public  Integer  update(IntegralProductConvert  integralProductConvert){
+        return  integralProductConvertMapper.update(integralProductConvert);
+    }
+    /**
+     * 删除数据
+     * @param  id
+     * @return Integer
+     */
+    @Override
+    public  Integer  delete(Integer  id){
+        return  integralProductConvertMapper.delete(id);
+    }
+}

+ 65 - 0
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/integral/IntegralProductGradeServiceImpl.java

@@ -0,0 +1,65 @@
+package com.iamberry.wechat.service.integral;
+
+import com.iamberry.wechat.core.entity.integral.IntegralProductGrade;
+import com.iamberry.wechat.face.integral.IntegralProductGradeService;
+import com.iamberry.wechat.service.mapper.IntegralProductGradeMapper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ *  积分商品兑换对应等级接口
+ * @author Administrator
+ * @Date 2018-04-28
+ */
+@Service
+public class IntegralProductGradeServiceImpl  implements IntegralProductGradeService {
+    @Autowired
+    private IntegralProductGradeMapper integralProductGradeMapper;
+    /**
+     * 获取集合
+     * @param  integralProductGrade
+     * @return List
+     */
+    @Override
+    public List<IntegralProductGrade> getIntegralProductGradeList(IntegralProductGrade  integralProductGrade){
+        return  integralProductGradeMapper.getIntegralProductGradeList(integralProductGrade);
+    }
+    /**
+     * 查询单条数据
+     * @param  id
+     * @return  integralProductGrade
+     */
+    @Override
+    public  IntegralProductGrade  getIntegralProductGradeById(Integer  id){
+        return  integralProductGradeMapper.getIntegralProductGradeById(id);
+    }
+    /**
+     * 增加数据
+     * @param  integralProductGrade
+     * @return Integer
+     */
+    @Override
+    public  Integer  save(IntegralProductGrade  integralProductGrade){
+        return  integralProductGradeMapper.save(integralProductGrade);
+    }
+    /**
+     * 修改数据
+     * @param  integralProductGrade
+     * @return Integer
+     */
+    @Override
+    public  Integer  update(IntegralProductGrade  integralProductGrade){
+        return  integralProductGradeMapper.update(integralProductGrade);
+    }
+    /**
+     * 删除数据
+     * @param  id
+     * @return Integer
+     */
+    @Override
+    public  Integer  delete(Integer  id){
+        return  integralProductGradeMapper.delete(id);
+    }
+}

+ 65 - 0
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/integral/IntegralProductPictureServiceImpl.java

@@ -0,0 +1,65 @@
+package com.iamberry.wechat.service.integral;
+
+import com.iamberry.wechat.core.entity.integral.IntegralProductPicture;
+import com.iamberry.wechat.face.integral.IntegralProductPictureService;
+import com.iamberry.wechat.service.mapper.IntegralProductPictureMapper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ *  产品轮播图接口
+ * @author ys
+ * @Date 2018-04-28
+ */
+@Service
+public class IntegralProductPictureServiceImpl  implements IntegralProductPictureService {
+    @Autowired
+    private IntegralProductPictureMapper integralProductPictureMapper;
+    /**
+     * 获取集合
+     * @param  integralProductPicture
+     * @return List
+     */
+    @Override
+    public List<IntegralProductPicture> getIntegralProductPictureList(IntegralProductPicture  integralProductPicture){
+        return  integralProductPictureMapper.getIntegralProductPictureList(integralProductPicture);
+    }
+    /**
+     * 查询单条数据
+     * @param  id
+     * @return  integralProductPicture
+     */
+    @Override
+    public  IntegralProductPicture  getIntegralProductPictureById(Integer  id){
+        return  integralProductPictureMapper.getIntegralProductPictureById(id);
+    }
+    /**
+     * 增加数据
+     * @param  integralProductPicture
+     * @return Integer
+     */
+    @Override
+    public  Integer  save(IntegralProductPicture  integralProductPicture){
+        return  integralProductPictureMapper.save(integralProductPicture);
+    }
+    /**
+     * 修改数据
+     * @param  integralProductPicture
+     * @return Integer
+     */
+    @Override
+    public  Integer  update(IntegralProductPicture  integralProductPicture){
+        return  integralProductPictureMapper.update(integralProductPicture);
+    }
+    /**
+     * 删除数据
+     * @param  id
+     * @return Integer
+     */
+    @Override
+    public  Integer  delete(Integer  id){
+        return  integralProductPictureMapper.delete(id);
+    }
+}

+ 78 - 0
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/integral/IntegralProductServiceImpl.java

@@ -0,0 +1,78 @@
+package com.iamberry.wechat.service.integral;
+
+import com.github.pagehelper.PageHelper;
+import com.iamberry.wechat.core.entity.integral.IntegralProduct;
+import com.iamberry.wechat.core.entity.page.PageRequest;
+import com.iamberry.wechat.core.entity.page.PagedResult;
+import com.iamberry.wechat.core.entity.receive.ChargerReceive;
+import com.iamberry.wechat.face.integral.IntegralProductService;
+import com.iamberry.wechat.service.mapper.IntegralProductMapper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import util.PageUtil;
+
+import java.util.List;
+
+/**
+ *  积分商品接口
+ * @author ys
+ * @Date 2018-04-28
+ */
+@Service
+public class IntegralProductServiceImpl  implements IntegralProductService {
+    @Autowired
+    private IntegralProductMapper integralProductMapper;
+    /**
+     * 获取集合
+     * @param  integralProduct
+     * @return List
+     */
+    @Override
+    public List<IntegralProduct> getIntegralProductList(IntegralProduct  integralProduct){
+        return  integralProductMapper.getIntegralProductList(integralProduct);
+    }
+
+    @Override
+    public PagedResult<IntegralProduct> listIntegralProductPage(PageRequest<IntegralProduct> pageRequest) {
+        PageHelper.startPage(pageRequest.getPageNO(), pageRequest.getPageSize(), pageRequest.isPageTotal());
+        List<IntegralProduct> detedctList = integralProductMapper.getIntegralProductList(pageRequest.getData());
+        return PageUtil.getPage(detedctList);
+    }
+
+    /**
+     * 查询单条数据
+     * @param  id
+     * @return  integralProduct
+     */
+    @Override
+    public  IntegralProduct  getIntegralProductById(Integer  id){
+        return  integralProductMapper.getIntegralProductById(id);
+    }
+    /**
+     * 增加数据
+     * @param  integralProduct
+     * @return Integer
+     */
+    @Override
+    public  Integer  save(IntegralProduct  integralProduct){
+        return  integralProductMapper.save(integralProduct);
+    }
+    /**
+     * 修改数据
+     * @param  integralProduct
+     * @return Integer
+     */
+    @Override
+    public  Integer  update(IntegralProduct integralProduct){
+        return  integralProductMapper.update(integralProduct);
+    }
+    /**
+     * 删除数据
+     * @param  id
+     * @return Integer
+     */
+    @Override
+    public  Integer  delete(Integer  id){
+        return  integralProductMapper.delete(id);
+    }
+}

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

@@ -77,6 +77,13 @@ public interface CouponItemMapper {
 	Integer isReceive(CouponItem couponItem);
 	Integer isReceive(CouponItem couponItem);
 
 
 	/**
 	/**
+	 * 根据openid查询领取了多少张优惠券
+	 * @param couponItem
+	 * @return
+	 */
+	Integer userCouponNum(CouponItem couponItem);
+
+	/**
 	 * 获取所有领取优惠券的人
 	 * 获取所有领取优惠券的人
 	 * @param couponItem
 	 * @param couponItem
 	 * @return
 	 * @return

+ 49 - 0
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/IntegralItemMapper.java

@@ -0,0 +1,49 @@
+package com.iamberry.wechat.service.mapper;
+
+import com.iamberry.wechat.core.entity.integral.IntegralItem;
+
+import java.util.List;
+
+/**
+ *  销售订单项表接口
+ * @author ys
+ * @Date 2018-04-28
+ */
+public interface IntegralItemMapper {
+    /**
+     * 获取集合
+     * @param  integralItem
+     * @return List
+     */
+    List<IntegralItem>  getIntegralItemList(IntegralItem  integralItem);
+    /**
+     * 查询单条数据
+     * @param  id
+     * @return  integralItem
+     */
+    IntegralItem  getIntegralItemById(Integer  id);
+    /**
+     * 增加数据
+     * @param  integralItem
+     * @return Integer
+     */
+    Integer  save(IntegralItem  integralItem);
+    /**
+     * 修改数据
+     * @param  integralItem
+     * @return Integer
+     */
+    Integer  update(IntegralItem  integralItem);
+    /**
+     * 删除数据
+     * @param  id
+     * @return Integer
+     */
+    Integer  delete(Integer  id);
+    /**
+     * 增加数据 <集合>
+     * @param  integralItemList
+     * @return Integer
+     */
+    Integer  saveList(List<IntegralItem> integralItemList);
+}

+ 206 - 0
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/IntegralItemMapper.xml

@@ -0,0 +1,206 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.iamberry.wechat.service.mapper.IntegralItemMapper">
+    <resultMap  id="BaseResultMap" type="IntegralItem" >
+        <result    column="integral_item_id"    property="integralItemId" />
+        <result    column="integral_item_order_id"    property="integralItemOrderId" />
+        <result    column="integral_product_id"    property="integralProductId" />
+        <result    column="integral_item_num"    property="integralItemNum" />
+        <result    column="integral_item_total"    property="integralItemTotal" />
+        <result    column="integral_item_dfbi"    property="integralItemDfbi" />
+        <result    column="integral_item_product_type"    property="integralItemProductType" />
+        <result    column="integral_item_coupon_id"    property="integralItemCouponId" />
+        <result    column="integral_item_coupon_item_id"    property="integralItemCouponItemId" />
+        <result    column="integral_item_product_name"    property="integralItemProductName" />
+        <result    column="integral_item_product_price"    property="integralItemProductPrice" />
+        <result    column="integral_item_product_dfbi"    property="integralItemProductDfbi" />
+        <result    column="integral_item_product_pic"    property="integralItemProductPic" />
+        <result    column="integral_item_create_date"    property="integralItemCreateDate" />
+    </resultMap>
+    <sql    id="Base_List" >
+        t.integral_item_id,
+        t.integral_item_order_id,
+        t.integral_product_id,
+        t.integral_item_num,
+        t.integral_item_total,
+        t.integral_item_dfbi,
+        t.integral_item_product_type,
+        t.integral_item_coupon_id,
+        t.integral_item_coupon_item_id,
+        t.integral_item_product_name,
+        t.integral_item_product_price,
+        t.integral_item_product_dfbi,
+        t.integral_item_product_pic,
+        t.integral_item_create_date
+    </sql>
+
+    <select id="getIntegralItemList" resultMap="BaseResultMap" parameterType="IntegralItem" >
+        select
+        <include refid="Base_List" />
+        from tb_iamberry_integral_item t
+        <where>
+            <if test="integralItemId != null ">
+                AND t.integral_item_id = #{integralItemId}
+            </if >
+            <if test="integralItemOrderId != null and integralItemOrderId != ''">
+                AND t.integral_item_order_id = #{integralItemOrderId}
+            </if >
+            <if test="integralProductId != null ">
+                AND t.integral_product_id = #{integralProductId}
+            </if >
+            <if test="integralItemNum != null ">
+                AND t.integral_item_num = #{integralItemNum}
+            </if >
+            <if test="integralItemTotal != null ">
+                AND t.integral_item_total = #{integralItemTotal}
+            </if >
+            <if test="integralItemDfbi != null ">
+                AND t.integral_item_dfbi = #{integralItemDfbi}
+            </if >
+            <if test="integralItemProductType != null ">
+                AND t.integral_item_product_type = #{integralItemProductType}
+            </if >
+            <if test="integralItemCouponId != null ">
+                AND t.integral_item_coupon_id = #{integralItemCouponId}
+            </if >
+            <if test="integralItemCouponItemId != null and integralItemCouponItemId != ''">
+                AND t.integral_item_coupon_item_id = #{integralItemCouponItemId}
+            </if >
+            <if test="integralItemProductName != null and integralItemProductName != ''">
+                AND t.integral_item_product_name = #{integralItemProductName}
+            </if >
+        </where>
+    </select>
+
+    <select id="getIntegralItemById" resultMap="BaseResultMap" parameterType="Integer" >
+        select
+        <include refid="Base_List" />
+        from tb_iamberry_integral_item t
+        where t.integral_item_id= #{integralItemId}
+    </select>
+    <insert id="save" parameterType="IntegralItem" >
+        insert into
+        tb_iamberry_integral_item
+        (
+        integral_item_id,
+        integral_item_order_id,
+        integral_product_id,
+        integral_item_num,
+        integral_item_total,
+        integral_item_dfbi,
+        integral_item_product_type,
+        integral_item_coupon_id,
+        integral_item_coupon_item_id,
+        integral_item_product_name,
+        integral_item_product_price,
+        integral_item_product_dfbi,
+        integral_item_product_pic
+        )
+        values
+        (
+        #{integralItemId},
+        #{integralItemOrderId},
+        #{integralProductId},
+        #{integralItemNum},
+        #{integralItemTotal},
+        #{integralItemDfbi},
+        #{integralItemProductType},
+        #{integralItemCouponId},
+        #{integralItemCouponItemId},
+        #{integralItemProductName},
+        #{integralItemProductPrice},
+        #{integralItemProductDfbi},
+        #{integralItemProductPic}
+        )
+    </insert>
+    <update id="update" parameterType="IntegralItem" >
+        update
+        tb_iamberry_integral_item
+        <set >
+            <if test="integralItemId != null ">
+                integral_item_id = #{integralItemId},
+            </if >
+            <if test="integralItemOrderId != null and integralItemOrderId != ''">
+                integral_item_order_id = #{integralItemOrderId},
+            </if >
+            <if test="integralProductId != null ">
+                integral_product_id = #{integralProductId},
+            </if >
+            <if test="integralItemNum != null ">
+                integral_item_num = #{integralItemNum},
+            </if >
+            <if test="integralItemTotal != null ">
+                integral_item_total = #{integralItemTotal},
+            </if >
+            <if test="integralItemDfbi != null ">
+                integral_item_dfbi = #{integralItemDfbi},
+            </if >
+            <if test="integralItemProductType != null ">
+                integral_item_product_type = #{integralItemProductType},
+            </if >
+            <if test="integralItemCouponId != null ">
+                integral_item_coupon_id = #{integralItemCouponId},
+            </if >
+            <if test="integralItemCouponItemId != null and integralItemCouponItemId != ''">
+                integral_item_coupon_item_id = #{integralItemCouponItemId},
+            </if >
+            <if test="integralItemProductName != null and integralItemProductName != ''">
+                integral_item_product_name = #{integralItemProductName},
+            </if >
+            <if test="integralItemProductPrice != null ">
+                integral_item_product_price = #{integralItemProductPrice},
+            </if >
+            <if test="integralItemProductDfbi != null ">
+                integral_item_product_dfbi = #{integralItemProductDfbi},
+            </if >
+            <if test="integralItemProductPic != null and integralItemProductPic != ''">
+                integral_item_product_pic = #{integralItemProductPic},
+            </if >
+        </set >
+        where integral_item_id= #{integralItemId}
+    </update>
+    <delete id="delete" parameterType="Integer" >
+        delete
+        tb_iamberry_integral_item
+        where integral_item_id=#{integralItemId}
+    </delete>
+
+    <insert id="saveList" parameterType="java.util.List" >
+        insert into
+        tb_iamberry_integral_item
+        (
+        integral_item_id,
+        integral_item_order_id,
+        integral_product_id,
+        integral_item_num,
+        integral_item_total,
+        integral_item_dfbi,
+        integral_item_product_type,
+        integral_item_coupon_id,
+        integral_item_coupon_item_id,
+        integral_item_product_name,
+        integral_item_product_price,
+        integral_item_product_dfbi,
+        integral_item_product_pic
+        )
+        values
+        <foreach collection="list" item="node" index="index" separator="," open="" close="">
+            (
+            #{node.integralItemId},
+            #{node.integralItemOrderId},
+            #{node.integralProductId},
+            #{node.integralItemNum},
+            #{node.integralItemTotal},
+            #{node.integralItemDfbi},
+            #{node.integralItemProductType},
+            #{node.integralItemCouponId},
+            #{node.integralItemCouponItemId},
+            #{node.integralItemProductName},
+            #{node.integralItemProductPrice},
+            #{node.integralItemProductDfbi},
+            #{node.integralItemProductPic}
+            )
+        </foreach >
+    </insert>
+
+</mapper>

+ 44 - 0
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/IntegralOrderAddressMapper.java

@@ -0,0 +1,44 @@
+package com.iamberry.wechat.service.mapper;
+
+import com.iamberry.wechat.core.entity.integral.IntegralOrderAddress;
+
+import java.util.List;
+
+/**
+ *  积分商城订单邮寄信息接口
+ * @author Administrator
+ * @Date 2018-04-28
+ */
+public interface IntegralOrderAddressMapper {
+    /**
+     * 获取集合
+     * @param  integralOrderAddress
+     * @return List
+     */
+    List<IntegralOrderAddress> getIntegralOrderAddressList(IntegralOrderAddress  integralOrderAddress);
+
+    /**
+     * 查询单条数据
+     * @param  id
+     * @return  integralOrderAddress
+     */
+    IntegralOrderAddress  getIntegralOrderAddressById(Integer  id);
+    /**
+     * 增加数据
+     * @param  integralOrderAddress
+     * @return Integer
+     */
+    Integer  save(IntegralOrderAddress  integralOrderAddress);
+    /**
+     * 修改数据
+     * @param  integralOrderAddress
+     * @return Integer
+     */
+    Integer  update(IntegralOrderAddress  integralOrderAddress);
+    /**
+     * 删除数据
+     * @param  id
+     * @return Integer
+     */
+    Integer  delete(Integer  id);
+}

+ 43 - 0
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/IntegralOrderMapper.java

@@ -0,0 +1,43 @@
+package com.iamberry.wechat.service.mapper;
+
+import com.iamberry.wechat.core.entity.integral.IntegralOrder;
+
+import java.util.List;
+
+/**
+ *  积分商城订单表接口
+ * @author ys
+ * @Date 2018-04-28
+ */
+public interface IntegralOrderMapper {
+    /**
+     * 获取集合
+     * @param  integralOrder
+     * @return List
+     */
+    List<IntegralOrder> getIntegralOrderList(IntegralOrder  integralOrder);
+    /**
+     * 查询单条数据
+     * @param  id
+     * @return  integralOrder
+     */
+    IntegralOrder getIntegralOrderById(String  id);
+    /**
+     * 增加数据
+     * @param  integralOrder
+     * @return Integer
+     */
+    Integer  save(IntegralOrder  integralOrder);
+    /**
+     * 修改数据
+     * @param  integralOrder
+     * @return Integer
+     */
+    Integer  update(IntegralOrder  integralOrder);
+    /**
+     * 删除数据
+     * @param  id
+     * @return Integer
+     */
+    Integer  delete(String  id);
+}

+ 43 - 0
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/IntegralProductConvertMapper.java

@@ -0,0 +1,43 @@
+package com.iamberry.wechat.service.mapper;
+
+import com.iamberry.wechat.core.entity.integral.IntegralProductConvert;
+
+import java.util.List;
+
+/**
+ *  接口
+ * @author ys
+ * @Date 2018-04-28
+ */
+public interface IntegralProductConvertMapper {
+    /**
+     * 获取集合
+     * @param  integralProductConvert
+     * @return List
+     */
+    List<IntegralProductConvert> getIntegralProductConvertList(IntegralProductConvert  integralProductConvert);
+    /**
+     * 查询单条数据
+     * @param  integralProductId
+     * @return  integralProductConvert
+     */
+    IntegralProductConvert getIntegralProductConvertByProductId(Integer  integralProductId);
+    /**
+     * 增加数据
+     * @param  integralProductConvert
+     * @return Integer
+     */
+    Integer  save(IntegralProductConvert  integralProductConvert);
+    /**
+     * 修改数据
+     * @param  integralProductConvert
+     * @return Integer
+     */
+    Integer  update(IntegralProductConvert  integralProductConvert);
+    /**
+     * 删除数据
+     * @param  id
+     * @return Integer
+     */
+    Integer  delete(Integer  id);
+}

+ 43 - 0
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/IntegralProductGradeMapper.java

@@ -0,0 +1,43 @@
+package com.iamberry.wechat.service.mapper;
+
+import com.iamberry.wechat.core.entity.integral.IntegralProductGrade;
+
+import java.util.List;
+
+/**
+ *  积分商品兑换对应等级接口
+ * @author Administrator
+ * @Date 2018-04-28
+ */
+public interface IntegralProductGradeMapper {
+    /**
+     * 获取集合
+     * @param  integralProductGrade
+     * @return List
+     */
+    List<IntegralProductGrade> getIntegralProductGradeList(IntegralProductGrade  integralProductGrade);
+    /**
+     * 查询单条数据
+     * @param  id
+     * @return  integralProductGrade
+     */
+    IntegralProductGrade getIntegralProductGradeById(Integer  id);
+    /**
+     * 增加数据
+     * @param  integralProductGrade
+     * @return Integer
+     */
+    Integer  save(IntegralProductGrade  integralProductGrade);
+    /**
+     * 修改数据
+     * @param  integralProductGrade
+     * @return Integer
+     */
+    Integer  update(IntegralProductGrade  integralProductGrade);
+    /**
+     * 删除数据
+     * @param  id
+     * @return Integer
+     */
+    Integer  delete(Integer  id);
+}

+ 43 - 0
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/IntegralProductMapper.java

@@ -0,0 +1,43 @@
+package com.iamberry.wechat.service.mapper;
+
+import com.iamberry.wechat.core.entity.integral.IntegralProduct;
+
+import java.util.List;
+
+/**
+ *  积分商品接口
+ * @author ys
+ * @Date 2018-04-28
+ */
+public interface IntegralProductMapper {
+    /**
+     * 获取集合
+     * @param  integralProduct
+     * @return List
+     */
+    List<IntegralProduct> getIntegralProductList(IntegralProduct  integralProduct);
+    /**
+     * 查询单条数据
+     * @param  id
+     * @return  integralProduct
+     */
+    IntegralProduct getIntegralProductById(Integer  id);
+    /**
+     * 增加数据
+     * @param  integralProduct
+     * @return Integer
+     */
+    Integer  save(IntegralProduct  integralProduct);
+    /**
+     * 修改数据
+     * @param  integralProduct
+     * @return Integer
+     */
+    Integer  update(IntegralProduct  integralProduct);
+    /**
+     * 删除数据
+     * @param  id
+     * @return Integer
+     */
+    Integer  delete(Integer  id);
+}

+ 43 - 0
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/IntegralProductPictureMapper.java

@@ -0,0 +1,43 @@
+package com.iamberry.wechat.service.mapper;
+
+import com.iamberry.wechat.core.entity.integral.IntegralProductPicture;
+
+import java.util.List;
+
+/**
+ *  产品轮播图接口
+ * @author ys
+ * @Date 2018-04-28
+ */
+public interface IntegralProductPictureMapper {
+    /**
+     * 获取集合
+     * @param  integralProductPicture
+     * @return List
+     */
+    List<IntegralProductPicture> getIntegralProductPictureList(IntegralProductPicture  integralProductPicture);
+    /**
+     * 查询单条数据
+     * @param  id
+     * @return  integralProductPicture
+     */
+    IntegralProductPicture  getIntegralProductPictureById(Integer  id);
+    /**
+     * 增加数据
+     * @param  integralProductPicture
+     * @return Integer
+     */
+    Integer  save(IntegralProductPicture  integralProductPicture);
+    /**
+     * 修改数据
+     * @param  integralProductPicture
+     * @return Integer
+     */
+    Integer  update(IntegralProductPicture  integralProductPicture);
+    /**
+     * 删除数据
+     * @param  id
+     * @return Integer
+     */
+    Integer  delete(Integer  id);
+}

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

@@ -212,6 +212,20 @@
 		AND CI.coupon_id =  #{couponId}
 		AND CI.coupon_id =  #{couponId}
 	</select>
 	</select>
 
 
+	<!--根据openid查询领取了多少张优惠券-->
+	<select id="userCouponNum" parameterType="CouponItem" resultType="Integer">
+		SELECT
+			COUNT(CI.coupon_item_id)
+		FROM
+			TB_IAMBERRY_COUPON_ITEM CI
+		<where>
+			CI.COUPON_ITEM_USER_OPENID = #{couponItemUseropenid}
+			<if test="couponUseStatus != null and couponUseStatus != ''">
+				AND COUPON_USE_STATUS=#{couponUseStatus}
+			</if>
+		</where>
+	</select>
+
 
 
 	<!--获取所有领取优惠券的人-->
 	<!--获取所有领取优惠券的人-->
 	<select id="allCouponItemNumber" parameterType="CouponItem" resultType="Integer">
 	<select id="allCouponItemNumber" parameterType="CouponItem" resultType="Integer">

+ 133 - 0
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/integralOrderAddressMapper.xml

@@ -0,0 +1,133 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.iamberry.wechat.service.mapper.IntegralOrderAddressMapper">
+    <resultMap  id="BaseResultMap" type="IntegralOrderAddress" >
+        <result    column="order_address_id"    property="orderAddressId" />
+        <result    column="integral_order_id"    property="integralOrderId" />
+        <result    column="order_address_post_num"    property="orderAddressPostNum" />
+        <result    column="order_address_post_firm"    property="orderAddressPostFirm" />
+        <result    column="order_address_status"    property="orderAddressStatus" />
+        <result    column="order_address_send_date"    property="orderAddressSendDate" />
+        <result    column="order_address_address_info"    property="orderAddressAddressInfo" />
+        <result    column="order_address_address_postnum"    property="orderAddressAddressPostnum" />
+        <result    column="order_address_address_tel"    property="orderAddressAddressTel" />
+        <result    column="order_address_address_name"    property="orderAddressAddressName" />
+    </resultMap>
+    <sql    id="Base_List" >
+        t.order_address_id,
+        t.integral_order_id,
+        t.order_address_post_num,
+        t.order_address_post_firm,
+        t.order_address_status,
+        t.order_address_send_date,
+        t.order_address_address_info,
+        t.order_address_address_postnum,
+        t.order_address_address_tel,
+        t.order_address_address_name
+    </sql>
+    <select id="getIntegralOrderAddressList" resultMap="BaseResultMap" parameterType="IntegralOrderAddress" >
+        select
+        <include refid="Base_List" />
+        from tb_iamberry_integral_order_address t
+        <where>
+            <if test="orderAddressId != null ">
+                AND t.order_address_id = #{orderAddressId}
+            </if >
+            <if test="integralOrderId != null and integralOrderId != ''">
+                AND t.integral_order_id = #{integralOrderId}
+            </if >
+            <if test="orderAddressPostNum != null and orderAddressPostNum != ''">
+                AND t.order_address_post_num = #{orderAddressPostNum}
+            </if >
+            <if test="orderAddressPostFirm != null and orderAddressPostFirm != ''">
+                AND t.order_address_post_firm = #{orderAddressPostFirm}
+            </if >
+            <if test="orderAddressStatus != null ">
+                AND t.order_address_status = #{orderAddressStatus}
+            </if >
+            <if test="orderAddressAddressTel != null and orderAddressAddressTel != ''">
+                AND t.order_address_address_tel  like  CONCAT ('%',#{orderAddressAddressTel},'%')
+            </if >
+            <if test="orderAddressAddressName != null and orderAddressAddressName != ''">
+                AND t.order_address_address_name  like  CONCAT ('%',#{orderAddressAddressName},'%')
+            </if >
+        </where>
+    </select>
+    <select id="getIntegralOrderAddressById" resultMap="BaseResultMap" parameterType="Integer" >
+        select
+        <include refid="Base_List" />
+        from tb_iamberry_integral_order_address t
+        where t.order_address_id= #{orderAddressId}
+    </select>
+    <insert id="save" parameterType="IntegralOrderAddress" >
+        insert into
+        tb_iamberry_integral_order_address
+        (
+        order_address_id,
+        integral_order_id,
+        order_address_post_num,
+        order_address_post_firm,
+        order_address_status,
+        order_address_send_date,
+        order_address_address_info,
+        order_address_address_postnum,
+        order_address_address_tel,
+        order_address_address_name
+        )
+        values
+        (
+        #{orderAddressId},
+        #{integralOrderId},
+        #{orderAddressPostNum},
+        #{orderAddressPostFirm},
+        #{orderAddressStatus},
+        #{orderAddressSendDate},
+        #{orderAddressAddressInfo},
+        #{orderAddressAddressPostnum},
+        #{orderAddressAddressTel},
+        #{orderAddressAddressName}
+        )
+    </insert>
+    <update id="update" parameterType="IntegralOrderAddress" >
+        update
+        tb_iamberry_integral_order_address
+        <set >
+            <if test="orderAddressId != null ">
+                order_address_id = #{orderAddressId},
+            </if >
+            <if test="integralOrderId != null and integralOrderId != ''">
+                integral_order_id = #{integralOrderId},
+            </if >
+            <if test="orderAddressPostNum != null and orderAddressPostNum != ''">
+                order_address_post_num = #{orderAddressPostNum},
+            </if >
+            <if test="orderAddressPostFirm != null and orderAddressPostFirm != ''">
+                order_address_post_firm = #{orderAddressPostFirm},
+            </if >
+            <if test="orderAddressStatus != null ">
+                order_address_status = #{orderAddressStatus},
+            </if >
+            <if test="orderAddressSendDate != null and orderAddressSendDate != ''">
+                order_address_send_date = #{orderAddressSendDate},
+            </if >
+            <if test="orderAddressAddressInfo != null and orderAddressAddressInfo != ''">
+                order_address_address_info = #{orderAddressAddressInfo},
+            </if >
+            <if test="orderAddressAddressPostnum != null and orderAddressAddressPostnum != ''">
+                order_address_address_postnum = #{orderAddressAddressPostnum},
+            </if >
+            <if test="orderAddressAddressTel != null and orderAddressAddressTel != ''">
+                order_address_address_tel = #{orderAddressAddressTel},
+            </if >
+            <if test="orderAddressAddressName != null and orderAddressAddressName != ''">
+                order_address_address_name = #{orderAddressAddressName}
+            </if >
+        </set >
+        where order_address_id= #{orderAddressId}
+    </update>
+    <delete id="delete" parameterType="Integer" >
+        delete
+        tb_iamberry_integral_order_address
+        where order_address_id=#{orderAddressId}
+    </delete>
+</mapper>

+ 126 - 0
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/integralOrderMapper.xml

@@ -0,0 +1,126 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.iamberry.wechat.service.mapper.IntegralOrderMapper">
+    <resultMap  id="BaseResultMap" type="IntegralOrder" >
+        <result    column="integral_order_id"    property="integralOrderId" />
+        <result    column="integral_order_open_id"    property="integralOrderOpenId" />
+        <result    column="integral_order_yet_amount"    property="integralOrderYetAmount" />
+        <result    column="integral_order_dfbi"    property="integralOrderDfbi" />
+        <result    column="integral_order_amount"    property="integralOrderAmount" />
+        <result    column="integral_order_status"    property="integralOrderStatus" />
+        <result    column="integral_order_admin_remark"    property="integralOrderAdminRemark" />
+        <result    column="integral_order_user_remark"    property="integralOrderUserRemark" />
+        <result    column="integral_order_transaction_id"    property="integralOrderTransactionId" />
+        <result    column="integral_order_transaction_date"    property="integralOrderTransactionDate" />
+        <result    column="integral_order_create_date"    property="integralOrderCreateDate" />
+    </resultMap>
+    <sql    id="Base_List" >
+        t.integral_order_id,
+        t.integral_order_open_id,
+        t.integral_order_yet_amount,
+        t.integral_order_dfbi,
+        t.integral_order_amount,
+        t.integral_order_status,
+        t.integral_order_admin_remark,
+        t.integral_order_user_remark,
+        t.integral_order_transaction_id,
+        t.integral_order_transaction_date,
+        t.integral_order_create_date
+    </sql>
+    <select id="getIntegralOrderList" resultMap="BaseResultMap" parameterType="IntegralOrder" >
+        select
+        <include refid="Base_List" />
+        from tb_iamberry_integral_order t
+        <where>
+            <if test="integralOrderId != null and integralOrderId != ''">
+                AND t.integral_order_id = #{integralOrderId}
+            </if >
+            <if test="integralOrderOpenId != null and integralOrderOpenId != ''">
+                AND t.integral_order_open_id = #{integralOrderOpenId}
+            </if >
+            <if test="integralOrderStatus != null ">
+                AND t.integral_order_status = #{integralOrderStatus}
+            </if >
+            <if test="integralOrderAdminRemark != null and integralOrderAdminRemark != ''">
+                AND t.integral_order_admin_remark = #{integralOrderAdminRemark}
+            </if >
+        </where>
+    </select>
+    <select id="getIntegralOrderById" resultMap="BaseResultMap" parameterType="String" >
+        select
+        <include refid="Base_List" />
+        from tb_iamberry_integral_order t
+        where t.integral_order_id= #{integralOrderId}
+    </select>
+    <insert id="save" parameterType="IntegralOrder" >
+        insert into
+        tb_iamberry_integral_order
+        (
+        integral_order_id,
+        integral_order_open_id,
+        integral_order_yet_amount,
+        integral_order_dfbi,
+        integral_order_amount,
+        integral_order_status,
+        integral_order_admin_remark,
+        integral_order_user_remark,
+        integral_order_transaction_id,
+        integral_order_transaction_date
+        )
+        values
+        (
+        #{integralOrderId},
+        #{integralOrderOpenId},
+        #{integralOrderYetAmount},
+        #{integralOrderDfbi},
+        #{integralOrderAmount},
+        #{integralOrderStatus},
+        #{integralOrderAdminRemark},
+        #{integralOrderUserRemark},
+        #{integralOrderTransactionId},
+        #{integralOrderTransactionDate}
+        )
+    </insert>
+    <update id="update" parameterType="IntegralOrder" >
+        update
+        tb_iamberry_integral_order
+        <set >
+            <if test="integralOrderId != null and integralOrderId != ''">
+                integral_order_id = #{integralOrderId},
+            </if >
+            <if test="integralOrderOpenId != null and integralOrderOpenId != ''">
+                integral_order_open_id = #{integralOrderOpenId},
+            </if >
+            <if test="integralOrderYetAmount != null ">
+                integral_order_yet_amount = #{integralOrderYetAmount},
+            </if >
+            <if test="integralOrderDfbi != null ">
+                integral_order_dfbi = #{integralOrderDfbi},
+            </if >
+            <if test="integralOrderAmount != null ">
+                integral_order_amount = #{integralOrderAmount},
+            </if >
+            <if test="integralOrderStatus != null ">
+                integral_order_status = #{integralOrderStatus},
+            </if >
+            <if test="integralOrderAdminRemark != null and integralOrderAdminRemark != ''">
+                integral_order_admin_remark = #{integralOrderAdminRemark},
+            </if >
+            <if test="integralOrderUserRemark != null and integralOrderUserRemark != ''">
+                integral_order_user_remark = #{integralOrderUserRemark},
+            </if >
+            <if test="integralOrderTransactionId != null and integralOrderTransactionId != ''">
+                integral_order_transaction_id = #{integralOrderTransactionId},
+            </if >
+            <if test="integralOrderTransactionDate != null and integralOrderTransactionDate != ''">
+                integral_order_transaction_date = #{integralOrderTransactionDate},
+            </if >
+        </set >
+        where integral_order_id= #{integralOrderId}
+    </update>
+    <delete id="delete" parameterType="String" >
+        delete
+        tb_iamberry_integral_order
+        where integral_order_id=#{integralOrderId}
+    </delete>
+</mapper>

+ 118 - 0
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/integralProductConvertMapper.xml

@@ -0,0 +1,118 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.iamberry.wechat.service.mapper.IntegralProductConvertMapper">
+    <resultMap  id="BaseResultMap" type="IntegralProductConvert" >
+        <result    column="convert_id"    property="convertId" />
+        <result    column="integral_product_id"    property="integralProductId" />
+        <result    column="convert_dfbi"    property="convertDfbi" />
+        <result    column="convert_is_mailing"    property="convertIsMailing" />
+        <result    column="convert_is_pay"    property="convertIsPay" />
+        <result    column="convert_price"    property="convertPrice" />
+        <result    column="coupon_id"    property="couponId" />
+        <result    column="convert_create_time"    property="convertCreateTime" />
+        <result    column="convert_update_time"    property="convertUpdateTime" />
+    </resultMap>
+    <sql    id="Base_List" >
+        t.convert_id,
+        t.integral_product_id,
+        t.convert_dfbi,
+        t.convert_is_mailing,
+        t.convert_is_pay,
+        t.convert_price,
+        t.coupon_id,
+        t.convert_create_time,
+        t.convert_update_time
+    </sql>
+    <select id="getIntegralProductConvertList" resultMap="BaseResultMap" parameterType="IntegralProductConvert" >
+        select
+        <include refid="Base_List" />
+        from tb_iamberry_integral_product_convert t
+        <where>
+            <if test="convertId != null ">
+                AND t.convert_id = #{convertId}
+            </if >
+            <if test="integralProductId != null ">
+                AND t.integral_product_id = #{integralProductId}
+            </if >
+            <if test="convertDfbi != null ">
+                AND t.convert_dfbi = #{convertDfbi}
+            </if >
+            <if test="convertIsMailing != null ">
+                AND t.convert_is_mailing = #{convertIsMailing}
+            </if >
+            <if test="convertIsPay != null ">
+                AND t.convert_is_pay = #{convertIsPay}
+            </if >
+            <if test="convertPrice != null ">
+                AND t.convert_price = #{convertPrice}
+            </if >
+            <if test="couponId != null ">
+                AND t.coupon_id = #{couponId}
+            </if >
+        </where>
+    </select>
+
+    <select id="getIntegralProductConvertByProductId" resultMap="BaseResultMap" parameterType="Integer" >
+        select
+        <include refid="Base_List" />
+        from tb_iamberry_integral_product_convert t
+        where t.integral_product_id = #{integralProductId}
+    </select>
+
+    <insert id="save" parameterType="IntegralProductConvert" >
+        insert into
+        tb_iamberry_integral_product_convert
+        (
+        convert_id,
+        integral_product_id,
+        convert_dfbi,
+        convert_is_mailing,
+        convert_is_pay,
+        convert_price,
+        coupon_id
+        )
+        values
+        (
+        #{convertId},
+        #{integralProductId},
+        #{convertDfbi},
+        #{convertIsMailing},
+        #{convertIsPay},
+        #{convertPrice},
+        #{couponId}
+        )
+    </insert>
+    <update id="update" parameterType="IntegralProductConvert" >
+        update
+        tb_iamberry_integral_product_convert
+        <set >
+            <if test="convertId != null ">
+                convert_id = #{convertId},
+            </if >
+            <if test="integralProductId != null ">
+                integral_product_id = #{integralProductId},
+            </if >
+            <if test="convertDfbi != null ">
+                convert_dfbi = #{convertDfbi},
+            </if >
+            <if test="convertIsMailing != null ">
+                convert_is_mailing = #{convertIsMailing},
+            </if >
+            <if test="convertIsPay != null ">
+                convert_is_pay = #{convertIsPay},
+            </if >
+            <if test="convertPrice != null ">
+                convert_price = #{convertPrice},
+            </if >
+            <if test="couponId != null ">
+                coupon_id = #{couponId},
+            </if >
+        </set >
+        where convert_id= #{convertId}
+    </update>
+    <delete id="delete" parameterType="Integer" >
+        delete
+        tb_iamberry_integral_product_convert
+        where convert_id=#{convertId}
+    </delete>
+</mapper>

+ 74 - 0
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/integralProductGradeMapper.xml

@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.iamberry.wechat.service.mapper.IntegralProductGradeMapper">
+    <resultMap  id="BaseResultMap" type="IntegralProductGrade" >
+        <result    column="product_grade_id"    property="productGradeId" />
+        <result    column="integral_product_id"    property="integralProductId" />
+        <result    column="rank_id"    property="rankId" />
+        <result    column="product_grade_time"    property="productGradeTime" />
+    </resultMap>
+    <sql    id="Base_List" >
+        t.product_grade_id,
+        t.integral_product_id,
+        t.rank_id,
+        t.product_grade_time
+    </sql>
+    <select id="getIntegralProductGradeList" resultMap="BaseResultMap" parameterType="IntegralProductGrade" >
+        select
+        <include refid="Base_List" />
+        from tb_iamberry_integral_product_grade t
+        <where>
+            <if test="productGradeId != null ">
+                AND t.product_grade_id = #{productGradeId}
+            </if >
+            <if test="integralProductId != null ">
+                AND t.integral_product_id = #{integralProductId}
+            </if >
+            <if test="rankId != null ">
+                AND t.rank_id = #{rankId}
+            </if >
+        </where>
+    </select>
+    <select id="getIntegralProductGradeById" resultMap="BaseResultMap" parameterType="Integer" >
+        select
+        <include refid="Base_List" />
+        from tb_iamberry_integral_product_grade t
+        where t.product_grade_id= #{productGradeId}
+    </select>
+    <insert id="save" parameterType="IntegralProductGrade" >
+        insert into
+        tb_iamberry_integral_product_grade
+        (
+        product_grade_id,
+        integral_product_id,
+        rank_id
+        )
+        values
+        (
+        #{productGradeId},
+        #{integralProductId},
+        #{rankId}
+        )
+    </insert>
+    <update id="update" parameterType="IntegralProductGrade" >
+        update
+        tb_iamberry_integral_product_grade
+        <set >
+            <if test="productGradeId != null ">
+                product_grade_id = #{productGradeId},
+            </if >
+            <if test="integralProductId != null ">
+                integral_product_id = #{integralProductId},
+            </if >
+            <if test="rankId != null ">
+                rank_id = #{rankId},
+            </if >
+        </set >
+        where product_grade_id= #{productGradeId}
+    </update>
+    <delete id="delete" parameterType="Integer" >
+        delete
+        tb_iamberry_integral_product_grade
+        where product_grade_id=#{productGradeId}
+    </delete>
+</mapper>

+ 136 - 0
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/integralProductMapper.xml

@@ -0,0 +1,136 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.iamberry.wechat.service.mapper.IntegralProductMapper">
+    <resultMap  id="BaseResultMap" type="IntegralProduct" >
+        <result    column="integral_product_id"    property="integralProductId" />
+        <result    column="integral_product_name"    property="integralProductName" />
+        <result    column="integral_product_img"    property="integralProductImg" />
+        <result    column="integral_product_desc"    property="integralProductDesc" />
+        <result    column="integral_product_type"    property="integralProductType" />
+        <result    column="integral_product_num"    property="integralProductNum" />
+        <result    column="integral_product_remaining_num"    property="integralProductRemainingNum" />
+        <result    column="integral_product_imagetext"    property="integralProductImagetext" />
+        <result    column="integral_product_status"    property="integralProductStatus" />
+        <result    column="integral_product_create_time"    property="integralProductCreateTime" />
+        <result    column="integral_product_update_time"    property="integralProductUpdateTime" />
+    </resultMap>
+    <sql    id="Base_List" >
+        t.integral_product_id,
+        t.integral_product_name,
+        t.integral_product_img,
+        t.integral_product_desc,
+        t.integral_product_type,
+        t.integral_product_num,
+        t.integral_product_remaining_num,
+        t.integral_product_imagetext,
+        t.integral_product_status,
+        t.integral_product_create_time,
+        t.integral_product_update_time
+    </sql>
+    <select id="getIntegralProductList" resultMap="BaseResultMap" parameterType="IntegralProduct" >
+        select
+        <include refid="Base_List" />
+        from tb_iamberry_integral_product t
+        <where>
+            <if test="integralProductId != null ">
+                AND t.integral_product_id = #{integralProductId}
+            </if >
+            <if test="integralProductName != null and integralProductName != ''">
+                AND t.integral_product_name  like  CONCAT ('%',#{integralProductName},'%')
+            </if >
+            <if test="integralProductImg != null and integralProductImg != ''">
+                AND t.integral_product_img = #{integralProductImg}
+            </if >
+            <if test="integralProductDesc != null and integralProductDesc != ''">
+                AND t.integral_product_desc = #{integralProductDesc}
+            </if >
+            <if test="integralProductType != null ">
+                AND t.integral_product_type = #{integralProductType}
+            </if >
+            <if test="integralProductNum != null ">
+                AND t.integral_product_num = #{integralProductNum}
+            </if >
+            <if test="integralProductRemainingNum != null ">
+                AND t.integral_product_remaining_num = #{integralProductRemainingNum}
+            </if >
+            <if test="integralProductImagetext != null and integralProductImagetext != ''">
+                AND t.integral_product_imagetext = #{integralProductImagetext}
+            </if >
+            <if test="integralProductStatus != null ">
+                AND t.integral_product_status = #{integralProductStatus}
+            </if >
+        </where>
+    </select>
+    <select id="getIntegralProductById" resultMap="BaseResultMap" parameterType="Integer" >
+        select
+        <include refid="Base_List" />
+        from tb_iamberry_integral_product t
+        where t.integral_product_id= #{integralProductId}
+    </select>
+    <insert id="save" parameterType="IntegralProduct" >
+        insert into
+        tb_iamberry_integral_product
+        (
+        integral_product_id,
+        integral_product_name,
+        integral_product_img,
+        integral_product_desc,
+        integral_product_type,
+        integral_product_num,
+        integral_product_remaining_num,
+        integral_product_imagetext,
+        integral_product_status
+        )
+        values
+        (
+        #{integralProductId},
+        #{integralProductName},
+        #{integralProductImg},
+        #{integralProductDesc},
+        #{integralProductType},
+        #{integralProductNum},
+        #{integralProductRemainingNum},
+        #{integralProductImagetext},
+        #{integralProductStatus}
+        )
+    </insert>
+    <update id="update" parameterType="IntegralProduct" >
+        update
+        tb_iamberry_integral_product
+        <set >
+            <if test="integralProductId != null ">
+                integral_product_id = #{integralProductId},
+            </if >
+            <if test="integralProductName != null and integralProductName != ''">
+                integral_product_name = #{integralProductName},
+            </if >
+            <if test="integralProductImg != null and integralProductImg != ''">
+                integral_product_img = #{integralProductImg},
+            </if >
+            <if test="integralProductDesc != null and integralProductDesc != ''">
+                integral_product_desc = #{integralProductDesc},
+            </if >
+            <if test="integralProductType != null ">
+                integral_product_type = #{integralProductType},
+            </if >
+            <if test="integralProductNum != null ">
+                integral_product_num = #{integralProductNum},
+            </if >
+            <if test="integralProductRemainingNum != null ">
+                integral_product_remaining_num = #{integralProductRemainingNum},
+            </if >
+            <if test="integralProductImagetext != null and integralProductImagetext != ''">
+                integral_product_imagetext = #{integralProductImagetext},
+            </if >
+            <if test="integralProductStatus != null ">
+                integral_product_status = #{integralProductStatus},
+            </if >
+        </set >
+        where integral_product_id= #{integralProductId}
+    </update>
+    <delete id="delete" parameterType="Integer" >
+        delete
+        tb_iamberry_integral_product
+        where integral_product_id=#{integralProductId}
+    </delete>
+</mapper>

+ 74 - 0
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/integralProductPictureMapper.xml

@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.iamberry.wechat.service.mapper.IntegralProductPictureMapper">
+    <resultMap  id="BaseResultMap" type="IntegralProductPicture" >
+        <result    column="picture_id"    property="pictureId" />
+        <result    column="integral_product_id"    property="integralProductId" />
+        <result    column="picture_url"    property="pictureUrl" />
+        <result    column="picture_create_date"    property="pictureCreateDate" />
+    </resultMap>
+    <sql    id="Base_List" >
+        t.picture_id,
+        t.integral_product_id,
+        t.picture_url,
+        t.picture_create_date
+    </sql>
+    <select id="getIntegralProductPictureList" resultMap="BaseResultMap" parameterType="IntegralProductPicture" >
+        select
+        <include refid="Base_List" />
+        from tb_iamberry_integral_product_picture t
+        <where>
+            <if test="pictureId != null ">
+                AND t.picture_id = #{pictureId}
+            </if >
+            <if test="integralProductId != null ">
+                AND t.integral_product_id = #{integralProductId}
+            </if >
+            <if test="pictureUrl != null and pictureUrl != ''">
+                AND t.picture_url = #{pictureUrl}
+            </if >
+        </where>
+    </select>
+    <select id="getIntegralProductPictureById" resultMap="BaseResultMap" parameterType="Integer" >
+        select
+        <include refid="Base_List" />
+        from tb_iamberry_integral_product_picture t
+        where t.picture_id= #{pictureId}
+    </select>
+    <insert id="save" parameterType="IntegralProductPicture" >
+        insert into
+        tb_iamberry_integral_product_picture
+        (
+        picture_id,
+        integral_product_id,
+        picture_url
+        )
+        values
+        (
+        #{pictureId},
+        #{integralProductId},
+        #{pictureUrl}
+        )
+    </insert>
+    <update id="update" parameterType="IntegralProductPicture" >
+        update
+        tb_iamberry_integral_product_picture
+        <set >
+            <if test="pictureId != null ">
+                picture_id = #{pictureId},
+            </if >
+            <if test="integralProductId != null ">
+                integral_product_id = #{integralProductId},
+            </if >
+            <if test="pictureUrl != null and pictureUrl != ''">
+                picture_url = #{pictureUrl},
+            </if >
+        </set >
+        where picture_id= #{pictureId}
+    </update>
+    <delete id="delete" parameterType="Integer" >
+        delete
+        tb_iamberry_integral_product_picture
+        where picture_id=#{pictureId}
+    </delete>
+</mapper>

+ 16 - 0
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/member/MemberServiceImpl.java

@@ -3,11 +3,13 @@ package com.iamberry.wechat.service.member;
 import com.iamberry.app.tool.log.RatFWLogger;
 import com.iamberry.app.tool.log.RatFWLogger;
 import com.iamberry.wechat.core.entity.Page;
 import com.iamberry.wechat.core.entity.Page;
 import com.iamberry.wechat.core.entity.drp.PlaceInfo;
 import com.iamberry.wechat.core.entity.drp.PlaceInfo;
+import com.iamberry.wechat.core.entity.integral.RankRule;
 import com.iamberry.wechat.core.entity.member.Member;
 import com.iamberry.wechat.core.entity.member.Member;
 import com.iamberry.wechat.face.member.MemberService;
 import com.iamberry.wechat.face.member.MemberService;
 import com.iamberry.wechat.service.ShopUtil;
 import com.iamberry.wechat.service.ShopUtil;
 import com.iamberry.wechat.service.home.dao.HomeServiceDao;
 import com.iamberry.wechat.service.home.dao.HomeServiceDao;
 import com.iamberry.wechat.service.mapper.PlaceInfoMapper;
 import com.iamberry.wechat.service.mapper.PlaceInfoMapper;
+import com.iamberry.wechat.service.mapper.UseIntegralMapper;
 import com.iamberry.wechat.service.member.dao.MemberDao;
 import com.iamberry.wechat.service.member.dao.MemberDao;
 import com.iamberry.wechat.service.relationship.Dao.WdRelationDao;
 import com.iamberry.wechat.service.relationship.Dao.WdRelationDao;
 import com.iamberry.wechat.service.system.dao.SystemDao;
 import com.iamberry.wechat.service.system.dao.SystemDao;
@@ -42,6 +44,8 @@ public class MemberServiceImpl implements MemberService {
 	@Autowired
 	@Autowired
 	private WdRelationDao wdRelationDao;
 	private WdRelationDao wdRelationDao;
 	@Autowired
 	@Autowired
+	private UseIntegralMapper useIntegralMapper;
+	@Autowired
 	private RatFWLogger log;
 	private RatFWLogger log;
 	/**
 	/**
 	 * 根据userid得到会员信息
 	 * 根据userid得到会员信息
@@ -341,4 +345,16 @@ public class MemberServiceImpl implements MemberService {
 	public Integer getRegisteredNumber() {
 	public Integer getRegisteredNumber() {
 		return memberDao.getRegisteredNumber();
 		return memberDao.getRegisteredNumber();
 	}
 	}
+
+	@Override
+	public Integer getUserGrad(Integer userId) {
+		Member member = memberDao.getMemberByUserId(userId);
+		List<RankRule> rankRuleList = useIntegralMapper.listRankRule(new RankRule());
+
+		for (RankRule rankRule:rankRuleList) {
+
+		}
+		return 1;
+	}
+
 }
 }

+ 82 - 4
tooth-wechat-web/src/main/java/com/iamberry/wechat/handles/apparatus/ApparatusHandler.java

@@ -9,12 +9,18 @@ import com.iamberry.wechat.core.entity.apparatus.Apparatus;
 import com.iamberry.wechat.core.entity.member.Member;
 import com.iamberry.wechat.core.entity.member.Member;
 import com.iamberry.wechat.face.admin.SystemService;
 import com.iamberry.wechat.face.admin.SystemService;
 import com.iamberry.wechat.face.apparatus.ApparatusService;
 import com.iamberry.wechat.face.apparatus.ApparatusService;
+import com.iamberry.wechat.face.member.MemberService;
+import com.iamberry.wechat.face.order.CodeService;
+import com.iamberry.wechat.service.ImberryConfig;
 import com.iamberry.wechat.tools.HttpClient431Util;
 import com.iamberry.wechat.tools.HttpClient431Util;
 import com.iamberry.wechat.tools.NameUtils;
 import com.iamberry.wechat.tools.NameUtils;
 import com.iamberry.wechat.tools.ResultInfo;
 import com.iamberry.wechat.tools.ResultInfo;
+import com.iamberry.wechat.tools.payUtil.RandomUtil;
 import com.iamberry.wechat.tools.payUtil.StringUtil;
 import com.iamberry.wechat.tools.payUtil.StringUtil;
 import net.sf.json.JSONObject;
 import net.sf.json.JSONObject;
 import org.apache.commons.lang3.StringEscapeUtils;
 import org.apache.commons.lang3.StringEscapeUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -22,8 +28,12 @@ import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.ResponseBody;
 import org.springframework.web.bind.annotation.ResponseBody;
 
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpSession;
+import java.text.MessageFormat;
 import java.text.SimpleDateFormat;
 import java.text.SimpleDateFormat;
 import java.util.*;
 import java.util.*;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
 
 
 /**
 /**
  * Created by liuzhiwei on 2017/12/28.
  * Created by liuzhiwei on 2017/12/28.
@@ -32,10 +42,16 @@ import java.util.*;
 @RequestMapping("/wechat/apparatus")
 @RequestMapping("/wechat/apparatus")
 public class ApparatusHandler {
 public class ApparatusHandler {
 
 
+    private Logger logger = LoggerFactory.getLogger(ApparatusHandler.class);
+
     @Autowired
     @Autowired
     private ApparatusService apparatusService;
     private ApparatusService apparatusService;
     @Autowired
     @Autowired
     private SystemService systemService;
     private SystemService systemService;
+    @Autowired
+    private CodeService codeService;
+    @Autowired
+    private MemberService memberService;
 
 
     /**
     /**
      * 分页查询用户机器信息
      * 分页查询用户机器信息
@@ -69,17 +85,79 @@ public class ApparatusHandler {
     }
     }
 
 
     /**
     /**
+     * 发送短信
+     * @param request
+     * @return
+     * @throws Exception
+     */
+    @ResponseBody
+    @RequestMapping("/send_phone")
+    public ResultMsg sendPhone(HttpServletRequest request,String phone) throws Exception {
+        ResultMsg msg = new ResultMsg();
+
+        String regExp = "^((13[0-9])|(15[0-9])|(18[0-9])|(17[0-9])|(147))\\d{8}$";
+        Pattern p = Pattern.compile(regExp);
+        Matcher m = p.matcher(phone);
+        if(!m.matches()){
+            msg.setMessage("电话号码错误!");
+            return msg;
+        }
+
+        //获取验证码
+        String num = RandomUtil.getRandom();
+
+        //使用request对象的getSession()获取session,如果session不存在则创建一个
+        HttpSession session = request.getSession();
+        //将数据存储到session中
+        session.setAttribute("verification_code",num );
+        session.setAttribute("verification_date",new Date());
+
+        String text = MessageFormat.format(ImberryConfig.SEND_VERIFICATION_PHONE, num);
+        String result = codeService.informShipping(phone, text);
+
+        if ("SUCCESS".equals(result)) {
+            logger.info("短信发送成功,验证码为:" + num);
+            msg.setResultCode(ResultInfo.SUCCESSCODE);
+            msg.setStatus(true);
+        } else {
+            logger.info("短信发送失败:" + result);
+            msg.setResultCode(ResultInfo.ERRORCODE);
+            msg.setStatus(false);
+            msg.setMessage("获取验证码失败");
+            return msg;
+        }
+        return msg;
+    }
+
+    /**
      * 注册会员
      * 注册会员
      * @param request
      * @param request
-     * @param member
+     * @param member  userBirthDate
      * @return
      * @return
      * @throws Exception
      * @throws Exception
      */
      */
     @ResponseBody
     @ResponseBody
-    @RequestMapping("add_apparatus")
-    public ResultMsg addApparatus(HttpServletRequest request,Member member) throws Exception {
+    @RequestMapping("/add_apparatus")
+    public ResultMsg addApparatus(HttpServletRequest request,Member member,String code) throws Exception {
         ResultMsg msg = new ResultMsg();
         ResultMsg msg = new ResultMsg();
-       /* String machinrJson =  HttpUtility.httpsGet("https://rst.iamberry.com/mcahine/getMachineInfo?barCode=AURORAA30180100005");*/
+
+        //判断验证码
+        //使用request对象的getSession()获取session,如果session不存在则创建一个
+        HttpSession session = request.getSession();
+        String verificationCode = (String) session.getAttribute("verification_code");
+        code = code.trim();
+
+        Date verificationDate = (Date) session.getAttribute("verification_date");
+        Calendar nowTime = Calendar.getInstance();
+        nowTime.setTime(verificationDate);
+        nowTime.add(Calendar.MINUTE, 5);
+        Date verData = nowTime.getTime();
+        if(!verificationCode.equals(code) || (verData.getTime() < new Date().getTime())  ){
+            msg.setResultCode(ResultInfo.ERRORCODE);
+            msg.setStatus(false);
+            msg.setMessage("验证码不正确或已失效,请重新获取!");
+            return msg;
+        }
 
 
         SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
         SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
         Member memberInfo = WechatUtils.getUserBySession(request);
         Member memberInfo = WechatUtils.getUserBySession(request);

+ 157 - 0
tooth-wechat-web/src/main/java/com/iamberry/wechat/handles/integral/IntegralOrderHandler.java

@@ -0,0 +1,157 @@
+package com.iamberry.wechat.handles.integral;
+
+import com.iamberry.wechat.core.entity.ResultMsg;
+import com.iamberry.wechat.core.entity.WechatUtils;
+import com.iamberry.wechat.core.entity.integral.IntegralCart;
+import com.iamberry.wechat.core.entity.integral.IntegralItem;
+import com.iamberry.wechat.core.entity.integral.IntegralOrder;
+import com.iamberry.wechat.core.entity.integral.IntegralProduct;
+import com.iamberry.wechat.core.entity.member.Member;
+import com.iamberry.wechat.core.entity.page.PageRequest;
+import com.iamberry.wechat.core.entity.page.PagedResult;
+import com.iamberry.wechat.face.integral.IntegralItemService;
+import com.iamberry.wechat.face.integral.IntegralOrderService;
+import com.iamberry.wechat.face.integral.IntegralProductService;
+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;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+@Controller
+@RequestMapping("/wechat/integral_order")
+public class IntegralOrderHandler {
+
+    @Autowired
+    private IntegralOrderService integralOrderService;
+    @Autowired
+    private IntegralItemService integralItemService;
+    @Autowired
+    private IntegralProductService integralProductService;
+    @Autowired
+    private MemberService memberService;
+
+    /**
+     *积分兑换
+     * @param req
+     * @return
+     */
+    @RequestMapping("/add_order")
+    @ResponseBody
+    public ResultMsg listProduct(HttpServletRequest req,String integralProductId){
+        ResultMsg rm=new ResultMsg();
+        Member m= WechatUtils.getUserBySession(req);
+
+           /*存放数据*/
+        Map<String,Object> reqMap = new HashMap<String,Object>();
+
+        if(integralProductId == null ){
+            return new ResultMsg(false,"500","未获取到积分商品,兑换失败",null);
+        }
+        List<IntegralCart> integralCartList = new ArrayList<>();
+        try{
+            String[] productId = integralProductId.split("-");
+            Integer[] proId = new Integer[productId.length];
+            for (int i = 0; i < productId.length; i++) {
+                IntegralCart integralCart = new IntegralCart();
+                integralCart.setProductId(Integer.valueOf(productId[i]));
+                integralCart.setNum(1);
+                integralCartList.add(integralCart);
+            }
+            Map<String,Object> map = integralOrderService.addOrder(m.getUserOpenid(),integralCartList);
+        }catch (Exception e){
+            return new ResultMsg(false,"500","未获取到积分商品,兑换失败",null);
+        }
+
+        Map<String,Object> map=new HashMap<String, Object>();
+
+        rm.setStatus(true);
+        rm.setResultCode(ResultInfo.SUCCESSCODE);
+        rm.setMessage(NameUtils.getConfig("SUCCESSINFO"));
+        rm.setData(map);
+        return rm;
+    }
+
+
+    /**
+     *积分兑换(订单)集合
+     * @param req
+     * @param pageSize
+     * @param pageNO
+     * @return
+     */
+    @RequestMapping("/list_order")
+    @ResponseBody
+    public ResultMsg listProduct(HttpServletRequest req,IntegralOrder integralOrder,
+                                 @RequestParam(value= "pageSize",defaultValue= "10" ,required=false) Integer pageSize,
+                                 @RequestParam(value = "pageNO", defaultValue = "1",required=false) Integer pageNO){
+        ResultMsg rm=new ResultMsg();
+        Member m= WechatUtils.getUserBySession(req);
+        String openid=m.getUserOpenid();
+        if (m == null || openid == null) {
+            rm.setMessage(ResultInfo.loginOutError);
+            return rm;
+        }
+
+        Integer totalNum = 0;
+        // 封装请求数据
+        PageRequest<IntegralOrder> pageRequest = new PageRequest<>(integralOrder, pageNO, pageSize, totalNum == 0);
+        // 查询订单列表
+        PagedResult<IntegralOrder> result = integralOrderService.listIntegralProductPage(pageRequest);
+
+        Map<String,Object> map=new HashMap<String, Object>();
+        map.put("integralOrder",result.getDataList());
+
+        rm.setStatus(true);
+        rm.setResultCode(ResultInfo.SUCCESSCODE);
+        rm.setMessage(NameUtils.getConfig("SUCCESSINFO"));
+        rm.setData(map);
+        return rm;
+    }
+
+    /**
+     *积分兑换详情
+     * @param req
+     * @param integralOrderId
+     * @return
+     */
+    @RequestMapping("/order_desc")
+    @ResponseBody
+    public ResultMsg productDesc(HttpServletRequest req,String integralOrderId) throws  Exception{
+        ResultMsg rm=new ResultMsg();
+        Member m= WechatUtils.getUserBySession(req);
+
+        if(integralOrderId == null || "".equals(integralOrderId)){
+            rm.setStatus(true);
+            rm.setResultCode(ResultInfo.ERRORCODE);
+            rm.setMessage("未获取到积分兑换详情!");
+            return rm;
+        }
+
+        IntegralOrder integralOrder = integralOrderService.getIntegralOrderById(integralOrderId);
+        IntegralItem integralItem = new IntegralItem();
+        integralItem.setIntegralItemOrderId(integralOrderId);
+        List<IntegralItem> integralItemList = integralItemService.getIntegralItemList(integralItem);
+        integralOrder.setIntegralItemList(integralItemList);
+
+
+
+        Map<String,Object> map = new HashMap<>();
+        rm.setStatus(true);
+        rm.setResultCode(ResultInfo.SUCCESSCODE);
+        rm.setMessage(NameUtils.getConfig("SUCCESSINFO"));
+        rm.setData(map);
+        return rm;
+    }
+
+
+}

+ 107 - 0
tooth-wechat-web/src/main/java/com/iamberry/wechat/handles/integral/IntegralProductHandler.java

@@ -0,0 +1,107 @@
+package com.iamberry.wechat.handles.integral;
+
+import com.iamberry.wechat.core.entity.ResultMsg;
+import com.iamberry.wechat.core.entity.WechatUtils;
+import com.iamberry.wechat.core.entity.integral.IntegralProduct;
+import com.iamberry.wechat.core.entity.integral.IntegralProductPicture;
+import com.iamberry.wechat.core.entity.member.Member;
+import com.iamberry.wechat.core.entity.page.PageRequest;
+import com.iamberry.wechat.core.entity.page.PagedResult;
+import com.iamberry.wechat.face.integral.IntegralProductPictureService;
+import com.iamberry.wechat.face.integral.IntegralProductService;
+import com.iamberry.wechat.tools.NameUtils;
+import com.iamberry.wechat.tools.ResultInfo;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+@Controller
+@RequestMapping("/wechat/integral_pro")
+public class IntegralProductHandler {
+
+    @Autowired
+    private IntegralProductService integralProductService;
+    @Autowired
+    private IntegralProductPictureService integralProductPictureService;
+
+    /**
+     *积分产品集合
+     * @param req
+     * @param pageSize
+     * @param pageNO
+     * @return
+     */
+    @RequestMapping("/list_product")
+    @ResponseBody
+    public ResultMsg listProduct(HttpServletRequest req,
+                                 @RequestParam(value= "pageSize",defaultValue= "10" ,required=false) Integer pageSize,
+                                 @RequestParam(value = "pageNO", defaultValue = "1",required=false) Integer pageNO){
+        ResultMsg rm=new ResultMsg();
+        Member m= WechatUtils.getUserBySession(req);
+        String openid=m.getUserOpenid();
+        if (m == null || openid == null) {
+            rm.setMessage(ResultInfo.loginOutError);
+            return rm;
+        }
+        IntegralProduct  integralProduct = new IntegralProduct();
+
+        Integer totalNum = 0;
+        // 封装请求数据
+        PageRequest<IntegralProduct> pageRequest = new PageRequest<>(integralProduct, pageNO, pageSize, totalNum == 0);
+        // 查询订单列表
+        PagedResult<IntegralProduct> result = integralProductService.listIntegralProductPage(pageRequest);
+
+        Map<String,Object> map=new HashMap<String, Object>();
+        map.put("integralProductList",result.getDataList());
+
+        rm.setStatus(true);
+        rm.setResultCode(ResultInfo.SUCCESSCODE);
+        rm.setMessage(NameUtils.getConfig("SUCCESSINFO"));
+        rm.setData(map);
+        return rm;
+    }
+
+    /**
+     *积分产品详情
+     * @param req
+     * @param integralProductId
+     * @return
+     */
+    @RequestMapping("/product_desc")
+    @ResponseBody
+    public ResultMsg productDesc(HttpServletRequest req,Integer integralProductId) throws  Exception{
+        ResultMsg rm=new ResultMsg();
+        Member m= WechatUtils.getUserBySession(req);
+
+        if(integralProductId == null){
+            rm.setStatus(true);
+            rm.setResultCode(ResultInfo.ERRORCODE);
+            rm.setMessage("未获取到积分详情!");
+            return rm;
+        }
+        IntegralProduct  integralProduct =  integralProductService.getIntegralProductById(integralProductId);
+
+        IntegralProductPicture integralProductPicture = new IntegralProductPicture();
+        integralProductPicture.setIntegralProductId(integralProductId);
+        List<IntegralProductPicture> pictureList =  integralProductPictureService.getIntegralProductPictureList(integralProductPicture);
+
+        Map<String,Object> map = new HashMap<>();
+        map.put("integralProduct",integralProduct);
+        map.put("pictureList",pictureList);
+
+        rm.setStatus(true);
+        rm.setResultCode(ResultInfo.SUCCESSCODE);
+        rm.setMessage(NameUtils.getConfig("SUCCESSINFO"));
+        rm.setData(map);
+        return rm;
+    }
+
+
+}

+ 29 - 5
tooth-wechat-web/src/main/java/com/iamberry/wechat/handles/integral/UseIntegralHandler.java

@@ -6,10 +6,12 @@ import com.github.pagehelper.PageHelper;
 import com.iamberry.wechat.core.entity.PageBean;
 import com.iamberry.wechat.core.entity.PageBean;
 import com.iamberry.wechat.core.entity.ResultMsg;
 import com.iamberry.wechat.core.entity.ResultMsg;
 import com.iamberry.wechat.core.entity.WechatUtils;
 import com.iamberry.wechat.core.entity.WechatUtils;
+import com.iamberry.wechat.core.entity.coupon.CouponItem;
 import com.iamberry.wechat.core.entity.integral.RankRule;
 import com.iamberry.wechat.core.entity.integral.RankRule;
 import com.iamberry.wechat.core.entity.integral.StayIntegral;
 import com.iamberry.wechat.core.entity.integral.StayIntegral;
 import com.iamberry.wechat.core.entity.integral.UseIntegral;
 import com.iamberry.wechat.core.entity.integral.UseIntegral;
 import com.iamberry.wechat.core.entity.member.Member;
 import com.iamberry.wechat.core.entity.member.Member;
+import com.iamberry.wechat.face.coupon.CouponItemService;
 import com.iamberry.wechat.face.integral.UseIntegralService;
 import com.iamberry.wechat.face.integral.UseIntegralService;
 import com.iamberry.wechat.face.member.MemberService;
 import com.iamberry.wechat.face.member.MemberService;
 import com.iamberry.wechat.face.order.AdminOrderService;
 import com.iamberry.wechat.face.order.AdminOrderService;
@@ -44,6 +46,8 @@ public class UseIntegralHandler {
     private MemberService memberService;
     private MemberService memberService;
     @Autowired
     @Autowired
     private AdminOrderService adminOrderService;
     private AdminOrderService adminOrderService;
+    @Autowired
+    private CouponItemService couponItemService;
     /**
     /**
      * 收入记录 use_type=1
      * 收入记录 use_type=1
      * @param req
      * @param req
@@ -294,16 +298,36 @@ public class UseIntegralHandler {
             rm.setData("");
             rm.setData("");
             return rm;
             return rm;
         }
         }
-        List<RankRule> lists=new ArrayList<RankRule>();
-        for(RankRule r:list){
-            if(r.getRankRuleIntegral()>userIntegralCount){
-                lists.add(r);
+
+//        List<RankRule> lists=new ArrayList<RankRule>();
+        RankRule  rankRule = null;
+        for(int i =0 ;i<list.size();i++){
+            RankRule r = list.get(i);
+            if(r.getRankRuleIntegral() > userIntegralCount){      //大于本身总积分的
+                if(rankRule == null){
+                    rankRule = r;
+                }else  if(rankRule != null && rankRule.getRankRuleIntegral()!=null && rankRule.getRankRuleIntegral() > r.getRankRuleIntegral()){
+                    rankRule = r;
+                }
             }
             }
         }
         }
+
+        Integer distanceNextLevelIntegral = rankRule.getRankRuleIntegral() - userIntegralCount;
+        String nextLevelIntegral = rankRule.getRankRuleName();
+
         /**************未发货数量*****************/
         /**************未发货数量*****************/
         Integer notSendCount=adminOrderService.getNotSendCount(openid);
         Integer notSendCount=adminOrderService.getNotSendCount(openid);
 
 
-        map.put("listRankRule",lists);
+        /*获取个人能用的优惠券数量*/
+        CouponItem couponItem = new CouponItem();
+        couponItem.setCouponItemCurrentUserOpenid(member.getUserOpenid());
+        couponItem.setCouponUseStatus(1);   //coupon_use_status
+        Integer availableCoupons = couponItemService.userCouponNum(couponItem);
+
+//        map.put("listRankRule",lists);
+        map.put("availableCoupons",availableCoupons);
+        map.put("distanceNextLevelIntegral",distanceNextLevelIntegral);
+        map.put("nextLevelIntegral",nextLevelIntegral);
         map.put("notSendCount",notSendCount);
         map.put("notSendCount",notSendCount);
         map.put("memberInfo",memberInfo);
         map.put("memberInfo",memberInfo);
         rm.setStatus(true);
         rm.setStatus(true);

+ 3 - 1
tooth-wechat-web/src/main/resources/iamberry-app-service-config.properties

@@ -24,4 +24,6 @@ PROBATION_SUCCESS_SECOND_TEXT=\u3010\u7F8E\u56FDWatero\u3011\u5C0A\u656C\u7684\u
 PROBATION_SUCCESS_THIRD_TEXT=\u3010\u7F8E\u56FDWatero\u3011\u5C0A\u656C\u7684\u4F1A\u5458\u60A8\u597D\uFF01\u60A8\u7684\u8BD5\u7528\u8BA2\u53552\u5929\u540E\u5C06\u5230\u671F\uFF0C\u540C\u65F6\uFF0C\u8FD8\u67091L\u7CBE\u7F8E\u91CF\u676F\u5F85\u9886\u53D6\uFF0C\u8BF7\u8FDB\u5165\u5FAE\u4FE1\u516C\u4F17\u53F7\u67E5\u770B\u8BA2\u5355\u3002
 PROBATION_SUCCESS_THIRD_TEXT=\u3010\u7F8E\u56FDWatero\u3011\u5C0A\u656C\u7684\u4F1A\u5458\u60A8\u597D\uFF01\u60A8\u7684\u8BD5\u7528\u8BA2\u53552\u5929\u540E\u5C06\u5230\u671F\uFF0C\u540C\u65F6\uFF0C\u8FD8\u67091L\u7CBE\u7F8E\u91CF\u676F\u5F85\u9886\u53D6\uFF0C\u8BF7\u8FDB\u5165\u5FAE\u4FE1\u516C\u4F17\u53F7\u67E5\u770B\u8BA2\u5355\u3002
 INFORM_SHIPPING=\u3010\u4E0A\u6735\u5FAE\u5546\u57CE\u3011\u4EB2\uFF0C\u60A8\u7684\u8BA2\u5355\u5DF2\u53D1\u8D27\u3002\u5173\u6CE8\u201C\u4E0A\u6735\u5FAE\u5546\u57CE\u201D\u516C\u4F17\u53F7\u53EF\u67E5\u8BE2\u7269\u6D41\u4FE1\u606F
 INFORM_SHIPPING=\u3010\u4E0A\u6735\u5FAE\u5546\u57CE\u3011\u4EB2\uFF0C\u60A8\u7684\u8BA2\u5355\u5DF2\u53D1\u8D27\u3002\u5173\u6CE8\u201C\u4E0A\u6735\u5FAE\u5546\u57CE\u201D\u516C\u4F17\u53F7\u53EF\u67E5\u8BE2\u7269\u6D41\u4FE1\u606F
 ORDER_UPDATE_STATUS_TEXT=\u3010\u4E0A\u6735\u5FAE\u5546\u57CE\u3011\u6709\u4E00\u4E2A\u8BA2\u5355\u5F85{0}\uFF0C\u8BF7\u767B\u9646\u4E0A\u6735\u5FAE\u4FE1\u540E\u53F0\u5904\u7406\u3002
 ORDER_UPDATE_STATUS_TEXT=\u3010\u4E0A\u6735\u5FAE\u5546\u57CE\u3011\u6709\u4E00\u4E2A\u8BA2\u5355\u5F85{0}\uFF0C\u8BF7\u767B\u9646\u4E0A\u6735\u5FAE\u4FE1\u540E\u53F0\u5904\u7406\u3002
-PENDING_ORDER_REMINDER=\u3010soodo\u4E0A\u6735\u3011\u5FAE\u4FE1\u5546\u57CE\u60A8\u6709{0}\u4E2A\u8BA2\u5355\u5F85\u5904\u7406\uFF0C\u8BF7\u53CA\u65F6\u5904\u7406\u3002
+PENDING_ORDER_REMINDER=\u3010soodo\u4E0A\u6735\u3011\u5FAE\u4FE1\u5546\u57CE\u60A8\u6709{0}\u4E2A\u8BA2\u5355\u5F85\u5904\u7406\uFF0C\u8BF7\u53CA\u65F6\u5904\u7406\u3002
+
+SEND_VERIFICATION_PHONE=\u3010soodo\u4E0A\u6735\u3011\u60A8\u7684\u9A8C\u8BC1\u7801\u662F{0}\uFF0C\u57285\u5206\u949F\u5185\u6709\u6548\u3002\uFF08\u5982\u975E\u672C\u4EBA\u64CD\u4F5C\u8BF7\u5FFD\u7565\u672C\u77ED\u4FE1\uFF09

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

@@ -247,6 +247,15 @@
 		<typeAlias type="com.iamberry.wechat.core.entity.integral.RankRule" alias="RankRule"/>
 		<typeAlias type="com.iamberry.wechat.core.entity.integral.RankRule" alias="RankRule"/>
 		<typeAlias type="com.iamberry.wechat.core.entity.integral.StayIntegral" alias="StayIntegral"/>
 		<typeAlias type="com.iamberry.wechat.core.entity.integral.StayIntegral" alias="StayIntegral"/>
 
 
+		<!--积分商城-->
+		<typeAlias type="com.iamberry.wechat.core.entity.integral.IntegralItem" alias="IntegralItem"/>
+		<typeAlias type="com.iamberry.wechat.core.entity.integral.IntegralOrder" alias="IntegralOrder"/>
+		<typeAlias type="com.iamberry.wechat.core.entity.integral.IntegralOrderAddress" alias="IntegralOrderAddress"/>
+		<typeAlias type="com.iamberry.wechat.core.entity.integral.IntegralProduct" alias="IntegralProduct"/>
+		<typeAlias type="com.iamberry.wechat.core.entity.integral.IntegralProductConvert" alias="IntegralProductConvert"/>
+		<typeAlias type="com.iamberry.wechat.core.entity.integral.IntegralProductGrade" alias="IntegralProductGrade"/>
+		<typeAlias type="com.iamberry.wechat.core.entity.integral.IntegralProductPicture" alias="IntegralProductPicture"/>
+
 
 
 		<typeAlias type="com.iamberry.wechat.core.entity.product.ProductRelatedRstProduce" alias="ProductRelatedRstProduce"/>
 		<typeAlias type="com.iamberry.wechat.core.entity.product.ProductRelatedRstProduce" alias="ProductRelatedRstProduce"/>
 
 
@@ -350,5 +359,16 @@
 		<mapper resource="com/iamberry/wechat/service/mapper/apparatusMapper.xml"/>
 		<mapper resource="com/iamberry/wechat/service/mapper/apparatusMapper.xml"/>
 		<!--积分-->
 		<!--积分-->
 		<mapper resource="com/iamberry/wechat/service/mapper/useIntegralMapper.xml"/>
 		<mapper resource="com/iamberry/wechat/service/mapper/useIntegralMapper.xml"/>
+
+		<!--积分商城-->
+		<mapper resource="com/iamberry/wechat/service/mapper/IntegralItemMapper.xml"/>
+		<mapper resource="com/iamberry/wechat/service/mapper/integralOrderAddressMapper.xml"/>
+		<mapper resource="com/iamberry/wechat/service/mapper/integralOrderMapper.xml"/>
+		<mapper resource="com/iamberry/wechat/service/mapper/integralProductConvertMapper.xml"/>
+		<mapper resource="com/iamberry/wechat/service/mapper/integralProductGradeMapper.xml"/>
+		<mapper resource="com/iamberry/wechat/service/mapper/integralProductMapper.xml"/>
+		<mapper resource="com/iamberry/wechat/service/mapper/integralProductPictureMapper.xml"/>
+
+
 	</mappers>
 	</mappers>
 </configuration>
 </configuration>