Browse Source

调整课程详情

316044749 7 years ago
parent
commit
54fd73337f

+ 50 - 9
app/src/main/java/com/ynstkz/shitu/android/activity/CourseDetailActivity.java

@@ -2,13 +2,19 @@ package com.ynstkz.shitu.android.activity;
 
 import android.os.Bundle;
 import android.support.annotation.Nullable;
+import android.support.v4.view.ViewPager;
 import android.text.TextUtils;
+import android.widget.RelativeLayout;
+import android.widget.TextView;
 
 import com.common.library.okhttp.callback.Callback;
+import com.google.gson.Gson;
 import com.ynstkz.shitu.android.R;
 import com.ynstkz.shitu.android.base.TitleBarActivity;
+import com.ynstkz.shitu.android.bean.CourseDetilBean;
 import com.ynstkz.shitu.android.data.RequestGroup;
 
+import butterknife.Bind;
 import okhttp3.Call;
 import okhttp3.Response;
 
@@ -16,7 +22,20 @@ import okhttp3.Response;
  * 作者:fuchangle on 2018/2/27 10:45
  */
 
-public class CourseDetailActivity extends TitleBarActivity{
+public class CourseDetailActivity extends TitleBarActivity {
+
+    @Bind(R.id.tv_title)
+    TextView tvTitle;
+    @Bind(R.id.view_title)
+    RelativeLayout viewTitle;
+    @Bind(R.id.vp_banner)
+    ViewPager vpBanner;
+    @Bind(R.id.tv_org_name)
+    TextView tvOrgName;
+    @Bind(R.id.tv_org_desc)
+    TextView tvOrgDesc;
+    @Bind(R.id.tv_price)
+    TextView tvPrice;
 
     private String courseId;
 
@@ -34,44 +53,66 @@ public class CourseDetailActivity extends TitleBarActivity{
     }
 
 
-    private void initView(){
+    private void initView() {
 
     }
 
-    private void initData(){
+    private void initData() {
         courseId = getIntent().getStringExtra("courseId");
-        if(TextUtils.isEmpty(courseId)){
+        if (TextUtils.isEmpty(courseId)) {
             finish();
             return;
         }
         getCourseDetail(courseId);
     }
 
-    private void setListener(){
+    private void setListener() {
 
     }
 
     /**
      * 课程详情
+     *
      * @param courseId
      */
-    private void getCourseDetail(String courseId){
+    private void getCourseDetail(String courseId) {
 
         RequestGroup.getCourseDetail(courseId, new Callback() {
             @Override
             public Object parseNetworkResponse(Response response, int id) throws Exception {
-                return null;
+                return new Gson().fromJson(response.body().string(), CourseDetilBean.class);
             }
 
             @Override
             public void onError(Call call, Exception e, int id) {
-
+                showToast(getString(R.string.error_msg));
             }
 
             @Override
             public void onResponse(Object response, int id) {
-
+                CourseDetilBean courseDetilBean = (CourseDetilBean) response;
+                if (courseDetilBean != null) {
+                    if ("200".equals(courseDetilBean.getCode()) && courseDetilBean.getData() != null) {
+                        initCourseDetail(courseDetilBean);
+                    } else {
+                        showToast(courseDetilBean.getMsg());
+                    }
+                }
             }
         });
     }
+
+    /**
+     * 初始化课程详情
+     */
+    private void initCourseDetail(CourseDetilBean courseDetilBean) {
+        if (courseDetilBean == null || courseDetilBean.getData() == null) {
+            return;
+        }
+        CourseDetilBean.DataBean dataBean = courseDetilBean.getData();
+        tvTitle.setText(dataBean.getTitle());
+        tvOrgName.setText(dataBean.getTitle());
+        tvOrgDesc.setText(dataBean.getDetail());
+        tvPrice.setText("¥" + dataBean.getPrice() + "元");
+    }
 }

+ 37 - 1
app/src/main/java/com/ynstkz/shitu/android/activity/MineSignUpActivity.java

@@ -7,10 +7,14 @@ import android.widget.ImageView;
 import android.widget.RelativeLayout;
 import android.widget.TextView;
 
+import com.common.library.okhttp.callback.Callback;
 import com.ynstkz.shitu.android.R;
 import com.ynstkz.shitu.android.base.TitleBarActivity;
+import com.ynstkz.shitu.android.data.RequestGroup;
 
 import butterknife.Bind;
+import okhttp3.Call;
+import okhttp3.Response;
 
 /**
  * 我的报名
@@ -19,6 +23,10 @@ import butterknife.Bind;
 
 public class MineSignUpActivity extends TitleBarActivity {
 
+    public static final String STATUS_PASS = "pass";
+    public static final String STATUS_WAIT = "wait";
+    public static final String STATUS_BACK = "back";
+
     @Bind(R.id.tv_title)
     TextView tvTitle;
     @Bind(R.id.view_title)
@@ -32,6 +40,8 @@ public class MineSignUpActivity extends TitleBarActivity {
     @Bind(R.id.vp_content)
     ViewPager vpContent;
 
+    private int pageNumber;
+
     @Override
     protected void onCreate(@Nullable Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
@@ -51,10 +61,36 @@ public class MineSignUpActivity extends TitleBarActivity {
     }
 
     private void initData(){
-
+        pageNumber = 1;
+        getMineSignUp(pageNumber, STATUS_PASS);
     }
 
     private void setListener(){
 
     }
+
+    /**
+     * 我的报名
+     * @param pageNumber
+     * @param signUpStatus
+     */
+    private void getMineSignUp(int pageNumber, String signUpStatus){
+
+        RequestGroup.getMineSignup(pageNumber+"", signUpStatus, new Callback() {
+            @Override
+            public Object parseNetworkResponse(Response response, int id) throws Exception {
+                return null;
+            }
+
+            @Override
+            public void onError(Call call, Exception e, int id) {
+
+            }
+
+            @Override
+            public void onResponse(Object response, int id) {
+
+            }
+        });
+    }
 }

+ 117 - 0
app/src/main/java/com/ynstkz/shitu/android/bean/CourseDetilBean.java

@@ -0,0 +1,117 @@
+package com.ynstkz.shitu.android.bean;
+
+import com.google.gson.annotations.SerializedName;
+import com.ynstkz.shitu.android.base.BaseBean;
+
+import java.io.Serializable;
+
+/**
+ * 作者:fuchangle on 2018/3/12 16:51
+ */
+
+public class CourseDetilBean extends BaseBean{
+
+    private DataBean data;
+
+    public DataBean getData() {
+        return data;
+    }
+
+    public void setData(DataBean data) {
+        this.data = data;
+    }
+
+    public static class DataBean implements Serializable{
+
+        private String courseId;
+        private String title;
+        private String detail;
+        private String coursePic;
+        private int price;
+        private int marketPrice;
+        private String memberId;
+        private String createTime;
+        private String updateTime;
+        private int isDelete;
+
+        public String getCourseId() {
+            return courseId;
+        }
+
+        public void setCourseId(String courseId) {
+            this.courseId = courseId;
+        }
+
+        public String getTitle() {
+            return title;
+        }
+
+        public void setTitle(String title) {
+            this.title = title;
+        }
+
+        public String getDetail() {
+            return detail;
+        }
+
+        public void setDetail(String detail) {
+            this.detail = detail;
+        }
+
+        public String getCoursePic() {
+            return coursePic;
+        }
+
+        public void setCoursePic(String coursePic) {
+            this.coursePic = coursePic;
+        }
+
+        public int getPrice() {
+            return price;
+        }
+
+        public void setPrice(int price) {
+            this.price = price;
+        }
+
+        public int getMarketPrice() {
+            return marketPrice;
+        }
+
+        public void setMarketPrice(int marketPrice) {
+            this.marketPrice = marketPrice;
+        }
+
+        public String getMemberId() {
+            return memberId;
+        }
+
+        public void setMemberId(String memberId) {
+            this.memberId = memberId;
+        }
+
+        public String getCreateTime() {
+            return createTime;
+        }
+
+        public void setCreateTime(String createTime) {
+            this.createTime = createTime;
+        }
+
+        public String getUpdateTime() {
+            return updateTime;
+        }
+
+        public void setUpdateTime(String updateTime) {
+            this.updateTime = updateTime;
+        }
+
+        public int getIsDelete() {
+            return isDelete;
+        }
+
+        public void setIsDelete(int isDelete) {
+            this.isDelete = isDelete;
+        }
+    }
+}

+ 14 - 0
app/src/main/java/com/ynstkz/shitu/android/data/RequestGroup.java

@@ -313,4 +313,18 @@ public class RequestGroup {
         params.put("courseId", courseId);
         OkHttpUtils.get().url(UrlCat.URL_COURSE_DETAIL).params(params).build().execute(callback);
     }
+
+    /**
+     * 获取我的报名状态
+     * @param pageNumber
+     * @param callback
+     */
+    public static void getMineSignup(String pageNumber, String signupSate, Callback callback){
+        Map<String, String> params = getSystemParams();
+        params.put("pageNumber", pageNumber);
+        params.put("pageSize", "10");
+        params.put("applyStatus",signupSate);
+        OkHttpUtils.get().url(UrlCat.URL_MY_SIGUP).addHeader(KEY_TOKEN,
+                SharedPreferencesUtils.getToken()).params(params).build().execute(callback);
+    }
 }

+ 5 - 0
app/src/main/java/com/ynstkz/shitu/android/data/UrlCat.java

@@ -132,6 +132,11 @@ public class UrlCat {
      * 课程详情
      */
     public static final String URL_COURSE_DETAIL = HOST + "api/course/detail";
+
+    /**
+     * 我的报名
+     */
+    public static final String URL_MY_SIGUP = HOST + "api/apply/my/list";
 }
 
 

+ 13 - 1
app/src/main/java/com/ynstkz/shitu/android/fragment/HomeFragment.java

@@ -30,6 +30,7 @@ import com.common.library.pulltorefresh.PullToRefreshBase;
 import com.common.library.pulltorefresh.PullToRefreshScrollView;
 import com.google.gson.Gson;
 import com.ynstkz.shitu.android.R;
+import com.ynstkz.shitu.android.activity.CourseDetailActivity;
 import com.ynstkz.shitu.android.activity.LocationSelectActivity;
 import com.ynstkz.shitu.android.activity.OrgDetailActivity;
 import com.ynstkz.shitu.android.activity.OrgListActivity;
@@ -331,10 +332,21 @@ public class HomeFragment extends BaseFragment implements PullToRefreshBase.OnRe
                     TextView tvCoursePrice = courseView.findViewById(R.id.tv_course_price);
                     TextView tvCourseMarketprice = courseView.findViewById(R.id.tv_course_marketprice);
 
-                    CourseItemBean courseItemBean = orgItemBean.getCourseList().get(j);
+                    final CourseItemBean courseItemBean = orgItemBean.getCourseList().get(j);
                     tvCourseTitle.setText(courseItemBean.getTitle());
                     tvCoursePrice.setText("¥" + courseItemBean.getPrice());
                     tvCourseMarketprice.setText("市场价:¥" + courseItemBean.getMarketPrice());
+
+                    //课程详情
+                    courseView.setOnClickListener(new View.OnClickListener() {
+                        @Override
+                        public void onClick(View view) {
+                            Intent intent = new Intent(getActivity(), CourseDetailActivity.class);
+                            intent.putExtra("courseId", courseItemBean.getCourseId());
+                            startActivity(intent);
+                        }
+                    });
+
                     llCourseMain.addView(courseView);
                 }
             } else {

+ 1 - 0
app/src/main/res/layout/activity_course_detail.xml

@@ -107,6 +107,7 @@
         android:background="@color/white">
 
         <TextView
+            android:id="@+id/tv_price"
             android:layout_width="0dp"
             android:layout_height="match_parent"
             android:layout_weight="1"

+ 2 - 1
app/src/main/res/layout/view_home_title.xml

@@ -26,7 +26,8 @@
             android:maxLines="1"
             android:ellipsize="end"
             android:textSize="@dimen/company_16sp"
-            android:textColor="@color/white"/>
+            android:textColor="@color/white"
+            android:text="正在定位..."/>
 
     </LinearLayout>