Browse Source

实现分享结果的处理模块功能

unknown 1 year ago
parent
commit
11ceb3a00b
18 changed files with 767 additions and 33 deletions
  1. 28 21
      education_family/.idea/workspace.xml
  2. 18 0
      education_family/service/service-payment/src/main/java/com/xunwang/payment/controller/OrderInfoController.java
  3. 16 0
      education_family/service/service-payment/src/main/java/com/xunwang/payment/mapper/OrderInfoMapper.java
  4. 20 0
      education_family/service/service-payment/src/main/java/com/xunwang/payment/mapper/xml/OrderInfoMapper.xml
  5. 6 0
      education_family/service/service-ucenter/pom.xml
  6. 23 0
      education_family/service/service-ucenter/src/main/java/com/xunwang/ucenter/controller/MiniProgramOpenidUidController.java
  7. 8 0
      education_family/service/service-ucenter/src/main/java/com/xunwang/ucenter/mapper/MiniProgramOpenidUidMapper.java
  8. 12 0
      education_family/service/service-ucenter/src/main/java/com/xunwang/ucenter/mapper/xml/MiniProgramOpenidUidMapper.xml
  9. 27 0
      education_family/service/service-ucenter/src/main/java/com/xunwang/ucenter/service/MiniProgramOpenidUidService.java
  10. 48 0
      education_family/service/service-ucenter/src/main/java/com/xunwang/ucenter/service/impl/MiniProgramOpenidUidServiceImpl.java
  11. 3 4
      education_uni/components/my-userinfo/my-userinfo.vue
  12. 23 2
      education_uni/pages.json
  13. 7 4
      education_uni/subpkg/my_share/my_share.vue
  14. 212 0
      education_uni/subpkg/my_share/share_result/share_order_detail.vue
  15. 183 0
      education_uni/subpkg/my_share/share_result/share_orders.vue
  16. 131 0
      education_uni/subpkg/my_share/share_result/share_result.vue
  17. 1 1
      education_uni/subpkg/order_detail/order_detail.vue
  18. 1 1
      education_uni/subpkg/student_order_detail/student_order_detail.vue

+ 28 - 21
education_family/.idea/workspace.xml

@@ -35,28 +35,28 @@
     <option name="hideEmptyMiddlePackages" value="true" />
     <option name="showLibraryContents" value="true" />
   </component>
