diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 1c93a4b..97c55c3 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -36,6 +36,7 @@
+
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 1c93a4b..97c55c3 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -36,6 +36,7 @@
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt
index f78b3a2..9b5faf6 100644
--- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt
+++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt
@@ -1,14 +1,35 @@
package com.casic.xz.meterage.fragment
+import android.view.View
+import androidx.lifecycle.ViewModelProvider
import com.casic.xz.meterage.R
import com.casic.xz.meterage.adapter.HomeGridAdapter
import com.casic.xz.meterage.utils.LocaleConstant
+import com.casic.xz.meterage.vm.NoticeViewModel
import com.pengxh.kt.lite.base.KotlinBaseFragment
import kotlinx.android.synthetic.main.fragment_home.*
class HomePageFragment : KotlinBaseFragment() {
override fun initData() {
+ val noticeViewModel = ViewModelProvider(this)[NoticeViewModel::class.java]
+ noticeViewModel.getNoticeList("", "", "", "", "", 1)
+ noticeViewModel.noticeResult.observe(this, {
+ if (it.code == 200) {
+ val total = it.data.total
+ if (total.toString() == "") {
+ noticeCountView.visibility = View.GONE
+ } else {
+ noticeCountView.visibility = View.VISIBLE
+ if (total <= 9) {
+ noticeCountView.text = total.toString()
+ } else {
+ noticeCountView.text = "9+"
+ }
+ }
+ }
+ })
+
val homeAdapter = HomeGridAdapter(requireContext(), LocaleConstant.HOME_FUNC_OPERATE)
homeFuncRecyclerView.adapter = homeAdapter
homeAdapter.setOnGridItemClickListener(object : HomeGridAdapter.OnGridItemClickListener {
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 1c93a4b..97c55c3 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -36,6 +36,7 @@
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt
index f78b3a2..9b5faf6 100644
--- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt
+++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt
@@ -1,14 +1,35 @@
package com.casic.xz.meterage.fragment
+import android.view.View
+import androidx.lifecycle.ViewModelProvider
import com.casic.xz.meterage.R
import com.casic.xz.meterage.adapter.HomeGridAdapter
import com.casic.xz.meterage.utils.LocaleConstant
+import com.casic.xz.meterage.vm.NoticeViewModel
import com.pengxh.kt.lite.base.KotlinBaseFragment
import kotlinx.android.synthetic.main.fragment_home.*
class HomePageFragment : KotlinBaseFragment() {
override fun initData() {
+ val noticeViewModel = ViewModelProvider(this)[NoticeViewModel::class.java]
+ noticeViewModel.getNoticeList("", "", "", "", "", 1)
+ noticeViewModel.noticeResult.observe(this, {
+ if (it.code == 200) {
+ val total = it.data.total
+ if (total.toString() == "") {
+ noticeCountView.visibility = View.GONE
+ } else {
+ noticeCountView.visibility = View.VISIBLE
+ if (total <= 9) {
+ noticeCountView.text = total.toString()
+ } else {
+ noticeCountView.text = "9+"
+ }
+ }
+ }
+ })
+
val homeAdapter = HomeGridAdapter(requireContext(), LocaleConstant.HOME_FUNC_OPERATE)
homeFuncRecyclerView.adapter = homeAdapter
homeAdapter.setOnGridItemClickListener(object : HomeGridAdapter.OnGridItemClickListener {
diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/MinePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/MinePageFragment.kt
index fbd0cf1..aaeb9df 100644
--- a/app/src/main/java/com/casic/xz/meterage/fragment/MinePageFragment.kt
+++ b/app/src/main/java/com/casic/xz/meterage/fragment/MinePageFragment.kt
@@ -1,8 +1,10 @@
package com.casic.xz.meterage.fragment
+import android.view.View
import androidx.lifecycle.ViewModelProvider
import com.casic.xz.meterage.R
import com.casic.xz.meterage.utils.LocaleConstant
+import com.casic.xz.meterage.vm.NoticeViewModel
import com.casic.xz.meterage.vm.UserViewModel
import com.pengxh.kt.lite.base.KotlinBaseFragment
import com.pengxh.kt.lite.utils.SaveKeyValues
@@ -21,6 +23,24 @@
userUnitView.text = data.deptName
}
})
+
+ val noticeViewModel = ViewModelProvider(this)[NoticeViewModel::class.java]
+ noticeViewModel.getNoticeList("", "", "", "", "", 1)
+ noticeViewModel.noticeResult.observe(this, {
+ if (it.code == 200) {
+ val total = it.data.total
+ if (total.toString() == "") {
+ noticeCountView.visibility = View.GONE
+ } else {
+ noticeCountView.visibility = View.VISIBLE
+ if (total <= 9) {
+ noticeCountView.text = total.toString()
+ } else {
+ noticeCountView.text = "9+"
+ }
+ }
+ }
+ })
}
override fun initEvent() {
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 1c93a4b..97c55c3 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -36,6 +36,7 @@
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt
index f78b3a2..9b5faf6 100644
--- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt
+++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt
@@ -1,14 +1,35 @@
package com.casic.xz.meterage.fragment
+import android.view.View
+import androidx.lifecycle.ViewModelProvider
import com.casic.xz.meterage.R
import com.casic.xz.meterage.adapter.HomeGridAdapter
import com.casic.xz.meterage.utils.LocaleConstant
+import com.casic.xz.meterage.vm.NoticeViewModel
import com.pengxh.kt.lite.base.KotlinBaseFragment
import kotlinx.android.synthetic.main.fragment_home.*
class HomePageFragment : KotlinBaseFragment() {
override fun initData() {
+ val noticeViewModel = ViewModelProvider(this)[NoticeViewModel::class.java]
+ noticeViewModel.getNoticeList("", "", "", "", "", 1)
+ noticeViewModel.noticeResult.observe(this, {
+ if (it.code == 200) {
+ val total = it.data.total
+ if (total.toString() == "") {
+ noticeCountView.visibility = View.GONE
+ } else {
+ noticeCountView.visibility = View.VISIBLE
+ if (total <= 9) {
+ noticeCountView.text = total.toString()
+ } else {
+ noticeCountView.text = "9+"
+ }
+ }
+ }
+ })
+
val homeAdapter = HomeGridAdapter(requireContext(), LocaleConstant.HOME_FUNC_OPERATE)
homeFuncRecyclerView.adapter = homeAdapter
homeAdapter.setOnGridItemClickListener(object : HomeGridAdapter.OnGridItemClickListener {
diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/MinePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/MinePageFragment.kt
index fbd0cf1..aaeb9df 100644
--- a/app/src/main/java/com/casic/xz/meterage/fragment/MinePageFragment.kt
+++ b/app/src/main/java/com/casic/xz/meterage/fragment/MinePageFragment.kt
@@ -1,8 +1,10 @@
package com.casic.xz.meterage.fragment
+import android.view.View
import androidx.lifecycle.ViewModelProvider
import com.casic.xz.meterage.R
import com.casic.xz.meterage.utils.LocaleConstant
+import com.casic.xz.meterage.vm.NoticeViewModel
import com.casic.xz.meterage.vm.UserViewModel
import com.pengxh.kt.lite.base.KotlinBaseFragment
import com.pengxh.kt.lite.utils.SaveKeyValues
@@ -21,6 +23,24 @@
userUnitView.text = data.deptName
}
})
+
+ val noticeViewModel = ViewModelProvider(this)[NoticeViewModel::class.java]
+ noticeViewModel.getNoticeList("", "", "", "", "", 1)
+ noticeViewModel.noticeResult.observe(this, {
+ if (it.code == 200) {
+ val total = it.data.total
+ if (total.toString() == "") {
+ noticeCountView.visibility = View.GONE
+ } else {
+ noticeCountView.visibility = View.VISIBLE
+ if (total <= 9) {
+ noticeCountView.text = total.toString()
+ } else {
+ noticeCountView.text = "9+"
+ }
+ }
+ }
+ })
}
override fun initEvent() {
diff --git a/app/src/main/java/com/casic/xz/meterage/model/NoticeListModel.java b/app/src/main/java/com/casic/xz/meterage/model/NoticeListModel.java
new file mode 100644
index 0000000..ce9ae03
--- /dev/null
+++ b/app/src/main/java/com/casic/xz/meterage/model/NoticeListModel.java
@@ -0,0 +1,166 @@
+package com.casic.xz.meterage.model;
+
+import java.util.List;
+
+public class NoticeListModel {
+
+ private int code;
+ private DataModel data;
+ private String message;
+
+ public int getCode() {
+ return code;
+ }
+
+ public void setCode(int code) {
+ this.code = code;
+ }
+
+ public DataModel getData() {
+ return data;
+ }
+
+ public void setData(DataModel data) {
+ this.data = data;
+ }
+
+ public String getMessage() {
+ return message;
+ }
+
+ public void setMessage(String message) {
+ this.message = message;
+ }
+
+ public static class DataModel {
+ private List rows;
+ private int total;
+
+ public List getRows() {
+ return rows;
+ }
+
+ public void setRows(List rows) {
+ this.rows = rows;
+ }
+
+ public int getTotal() {
+ return total;
+ }
+
+ public void setTotal(int total) {
+ this.total = total;
+ }
+
+ public static class RowsModel {
+ private String createTime;
+ private String id;
+ private int isDel;
+ private String minioFileName;
+ private String noticeCompany;
+ private String noticeContent;
+ private String noticeNo;
+ private String noticePublisher;
+ private String noticeSketch;
+ private String noticeTime;
+ private String noticeTitle;
+ private String updateTime;
+
+ public String getCreateTime() {
+ return createTime;
+ }
+
+ public void setCreateTime(String createTime) {
+ this.createTime = createTime;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public int getIsDel() {
+ return isDel;
+ }
+
+ public void setIsDel(int isDel) {
+ this.isDel = isDel;
+ }
+
+ public String getMinioFileName() {
+ return minioFileName;
+ }
+
+ public void setMinioFileName(String minioFileName) {
+ this.minioFileName = minioFileName;
+ }
+
+ public String getNoticeCompany() {
+ return noticeCompany;
+ }
+
+ public void setNoticeCompany(String noticeCompany) {
+ this.noticeCompany = noticeCompany;
+ }
+
+ public String getNoticeContent() {
+ return noticeContent;
+ }
+
+ public void setNoticeContent(String noticeContent) {
+ this.noticeContent = noticeContent;
+ }
+
+ public String getNoticeNo() {
+ return noticeNo;
+ }
+
+ public void setNoticeNo(String noticeNo) {
+ this.noticeNo = noticeNo;
+ }
+
+ public String getNoticePublisher() {
+ return noticePublisher;
+ }
+
+ public void setNoticePublisher(String noticePublisher) {
+ this.noticePublisher = noticePublisher;
+ }
+
+ public String getNoticeSketch() {
+ return noticeSketch;
+ }
+
+ public void setNoticeSketch(String noticeSketch) {
+ this.noticeSketch = noticeSketch;
+ }
+
+ public String getNoticeTime() {
+ return noticeTime;
+ }
+
+ public void setNoticeTime(String noticeTime) {
+ this.noticeTime = noticeTime;
+ }
+
+ public String getNoticeTitle() {
+ return noticeTitle;
+ }
+
+ public void setNoticeTitle(String noticeTitle) {
+ this.noticeTitle = noticeTitle;
+ }
+
+ public String getUpdateTime() {
+ return updateTime;
+ }
+
+ public void setUpdateTime(String updateTime) {
+ this.updateTime = updateTime;
+ }
+ }
+ }
+}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 1c93a4b..97c55c3 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -36,6 +36,7 @@
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt
index f78b3a2..9b5faf6 100644
--- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt
+++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt
@@ -1,14 +1,35 @@
package com.casic.xz.meterage.fragment
+import android.view.View
+import androidx.lifecycle.ViewModelProvider
import com.casic.xz.meterage.R
import com.casic.xz.meterage.adapter.HomeGridAdapter
import com.casic.xz.meterage.utils.LocaleConstant
+import com.casic.xz.meterage.vm.NoticeViewModel
import com.pengxh.kt.lite.base.KotlinBaseFragment
import kotlinx.android.synthetic.main.fragment_home.*
class HomePageFragment : KotlinBaseFragment() {
override fun initData() {
+ val noticeViewModel = ViewModelProvider(this)[NoticeViewModel::class.java]
+ noticeViewModel.getNoticeList("", "", "", "", "", 1)
+ noticeViewModel.noticeResult.observe(this, {
+ if (it.code == 200) {
+ val total = it.data.total
+ if (total.toString() == "") {
+ noticeCountView.visibility = View.GONE
+ } else {
+ noticeCountView.visibility = View.VISIBLE
+ if (total <= 9) {
+ noticeCountView.text = total.toString()
+ } else {
+ noticeCountView.text = "9+"
+ }
+ }
+ }
+ })
+
val homeAdapter = HomeGridAdapter(requireContext(), LocaleConstant.HOME_FUNC_OPERATE)
homeFuncRecyclerView.adapter = homeAdapter
homeAdapter.setOnGridItemClickListener(object : HomeGridAdapter.OnGridItemClickListener {
diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/MinePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/MinePageFragment.kt
index fbd0cf1..aaeb9df 100644
--- a/app/src/main/java/com/casic/xz/meterage/fragment/MinePageFragment.kt
+++ b/app/src/main/java/com/casic/xz/meterage/fragment/MinePageFragment.kt
@@ -1,8 +1,10 @@
package com.casic.xz.meterage.fragment
+import android.view.View
import androidx.lifecycle.ViewModelProvider
import com.casic.xz.meterage.R
import com.casic.xz.meterage.utils.LocaleConstant
+import com.casic.xz.meterage.vm.NoticeViewModel
import com.casic.xz.meterage.vm.UserViewModel
import com.pengxh.kt.lite.base.KotlinBaseFragment
import com.pengxh.kt.lite.utils.SaveKeyValues
@@ -21,6 +23,24 @@
userUnitView.text = data.deptName
}
})
+
+ val noticeViewModel = ViewModelProvider(this)[NoticeViewModel::class.java]
+ noticeViewModel.getNoticeList("", "", "", "", "", 1)
+ noticeViewModel.noticeResult.observe(this, {
+ if (it.code == 200) {
+ val total = it.data.total
+ if (total.toString() == "") {
+ noticeCountView.visibility = View.GONE
+ } else {
+ noticeCountView.visibility = View.VISIBLE
+ if (total <= 9) {
+ noticeCountView.text = total.toString()
+ } else {
+ noticeCountView.text = "9+"
+ }
+ }
+ }
+ })
}
override fun initEvent() {
diff --git a/app/src/main/java/com/casic/xz/meterage/model/NoticeListModel.java b/app/src/main/java/com/casic/xz/meterage/model/NoticeListModel.java
new file mode 100644
index 0000000..ce9ae03
--- /dev/null
+++ b/app/src/main/java/com/casic/xz/meterage/model/NoticeListModel.java
@@ -0,0 +1,166 @@
+package com.casic.xz.meterage.model;
+
+import java.util.List;
+
+public class NoticeListModel {
+
+ private int code;
+ private DataModel data;
+ private String message;
+
+ public int getCode() {
+ return code;
+ }
+
+ public void setCode(int code) {
+ this.code = code;
+ }
+
+ public DataModel getData() {
+ return data;
+ }
+
+ public void setData(DataModel data) {
+ this.data = data;
+ }
+
+ public String getMessage() {
+ return message;
+ }
+
+ public void setMessage(String message) {
+ this.message = message;
+ }
+
+ public static class DataModel {
+ private List rows;
+ private int total;
+
+ public List getRows() {
+ return rows;
+ }
+
+ public void setRows(List rows) {
+ this.rows = rows;
+ }
+
+ public int getTotal() {
+ return total;
+ }
+
+ public void setTotal(int total) {
+ this.total = total;
+ }
+
+ public static class RowsModel {
+ private String createTime;
+ private String id;
+ private int isDel;
+ private String minioFileName;
+ private String noticeCompany;
+ private String noticeContent;
+ private String noticeNo;
+ private String noticePublisher;
+ private String noticeSketch;
+ private String noticeTime;
+ private String noticeTitle;
+ private String updateTime;
+
+ public String getCreateTime() {
+ return createTime;
+ }
+
+ public void setCreateTime(String createTime) {
+ this.createTime = createTime;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public int getIsDel() {
+ return isDel;
+ }
+
+ public void setIsDel(int isDel) {
+ this.isDel = isDel;
+ }
+
+ public String getMinioFileName() {
+ return minioFileName;
+ }
+
+ public void setMinioFileName(String minioFileName) {
+ this.minioFileName = minioFileName;
+ }
+
+ public String getNoticeCompany() {
+ return noticeCompany;
+ }
+
+ public void setNoticeCompany(String noticeCompany) {
+ this.noticeCompany = noticeCompany;
+ }
+
+ public String getNoticeContent() {
+ return noticeContent;
+ }
+
+ public void setNoticeContent(String noticeContent) {
+ this.noticeContent = noticeContent;
+ }
+
+ public String getNoticeNo() {
+ return noticeNo;
+ }
+
+ public void setNoticeNo(String noticeNo) {
+ this.noticeNo = noticeNo;
+ }
+
+ public String getNoticePublisher() {
+ return noticePublisher;
+ }
+
+ public void setNoticePublisher(String noticePublisher) {
+ this.noticePublisher = noticePublisher;
+ }
+
+ public String getNoticeSketch() {
+ return noticeSketch;
+ }
+
+ public void setNoticeSketch(String noticeSketch) {
+ this.noticeSketch = noticeSketch;
+ }
+
+ public String getNoticeTime() {
+ return noticeTime;
+ }
+
+ public void setNoticeTime(String noticeTime) {
+ this.noticeTime = noticeTime;
+ }
+
+ public String getNoticeTitle() {
+ return noticeTitle;
+ }
+
+ public void setNoticeTitle(String noticeTitle) {
+ this.noticeTitle = noticeTitle;
+ }
+
+ public String getUpdateTime() {
+ return updateTime;
+ }
+
+ public void setUpdateTime(String updateTime) {
+ this.updateTime = updateTime;
+ }
+ }
+ }
+}
diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt
index b762c4a..a3f514f 100644
--- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt
+++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt
@@ -24,4 +24,15 @@
@Header("token") token: String,
@Query("account") account: String
): String
+
+ /**
+ * 获取通知公告列表
+ */
+ @POST("/system/notice/listPage")
+ suspend fun getNoticeList(
+ @Header("token") token: String,
+ @Body requestBody: RequestBody,
+ @QueryMap limit: Map,
+ @QueryMap offset: Map
+ ): String
}
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 1c93a4b..97c55c3 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -36,6 +36,7 @@
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt
index f78b3a2..9b5faf6 100644
--- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt
+++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt
@@ -1,14 +1,35 @@
package com.casic.xz.meterage.fragment
+import android.view.View
+import androidx.lifecycle.ViewModelProvider
import com.casic.xz.meterage.R
import com.casic.xz.meterage.adapter.HomeGridAdapter
import com.casic.xz.meterage.utils.LocaleConstant
+import com.casic.xz.meterage.vm.NoticeViewModel
import com.pengxh.kt.lite.base.KotlinBaseFragment
import kotlinx.android.synthetic.main.fragment_home.*
class HomePageFragment : KotlinBaseFragment() {
override fun initData() {
+ val noticeViewModel = ViewModelProvider(this)[NoticeViewModel::class.java]
+ noticeViewModel.getNoticeList("", "", "", "", "", 1)
+ noticeViewModel.noticeResult.observe(this, {
+ if (it.code == 200) {
+ val total = it.data.total
+ if (total.toString() == "") {
+ noticeCountView.visibility = View.GONE
+ } else {
+ noticeCountView.visibility = View.VISIBLE
+ if (total <= 9) {
+ noticeCountView.text = total.toString()
+ } else {
+ noticeCountView.text = "9+"
+ }
+ }
+ }
+ })
+
val homeAdapter = HomeGridAdapter(requireContext(), LocaleConstant.HOME_FUNC_OPERATE)
homeFuncRecyclerView.adapter = homeAdapter
homeAdapter.setOnGridItemClickListener(object : HomeGridAdapter.OnGridItemClickListener {
diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/MinePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/MinePageFragment.kt
index fbd0cf1..aaeb9df 100644
--- a/app/src/main/java/com/casic/xz/meterage/fragment/MinePageFragment.kt
+++ b/app/src/main/java/com/casic/xz/meterage/fragment/MinePageFragment.kt
@@ -1,8 +1,10 @@
package com.casic.xz.meterage.fragment
+import android.view.View
import androidx.lifecycle.ViewModelProvider
import com.casic.xz.meterage.R
import com.casic.xz.meterage.utils.LocaleConstant
+import com.casic.xz.meterage.vm.NoticeViewModel
import com.casic.xz.meterage.vm.UserViewModel
import com.pengxh.kt.lite.base.KotlinBaseFragment
import com.pengxh.kt.lite.utils.SaveKeyValues
@@ -21,6 +23,24 @@
userUnitView.text = data.deptName
}
})
+
+ val noticeViewModel = ViewModelProvider(this)[NoticeViewModel::class.java]
+ noticeViewModel.getNoticeList("", "", "", "", "", 1)
+ noticeViewModel.noticeResult.observe(this, {
+ if (it.code == 200) {
+ val total = it.data.total
+ if (total.toString() == "") {
+ noticeCountView.visibility = View.GONE
+ } else {
+ noticeCountView.visibility = View.VISIBLE
+ if (total <= 9) {
+ noticeCountView.text = total.toString()
+ } else {
+ noticeCountView.text = "9+"
+ }
+ }
+ }
+ })
}
override fun initEvent() {
diff --git a/app/src/main/java/com/casic/xz/meterage/model/NoticeListModel.java b/app/src/main/java/com/casic/xz/meterage/model/NoticeListModel.java
new file mode 100644
index 0000000..ce9ae03
--- /dev/null
+++ b/app/src/main/java/com/casic/xz/meterage/model/NoticeListModel.java
@@ -0,0 +1,166 @@
+package com.casic.xz.meterage.model;
+
+import java.util.List;
+
+public class NoticeListModel {
+
+ private int code;
+ private DataModel data;
+ private String message;
+
+ public int getCode() {
+ return code;
+ }
+
+ public void setCode(int code) {
+ this.code = code;
+ }
+
+ public DataModel getData() {
+ return data;
+ }
+
+ public void setData(DataModel data) {
+ this.data = data;
+ }
+
+ public String getMessage() {
+ return message;
+ }
+
+ public void setMessage(String message) {
+ this.message = message;
+ }
+
+ public static class DataModel {
+ private List rows;
+ private int total;
+
+ public List getRows() {
+ return rows;
+ }
+
+ public void setRows(List rows) {
+ this.rows = rows;
+ }
+
+ public int getTotal() {
+ return total;
+ }
+
+ public void setTotal(int total) {
+ this.total = total;
+ }
+
+ public static class RowsModel {
+ private String createTime;
+ private String id;
+ private int isDel;
+ private String minioFileName;
+ private String noticeCompany;
+ private String noticeContent;
+ private String noticeNo;
+ private String noticePublisher;
+ private String noticeSketch;
+ private String noticeTime;
+ private String noticeTitle;
+ private String updateTime;
+
+ public String getCreateTime() {
+ return createTime;
+ }
+
+ public void setCreateTime(String createTime) {
+ this.createTime = createTime;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public int getIsDel() {
+ return isDel;
+ }
+
+ public void setIsDel(int isDel) {
+ this.isDel = isDel;
+ }
+
+ public String getMinioFileName() {
+ return minioFileName;
+ }
+
+ public void setMinioFileName(String minioFileName) {
+ this.minioFileName = minioFileName;
+ }
+
+ public String getNoticeCompany() {
+ return noticeCompany;
+ }
+
+ public void setNoticeCompany(String noticeCompany) {
+ this.noticeCompany = noticeCompany;
+ }
+
+ public String getNoticeContent() {
+ return noticeContent;
+ }
+
+ public void setNoticeContent(String noticeContent) {
+ this.noticeContent = noticeContent;
+ }
+
+ public String getNoticeNo() {
+ return noticeNo;
+ }
+
+ public void setNoticeNo(String noticeNo) {
+ this.noticeNo = noticeNo;
+ }
+
+ public String getNoticePublisher() {
+ return noticePublisher;
+ }
+
+ public void setNoticePublisher(String noticePublisher) {
+ this.noticePublisher = noticePublisher;
+ }
+
+ public String getNoticeSketch() {
+ return noticeSketch;
+ }
+
+ public void setNoticeSketch(String noticeSketch) {
+ this.noticeSketch = noticeSketch;
+ }
+
+ public String getNoticeTime() {
+ return noticeTime;
+ }
+
+ public void setNoticeTime(String noticeTime) {
+ this.noticeTime = noticeTime;
+ }
+
+ public String getNoticeTitle() {
+ return noticeTitle;
+ }
+
+ public void setNoticeTitle(String noticeTitle) {
+ this.noticeTitle = noticeTitle;
+ }
+
+ public String getUpdateTime() {
+ return updateTime;
+ }
+
+ public void setUpdateTime(String updateTime) {
+ this.updateTime = updateTime;
+ }
+ }
+ }
+}
diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt
index b762c4a..a3f514f 100644
--- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt
+++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt
@@ -24,4 +24,15 @@
@Header("token") token: String,
@Query("account") account: String
): String
+
+ /**
+ * 获取通知公告列表
+ */
+ @POST("/system/notice/listPage")
+ suspend fun getNoticeList(
+ @Header("token") token: String,
+ @Body requestBody: RequestBody,
+ @QueryMap limit: Map,
+ @QueryMap offset: Map
+ ): String
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt
index 702e6bc..444a872 100644
--- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt
+++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt
@@ -44,4 +44,33 @@
suspend fun getUserInfo(account: String): String {
return api.getUserInfo(AuthenticationHelper.token!!, account)
}
+
+ /**
+ * 获取通知公告列表
+ */
+ suspend fun getNoticeList(
+ noticeNo: String,
+ noticeTitle: String,
+ noticePublisher: String,
+ noticeStartTime: String,
+ noticeEndTime: String,
+ offset: Int
+ ): String {
+ val paramObject = JSONObject()
+ paramObject.put("noticeNo", noticeNo)
+ paramObject.put("noticeTitle", noticeTitle)
+ paramObject.put("noticePublisher", noticePublisher)
+ paramObject.put("noticeStartTime", noticeStartTime)
+ paramObject.put("noticeEndTime", noticeEndTime)
+ val requestBody = paramObject.toString().toRequestBody(
+ "application/json;charset=UTF-8".toMediaType()
+ )
+
+ val limitMap = HashMap()
+ limitMap["limit"] = LocaleConstant.PAGE_LIMIT
+
+ val offsetMap = HashMap()
+ offsetMap["offset"] = offset
+ return api.getNoticeList(AuthenticationHelper.token!!, requestBody, limitMap, offsetMap)
+ }
}
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 1c93a4b..97c55c3 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -36,6 +36,7 @@
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt
index f78b3a2..9b5faf6 100644
--- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt
+++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt
@@ -1,14 +1,35 @@
package com.casic.xz.meterage.fragment
+import android.view.View
+import androidx.lifecycle.ViewModelProvider
import com.casic.xz.meterage.R
import com.casic.xz.meterage.adapter.HomeGridAdapter
import com.casic.xz.meterage.utils.LocaleConstant
+import com.casic.xz.meterage.vm.NoticeViewModel
import com.pengxh.kt.lite.base.KotlinBaseFragment
import kotlinx.android.synthetic.main.fragment_home.*
class HomePageFragment : KotlinBaseFragment() {
override fun initData() {
+ val noticeViewModel = ViewModelProvider(this)[NoticeViewModel::class.java]
+ noticeViewModel.getNoticeList("", "", "", "", "", 1)
+ noticeViewModel.noticeResult.observe(this, {
+ if (it.code == 200) {
+ val total = it.data.total
+ if (total.toString() == "") {
+ noticeCountView.visibility = View.GONE
+ } else {
+ noticeCountView.visibility = View.VISIBLE
+ if (total <= 9) {
+ noticeCountView.text = total.toString()
+ } else {
+ noticeCountView.text = "9+"
+ }
+ }
+ }
+ })
+
val homeAdapter = HomeGridAdapter(requireContext(), LocaleConstant.HOME_FUNC_OPERATE)
homeFuncRecyclerView.adapter = homeAdapter
homeAdapter.setOnGridItemClickListener(object : HomeGridAdapter.OnGridItemClickListener {
diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/MinePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/MinePageFragment.kt
index fbd0cf1..aaeb9df 100644
--- a/app/src/main/java/com/casic/xz/meterage/fragment/MinePageFragment.kt
+++ b/app/src/main/java/com/casic/xz/meterage/fragment/MinePageFragment.kt
@@ -1,8 +1,10 @@
package com.casic.xz.meterage.fragment
+import android.view.View
import androidx.lifecycle.ViewModelProvider
import com.casic.xz.meterage.R
import com.casic.xz.meterage.utils.LocaleConstant
+import com.casic.xz.meterage.vm.NoticeViewModel
import com.casic.xz.meterage.vm.UserViewModel
import com.pengxh.kt.lite.base.KotlinBaseFragment
import com.pengxh.kt.lite.utils.SaveKeyValues
@@ -21,6 +23,24 @@
userUnitView.text = data.deptName
}
})
+
+ val noticeViewModel = ViewModelProvider(this)[NoticeViewModel::class.java]
+ noticeViewModel.getNoticeList("", "", "", "", "", 1)
+ noticeViewModel.noticeResult.observe(this, {
+ if (it.code == 200) {
+ val total = it.data.total
+ if (total.toString() == "") {
+ noticeCountView.visibility = View.GONE
+ } else {
+ noticeCountView.visibility = View.VISIBLE
+ if (total <= 9) {
+ noticeCountView.text = total.toString()
+ } else {
+ noticeCountView.text = "9+"
+ }
+ }
+ }
+ })
}
override fun initEvent() {
diff --git a/app/src/main/java/com/casic/xz/meterage/model/NoticeListModel.java b/app/src/main/java/com/casic/xz/meterage/model/NoticeListModel.java
new file mode 100644
index 0000000..ce9ae03
--- /dev/null
+++ b/app/src/main/java/com/casic/xz/meterage/model/NoticeListModel.java
@@ -0,0 +1,166 @@
+package com.casic.xz.meterage.model;
+
+import java.util.List;
+
+public class NoticeListModel {
+
+ private int code;
+ private DataModel data;
+ private String message;
+
+ public int getCode() {
+ return code;
+ }
+
+ public void setCode(int code) {
+ this.code = code;
+ }
+
+ public DataModel getData() {
+ return data;
+ }
+
+ public void setData(DataModel data) {
+ this.data = data;
+ }
+
+ public String getMessage() {
+ return message;
+ }
+
+ public void setMessage(String message) {
+ this.message = message;
+ }
+
+ public static class DataModel {
+ private List rows;
+ private int total;
+
+ public List getRows() {
+ return rows;
+ }
+
+ public void setRows(List rows) {
+ this.rows = rows;
+ }
+
+ public int getTotal() {
+ return total;
+ }
+
+ public void setTotal(int total) {
+ this.total = total;
+ }
+
+ public static class RowsModel {
+ private String createTime;
+ private String id;
+ private int isDel;
+ private String minioFileName;
+ private String noticeCompany;
+ private String noticeContent;
+ private String noticeNo;
+ private String noticePublisher;
+ private String noticeSketch;
+ private String noticeTime;
+ private String noticeTitle;
+ private String updateTime;
+
+ public String getCreateTime() {
+ return createTime;
+ }
+
+ public void setCreateTime(String createTime) {
+ this.createTime = createTime;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public int getIsDel() {
+ return isDel;
+ }
+
+ public void setIsDel(int isDel) {
+ this.isDel = isDel;
+ }
+
+ public String getMinioFileName() {
+ return minioFileName;
+ }
+
+ public void setMinioFileName(String minioFileName) {
+ this.minioFileName = minioFileName;
+ }
+
+ public String getNoticeCompany() {
+ return noticeCompany;
+ }
+
+ public void setNoticeCompany(String noticeCompany) {
+ this.noticeCompany = noticeCompany;
+ }
+
+ public String getNoticeContent() {
+ return noticeContent;
+ }
+
+ public void setNoticeContent(String noticeContent) {
+ this.noticeContent = noticeContent;
+ }
+
+ public String getNoticeNo() {
+ return noticeNo;
+ }
+
+ public void setNoticeNo(String noticeNo) {
+ this.noticeNo = noticeNo;
+ }
+
+ public String getNoticePublisher() {
+ return noticePublisher;
+ }
+
+ public void setNoticePublisher(String noticePublisher) {
+ this.noticePublisher = noticePublisher;
+ }
+
+ public String getNoticeSketch() {
+ return noticeSketch;
+ }
+
+ public void setNoticeSketch(String noticeSketch) {
+ this.noticeSketch = noticeSketch;
+ }
+
+ public String getNoticeTime() {
+ return noticeTime;
+ }
+
+ public void setNoticeTime(String noticeTime) {
+ this.noticeTime = noticeTime;
+ }
+
+ public String getNoticeTitle() {
+ return noticeTitle;
+ }
+
+ public void setNoticeTitle(String noticeTitle) {
+ this.noticeTitle = noticeTitle;
+ }
+
+ public String getUpdateTime() {
+ return updateTime;
+ }
+
+ public void setUpdateTime(String updateTime) {
+ this.updateTime = updateTime;
+ }
+ }
+ }
+}
diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt
index b762c4a..a3f514f 100644
--- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt
+++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt
@@ -24,4 +24,15 @@
@Header("token") token: String,
@Query("account") account: String
): String
+
+ /**
+ * 获取通知公告列表
+ */
+ @POST("/system/notice/listPage")
+ suspend fun getNoticeList(
+ @Header("token") token: String,
+ @Body requestBody: RequestBody,
+ @QueryMap limit: Map,
+ @QueryMap offset: Map
+ ): String
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt
index 702e6bc..444a872 100644
--- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt
+++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt
@@ -44,4 +44,33 @@
suspend fun getUserInfo(account: String): String {
return api.getUserInfo(AuthenticationHelper.token!!, account)
}
+
+ /**
+ * 获取通知公告列表
+ */
+ suspend fun getNoticeList(
+ noticeNo: String,
+ noticeTitle: String,
+ noticePublisher: String,
+ noticeStartTime: String,
+ noticeEndTime: String,
+ offset: Int
+ ): String {
+ val paramObject = JSONObject()
+ paramObject.put("noticeNo", noticeNo)
+ paramObject.put("noticeTitle", noticeTitle)
+ paramObject.put("noticePublisher", noticePublisher)
+ paramObject.put("noticeStartTime", noticeStartTime)
+ paramObject.put("noticeEndTime", noticeEndTime)
+ val requestBody = paramObject.toString().toRequestBody(
+ "application/json;charset=UTF-8".toMediaType()
+ )
+
+ val limitMap = HashMap()
+ limitMap["limit"] = LocaleConstant.PAGE_LIMIT
+
+ val offsetMap = HashMap()
+ offsetMap["offset"] = offset
+ return api.getNoticeList(AuthenticationHelper.token!!, requestBody, limitMap, offsetMap)
+ }
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/xz/meterage/view/NoticeListActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/NoticeListActivity.kt
new file mode 100644
index 0000000..6dde53b
--- /dev/null
+++ b/app/src/main/java/com/casic/xz/meterage/view/NoticeListActivity.kt
@@ -0,0 +1,29 @@
+package com.casic.xz.meterage.view
+
+import androidx.lifecycle.ViewModelProvider
+import com.casic.xz.meterage.R
+import com.casic.xz.meterage.vm.NoticeViewModel
+import com.pengxh.kt.lite.base.KotlinBaseActivity
+
+class NoticeListActivity : KotlinBaseActivity() {
+
+ private lateinit var noticeViewModel: NoticeViewModel
+
+ override fun initData() {
+ noticeViewModel = ViewModelProvider(this)[NoticeViewModel::class.java]
+ }
+
+ override fun initEvent() {
+
+ }
+
+ override fun initLayoutView(): Int = R.layout.activity_notice_list
+
+ override fun observeRequestState() {
+
+ }
+
+ override fun setupTopBarLayout() {
+
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 1c93a4b..97c55c3 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -36,6 +36,7 @@
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt
index f78b3a2..9b5faf6 100644
--- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt
+++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt
@@ -1,14 +1,35 @@
package com.casic.xz.meterage.fragment
+import android.view.View
+import androidx.lifecycle.ViewModelProvider
import com.casic.xz.meterage.R
import com.casic.xz.meterage.adapter.HomeGridAdapter
import com.casic.xz.meterage.utils.LocaleConstant
+import com.casic.xz.meterage.vm.NoticeViewModel
import com.pengxh.kt.lite.base.KotlinBaseFragment
import kotlinx.android.synthetic.main.fragment_home.*
class HomePageFragment : KotlinBaseFragment() {
override fun initData() {
+ val noticeViewModel = ViewModelProvider(this)[NoticeViewModel::class.java]
+ noticeViewModel.getNoticeList("", "", "", "", "", 1)
+ noticeViewModel.noticeResult.observe(this, {
+ if (it.code == 200) {
+ val total = it.data.total
+ if (total.toString() == "") {
+ noticeCountView.visibility = View.GONE
+ } else {
+ noticeCountView.visibility = View.VISIBLE
+ if (total <= 9) {
+ noticeCountView.text = total.toString()
+ } else {
+ noticeCountView.text = "9+"
+ }
+ }
+ }
+ })
+
val homeAdapter = HomeGridAdapter(requireContext(), LocaleConstant.HOME_FUNC_OPERATE)
homeFuncRecyclerView.adapter = homeAdapter
homeAdapter.setOnGridItemClickListener(object : HomeGridAdapter.OnGridItemClickListener {
diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/MinePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/MinePageFragment.kt
index fbd0cf1..aaeb9df 100644
--- a/app/src/main/java/com/casic/xz/meterage/fragment/MinePageFragment.kt
+++ b/app/src/main/java/com/casic/xz/meterage/fragment/MinePageFragment.kt
@@ -1,8 +1,10 @@
package com.casic.xz.meterage.fragment
+import android.view.View
import androidx.lifecycle.ViewModelProvider
import com.casic.xz.meterage.R
import com.casic.xz.meterage.utils.LocaleConstant
+import com.casic.xz.meterage.vm.NoticeViewModel
import com.casic.xz.meterage.vm.UserViewModel
import com.pengxh.kt.lite.base.KotlinBaseFragment
import com.pengxh.kt.lite.utils.SaveKeyValues
@@ -21,6 +23,24 @@
userUnitView.text = data.deptName
}
})
+
+ val noticeViewModel = ViewModelProvider(this)[NoticeViewModel::class.java]
+ noticeViewModel.getNoticeList("", "", "", "", "", 1)
+ noticeViewModel.noticeResult.observe(this, {
+ if (it.code == 200) {
+ val total = it.data.total
+ if (total.toString() == "") {
+ noticeCountView.visibility = View.GONE
+ } else {
+ noticeCountView.visibility = View.VISIBLE
+ if (total <= 9) {
+ noticeCountView.text = total.toString()
+ } else {
+ noticeCountView.text = "9+"
+ }
+ }
+ }
+ })
}
override fun initEvent() {
diff --git a/app/src/main/java/com/casic/xz/meterage/model/NoticeListModel.java b/app/src/main/java/com/casic/xz/meterage/model/NoticeListModel.java
new file mode 100644
index 0000000..ce9ae03
--- /dev/null
+++ b/app/src/main/java/com/casic/xz/meterage/model/NoticeListModel.java
@@ -0,0 +1,166 @@
+package com.casic.xz.meterage.model;
+
+import java.util.List;
+
+public class NoticeListModel {
+
+ private int code;
+ private DataModel data;
+ private String message;
+
+ public int getCode() {
+ return code;
+ }
+
+ public void setCode(int code) {
+ this.code = code;
+ }
+
+ public DataModel getData() {
+ return data;
+ }
+
+ public void setData(DataModel data) {
+ this.data = data;
+ }
+
+ public String getMessage() {
+ return message;
+ }
+
+ public void setMessage(String message) {
+ this.message = message;
+ }
+
+ public static class DataModel {
+ private List rows;
+ private int total;
+
+ public List getRows() {
+ return rows;
+ }
+
+ public void setRows(List rows) {
+ this.rows = rows;
+ }
+
+ public int getTotal() {
+ return total;
+ }
+
+ public void setTotal(int total) {
+ this.total = total;
+ }
+
+ public static class RowsModel {
+ private String createTime;
+ private String id;
+ private int isDel;
+ private String minioFileName;
+ private String noticeCompany;
+ private String noticeContent;
+ private String noticeNo;
+ private String noticePublisher;
+ private String noticeSketch;
+ private String noticeTime;
+ private String noticeTitle;
+ private String updateTime;
+
+ public String getCreateTime() {
+ return createTime;
+ }
+
+ public void setCreateTime(String createTime) {
+ this.createTime = createTime;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public int getIsDel() {
+ return isDel;
+ }
+
+ public void setIsDel(int isDel) {
+ this.isDel = isDel;
+ }
+
+ public String getMinioFileName() {
+ return minioFileName;
+ }
+
+ public void setMinioFileName(String minioFileName) {
+ this.minioFileName = minioFileName;
+ }
+
+ public String getNoticeCompany() {
+ return noticeCompany;
+ }
+
+ public void setNoticeCompany(String noticeCompany) {
+ this.noticeCompany = noticeCompany;
+ }
+
+ public String getNoticeContent() {
+ return noticeContent;
+ }
+
+ public void setNoticeContent(String noticeContent) {
+ this.noticeContent = noticeContent;
+ }
+
+ public String getNoticeNo() {
+ return noticeNo;
+ }
+
+ public void setNoticeNo(String noticeNo) {
+ this.noticeNo = noticeNo;
+ }
+
+ public String getNoticePublisher() {
+ return noticePublisher;
+ }
+
+ public void setNoticePublisher(String noticePublisher) {
+ this.noticePublisher = noticePublisher;
+ }
+
+ public String getNoticeSketch() {
+ return noticeSketch;
+ }
+
+ public void setNoticeSketch(String noticeSketch) {
+ this.noticeSketch = noticeSketch;
+ }
+
+ public String getNoticeTime() {
+ return noticeTime;
+ }
+
+ public void setNoticeTime(String noticeTime) {
+ this.noticeTime = noticeTime;
+ }
+
+ public String getNoticeTitle() {
+ return noticeTitle;
+ }
+
+ public void setNoticeTitle(String noticeTitle) {
+ this.noticeTitle = noticeTitle;
+ }
+
+ public String getUpdateTime() {
+ return updateTime;
+ }
+
+ public void setUpdateTime(String updateTime) {
+ this.updateTime = updateTime;
+ }
+ }
+ }
+}
diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt
index b762c4a..a3f514f 100644
--- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt
+++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt
@@ -24,4 +24,15 @@
@Header("token") token: String,
@Query("account") account: String
): String
+
+ /**
+ * 获取通知公告列表
+ */
+ @POST("/system/notice/listPage")
+ suspend fun getNoticeList(
+ @Header("token") token: String,
+ @Body requestBody: RequestBody,
+ @QueryMap limit: Map,
+ @QueryMap offset: Map
+ ): String
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt
index 702e6bc..444a872 100644
--- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt
+++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt
@@ -44,4 +44,33 @@
suspend fun getUserInfo(account: String): String {
return api.getUserInfo(AuthenticationHelper.token!!, account)
}
+
+ /**
+ * 获取通知公告列表
+ */
+ suspend fun getNoticeList(
+ noticeNo: String,
+ noticeTitle: String,
+ noticePublisher: String,
+ noticeStartTime: String,
+ noticeEndTime: String,
+ offset: Int
+ ): String {
+ val paramObject = JSONObject()
+ paramObject.put("noticeNo", noticeNo)
+ paramObject.put("noticeTitle", noticeTitle)
+ paramObject.put("noticePublisher", noticePublisher)
+ paramObject.put("noticeStartTime", noticeStartTime)
+ paramObject.put("noticeEndTime", noticeEndTime)
+ val requestBody = paramObject.toString().toRequestBody(
+ "application/json;charset=UTF-8".toMediaType()
+ )
+
+ val limitMap = HashMap()
+ limitMap["limit"] = LocaleConstant.PAGE_LIMIT
+
+ val offsetMap = HashMap()
+ offsetMap["offset"] = offset
+ return api.getNoticeList(AuthenticationHelper.token!!, requestBody, limitMap, offsetMap)
+ }
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/xz/meterage/view/NoticeListActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/NoticeListActivity.kt
new file mode 100644
index 0000000..6dde53b
--- /dev/null
+++ b/app/src/main/java/com/casic/xz/meterage/view/NoticeListActivity.kt
@@ -0,0 +1,29 @@
+package com.casic.xz.meterage.view
+
+import androidx.lifecycle.ViewModelProvider
+import com.casic.xz.meterage.R
+import com.casic.xz.meterage.vm.NoticeViewModel
+import com.pengxh.kt.lite.base.KotlinBaseActivity
+
+class NoticeListActivity : KotlinBaseActivity() {
+
+ private lateinit var noticeViewModel: NoticeViewModel
+
+ override fun initData() {
+ noticeViewModel = ViewModelProvider(this)[NoticeViewModel::class.java]
+ }
+
+ override fun initEvent() {
+
+ }
+
+ override fun initLayoutView(): Int = R.layout.activity_notice_list
+
+ override fun observeRequestState() {
+
+ }
+
+ override fun setupTopBarLayout() {
+
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/xz/meterage/vm/NoticeViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/NoticeViewModel.kt
new file mode 100644
index 0000000..e25348a
--- /dev/null
+++ b/app/src/main/java/com/casic/xz/meterage/vm/NoticeViewModel.kt
@@ -0,0 +1,42 @@
+package com.casic.xz.meterage.vm
+
+import androidx.lifecycle.MutableLiveData
+import com.casic.xz.meterage.extensions.separateResponseCode
+import com.casic.xz.meterage.model.NoticeListModel
+import com.casic.xz.meterage.utils.retrofit.RetrofitServiceManager
+import com.google.gson.Gson
+import com.google.gson.reflect.TypeToken
+import com.pengxh.kt.lite.extensions.launch
+import com.pengxh.kt.lite.vm.BaseViewModel
+
+class NoticeViewModel : BaseViewModel() {
+
+ private val gson by lazy { Gson() }
+ val noticeResult = MutableLiveData()
+
+ fun getNoticeList(
+ noticeNo: String,
+ noticeTitle: String,
+ noticePublisher: String,
+ noticeStartTime: String,
+ noticeEndTime: String,
+ offset: Int
+ ) = launch({
+ val response = RetrofitServiceManager.getNoticeList(
+ noticeNo,
+ noticeTitle,
+ noticePublisher,
+ noticeStartTime,
+ noticeEndTime,
+ offset
+ )
+ val responseCode = response.separateResponseCode()
+ if (responseCode == 200) {
+ noticeResult.value = gson.fromJson(
+ response, object : TypeToken() {}.type
+ )
+ }
+ }, {
+ it.printStackTrace()
+ })
+}
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 1c93a4b..97c55c3 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -36,6 +36,7 @@
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt
index f78b3a2..9b5faf6 100644
--- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt
+++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt
@@ -1,14 +1,35 @@
package com.casic.xz.meterage.fragment
+import android.view.View
+import androidx.lifecycle.ViewModelProvider
import com.casic.xz.meterage.R
import com.casic.xz.meterage.adapter.HomeGridAdapter
import com.casic.xz.meterage.utils.LocaleConstant
+import com.casic.xz.meterage.vm.NoticeViewModel
import com.pengxh.kt.lite.base.KotlinBaseFragment
import kotlinx.android.synthetic.main.fragment_home.*
class HomePageFragment : KotlinBaseFragment() {
override fun initData() {
+ val noticeViewModel = ViewModelProvider(this)[NoticeViewModel::class.java]
+ noticeViewModel.getNoticeList("", "", "", "", "", 1)
+ noticeViewModel.noticeResult.observe(this, {
+ if (it.code == 200) {
+ val total = it.data.total
+ if (total.toString() == "") {
+ noticeCountView.visibility = View.GONE
+ } else {
+ noticeCountView.visibility = View.VISIBLE
+ if (total <= 9) {
+ noticeCountView.text = total.toString()
+ } else {
+ noticeCountView.text = "9+"
+ }
+ }
+ }
+ })
+
val homeAdapter = HomeGridAdapter(requireContext(), LocaleConstant.HOME_FUNC_OPERATE)
homeFuncRecyclerView.adapter = homeAdapter
homeAdapter.setOnGridItemClickListener(object : HomeGridAdapter.OnGridItemClickListener {
diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/MinePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/MinePageFragment.kt
index fbd0cf1..aaeb9df 100644
--- a/app/src/main/java/com/casic/xz/meterage/fragment/MinePageFragment.kt
+++ b/app/src/main/java/com/casic/xz/meterage/fragment/MinePageFragment.kt
@@ -1,8 +1,10 @@
package com.casic.xz.meterage.fragment
+import android.view.View
import androidx.lifecycle.ViewModelProvider
import com.casic.xz.meterage.R
import com.casic.xz.meterage.utils.LocaleConstant
+import com.casic.xz.meterage.vm.NoticeViewModel
import com.casic.xz.meterage.vm.UserViewModel
import com.pengxh.kt.lite.base.KotlinBaseFragment
import com.pengxh.kt.lite.utils.SaveKeyValues
@@ -21,6 +23,24 @@
userUnitView.text = data.deptName
}
})
+
+ val noticeViewModel = ViewModelProvider(this)[NoticeViewModel::class.java]
+ noticeViewModel.getNoticeList("", "", "", "", "", 1)
+ noticeViewModel.noticeResult.observe(this, {
+ if (it.code == 200) {
+ val total = it.data.total
+ if (total.toString() == "") {
+ noticeCountView.visibility = View.GONE
+ } else {
+ noticeCountView.visibility = View.VISIBLE
+ if (total <= 9) {
+ noticeCountView.text = total.toString()
+ } else {
+ noticeCountView.text = "9+"
+ }
+ }
+ }
+ })
}
override fun initEvent() {
diff --git a/app/src/main/java/com/casic/xz/meterage/model/NoticeListModel.java b/app/src/main/java/com/casic/xz/meterage/model/NoticeListModel.java
new file mode 100644
index 0000000..ce9ae03
--- /dev/null
+++ b/app/src/main/java/com/casic/xz/meterage/model/NoticeListModel.java
@@ -0,0 +1,166 @@
+package com.casic.xz.meterage.model;
+
+import java.util.List;
+
+public class NoticeListModel {
+
+ private int code;
+ private DataModel data;
+ private String message;
+
+ public int getCode() {
+ return code;
+ }
+
+ public void setCode(int code) {
+ this.code = code;
+ }
+
+ public DataModel getData() {
+ return data;
+ }
+
+ public void setData(DataModel data) {
+ this.data = data;
+ }
+
+ public String getMessage() {
+ return message;
+ }
+
+ public void setMessage(String message) {
+ this.message = message;
+ }
+
+ public static class DataModel {
+ private List rows;
+ private int total;
+
+ public List getRows() {
+ return rows;
+ }
+
+ public void setRows(List rows) {
+ this.rows = rows;
+ }
+
+ public int getTotal() {
+ return total;
+ }
+
+ public void setTotal(int total) {
+ this.total = total;
+ }
+
+ public static class RowsModel {
+ private String createTime;
+ private String id;
+ private int isDel;
+ private String minioFileName;
+ private String noticeCompany;
+ private String noticeContent;
+ private String noticeNo;
+ private String noticePublisher;
+ private String noticeSketch;
+ private String noticeTime;
+ private String noticeTitle;
+ private String updateTime;
+
+ public String getCreateTime() {
+ return createTime;
+ }
+
+ public void setCreateTime(String createTime) {
+ this.createTime = createTime;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public int getIsDel() {
+ return isDel;
+ }
+
+ public void setIsDel(int isDel) {
+ this.isDel = isDel;
+ }
+
+ public String getMinioFileName() {
+ return minioFileName;
+ }
+
+ public void setMinioFileName(String minioFileName) {
+ this.minioFileName = minioFileName;
+ }
+
+ public String getNoticeCompany() {
+ return noticeCompany;
+ }
+
+ public void setNoticeCompany(String noticeCompany) {
+ this.noticeCompany = noticeCompany;
+ }
+
+ public String getNoticeContent() {
+ return noticeContent;
+ }
+
+ public void setNoticeContent(String noticeContent) {
+ this.noticeContent = noticeContent;
+ }
+
+ public String getNoticeNo() {
+ return noticeNo;
+ }
+
+ public void setNoticeNo(String noticeNo) {
+ this.noticeNo = noticeNo;
+ }
+
+ public String getNoticePublisher() {
+ return noticePublisher;
+ }
+
+ public void setNoticePublisher(String noticePublisher) {
+ this.noticePublisher = noticePublisher;
+ }
+
+ public String getNoticeSketch() {
+ return noticeSketch;
+ }
+
+ public void setNoticeSketch(String noticeSketch) {
+ this.noticeSketch = noticeSketch;
+ }
+
+ public String getNoticeTime() {
+ return noticeTime;
+ }
+
+ public void setNoticeTime(String noticeTime) {
+ this.noticeTime = noticeTime;
+ }
+
+ public String getNoticeTitle() {
+ return noticeTitle;
+ }
+
+ public void setNoticeTitle(String noticeTitle) {
+ this.noticeTitle = noticeTitle;
+ }
+
+ public String getUpdateTime() {
+ return updateTime;
+ }
+
+ public void setUpdateTime(String updateTime) {
+ this.updateTime = updateTime;
+ }
+ }
+ }
+}
diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt
index b762c4a..a3f514f 100644
--- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt
+++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt
@@ -24,4 +24,15 @@
@Header("token") token: String,
@Query("account") account: String
): String
+
+ /**
+ * 获取通知公告列表
+ */
+ @POST("/system/notice/listPage")
+ suspend fun getNoticeList(
+ @Header("token") token: String,
+ @Body requestBody: RequestBody,
+ @QueryMap limit: Map,
+ @QueryMap offset: Map
+ ): String
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt
index 702e6bc..444a872 100644
--- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt
+++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt
@@ -44,4 +44,33 @@
suspend fun getUserInfo(account: String): String {
return api.getUserInfo(AuthenticationHelper.token!!, account)
}
+
+ /**
+ * 获取通知公告列表
+ */
+ suspend fun getNoticeList(
+ noticeNo: String,
+ noticeTitle: String,
+ noticePublisher: String,
+ noticeStartTime: String,
+ noticeEndTime: String,
+ offset: Int
+ ): String {
+ val paramObject = JSONObject()
+ paramObject.put("noticeNo", noticeNo)
+ paramObject.put("noticeTitle", noticeTitle)
+ paramObject.put("noticePublisher", noticePublisher)
+ paramObject.put("noticeStartTime", noticeStartTime)
+ paramObject.put("noticeEndTime", noticeEndTime)
+ val requestBody = paramObject.toString().toRequestBody(
+ "application/json;charset=UTF-8".toMediaType()
+ )
+
+ val limitMap = HashMap()
+ limitMap["limit"] = LocaleConstant.PAGE_LIMIT
+
+ val offsetMap = HashMap()
+ offsetMap["offset"] = offset
+ return api.getNoticeList(AuthenticationHelper.token!!, requestBody, limitMap, offsetMap)
+ }
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/xz/meterage/view/NoticeListActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/NoticeListActivity.kt
new file mode 100644
index 0000000..6dde53b
--- /dev/null
+++ b/app/src/main/java/com/casic/xz/meterage/view/NoticeListActivity.kt
@@ -0,0 +1,29 @@
+package com.casic.xz.meterage.view
+
+import androidx.lifecycle.ViewModelProvider
+import com.casic.xz.meterage.R
+import com.casic.xz.meterage.vm.NoticeViewModel
+import com.pengxh.kt.lite.base.KotlinBaseActivity
+
+class NoticeListActivity : KotlinBaseActivity() {
+
+ private lateinit var noticeViewModel: NoticeViewModel
+
+ override fun initData() {
+ noticeViewModel = ViewModelProvider(this)[NoticeViewModel::class.java]
+ }
+
+ override fun initEvent() {
+
+ }
+
+ override fun initLayoutView(): Int = R.layout.activity_notice_list
+
+ override fun observeRequestState() {
+
+ }
+
+ override fun setupTopBarLayout() {
+
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/xz/meterage/vm/NoticeViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/NoticeViewModel.kt
new file mode 100644
index 0000000..e25348a
--- /dev/null
+++ b/app/src/main/java/com/casic/xz/meterage/vm/NoticeViewModel.kt
@@ -0,0 +1,42 @@
+package com.casic.xz.meterage.vm
+
+import androidx.lifecycle.MutableLiveData
+import com.casic.xz.meterage.extensions.separateResponseCode
+import com.casic.xz.meterage.model.NoticeListModel
+import com.casic.xz.meterage.utils.retrofit.RetrofitServiceManager
+import com.google.gson.Gson
+import com.google.gson.reflect.TypeToken
+import com.pengxh.kt.lite.extensions.launch
+import com.pengxh.kt.lite.vm.BaseViewModel
+
+class NoticeViewModel : BaseViewModel() {
+
+ private val gson by lazy { Gson() }
+ val noticeResult = MutableLiveData()
+
+ fun getNoticeList(
+ noticeNo: String,
+ noticeTitle: String,
+ noticePublisher: String,
+ noticeStartTime: String,
+ noticeEndTime: String,
+ offset: Int
+ ) = launch({
+ val response = RetrofitServiceManager.getNoticeList(
+ noticeNo,
+ noticeTitle,
+ noticePublisher,
+ noticeStartTime,
+ noticeEndTime,
+ offset
+ )
+ val responseCode = response.separateResponseCode()
+ if (responseCode == 200) {
+ noticeResult.value = gson.fromJson(
+ response, object : TypeToken() {}.type
+ )
+ }
+ }, {
+ it.printStackTrace()
+ })
+}
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_text_view_red_radius_10.xml b/app/src/main/res/drawable/bg_text_view_red_radius_10.xml
new file mode 100644
index 0000000..8017b3b
--- /dev/null
+++ b/app/src/main/res/drawable/bg_text_view_red_radius_10.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 1c93a4b..97c55c3 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -36,6 +36,7 @@
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt
index f78b3a2..9b5faf6 100644
--- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt
+++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt
@@ -1,14 +1,35 @@
package com.casic.xz.meterage.fragment
+import android.view.View
+import androidx.lifecycle.ViewModelProvider
import com.casic.xz.meterage.R
import com.casic.xz.meterage.adapter.HomeGridAdapter
import com.casic.xz.meterage.utils.LocaleConstant
+import com.casic.xz.meterage.vm.NoticeViewModel
import com.pengxh.kt.lite.base.KotlinBaseFragment
import kotlinx.android.synthetic.main.fragment_home.*
class HomePageFragment : KotlinBaseFragment() {
override fun initData() {
+ val noticeViewModel = ViewModelProvider(this)[NoticeViewModel::class.java]
+ noticeViewModel.getNoticeList("", "", "", "", "", 1)
+ noticeViewModel.noticeResult.observe(this, {
+ if (it.code == 200) {
+ val total = it.data.total
+ if (total.toString() == "") {
+ noticeCountView.visibility = View.GONE
+ } else {
+ noticeCountView.visibility = View.VISIBLE
+ if (total <= 9) {
+ noticeCountView.text = total.toString()
+ } else {
+ noticeCountView.text = "9+"
+ }
+ }
+ }
+ })
+
val homeAdapter = HomeGridAdapter(requireContext(), LocaleConstant.HOME_FUNC_OPERATE)
homeFuncRecyclerView.adapter = homeAdapter
homeAdapter.setOnGridItemClickListener(object : HomeGridAdapter.OnGridItemClickListener {
diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/MinePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/MinePageFragment.kt
index fbd0cf1..aaeb9df 100644
--- a/app/src/main/java/com/casic/xz/meterage/fragment/MinePageFragment.kt
+++ b/app/src/main/java/com/casic/xz/meterage/fragment/MinePageFragment.kt
@@ -1,8 +1,10 @@
package com.casic.xz.meterage.fragment
+import android.view.View
import androidx.lifecycle.ViewModelProvider
import com.casic.xz.meterage.R
import com.casic.xz.meterage.utils.LocaleConstant
+import com.casic.xz.meterage.vm.NoticeViewModel
import com.casic.xz.meterage.vm.UserViewModel
import com.pengxh.kt.lite.base.KotlinBaseFragment
import com.pengxh.kt.lite.utils.SaveKeyValues
@@ -21,6 +23,24 @@
userUnitView.text = data.deptName
}
})
+
+ val noticeViewModel = ViewModelProvider(this)[NoticeViewModel::class.java]
+ noticeViewModel.getNoticeList("", "", "", "", "", 1)
+ noticeViewModel.noticeResult.observe(this, {
+ if (it.code == 200) {
+ val total = it.data.total
+ if (total.toString() == "") {
+ noticeCountView.visibility = View.GONE
+ } else {
+ noticeCountView.visibility = View.VISIBLE
+ if (total <= 9) {
+ noticeCountView.text = total.toString()
+ } else {
+ noticeCountView.text = "9+"
+ }
+ }
+ }
+ })
}
override fun initEvent() {
diff --git a/app/src/main/java/com/casic/xz/meterage/model/NoticeListModel.java b/app/src/main/java/com/casic/xz/meterage/model/NoticeListModel.java
new file mode 100644
index 0000000..ce9ae03
--- /dev/null
+++ b/app/src/main/java/com/casic/xz/meterage/model/NoticeListModel.java
@@ -0,0 +1,166 @@
+package com.casic.xz.meterage.model;
+
+import java.util.List;
+
+public class NoticeListModel {
+
+ private int code;
+ private DataModel data;
+ private String message;
+
+ public int getCode() {
+ return code;
+ }
+
+ public void setCode(int code) {
+ this.code = code;
+ }
+
+ public DataModel getData() {
+ return data;
+ }
+
+ public void setData(DataModel data) {
+ this.data = data;
+ }
+
+ public String getMessage() {
+ return message;
+ }
+
+ public void setMessage(String message) {
+ this.message = message;
+ }
+
+ public static class DataModel {
+ private List rows;
+ private int total;
+
+ public List getRows() {
+ return rows;
+ }
+
+ public void setRows(List rows) {
+ this.rows = rows;
+ }
+
+ public int getTotal() {
+ return total;
+ }
+
+ public void setTotal(int total) {
+ this.total = total;
+ }
+
+ public static class RowsModel {
+ private String createTime;
+ private String id;
+ private int isDel;
+ private String minioFileName;
+ private String noticeCompany;
+ private String noticeContent;
+ private String noticeNo;
+ private String noticePublisher;
+ private String noticeSketch;
+ private String noticeTime;
+ private String noticeTitle;
+ private String updateTime;
+
+ public String getCreateTime() {
+ return createTime;
+ }
+
+ public void setCreateTime(String createTime) {
+ this.createTime = createTime;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public int getIsDel() {
+ return isDel;
+ }
+
+ public void setIsDel(int isDel) {
+ this.isDel = isDel;
+ }
+
+ public String getMinioFileName() {
+ return minioFileName;
+ }
+
+ public void setMinioFileName(String minioFileName) {
+ this.minioFileName = minioFileName;
+ }
+
+ public String getNoticeCompany() {
+ return noticeCompany;
+ }
+
+ public void setNoticeCompany(String noticeCompany) {
+ this.noticeCompany = noticeCompany;
+ }
+
+ public String getNoticeContent() {
+ return noticeContent;
+ }
+
+ public void setNoticeContent(String noticeContent) {
+ this.noticeContent = noticeContent;
+ }
+
+ public String getNoticeNo() {
+ return noticeNo;
+ }
+
+ public void setNoticeNo(String noticeNo) {
+ this.noticeNo = noticeNo;
+ }
+
+ public String getNoticePublisher() {
+ return noticePublisher;
+ }
+
+ public void setNoticePublisher(String noticePublisher) {
+ this.noticePublisher = noticePublisher;
+ }
+
+ public String getNoticeSketch() {
+ return noticeSketch;
+ }
+
+ public void setNoticeSketch(String noticeSketch) {
+ this.noticeSketch = noticeSketch;
+ }
+
+ public String getNoticeTime() {
+ return noticeTime;
+ }
+
+ public void setNoticeTime(String noticeTime) {
+ this.noticeTime = noticeTime;
+ }
+
+ public String getNoticeTitle() {
+ return noticeTitle;
+ }
+
+ public void setNoticeTitle(String noticeTitle) {
+ this.noticeTitle = noticeTitle;
+ }
+
+ public String getUpdateTime() {
+ return updateTime;
+ }
+
+ public void setUpdateTime(String updateTime) {
+ this.updateTime = updateTime;
+ }
+ }
+ }
+}
diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt
index b762c4a..a3f514f 100644
--- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt
+++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt
@@ -24,4 +24,15 @@
@Header("token") token: String,
@Query("account") account: String
): String
+
+ /**
+ * 获取通知公告列表
+ */
+ @POST("/system/notice/listPage")
+ suspend fun getNoticeList(
+ @Header("token") token: String,
+ @Body requestBody: RequestBody,
+ @QueryMap limit: Map,
+ @QueryMap offset: Map
+ ): String
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt
index 702e6bc..444a872 100644
--- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt
+++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt
@@ -44,4 +44,33 @@
suspend fun getUserInfo(account: String): String {
return api.getUserInfo(AuthenticationHelper.token!!, account)
}
+
+ /**
+ * 获取通知公告列表
+ */
+ suspend fun getNoticeList(
+ noticeNo: String,
+ noticeTitle: String,
+ noticePublisher: String,
+ noticeStartTime: String,
+ noticeEndTime: String,
+ offset: Int
+ ): String {
+ val paramObject = JSONObject()
+ paramObject.put("noticeNo", noticeNo)
+ paramObject.put("noticeTitle", noticeTitle)
+ paramObject.put("noticePublisher", noticePublisher)
+ paramObject.put("noticeStartTime", noticeStartTime)
+ paramObject.put("noticeEndTime", noticeEndTime)
+ val requestBody = paramObject.toString().toRequestBody(
+ "application/json;charset=UTF-8".toMediaType()
+ )
+
+ val limitMap = HashMap()
+ limitMap["limit"] = LocaleConstant.PAGE_LIMIT
+
+ val offsetMap = HashMap()
+ offsetMap["offset"] = offset
+ return api.getNoticeList(AuthenticationHelper.token!!, requestBody, limitMap, offsetMap)
+ }
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/xz/meterage/view/NoticeListActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/NoticeListActivity.kt
new file mode 100644
index 0000000..6dde53b
--- /dev/null
+++ b/app/src/main/java/com/casic/xz/meterage/view/NoticeListActivity.kt
@@ -0,0 +1,29 @@
+package com.casic.xz.meterage.view
+
+import androidx.lifecycle.ViewModelProvider
+import com.casic.xz.meterage.R
+import com.casic.xz.meterage.vm.NoticeViewModel
+import com.pengxh.kt.lite.base.KotlinBaseActivity
+
+class NoticeListActivity : KotlinBaseActivity() {
+
+ private lateinit var noticeViewModel: NoticeViewModel
+
+ override fun initData() {
+ noticeViewModel = ViewModelProvider(this)[NoticeViewModel::class.java]
+ }
+
+ override fun initEvent() {
+
+ }
+
+ override fun initLayoutView(): Int = R.layout.activity_notice_list
+
+ override fun observeRequestState() {
+
+ }
+
+ override fun setupTopBarLayout() {
+
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/xz/meterage/vm/NoticeViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/NoticeViewModel.kt
new file mode 100644
index 0000000..e25348a
--- /dev/null
+++ b/app/src/main/java/com/casic/xz/meterage/vm/NoticeViewModel.kt
@@ -0,0 +1,42 @@
+package com.casic.xz.meterage.vm
+
+import androidx.lifecycle.MutableLiveData
+import com.casic.xz.meterage.extensions.separateResponseCode
+import com.casic.xz.meterage.model.NoticeListModel
+import com.casic.xz.meterage.utils.retrofit.RetrofitServiceManager
+import com.google.gson.Gson
+import com.google.gson.reflect.TypeToken
+import com.pengxh.kt.lite.extensions.launch
+import com.pengxh.kt.lite.vm.BaseViewModel
+
+class NoticeViewModel : BaseViewModel() {
+
+ private val gson by lazy { Gson() }
+ val noticeResult = MutableLiveData()
+
+ fun getNoticeList(
+ noticeNo: String,
+ noticeTitle: String,
+ noticePublisher: String,
+ noticeStartTime: String,
+ noticeEndTime: String,
+ offset: Int
+ ) = launch({
+ val response = RetrofitServiceManager.getNoticeList(
+ noticeNo,
+ noticeTitle,
+ noticePublisher,
+ noticeStartTime,
+ noticeEndTime,
+ offset
+ )
+ val responseCode = response.separateResponseCode()
+ if (responseCode == 200) {
+ noticeResult.value = gson.fromJson(
+ response, object : TypeToken() {}.type
+ )
+ }
+ }, {
+ it.printStackTrace()
+ })
+}
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_text_view_red_radius_10.xml b/app/src/main/res/drawable/bg_text_view_red_radius_10.xml
new file mode 100644
index 0000000..8017b3b
--- /dev/null
+++ b/app/src/main/res/drawable/bg_text_view_red_radius_10.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_notice_list.xml b/app/src/main/res/layout/activity_notice_list.xml
new file mode 100644
index 0000000..41d2ef1
--- /dev/null
+++ b/app/src/main/res/layout/activity_notice_list.xml
@@ -0,0 +1,6 @@
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 1c93a4b..97c55c3 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -36,6 +36,7 @@
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt
index f78b3a2..9b5faf6 100644
--- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt
+++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt
@@ -1,14 +1,35 @@
package com.casic.xz.meterage.fragment
+import android.view.View
+import androidx.lifecycle.ViewModelProvider
import com.casic.xz.meterage.R
import com.casic.xz.meterage.adapter.HomeGridAdapter
import com.casic.xz.meterage.utils.LocaleConstant
+import com.casic.xz.meterage.vm.NoticeViewModel
import com.pengxh.kt.lite.base.KotlinBaseFragment
import kotlinx.android.synthetic.main.fragment_home.*
class HomePageFragment : KotlinBaseFragment() {
override fun initData() {
+ val noticeViewModel = ViewModelProvider(this)[NoticeViewModel::class.java]
+ noticeViewModel.getNoticeList("", "", "", "", "", 1)
+ noticeViewModel.noticeResult.observe(this, {
+ if (it.code == 200) {
+ val total = it.data.total
+ if (total.toString() == "") {
+ noticeCountView.visibility = View.GONE
+ } else {
+ noticeCountView.visibility = View.VISIBLE
+ if (total <= 9) {
+ noticeCountView.text = total.toString()
+ } else {
+ noticeCountView.text = "9+"
+ }
+ }
+ }
+ })
+
val homeAdapter = HomeGridAdapter(requireContext(), LocaleConstant.HOME_FUNC_OPERATE)
homeFuncRecyclerView.adapter = homeAdapter
homeAdapter.setOnGridItemClickListener(object : HomeGridAdapter.OnGridItemClickListener {
diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/MinePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/MinePageFragment.kt
index fbd0cf1..aaeb9df 100644
--- a/app/src/main/java/com/casic/xz/meterage/fragment/MinePageFragment.kt
+++ b/app/src/main/java/com/casic/xz/meterage/fragment/MinePageFragment.kt
@@ -1,8 +1,10 @@
package com.casic.xz.meterage.fragment
+import android.view.View
import androidx.lifecycle.ViewModelProvider
import com.casic.xz.meterage.R
import com.casic.xz.meterage.utils.LocaleConstant
+import com.casic.xz.meterage.vm.NoticeViewModel
import com.casic.xz.meterage.vm.UserViewModel
import com.pengxh.kt.lite.base.KotlinBaseFragment
import com.pengxh.kt.lite.utils.SaveKeyValues
@@ -21,6 +23,24 @@
userUnitView.text = data.deptName
}
})
+
+ val noticeViewModel = ViewModelProvider(this)[NoticeViewModel::class.java]
+ noticeViewModel.getNoticeList("", "", "", "", "", 1)
+ noticeViewModel.noticeResult.observe(this, {
+ if (it.code == 200) {
+ val total = it.data.total
+ if (total.toString() == "") {
+ noticeCountView.visibility = View.GONE
+ } else {
+ noticeCountView.visibility = View.VISIBLE
+ if (total <= 9) {
+ noticeCountView.text = total.toString()
+ } else {
+ noticeCountView.text = "9+"
+ }
+ }
+ }
+ })
}
override fun initEvent() {
diff --git a/app/src/main/java/com/casic/xz/meterage/model/NoticeListModel.java b/app/src/main/java/com/casic/xz/meterage/model/NoticeListModel.java
new file mode 100644
index 0000000..ce9ae03
--- /dev/null
+++ b/app/src/main/java/com/casic/xz/meterage/model/NoticeListModel.java
@@ -0,0 +1,166 @@
+package com.casic.xz.meterage.model;
+
+import java.util.List;
+
+public class NoticeListModel {
+
+ private int code;
+ private DataModel data;
+ private String message;
+
+ public int getCode() {
+ return code;
+ }
+
+ public void setCode(int code) {
+ this.code = code;
+ }
+
+ public DataModel getData() {
+ return data;
+ }
+
+ public void setData(DataModel data) {
+ this.data = data;
+ }
+
+ public String getMessage() {
+ return message;
+ }
+
+ public void setMessage(String message) {
+ this.message = message;
+ }
+
+ public static class DataModel {
+ private List rows;
+ private int total;
+
+ public List getRows() {
+ return rows;
+ }
+
+ public void setRows(List rows) {
+ this.rows = rows;
+ }
+
+ public int getTotal() {
+ return total;
+ }
+
+ public void setTotal(int total) {
+ this.total = total;
+ }
+
+ public static class RowsModel {
+ private String createTime;
+ private String id;
+ private int isDel;
+ private String minioFileName;
+ private String noticeCompany;
+ private String noticeContent;
+ private String noticeNo;
+ private String noticePublisher;
+ private String noticeSketch;
+ private String noticeTime;
+ private String noticeTitle;
+ private String updateTime;
+
+ public String getCreateTime() {
+ return createTime;
+ }
+
+ public void setCreateTime(String createTime) {
+ this.createTime = createTime;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public int getIsDel() {
+ return isDel;
+ }
+
+ public void setIsDel(int isDel) {
+ this.isDel = isDel;
+ }
+
+ public String getMinioFileName() {
+ return minioFileName;
+ }
+
+ public void setMinioFileName(String minioFileName) {
+ this.minioFileName = minioFileName;
+ }
+
+ public String getNoticeCompany() {
+ return noticeCompany;
+ }
+
+ public void setNoticeCompany(String noticeCompany) {
+ this.noticeCompany = noticeCompany;
+ }
+
+ public String getNoticeContent() {
+ return noticeContent;
+ }
+
+ public void setNoticeContent(String noticeContent) {
+ this.noticeContent = noticeContent;
+ }
+
+ public String getNoticeNo() {
+ return noticeNo;
+ }
+
+ public void setNoticeNo(String noticeNo) {
+ this.noticeNo = noticeNo;
+ }
+
+ public String getNoticePublisher() {
+ return noticePublisher;
+ }
+
+ public void setNoticePublisher(String noticePublisher) {
+ this.noticePublisher = noticePublisher;
+ }
+
+ public String getNoticeSketch() {
+ return noticeSketch;
+ }
+
+ public void setNoticeSketch(String noticeSketch) {
+ this.noticeSketch = noticeSketch;
+ }
+
+ public String getNoticeTime() {
+ return noticeTime;
+ }
+
+ public void setNoticeTime(String noticeTime) {
+ this.noticeTime = noticeTime;
+ }
+
+ public String getNoticeTitle() {
+ return noticeTitle;
+ }
+
+ public void setNoticeTitle(String noticeTitle) {
+ this.noticeTitle = noticeTitle;
+ }
+
+ public String getUpdateTime() {
+ return updateTime;
+ }
+
+ public void setUpdateTime(String updateTime) {
+ this.updateTime = updateTime;
+ }
+ }
+ }
+}
diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt
index b762c4a..a3f514f 100644
--- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt
+++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt
@@ -24,4 +24,15 @@
@Header("token") token: String,
@Query("account") account: String
): String
+
+ /**
+ * 获取通知公告列表
+ */
+ @POST("/system/notice/listPage")
+ suspend fun getNoticeList(
+ @Header("token") token: String,
+ @Body requestBody: RequestBody,
+ @QueryMap limit: Map,
+ @QueryMap offset: Map
+ ): String
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt
index 702e6bc..444a872 100644
--- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt
+++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt
@@ -44,4 +44,33 @@
suspend fun getUserInfo(account: String): String {
return api.getUserInfo(AuthenticationHelper.token!!, account)
}
+
+ /**
+ * 获取通知公告列表
+ */
+ suspend fun getNoticeList(
+ noticeNo: String,
+ noticeTitle: String,
+ noticePublisher: String,
+ noticeStartTime: String,
+ noticeEndTime: String,
+ offset: Int
+ ): String {
+ val paramObject = JSONObject()
+ paramObject.put("noticeNo", noticeNo)
+ paramObject.put("noticeTitle", noticeTitle)
+ paramObject.put("noticePublisher", noticePublisher)
+ paramObject.put("noticeStartTime", noticeStartTime)
+ paramObject.put("noticeEndTime", noticeEndTime)
+ val requestBody = paramObject.toString().toRequestBody(
+ "application/json;charset=UTF-8".toMediaType()
+ )
+
+ val limitMap = HashMap()
+ limitMap["limit"] = LocaleConstant.PAGE_LIMIT
+
+ val offsetMap = HashMap()
+ offsetMap["offset"] = offset
+ return api.getNoticeList(AuthenticationHelper.token!!, requestBody, limitMap, offsetMap)
+ }
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/xz/meterage/view/NoticeListActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/NoticeListActivity.kt
new file mode 100644
index 0000000..6dde53b
--- /dev/null
+++ b/app/src/main/java/com/casic/xz/meterage/view/NoticeListActivity.kt
@@ -0,0 +1,29 @@
+package com.casic.xz.meterage.view
+
+import androidx.lifecycle.ViewModelProvider
+import com.casic.xz.meterage.R
+import com.casic.xz.meterage.vm.NoticeViewModel
+import com.pengxh.kt.lite.base.KotlinBaseActivity
+
+class NoticeListActivity : KotlinBaseActivity() {
+
+ private lateinit var noticeViewModel: NoticeViewModel
+
+ override fun initData() {
+ noticeViewModel = ViewModelProvider(this)[NoticeViewModel::class.java]
+ }
+
+ override fun initEvent() {
+
+ }
+
+ override fun initLayoutView(): Int = R.layout.activity_notice_list
+
+ override fun observeRequestState() {
+
+ }
+
+ override fun setupTopBarLayout() {
+
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/xz/meterage/vm/NoticeViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/NoticeViewModel.kt
new file mode 100644
index 0000000..e25348a
--- /dev/null
+++ b/app/src/main/java/com/casic/xz/meterage/vm/NoticeViewModel.kt
@@ -0,0 +1,42 @@
+package com.casic.xz.meterage.vm
+
+import androidx.lifecycle.MutableLiveData
+import com.casic.xz.meterage.extensions.separateResponseCode
+import com.casic.xz.meterage.model.NoticeListModel
+import com.casic.xz.meterage.utils.retrofit.RetrofitServiceManager
+import com.google.gson.Gson
+import com.google.gson.reflect.TypeToken
+import com.pengxh.kt.lite.extensions.launch
+import com.pengxh.kt.lite.vm.BaseViewModel
+
+class NoticeViewModel : BaseViewModel() {
+
+ private val gson by lazy { Gson() }
+ val noticeResult = MutableLiveData()
+
+ fun getNoticeList(
+ noticeNo: String,
+ noticeTitle: String,
+ noticePublisher: String,
+ noticeStartTime: String,
+ noticeEndTime: String,
+ offset: Int
+ ) = launch({
+ val response = RetrofitServiceManager.getNoticeList(
+ noticeNo,
+ noticeTitle,
+ noticePublisher,
+ noticeStartTime,
+ noticeEndTime,
+ offset
+ )
+ val responseCode = response.separateResponseCode()
+ if (responseCode == 200) {
+ noticeResult.value = gson.fromJson(
+ response, object : TypeToken() {}.type
+ )
+ }
+ }, {
+ it.printStackTrace()
+ })
+}
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_text_view_red_radius_10.xml b/app/src/main/res/drawable/bg_text_view_red_radius_10.xml
new file mode 100644
index 0000000..8017b3b
--- /dev/null
+++ b/app/src/main/res/drawable/bg_text_view_red_radius_10.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_notice_list.xml b/app/src/main/res/layout/activity_notice_list.xml
new file mode 100644
index 0000000..41d2ef1
--- /dev/null
+++ b/app/src/main/res/layout/activity_notice_list.xml
@@ -0,0 +1,6 @@
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_home.xml b/app/src/main/res/layout/fragment_home.xml
index e478dd3..8d76acb 100644
--- a/app/src/main/res/layout/fragment_home.xml
+++ b/app/src/main/res/layout/fragment_home.xml
@@ -43,10 +43,26 @@
android:textSize="@dimen/sp_16" />
-
+ android:layout_height="wrap_content">
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt
index f78b3a2..9b5faf6 100644
--- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt
+++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt
@@ -1,14 +1,35 @@
package com.casic.xz.meterage.fragment
+import android.view.View
+import androidx.lifecycle.ViewModelProvider
import com.casic.xz.meterage.R
import com.casic.xz.meterage.adapter.HomeGridAdapter
import com.casic.xz.meterage.utils.LocaleConstant
+import com.casic.xz.meterage.vm.NoticeViewModel
import com.pengxh.kt.lite.base.KotlinBaseFragment
import kotlinx.android.synthetic.main.fragment_home.*
class HomePageFragment : KotlinBaseFragment() {
override fun initData() {
+ val noticeViewModel = ViewModelProvider(this)[NoticeViewModel::class.java]
+ noticeViewModel.getNoticeList("", "", "", "", "", 1)
+ noticeViewModel.noticeResult.observe(this, {
+ if (it.code == 200) {
+ val total = it.data.total
+ if (total.toString() == "") {
+ noticeCountView.visibility = View.GONE
+ } else {
+ noticeCountView.visibility = View.VISIBLE
+ if (total <= 9) {
+ noticeCountView.text = total.toString()
+ } else {
+ noticeCountView.text = "9+"
+ }
+ }
+ }
+ })
+
val homeAdapter = HomeGridAdapter(requireContext(), LocaleConstant.HOME_FUNC_OPERATE)
homeFuncRecyclerView.adapter = homeAdapter
homeAdapter.setOnGridItemClickListener(object : HomeGridAdapter.OnGridItemClickListener {
diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/MinePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/MinePageFragment.kt
index fbd0cf1..aaeb9df 100644
--- a/app/src/main/java/com/casic/xz/meterage/fragment/MinePageFragment.kt
+++ b/app/src/main/java/com/casic/xz/meterage/fragment/MinePageFragment.kt
@@ -1,8 +1,10 @@
package com.casic.xz.meterage.fragment
+import android.view.View
import androidx.lifecycle.ViewModelProvider
import com.casic.xz.meterage.R
import com.casic.xz.meterage.utils.LocaleConstant
+import com.casic.xz.meterage.vm.NoticeViewModel
import com.casic.xz.meterage.vm.UserViewModel
import com.pengxh.kt.lite.base.KotlinBaseFragment
import com.pengxh.kt.lite.utils.SaveKeyValues
@@ -21,6 +23,24 @@
userUnitView.text = data.deptName
}
})
+
+ val noticeViewModel = ViewModelProvider(this)[NoticeViewModel::class.java]
+ noticeViewModel.getNoticeList("", "", "", "", "", 1)
+ noticeViewModel.noticeResult.observe(this, {
+ if (it.code == 200) {
+ val total = it.data.total
+ if (total.toString() == "") {
+ noticeCountView.visibility = View.GONE
+ } else {
+ noticeCountView.visibility = View.VISIBLE
+ if (total <= 9) {
+ noticeCountView.text = total.toString()
+ } else {
+ noticeCountView.text = "9+"
+ }
+ }
+ }
+ })
}
override fun initEvent() {
diff --git a/app/src/main/java/com/casic/xz/meterage/model/NoticeListModel.java b/app/src/main/java/com/casic/xz/meterage/model/NoticeListModel.java
new file mode 100644
index 0000000..ce9ae03
--- /dev/null
+++ b/app/src/main/java/com/casic/xz/meterage/model/NoticeListModel.java
@@ -0,0 +1,166 @@
+package com.casic.xz.meterage.model;
+
+import java.util.List;
+
+public class NoticeListModel {
+
+ private int code;
+ private DataModel data;
+ private String message;
+
+ public int getCode() {
+ return code;
+ }
+
+ public void setCode(int code) {
+ this.code = code;
+ }
+
+ public DataModel getData() {
+ return data;
+ }
+
+ public void setData(DataModel data) {
+ this.data = data;
+ }
+
+ public String getMessage() {
+ return message;
+ }
+
+ public void setMessage(String message) {
+ this.message = message;
+ }
+
+ public static class DataModel {
+ private List rows;
+ private int total;
+
+ public List getRows() {
+ return rows;
+ }
+
+ public void setRows(List rows) {
+ this.rows = rows;
+ }
+
+ public int getTotal() {
+ return total;
+ }
+
+ public void setTotal(int total) {
+ this.total = total;
+ }
+
+ public static class RowsModel {
+ private String createTime;
+ private String id;
+ private int isDel;
+ private String minioFileName;
+ private String noticeCompany;
+ private String noticeContent;
+ private String noticeNo;
+ private String noticePublisher;
+ private String noticeSketch;
+ private String noticeTime;
+ private String noticeTitle;
+ private String updateTime;
+
+ public String getCreateTime() {
+ return createTime;
+ }
+
+ public void setCreateTime(String createTime) {
+ this.createTime = createTime;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public int getIsDel() {
+ return isDel;
+ }
+
+ public void setIsDel(int isDel) {
+ this.isDel = isDel;
+ }
+
+ public String getMinioFileName() {
+ return minioFileName;
+ }
+
+ public void setMinioFileName(String minioFileName) {
+ this.minioFileName = minioFileName;
+ }
+
+ public String getNoticeCompany() {
+ return noticeCompany;
+ }
+
+ public void setNoticeCompany(String noticeCompany) {
+ this.noticeCompany = noticeCompany;
+ }
+
+ public String getNoticeContent() {
+ return noticeContent;
+ }
+
+ public void setNoticeContent(String noticeContent) {
+ this.noticeContent = noticeContent;
+ }
+
+ public String getNoticeNo() {
+ return noticeNo;
+ }
+
+ public void setNoticeNo(String noticeNo) {
+ this.noticeNo = noticeNo;
+ }
+
+ public String getNoticePublisher() {
+ return noticePublisher;
+ }
+
+ public void setNoticePublisher(String noticePublisher) {
+ this.noticePublisher = noticePublisher;
+ }
+
+ public String getNoticeSketch() {
+ return noticeSketch;
+ }
+
+ public void setNoticeSketch(String noticeSketch) {
+ this.noticeSketch = noticeSketch;
+ }
+
+ public String getNoticeTime() {
+ return noticeTime;
+ }
+
+ public void setNoticeTime(String noticeTime) {
+ this.noticeTime = noticeTime;
+ }
+
+ public String getNoticeTitle() {
+ return noticeTitle;
+ }
+
+ public void setNoticeTitle(String noticeTitle) {
+ this.noticeTitle = noticeTitle;
+ }
+
+ public String getUpdateTime() {
+ return updateTime;
+ }
+
+ public void setUpdateTime(String updateTime) {
+ this.updateTime = updateTime;
+ }
+ }
+ }
+}
diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt
index b762c4a..a3f514f 100644
--- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt
+++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt
@@ -24,4 +24,15 @@
@Header("token") token: String,
@Query("account") account: String
): String
+
+ /**
+ * 获取通知公告列表
+ */
+ @POST("/system/notice/listPage")
+ suspend fun getNoticeList(
+ @Header("token") token: String,
+ @Body requestBody: RequestBody,
+ @QueryMap limit: Map,
+ @QueryMap offset: Map
+ ): String
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt
index 702e6bc..444a872 100644
--- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt
+++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt
@@ -44,4 +44,33 @@
suspend fun getUserInfo(account: String): String {
return api.getUserInfo(AuthenticationHelper.token!!, account)
}
+
+ /**
+ * 获取通知公告列表
+ */
+ suspend fun getNoticeList(
+ noticeNo: String,
+ noticeTitle: String,
+ noticePublisher: String,
+ noticeStartTime: String,
+ noticeEndTime: String,
+ offset: Int
+ ): String {
+ val paramObject = JSONObject()
+ paramObject.put("noticeNo", noticeNo)
+ paramObject.put("noticeTitle", noticeTitle)
+ paramObject.put("noticePublisher", noticePublisher)
+ paramObject.put("noticeStartTime", noticeStartTime)
+ paramObject.put("noticeEndTime", noticeEndTime)
+ val requestBody = paramObject.toString().toRequestBody(
+ "application/json;charset=UTF-8".toMediaType()
+ )
+
+ val limitMap = HashMap()
+ limitMap["limit"] = LocaleConstant.PAGE_LIMIT
+
+ val offsetMap = HashMap()
+ offsetMap["offset"] = offset
+ return api.getNoticeList(AuthenticationHelper.token!!, requestBody, limitMap, offsetMap)
+ }
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/xz/meterage/view/NoticeListActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/NoticeListActivity.kt
new file mode 100644
index 0000000..6dde53b
--- /dev/null
+++ b/app/src/main/java/com/casic/xz/meterage/view/NoticeListActivity.kt
@@ -0,0 +1,29 @@
+package com.casic.xz.meterage.view
+
+import androidx.lifecycle.ViewModelProvider
+import com.casic.xz.meterage.R
+import com.casic.xz.meterage.vm.NoticeViewModel
+import com.pengxh.kt.lite.base.KotlinBaseActivity
+
+class NoticeListActivity : KotlinBaseActivity() {
+
+ private lateinit var noticeViewModel: NoticeViewModel
+
+ override fun initData() {
+ noticeViewModel = ViewModelProvider(this)[NoticeViewModel::class.java]
+ }
+
+ override fun initEvent() {
+
+ }
+
+ override fun initLayoutView(): Int = R.layout.activity_notice_list
+
+ override fun observeRequestState() {
+
+ }
+
+ override fun setupTopBarLayout() {
+
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/xz/meterage/vm/NoticeViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/NoticeViewModel.kt
new file mode 100644
index 0000000..e25348a
--- /dev/null
+++ b/app/src/main/java/com/casic/xz/meterage/vm/NoticeViewModel.kt
@@ -0,0 +1,42 @@
+package com.casic.xz.meterage.vm
+
+import androidx.lifecycle.MutableLiveData
+import com.casic.xz.meterage.extensions.separateResponseCode
+import com.casic.xz.meterage.model.NoticeListModel
+import com.casic.xz.meterage.utils.retrofit.RetrofitServiceManager
+import com.google.gson.Gson
+import com.google.gson.reflect.TypeToken
+import com.pengxh.kt.lite.extensions.launch
+import com.pengxh.kt.lite.vm.BaseViewModel
+
+class NoticeViewModel : BaseViewModel() {
+
+ private val gson by lazy { Gson() }
+ val noticeResult = MutableLiveData()
+
+ fun getNoticeList(
+ noticeNo: String,
+ noticeTitle: String,
+ noticePublisher: String,
+ noticeStartTime: String,
+ noticeEndTime: String,
+ offset: Int
+ ) = launch({
+ val response = RetrofitServiceManager.getNoticeList(
+ noticeNo,
+ noticeTitle,
+ noticePublisher,
+ noticeStartTime,
+ noticeEndTime,
+ offset
+ )
+ val responseCode = response.separateResponseCode()
+ if (responseCode == 200) {
+ noticeResult.value = gson.fromJson(
+ response, object : TypeToken() {}.type
+ )
+ }
+ }, {
+ it.printStackTrace()
+ })
+}
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_text_view_red_radius_10.xml b/app/src/main/res/drawable/bg_text_view_red_radius_10.xml
new file mode 100644
index 0000000..8017b3b
--- /dev/null
+++ b/app/src/main/res/drawable/bg_text_view_red_radius_10.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_notice_list.xml b/app/src/main/res/layout/activity_notice_list.xml
new file mode 100644
index 0000000..41d2ef1
--- /dev/null
+++ b/app/src/main/res/layout/activity_notice_list.xml
@@ -0,0 +1,6 @@
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_home.xml b/app/src/main/res/layout/fragment_home.xml
index e478dd3..8d76acb 100644
--- a/app/src/main/res/layout/fragment_home.xml
+++ b/app/src/main/res/layout/fragment_home.xml
@@ -43,10 +43,26 @@
android:textSize="@dimen/sp_16" />
-
+ android:layout_height="wrap_content">
+
+
+
+
+
-
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content">
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt
index f78b3a2..9b5faf6 100644
--- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt
+++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt
@@ -1,14 +1,35 @@
package com.casic.xz.meterage.fragment
+import android.view.View
+import androidx.lifecycle.ViewModelProvider
import com.casic.xz.meterage.R
import com.casic.xz.meterage.adapter.HomeGridAdapter
import com.casic.xz.meterage.utils.LocaleConstant
+import com.casic.xz.meterage.vm.NoticeViewModel
import com.pengxh.kt.lite.base.KotlinBaseFragment
import kotlinx.android.synthetic.main.fragment_home.*
class HomePageFragment : KotlinBaseFragment() {
override fun initData() {
+ val noticeViewModel = ViewModelProvider(this)[NoticeViewModel::class.java]
+ noticeViewModel.getNoticeList("", "", "", "", "", 1)
+ noticeViewModel.noticeResult.observe(this, {
+ if (it.code == 200) {
+ val total = it.data.total
+ if (total.toString() == "") {
+ noticeCountView.visibility = View.GONE
+ } else {
+ noticeCountView.visibility = View.VISIBLE
+ if (total <= 9) {
+ noticeCountView.text = total.toString()
+ } else {
+ noticeCountView.text = "9+"
+ }
+ }
+ }
+ })
+
val homeAdapter = HomeGridAdapter(requireContext(), LocaleConstant.HOME_FUNC_OPERATE)
homeFuncRecyclerView.adapter = homeAdapter
homeAdapter.setOnGridItemClickListener(object : HomeGridAdapter.OnGridItemClickListener {
diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/MinePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/MinePageFragment.kt
index fbd0cf1..aaeb9df 100644
--- a/app/src/main/java/com/casic/xz/meterage/fragment/MinePageFragment.kt
+++ b/app/src/main/java/com/casic/xz/meterage/fragment/MinePageFragment.kt
@@ -1,8 +1,10 @@
package com.casic.xz.meterage.fragment
+import android.view.View
import androidx.lifecycle.ViewModelProvider
import com.casic.xz.meterage.R
import com.casic.xz.meterage.utils.LocaleConstant
+import com.casic.xz.meterage.vm.NoticeViewModel
import com.casic.xz.meterage.vm.UserViewModel
import com.pengxh.kt.lite.base.KotlinBaseFragment
import com.pengxh.kt.lite.utils.SaveKeyValues
@@ -21,6 +23,24 @@
userUnitView.text = data.deptName
}
})
+
+ val noticeViewModel = ViewModelProvider(this)[NoticeViewModel::class.java]
+ noticeViewModel.getNoticeList("", "", "", "", "", 1)
+ noticeViewModel.noticeResult.observe(this, {
+ if (it.code == 200) {
+ val total = it.data.total
+ if (total.toString() == "") {
+ noticeCountView.visibility = View.GONE
+ } else {
+ noticeCountView.visibility = View.VISIBLE
+ if (total <= 9) {
+ noticeCountView.text = total.toString()
+ } else {
+ noticeCountView.text = "9+"
+ }
+ }
+ }
+ })
}
override fun initEvent() {
diff --git a/app/src/main/java/com/casic/xz/meterage/model/NoticeListModel.java b/app/src/main/java/com/casic/xz/meterage/model/NoticeListModel.java
new file mode 100644
index 0000000..ce9ae03
--- /dev/null
+++ b/app/src/main/java/com/casic/xz/meterage/model/NoticeListModel.java
@@ -0,0 +1,166 @@
+package com.casic.xz.meterage.model;
+
+import java.util.List;
+
+public class NoticeListModel {
+
+ private int code;
+ private DataModel data;
+ private String message;
+
+ public int getCode() {
+ return code;
+ }
+
+ public void setCode(int code) {
+ this.code = code;
+ }
+
+ public DataModel getData() {
+ return data;
+ }
+
+ public void setData(DataModel data) {
+ this.data = data;
+ }
+
+ public String getMessage() {
+ return message;
+ }
+
+ public void setMessage(String message) {
+ this.message = message;
+ }
+
+ public static class DataModel {
+ private List rows;
+ private int total;
+
+ public List getRows() {
+ return rows;
+ }
+
+ public void setRows(List rows) {
+ this.rows = rows;
+ }
+
+ public int getTotal() {
+ return total;
+ }
+
+ public void setTotal(int total) {
+ this.total = total;
+ }
+
+ public static class RowsModel {
+ private String createTime;
+ private String id;
+ private int isDel;
+ private String minioFileName;
+ private String noticeCompany;
+ private String noticeContent;
+ private String noticeNo;
+ private String noticePublisher;
+ private String noticeSketch;
+ private String noticeTime;
+ private String noticeTitle;
+ private String updateTime;
+
+ public String getCreateTime() {
+ return createTime;
+ }
+
+ public void setCreateTime(String createTime) {
+ this.createTime = createTime;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public int getIsDel() {
+ return isDel;
+ }
+
+ public void setIsDel(int isDel) {
+ this.isDel = isDel;
+ }
+
+ public String getMinioFileName() {
+ return minioFileName;
+ }
+
+ public void setMinioFileName(String minioFileName) {
+ this.minioFileName = minioFileName;
+ }
+
+ public String getNoticeCompany() {
+ return noticeCompany;
+ }
+
+ public void setNoticeCompany(String noticeCompany) {
+ this.noticeCompany = noticeCompany;
+ }
+
+ public String getNoticeContent() {
+ return noticeContent;
+ }
+
+ public void setNoticeContent(String noticeContent) {
+ this.noticeContent = noticeContent;
+ }
+
+ public String getNoticeNo() {
+ return noticeNo;
+ }
+
+ public void setNoticeNo(String noticeNo) {
+ this.noticeNo = noticeNo;
+ }
+
+ public String getNoticePublisher() {
+ return noticePublisher;
+ }
+
+ public void setNoticePublisher(String noticePublisher) {
+ this.noticePublisher = noticePublisher;
+ }
+
+ public String getNoticeSketch() {
+ return noticeSketch;
+ }
+
+ public void setNoticeSketch(String noticeSketch) {
+ this.noticeSketch = noticeSketch;
+ }
+
+ public String getNoticeTime() {
+ return noticeTime;
+ }
+
+ public void setNoticeTime(String noticeTime) {
+ this.noticeTime = noticeTime;
+ }
+
+ public String getNoticeTitle() {
+ return noticeTitle;
+ }
+
+ public void setNoticeTitle(String noticeTitle) {
+ this.noticeTitle = noticeTitle;
+ }
+
+ public String getUpdateTime() {
+ return updateTime;
+ }
+
+ public void setUpdateTime(String updateTime) {
+ this.updateTime = updateTime;
+ }
+ }
+ }
+}
diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt
index b762c4a..a3f514f 100644
--- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt
+++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt
@@ -24,4 +24,15 @@
@Header("token") token: String,
@Query("account") account: String
): String
+
+ /**
+ * 获取通知公告列表
+ */
+ @POST("/system/notice/listPage")
+ suspend fun getNoticeList(
+ @Header("token") token: String,
+ @Body requestBody: RequestBody,
+ @QueryMap limit: Map,
+ @QueryMap offset: Map
+ ): String
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt
index 702e6bc..444a872 100644
--- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt
+++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt
@@ -44,4 +44,33 @@
suspend fun getUserInfo(account: String): String {
return api.getUserInfo(AuthenticationHelper.token!!, account)
}
+
+ /**
+ * 获取通知公告列表
+ */
+ suspend fun getNoticeList(
+ noticeNo: String,
+ noticeTitle: String,
+ noticePublisher: String,
+ noticeStartTime: String,
+ noticeEndTime: String,
+ offset: Int
+ ): String {
+ val paramObject = JSONObject()
+ paramObject.put("noticeNo", noticeNo)
+ paramObject.put("noticeTitle", noticeTitle)
+ paramObject.put("noticePublisher", noticePublisher)
+ paramObject.put("noticeStartTime", noticeStartTime)
+ paramObject.put("noticeEndTime", noticeEndTime)
+ val requestBody = paramObject.toString().toRequestBody(
+ "application/json;charset=UTF-8".toMediaType()
+ )
+
+ val limitMap = HashMap()
+ limitMap["limit"] = LocaleConstant.PAGE_LIMIT
+
+ val offsetMap = HashMap()
+ offsetMap["offset"] = offset
+ return api.getNoticeList(AuthenticationHelper.token!!, requestBody, limitMap, offsetMap)
+ }
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/xz/meterage/view/NoticeListActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/NoticeListActivity.kt
new file mode 100644
index 0000000..6dde53b
--- /dev/null
+++ b/app/src/main/java/com/casic/xz/meterage/view/NoticeListActivity.kt
@@ -0,0 +1,29 @@
+package com.casic.xz.meterage.view
+
+import androidx.lifecycle.ViewModelProvider
+import com.casic.xz.meterage.R
+import com.casic.xz.meterage.vm.NoticeViewModel
+import com.pengxh.kt.lite.base.KotlinBaseActivity
+
+class NoticeListActivity : KotlinBaseActivity() {
+
+ private lateinit var noticeViewModel: NoticeViewModel
+
+ override fun initData() {
+ noticeViewModel = ViewModelProvider(this)[NoticeViewModel::class.java]
+ }
+
+ override fun initEvent() {
+
+ }
+
+ override fun initLayoutView(): Int = R.layout.activity_notice_list
+
+ override fun observeRequestState() {
+
+ }
+
+ override fun setupTopBarLayout() {
+
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/xz/meterage/vm/NoticeViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/NoticeViewModel.kt
new file mode 100644
index 0000000..e25348a
--- /dev/null
+++ b/app/src/main/java/com/casic/xz/meterage/vm/NoticeViewModel.kt
@@ -0,0 +1,42 @@
+package com.casic.xz.meterage.vm
+
+import androidx.lifecycle.MutableLiveData
+import com.casic.xz.meterage.extensions.separateResponseCode
+import com.casic.xz.meterage.model.NoticeListModel
+import com.casic.xz.meterage.utils.retrofit.RetrofitServiceManager
+import com.google.gson.Gson
+import com.google.gson.reflect.TypeToken
+import com.pengxh.kt.lite.extensions.launch
+import com.pengxh.kt.lite.vm.BaseViewModel
+
+class NoticeViewModel : BaseViewModel() {
+
+ private val gson by lazy { Gson() }
+ val noticeResult = MutableLiveData()
+
+ fun getNoticeList(
+ noticeNo: String,
+ noticeTitle: String,
+ noticePublisher: String,
+ noticeStartTime: String,
+ noticeEndTime: String,
+ offset: Int
+ ) = launch({
+ val response = RetrofitServiceManager.getNoticeList(
+ noticeNo,
+ noticeTitle,
+ noticePublisher,
+ noticeStartTime,
+ noticeEndTime,
+ offset
+ )
+ val responseCode = response.separateResponseCode()
+ if (responseCode == 200) {
+ noticeResult.value = gson.fromJson(
+ response, object : TypeToken() {}.type
+ )
+ }
+ }, {
+ it.printStackTrace()
+ })
+}
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_text_view_red_radius_10.xml b/app/src/main/res/drawable/bg_text_view_red_radius_10.xml
new file mode 100644
index 0000000..8017b3b
--- /dev/null
+++ b/app/src/main/res/drawable/bg_text_view_red_radius_10.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_notice_list.xml b/app/src/main/res/layout/activity_notice_list.xml
new file mode 100644
index 0000000..41d2ef1
--- /dev/null
+++ b/app/src/main/res/layout/activity_notice_list.xml
@@ -0,0 +1,6 @@
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_home.xml b/app/src/main/res/layout/fragment_home.xml
index e478dd3..8d76acb 100644
--- a/app/src/main/res/layout/fragment_home.xml
+++ b/app/src/main/res/layout/fragment_home.xml
@@ -43,10 +43,26 @@
android:textSize="@dimen/sp_16" />
-
+ android:layout_height="wrap_content">
+
+
+
+
+
-
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content">
+
+
+
+
+
+ 10sp
12sp
14sp
16sp