-  <component name="PropertiesComponent">{
-  &quot;keyToString&quot;: {
-    &quot;RequestMappingsPanelOrder0&quot;: &quot;0&quot;,
-    &quot;RequestMappingsPanelOrder1&quot;: &quot;1&quot;,
-    &quot;RequestMappingsPanelWidth0&quot;: &quot;75&quot;,
-    &quot;RequestMappingsPanelWidth1&quot;: &quot;75&quot;,
-    &quot;RunOnceActivity.OpenProjectViewOnStart&quot;: &quot;true&quot;,
-    &quot;RunOnceActivity.ShowReadmeOnStart&quot;: &quot;true&quot;,
-    &quot;WebServerToolWindowFactoryState&quot;: &quot;false&quot;,
-    &quot;last_opened_file_path&quot;: &quot;E:/code/XWTC-DCS/P001-XWTC-DCS&quot;,
-    &quot;node.js.detected.package.eslint&quot;: &quot;true&quot;,
-    &quot;node.js.detected.package.tslint&quot;: &quot;true&quot;,
-    &quot;node.js.selected.package.eslint&quot;: &quot;(autodetect)&quot;,
-    &quot;node.js.selected.package.tslint&quot;: &quot;(autodetect)&quot;,
-    &quot;project.structure.last.edited&quot;: &quot;模块&quot;,
-    &quot;project.structure.proportion&quot;: &quot;0.15&quot;,
-    &quot;project.structure.side.proportion&quot;: &quot;0.2&quot;,
-    &quot;settings.editor.selected.configurable&quot;: &quot;reactor&quot;,
-    &quot;spring.configuration.checksum&quot;: &quot;5f37a9c319bd4681042448b2ebddd6a2&quot;,
-    &quot;vue.rearranger.settings.migration&quot;: &quot;true&quot;
+  <component name="PropertiesComponent"><![CDATA[{
+  "keyToString": {
+    "RequestMappingsPanelOrder0": "0",
+    "RequestMappingsPanelOrder1": "1",
+    "RequestMappingsPanelWidth0": "75",
+    "RequestMappingsPanelWidth1": "75",
+    "RunOnceActivity.OpenProjectViewOnStart": "true",
+    "RunOnceActivity.ShowReadmeOnStart": "true",
+    "WebServerToolWindowFactoryState": "false",
+    "last_opened_file_path": "D:/wx-subscribe-sa/weChartSubscribe",
+    "node.js.detected.package.eslint": "true",
+    "node.js.detected.package.tslint": "true",
+    "node.js.selected.package.eslint": "(autodetect)",
+    "node.js.selected.package.tslint": "(autodetect)",
+    "project.structure.last.edited": "模块",
+    "project.structure.proportion": "0.15",
+    "project.structure.side.proportion": "0.2",
+    "settings.editor.selected.configurable": "reactor",
+    "spring.configuration.checksum": "d213be410b4e6bfae1a0c59a21c98341",
+    "vue.rearranger.settings.migration": "true"
   }
-}</component>
+}]]></component>
   <component name="ReactorSettings">
     <option name="notificationShown" value="true" />
   </component>
@@ -119,6 +119,13 @@
       <workItem from="1680415678947" duration="4065000" />
       <workItem from="1680487711290" duration="6587000" />
       <workItem from="1680572290064" duration="6911000" />
+      <workItem from="1680769462635" duration="630000" />
+      <workItem from="1681009112995" duration="18000" />
+      <workItem from="1681029920199" duration="750000" />
+      <workItem from="1681093257373" duration="9650000" />
+      <workItem from="1681176039810" duration="4618000" />
+      <workItem from="1681181913167" duration="17934000" />
+      <workItem from="1681264244349" duration="13961000" />
     </task>
     <servers />
   </component>

+ 18 - 0
education_family/service/service-payment/src/main/java/com/xunwang/payment/controller/OrderInfoController.java

@@ -134,4 +134,22 @@ public class OrderInfoController {
         orderInfoService.update(orderInfo, new LambdaQueryWrapper<OrderInfo>().eq(OrderInfo::getOrderId, orderId));
     }
 
+
+    @ApiOperation("根据 推荐uid,返回订单列表, 未提现")
+    @GetMapping("/list/recommendUidNotWithdraw")
+    public R listByRecommendUidNotWithdraw(HttpServletRequest request) {
+        String uid = JwtUtils.getUIdByJwtToken(request);
+        List<OrderInfo> myOrderList = orderInfoMapper.getNotWithdrawOrderListByRecommendUid(uid);
+        return R.ok().data("list", myOrderList);
+    }
+
+
+    @ApiOperation("根据 推荐uid,返回订单列表, 已提现")
+    @GetMapping("/list/recommendUidWithdraw")
+    public R listByRecommendUidWithdraw(HttpServletRequest request) {
+        String uid = JwtUtils.getUIdByJwtToken(request);
+        List<OrderInfo> myOrderList = orderInfoMapper.getWithdrawOrderListByRecommendUid(uid);
+        return R.ok().data("list", myOrderList);
+    }
+
 }

+ 16 - 0
education_family/service/service-payment/src/main/java/com/xunwang/payment/mapper/OrderInfoMapper.java

@@ -32,4 +32,20 @@ public interface OrderInfoMapper extends BaseMapper<OrderInfo> {
     String getOpenIdByUid(String uid);
 
     List<MyOrder> getMyOrderList(String openid);
+
+    /**
+     * 根据推荐人 uid 查询订单列表  未提现
+     * @param recommendUid
+     * @return
+     */
+
+    List<OrderInfo> getNotWithdrawOrderListByRecommendUid(String recommendUid);
+
+    /**
+     * 根据推荐人 uid 查询订单列表  已提现
+     * @param recommendUid
+     * @return
+     */
+
+    List<OrderInfo> getWithdrawOrderListByRecommendUid(String recommendUid);
 }

+ 20 - 0
education_family/service/service-payment/src/main/java/com/xunwang/payment/mapper/xml/OrderInfoMapper.xml

@@ -29,4 +29,24 @@
             open_id = #{id}
         order by datetime desc
     </select>
+
+    <select id="getNotWithdrawOrderListByRecommendUid" resultType="com.xunwang.payment.entity.OrderInfo">
+        select
+            order_id, datetime, reco_status
+        from
+            order_info
+        where
+            recommend_uid = #{id} and is_refund = '0' and reco_status <![CDATA[<>]]> '已提现'
+        order by datetime desc
+    </select>
+
+    <select id="getWithdrawOrderListByRecommendUid" resultType="com.xunwang.payment.entity.OrderInfo">
+        select
+            order_id, datetime, reco_status
+        from
+            order_info
+        where
+            recommend_uid = #{id} and is_refund = '0' and reco_status = '已提现'
+        order by datetime desc
+    </select>
 </mapper>

+ 6 - 0
education_family/service/service-ucenter/pom.xml

@@ -30,6 +30,12 @@
             <groupId>org.springframework.cloud</groupId>
             <artifactId>spring-cloud-starter-openfeign</artifactId>
         </dependency>
+        <dependency>
+            <groupId>com.xunwang</groupId>
+            <artifactId>service-education</artifactId>
+            <version>0.0.1-SNAPSHOT</version>
+            <scope>compile</scope>
+        </dependency>
     </dependencies>
 
 

+ 23 - 0
education_family/service/service-ucenter/src/main/java/com/xunwang/ucenter/controller/MiniProgramOpenidUidController.java

@@ -77,5 +77,28 @@ public class MiniProgramOpenidUidController {
         String phone = one.getPhone();
         return R.ok().data("phone", phone);
     }
+
+    @ApiOperation("根据uid获取 推荐成功注册的条数")
+    @GetMapping("/getShareCount")
+    public R getShareCount(HttpServletRequest request) {
+        String uid = JwtUtils.getUIdByJwtToken(request);
+        int result = uidService.getShareCount(uid);
+        return  R.ok().data("result",result);
+    }
+    @ApiOperation("根据uid获取 推荐成功,发布的 课程和需求 条数")
+    @GetMapping("/getSharePublishCount")
+    public R getSharePublishCount(HttpServletRequest request) {
+        String uid = JwtUtils.getUIdByJwtToken(request);
+        int result = uidService.getSharePublishCount(uid);
+        return  R.ok().data("result",result);
+    }
+
+    @ApiOperation("根据uid获取  推荐成功 对应的 未退款的订单条数")
+    @GetMapping("/getShareOrderCount")
+    public R getShareOrderCount(HttpServletRequest request) {
+        String uid = JwtUtils.getUIdByJwtToken(request);
+        int result = uidService.getShareOrderCount(uid);
+        return  R.ok().data("result",result);
+    }
 }
 

+ 8 - 0
education_family/service/service-ucenter/src/main/java/com/xunwang/ucenter/mapper/MiniProgramOpenidUidMapper.java

@@ -1,7 +1,12 @@
 package com.xunwang.ucenter.mapper;
 
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.xunwang.education.entity.vo.TeacherList;
 import com.xunwang.ucenter.entity.MpOpenidUid;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 /**
  * <p>
@@ -13,4 +18,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  */
 public interface MiniProgramOpenidUidMapper extends BaseMapper<MpOpenidUid> {
 
+    Integer selectShareCourseCount(String uid);
+    Integer selectShareNeedCount(String uid);
+    Integer selectShareOrderCount(String uid);
 }

+ 12 - 0
education_family/service/service-ucenter/src/main/java/com/xunwang/ucenter/mapper/xml/MiniProgramOpenidUidMapper.xml

@@ -2,4 +2,16 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.xunwang.ucenter.mapper.MiniProgramOpenidUidMapper">
 
+    <select id="selectShareCourseCount" resultType="java.lang.Integer">
+        select COUNT(1) from `teacher_courses` where display = '上架' and uid = #{uid} ;
+    </select>
+
+    <select id="selectShareNeedCount" resultType="java.lang.Integer">
+        select COUNT(1) from `stu_needs` where display = '上架' and uid = #{uid} ;
+    </select>
+
+    <select id="selectShareOrderCount" resultType="java.lang.Integer">
+        select COUNT(1) from `order_info` where is_refund = '0' and recommend_uid = #{uid} ;
+    </select>
+
 </mapper>

+ 27 - 0
education_family/service/service-ucenter/src/main/java/com/xunwang/ucenter/service/MiniProgramOpenidUidService.java

@@ -1,9 +1,12 @@
 package com.xunwang.ucenter.service;
 
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
 import com.xunwang.ucenter.entity.MpOpenidUid;
 import com.baomidou.mybatisplus.extension.service.IService;
+import org.apache.ibatis.annotations.Param;
 
 import javax.servlet.http.HttpServletRequest;
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -43,4 +46,28 @@ public interface MiniProgramOpenidUidService extends IService<MpOpenidUid> {
      * @throws Exception
      */
     String getUserPhone(String uid, String code) throws Exception;
+
+    /**
+     * 获取 推荐人uid 注册的数量
+     * @param recoUID
+     * @return int
+     */
+    int getShareCount(String recoUID);
+
+
+    /**
+     * 获取 推荐人uid 对应的已发布的有效的(未下架) 课程与需求 之和
+     * @param recoUID
+     * @return int
+     */
+
+    public int getSharePublishCount(String recoUID);
+
+    /**
+     * 获取 推荐人uid 对应的已发布的有效的(未下架) 课程与需求 之和
+     * @param recoUID
+     * @return int
+     */
+
+    public int getShareOrderCount(String recoUID);
 }

+ 48 - 0
education_family/service/service-ucenter/src/main/java/com/xunwang/ucenter/service/impl/MiniProgramOpenidUidServiceImpl.java

@@ -8,6 +8,7 @@ import com.xunwang.commonutils.JwtUtils;
 import com.xunwang.commonutils.RandomNameUtils;
 import com.xunwang.commonutils.RedisIdWorker;
 import com.xunwang.commonutils.ResultCode;
+import com.xunwang.education.entity.TeacherCourses;
 import com.xunwang.servicebase.exception.XunwangException;
 import com.xunwang.ucenter.entity.MpOpenidUid;
 import com.xunwang.ucenter.feign.MsgFeign;
@@ -22,6 +23,7 @@ import org.springframework.stereotype.Service;
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -174,6 +176,7 @@ public class MiniProgramOpenidUidServiceImpl extends ServiceImpl<MiniProgramOpen
         return phone;
     }
 
+
     /**
      * 获取当前请求的IP地址
      * @param request
@@ -189,4 +192,49 @@ public class MiniProgramOpenidUidServiceImpl extends ServiceImpl<MiniProgramOpen
         return ip;
     }
 
+    /**
+     * 获取 推荐人uid 注册的数量
+     * @param recoUID
+     * @return int
+     */
+
+    @Override
+    public int getShareCount(String recoUID) {
+        return  baseMapper.selectCount(new QueryWrapper<MpOpenidUid>().eq("recommend_uid", recoUID));
+    }
+
+    /**
+     * 获取 推荐人uid 对应的已发布的有效的(未下架) 课程与需求 之和
+     * @param recoUID
+     * @return int
+     */
+
+    @Override
+    public int getSharePublishCount(String recoUID) {
+        List<Map<String, Object>> mapList = baseMapper.selectMaps(new QueryWrapper<MpOpenidUid>().select("uid").eq("recommend_uid", recoUID));
+        // System.out.println("输出: " + mapList);
+        int count = 0;
+
+        for (Map<String, Object> map : mapList) {
+            for (String s : map.keySet()) {
+               // System.out.print(map.get(s) + " | ");
+                count += baseMapper.selectShareCourseCount(map.get(s).toString());
+                count += baseMapper.selectShareNeedCount(map.get(s).toString());
+            }
+        }
+
+        return count;
+    }
+
+    /**
+     * 获取 推荐人uid 对应的 未退款的订单条数
+     * @param recoUID
+     * @return int
+     */
+    @Override
+    public int getShareOrderCount(String recoUID) {
+        return baseMapper.selectShareOrderCount(recoUID);
+    }
+
+
 }

+ 3 - 4
education_uni/components/my-userinfo/my-userinfo.vue

@@ -17,7 +17,7 @@
 			            <view>关注公众号</view>
 			            <image class="rightIcon" src="@/static/right.png"></image>
 			        </view>
-			        <view class="recommend"  @click="toMyRecommendAndMoney">
+			        <view class="recommend"  @click="toMyShare">
 			            <view>分享与返现</view>
 			            <image class="rightIcon" src="@/static/right.png"></image>
 			        </view>
@@ -165,10 +165,9 @@
 					url: '/subpkg/user_detail/user_detail'
 				})
 			},
-			toMyRecommendAndMoney(){
+			toMyShare(){
 				uni.navigateTo({
-					url: '/subpkg/my_recommend_money/my_recommend_money'
-					//url: '/subpkg/user_detail/user_detail'
+					url: '/subpkg/my_share/my_share'
 				})
 			}
 

+ 23 - 2
education_uni/pages.json

@@ -38,10 +38,31 @@
 	}],
 	"subPackages": [{
 		"root": "subpkg",
+		
 		"pages": [
-			
 			{
-				"path": "my_recommend_money/my_recommend_money",
+				"path": "my_share/share_result/share_order_detail",
+				"style": {
+					"navigationBarTitleText": "订单返现详情",
+					"enablePullDownRefresh": false
+				}
+			
+			},{
+				"path": "my_share/share_result/share_orders",
+				"style": {
+					"navigationBarTitleText": "分享成交订单返现",
+					"enablePullDownRefresh": false
+				}
+			
+			},{
+				"path": "my_share/share_result/share_result",
+				"style": {
+					"navigationBarTitleText": "分享结果",
+					"enablePullDownRefresh": false
+				}
+
+			},{
+				"path": "my_share/my_share",
 				"style": {
 					"navigationBarTitleText": "分享与返现",
 					"enablePullDownRefresh": false

+ 7 - 4
education_uni/subpkg/my_recommend_money/my_recommend_money.vue → education_uni/subpkg/my_share/my_share.vue

@@ -2,11 +2,11 @@
 	<view>
 		<form >
 			<view class="uni-forms-item">
-				<button open-type="share" form-type="submit" class="alias-submit" type="primary" >开始分享</button>
+				<button open-type="share" form-type="submit" class="alias-submit" type="primary" >开始分享推荐</button>
 			</view>
 			
 			<view class="uni-forms-item">
-				<button form-type="submit" class="alias-submit" type="primary" @click="queryMyMoney" >返现查询</button>
+				<button form-type="submit" class="alias-submit" type="primary" @click="queryResult" >查看分享结果</button>
 			</view>			
 		</form>
 
@@ -40,8 +40,11 @@
 				  imageUrl: '../../static/share.jpg',   //自定义图片路径,可以是本地文件路径、代码包文件路径或者网络图片路径,支持PNG及JPG,不传入 imageUrl 则使用默认截图。显示图片长宽比是 5:4
 				}
 			  }	,
-			  queryMyMoney:function(){
-				 uni.$showMsg('暂无返现数据!', 2000)
+			  queryResult:function(){
+				// uni.$showMsg('暂无返现数据!', 2000)
+				uni.navigateTo({
+					url: '/subpkg/my_share/share_result/share_result'
+				})
 			  }
 			 			
 		}

+ 212 - 0
education_uni/subpkg/my_share/share_result/share_order_detail.vue

@@ -0,0 +1,212 @@
+<template>
+	<view>
+		<view class="orderWrapper">
+		    <!-- 头部区域:订单号、头像 -->
+		    <view class="orderHead">
+		        <view class="orderHeadTitle">
+		            <view>
+		                <text>订单号</text>
+		                <text class="orderDetail">{{info.orderId}}</text>
+		            </view>
+
+		        </view>
+		    </view>
+		    <!-- 中部区域:订单详情 -->
+		    <view class="orderMid">
+		        <view>
+		            <text>需求号</text>
+		            <text class="courseNum" >{{info.requireId}}</text>
+		        </view>
+		        <view>
+		            <text>课程号</text>
+		            <text class="courseNum" >{{info.courseId}}</text>
+		        </view>
+		    </view>
+		    <view class="orderBottom">
+
+		        <view>
+		            <text>下单日期</text>
+		            <text class="orderDetail">{{info.datetime}}</text>
+		        </view>
+				<view>
+				    <text>返现金额</text>
+				    <text class="orderDetail">{{info.recoCommission/100}}</text>
+				</view>
+				<view>
+				    <text>客户状态</text>
+				    <text class="orderPayStatus">{{info.status}}</text>
+				</view>
+		        <view>
+		            <text>提现状态</text>
+		            <text class="orderPayStatus">{{info.recoStatus}}</text>
+		        </view>
+		    </view>
+			
+
+		    
+		    <view class="payWrapper">
+				<view class="pay" v-if="showWithdrawBtn">
+					<view class="paidSucceed">
+					    <button class="payButton" @click="startWithdraw" type="primary">申请提现</button>
+					</view>
+				</view>
+		    </view>
+
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				info: {},
+				showWithdrawBtn: false,//是否 显示 申请提现 btn
+			};
+		},
+		onLoad(option) {
+			if (option.orderId !== undefined) {
+				this.getOne(option.orderId)
+			}
+		},
+		methods: {
+			// 获取订单信息
+			async getOne(id) {
+				//console.log(id)
+				const queryObj = {
+					orderId: id
+				}
+				const {data: result} = await uni.$http.get('/payment/order-info/getOrderInfoByOrderId', {orderId: id})
+				this.info = result.data.one
+				//console.log(this.info)
+				// 判断支付状态
+				if (this.info.status === '支付成功' && this.info.recoStatus === '未申请') {
+					   this.showWithdrawBtn = true
+				}
+			},
+			startWithdraw(){
+				uni.$showMsg("提现过程,实现中。。。!")
+			}
+
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+/* 设置全局边距 */
+.orderWrapper{
+    padding-left: 20rpx;
+    /* background-color: yellowgreen; */
+}
+
+/* 头部区域 */
+.orderHead{
+    display: flex;
+    position: relative;
+    height: 200rpx;
+    padding-top: 20rpx;
+}
+
+/* 头像 */
+.headImg{
+    width: 160rpx;
+    height: 160rpx;
+    border-radius: 30rpx;
+    position: absolute;
+    right: 30rpx;
+}
+
+.orderHeadTitle{
+    display: flex;
+    flex-direction: column;
+    height: 80px;
+    justify-content: space-around;
+}
+
+/* 设置内容样式 */
+.orderDetail,
+.courseNum,
+.orderPayStatus{
+    margin-left: 20rpx;
+    font-weight: bold;
+}
+
+.courseNum{
+    color: #00B0F0;
+    //text-decoration: underline;
+}
+
+/* 支付状态字体样式 */
+.orderPayStatus{
+    color: red;
+}
+
+/* 中部区域 */
+.orderMid{
+   // height: 220rpx;
+    display: flex;
+    flex-direction: column;
+    justify-content: space-around;
+}
+
+/* 底部区域 */
+.orderBottom{
+    margin-top: 40rpx;
+    height: 260rpx;
+    display: flex;
+    flex-direction: column;
+    justify-content: space-around;
+}
+
+/* 支付倒计时 */
+.orderPay{
+    margin-top: 40rpx;
+    display: flex;
+    align-items: baseline;
+}
+/* 倒计时时间格式 */
+.orderPayTime{
+    padding-left: 20rpx;
+    font-weight: bold;
+    font-size: 40rpx;
+    color: red;    
+}
+
+/* 提醒信息 */
+.warning{
+    display: flex;
+    justify-content: center;    
+    margin-top: 60rpx;
+}
+/* 提醒信息详情 */
+.warningDetail{
+    width: 80%;
+    display: flex;
+    flex-direction: column;
+    font-size: 44rpx;
+    font-weight: bold;
+    color: red;
+}
+
+/* 支付及查看信息按钮居中排列 */
+.payWrapper{
+	margin-top: 160rpx;
+    display: flex;
+    justify-content: center;
+}
+
+.paidSucceed{
+    display: flex;
+    width: 100%;
+    justify-content: space-around;
+}
+
+.payButton{
+	border-radius: 30rpx;
+}
+
+.pay{
+    /* display: flex; */
+    width: 100%;
+}
+</style>

+ 183 - 0
education_uni/subpkg/my_share/share_result/share_orders.vue

@@ -0,0 +1,183 @@
+<template>
+	<view>
+		<view style="padding: 0px 30px;margin-top: 5px;">
+		<!-- 顶部对方已读和未读按钮 -->
+		<uni-segmented-control :current="current" :values="items" @clickItem="onClickItem" styleType="button" activeColor="#6EB312"></uni-segmented-control>
+		<!-- 发出的邀请列表 -->
+		</view>
+		<view v-show="current === 0">
+			<view v-for="(Info,index) in OrderWithdraw" :key="index">
+				<view class="invitationWrapper" @click="gotoDetail(Info.orderId)">
+					<view class="invitationTitle">
+						<view>
+							<text>订单号</text>
+							<text class="invitatinDetail">{{Info.orderId}}</text>
+						</view>
+
+					</view>
+
+					<view class="invitationDateAndStatus">
+						<text>日期</text>
+						<text class="invitatinDetail">{{Info.datetime}}</text>
+						<view class="invitationTitle">
+							<text>状态</text>
+							<text class="invitatinStatus" >{{Info.recoStatus}}</text>
+						</view>
+					</view>
+
+					
+				</view>
+
+			</view>
+		</view>
+		<view v-show="current === 1">
+			<view v-for="(Info,index) in OrderNotWithdraw" :key="index">
+				<view class="invitationWrapper" @click="gotoDetail(Info.orderId)">
+					<view class="invitationTitle">
+						<view>
+							<text>订单号</text>
+							<text class="invitatinDetail">{{Info.orderId}}</text>
+						</view>
+
+					</view>
+
+					<view class="invitationDateAndStatus">
+						<text>日期</text>
+						<text class="invitatinDetail">{{Info.datetime}}</text>
+						<view class="invitationTitle">
+							<text>状态</text>
+							<text class="invitatinStatus" >{{Info.recoStatus}}</text>
+						</view>
+					</view>
+
+					
+				</view>
+
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	import {
+		mapState,
+		mapMutations
+	} from 'vuex'
+	
+	export default {
+		data() {
+			return {
+				current: 1,
+				items: ['已提现', '未提现'],
+				OrderWithdraw: [],
+				OrderNotWithdraw: []
+
+			};
+		},
+		created() {
+			// this.readYes()
+			this.NotWithdraw()
+		},
+		methods: {
+			async Withdraw() {
+				const {
+					data: result
+				} = await uni.$http.get('/payment/order-info/list/recommendUidWithdraw')
+				this.OrderWithdraw = result.data.list
+				//console.log(this.OrderNotWithdraw)
+
+			},
+			async NotWithdraw() {
+				const {
+					data: result
+				} = await uni.$http.get('/payment/order-info/list/recommendUidNotWithdraw')
+				this.OrderNotWithdraw = result.data.list
+				//console.log(this.OrderNotWithdraw)
+
+			},
+			gotoDetail(id) {
+				uni.navigateTo({
+					url: '/subpkg/my_share/share_result/share_order_detail?orderId=' + id
+				})
+			},
+			onClickItem(e) {
+				if (this.current != e.currentIndex) {
+					this.current = e.currentIndex
+				}
+				if (this.current === 1) {
+					this.NotWithdraw()
+				} 
+				if (this.current === 0) {
+					this.Withdraw()
+				}
+			}
+
+		}
+	}
+</script>
+
+
+
+<style lang="scss" scoped>
+	page {
+		padding: 20rpx;
+		height: 100%;
+		background-color: #E2F0D9;
+	}
+
+	/* 顶部对方已读和未读按钮 */
+	.read {
+		display: flex;
+		justify-content: space-around;
+	}
+
+	.readDetail {
+		padding: 10rpx 20rpx;
+		border-radius: 30rpx;
+		background-color: #FFF2CC;
+		font-weight: bold;
+	}
+
+	/* 列表样式 */
+	.invitationWrapper {
+		width: 93%;
+		padding: 20rpx;
+		margin-top: 20rpx;
+		border-radius: 20rpx;
+		background-color: #FFF2CC;
+		margin-left: 10rpx;
+	}
+
+	/* 邀请号和对方身份、邀请日期和对方状态 */
+	.invitationTitle,
+	.invitationDateAndStatus {
+		display: flex;
+		//align-items: center;
+		justify-content: space-between;
+
+		//position: relative;
+	}
+
+
+	/* 具体内容的样式 */
+	.invitatinDetail,
+	.invitatinStatus {
+		margin-left: 20rpx;
+		font-weight: bold;
+	}
+
+	.invitatinDetailOther {
+		margin-left: 20rpx;
+		font-weight: bold;
+		font-size: 26rpx;
+	}
+
+	.invitatinStatus {
+		color: red;
+	}
+
+	/* 邀请内容、邀请日期和对方状态 */
+	.invitationContent {
+		margin-top: 10rpx;
+	}
+</style>

+ 131 - 0
education_uni/subpkg/my_share/share_result/share_result.vue

@@ -0,0 +1,131 @@
+<template>
+	<view>
+		<view class="studentWrapper">
+				<view class="studentList" >
+				    <view class="studentLeft">
+				          <text >打开人数</text>
+				    </view>
+				    <view class="studentRight">
+				           <text>{{shareCount}}</text>
+				    </view>
+				</view>
+		</view>
+
+		<view class="studentWrapper">
+				<view class="studentList" >
+				    <view class="studentLeft">
+				           <text >发布条数</text>
+				    </view>
+				    <view class="studentRight">
+				           <text>{{publishCount}}</text>
+				    </view>
+				</view>
+		</view>
+		
+		<view class="studentWrapper">
+				<view class="studentList"  @click="toShareOrders" >
+				    <view class="studentLeft">
+				          <text >成交条数</text>
+				    </view>
+				    <view class="studentRight">		      
+				           <text>{{orderCount}}</text>
+				    </view>
+					<image class="rightIcon" src="@/static/right.png"></image>
+				</view>
+		</view>
+		
+	</view>
+</template>
+
+<script>
+	//import { mapState } from 'vuex'
+	
+	export default {
+		computed: {
+			//...mapState('m_user', ['location'])
+		},
+		data() {
+			return {
+				shareCount: 0,
+				publishCount: 0,
+				orderCount: 0
+			};
+		},
+		created() {
+			this.getShareCount()
+			this.getPublishCount()
+			this.getOrderCount()
+		},
+		methods: {
+			async getShareCount() {
+				// 发起请求
+				const { data: result } = await uni.$http.get('/ucenter/mini-program-openid-uid/getShareCount')
+				//console.log(result)
+				this.shareCount = result.data.result
+			},
+			async getPublishCount() {
+				// 发起请求
+				const { data: result } = await uni.$http.get('/ucenter/mini-program-openid-uid/getSharePublishCount')
+				//console.log(result)
+				this.publishCount = result.data.result
+			},
+			async getOrderCount() {
+				// 发起请求
+				const { data: result } = await uni.$http.get('/ucenter/mini-program-openid-uid/getShareOrderCount')
+				//console.log(result)
+				this.orderCount = result.data.result
+			},
+			toShareOrders(){
+				if (this.orderCount > 0) {
+					uni.navigateTo({
+						url: '/subpkg/my_share/share_result/share_orders'
+					})
+				} else{
+					uni.$showMsg("无成交订单!")
+				}
+
+			}
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+.studentWrapper{
+    height: 100%;
+    background-color: #E2F0D9;
+    padding-left: 40rpx;
+	padding-right: 40rpx;
+}
+
+.studentList{
+	display: flex;
+	align-items: center;
+	justify-content: space-between;
+    padding: 40rpx;
+    border-radius: 40rpx;
+    background-color: #FFF2CC;
+    margin-bottom: 20rpx;
+}
+
+/* 左侧部分 */
+.studentLeft{
+	margin-left: 100rpx;
+    font-weight: bold;
+    font-size: 30rpx;
+}
+
+
+/* 右侧部分定位 */
+.studentRight{
+	margin-right: 150rpx;
+	font-weight: bold;
+	font-size: 32rpx;
+    color: #FF0000;
+   }
+   .rightIcon{
+	   position: absolute;
+	   left: 85%;
+       height: 40rpx;
+       width: 40rpx;
+   }
+</style>

+ 1 - 1
education_uni/subpkg/order_detail/order_detail.vue

@@ -106,7 +106,7 @@
 				}
 				const {data: result} = await uni.$http.get('/education/mp-inner-msg/notify/refund', queryObj)
 				if (result.success) {
-					return uni.$showMsg('已通知该学员,请耐心等待')
+					return uni.$showMsg('退款需要对方学员确认,已通知该学员,请耐心等待')
 				} 
 			},
 			// 获取手机号

+ 1 - 1
education_uni/subpkg/student_order_detail/student_order_detail.vue

@@ -89,7 +89,7 @@
 			async applyForRefund() {
 				const queryObj = {
 					orderNo: this.info.orderId,
-					reason: '五天无理由'
+					reason: '五天内试课不成功'
 				}
 				const {data: result} = await uni.$http.get('/payment/wx-pay/refunds', queryObj)
 				if (result.message === '成功') {