Commit e17e2be2 authored by shiyl's avatar shiyl

新增新建门店相关逻辑

parent 2e8eac3a
...@@ -7,7 +7,10 @@ class URLs { ...@@ -7,7 +7,10 @@ class URLs {
// 生活圈B端 // 生活圈B端
const val getShopList = "/shop/shop/get_shop_list" const val getShopList = "/shop/shop/get_shop_list"
// 编辑门店
const val updateShop = "/shop/shop/update_shop" const val updateShop = "/shop/shop/update_shop"
// 新建门店
const val addShop = "/shop/shop/add_shop"
const val uploadFile = "/user/user/modify_profile" const val uploadFile = "/user/user/modify_profile"
const val pushTokenAndroid = "/push/token/android" const val pushTokenAndroid = "/push/token/android"
const val authPersonalGetToken = "/Identify/IdOcr/getBizToken" const val authPersonalGetToken = "/Identify/IdOcr/getBizToken"
......
...@@ -4,10 +4,13 @@ import android.webkit.WebChromeClient ...@@ -4,10 +4,13 @@ import android.webkit.WebChromeClient
import android.webkit.WebView import android.webkit.WebView
import androidx.activity.viewModels import androidx.activity.viewModels
import com.google.gson.Gson import com.google.gson.Gson
import com.orhanobut.hawk.Hawk
import com.yidian.common.HawkConfig
import com.yidian.common.XRouterPathConstants import com.yidian.common.XRouterPathConstants
import com.yidian.common.extensions.initTitleBar import com.yidian.common.extensions.initTitleBar
import com.yidian.common.http.HttpResult import com.yidian.common.http.HttpResult
import com.yidian.common.mvvm.BaseMvvmActivity import com.yidian.common.mvvm.BaseMvvmActivity
import com.yidian.news.util.StorageUtils
import com.yidian.shenghuoquan.commodity.R import com.yidian.shenghuoquan.commodity.R
import com.yidian.shenghuoquan.commodity.databinding.CommodityActivityPublishCouponsBinding import com.yidian.shenghuoquan.commodity.databinding.CommodityActivityPublishCouponsBinding
import com.yidian.xarc.xbrid.XBridManager import com.yidian.xarc.xbrid.XBridManager
...@@ -21,8 +24,6 @@ import org.json.JSONObject ...@@ -21,8 +24,6 @@ import org.json.JSONObject
class PublishCouponsActivity : BaseMvvmActivity<CommodityActivityPublishCouponsBinding, PublishCouponsViewModel>(), XPageViewProtocol { class PublishCouponsActivity : BaseMvvmActivity<CommodityActivityPublishCouponsBinding, PublishCouponsViewModel>(), XPageViewProtocol {
private lateinit var webView: XWebView private lateinit var webView: XWebView
private var loadDataFinish = false
private var loadWebViewFinish = false
private var data: HttpResult<Any?>? = null private var data: HttpResult<Any?>? = null
override val layoutId: Int = R.layout.commodity_activity_publish_coupons override val layoutId: Int = R.layout.commodity_activity_publish_coupons
...@@ -45,26 +46,24 @@ class PublishCouponsActivity : BaseMvvmActivity<CommodityActivityPublishCouponsB ...@@ -45,26 +46,24 @@ class PublishCouponsActivity : BaseMvvmActivity<CommodityActivityPublishCouponsB
private fun initWebView() { private fun initWebView() {
webView = XBridManager.getWebView(this, "testidenfier", binding.couponWebView) webView = XBridManager.getWebView(this, "testidenfier", binding.couponWebView)
webView.loadUrl("xbrid_article") val lifeAccountId = Hawk.get(HawkConfig.LifeAccountId, "")
webView.loadUrl("xbrid_coupon_publish?life_account_id=$lifeAccountId")
webView.webChromeClient = object : WebChromeClient() { webView.webChromeClient = object : WebChromeClient() {
override fun onProgressChanged(view: WebView?, newProgress: Int) { override fun onProgressChanged(view: WebView?, newProgress: Int) {
super.onProgressChanged(view, newProgress) super.onProgressChanged(view, newProgress)
if (newProgress == 100) { if (newProgress == 100) {
loadWebViewFinish = true // postDataToWeb()
postDataToWeb()
} }
} }
} }
WebView.setWebContentsDebuggingEnabled(true) WebView.setWebContentsDebuggingEnabled(true)
} }
private fun postDataToWeb() { // private fun postDataToWeb() {
// if (loadDataFinish && loadWebViewFinish) {
// val contentDetailBean = ContentDetailBean("getArticleData", data) // val contentDetailBean = ContentDetailBean("getArticleData", data)
// val params = Gson().toJson(contentDetailBean) // val params = Gson().toJson(contentDetailBean)
// XBridManager.postEvent("ArticleService", JSONObject(params), webView) // XBridManager.postEvent("ArticleService", JSONObject(params), webView)
// } // }
}
override fun onDestroy() { override fun onDestroy() {
super.onDestroy() super.onDestroy()
......
...@@ -36,6 +36,7 @@ class ChooseStoreApter : BaseQuickAdapter<GetShopListBean, BaseViewHolder>(R.lay ...@@ -36,6 +36,7 @@ class ChooseStoreApter : BaseQuickAdapter<GetShopListBean, BaseViewHolder>(R.lay
holder.getView<ImageView>(R.id.iv_store_edit).clickAntiShake { holder.getView<ImageView>(R.id.iv_store_edit).clickAntiShake {
val intent = Intent(context, EditStoreActivity::class.java) val intent = Intent(context, EditStoreActivity::class.java)
intent.putExtra("shop_name", item.shop_name) intent.putExtra("shop_name", item.shop_name)
intent.putExtra("shop_id", item.shop_id)
intent.putExtra("sub_shop_id", item.sub_shop_id) intent.putExtra("sub_shop_id", item.sub_shop_id)
intent.putExtra("address", item.address) intent.putExtra("address", item.address)
intent.putExtra("phone", item.phone) intent.putExtra("phone", item.phone)
......
...@@ -29,6 +29,7 @@ class StoreAdapter(private val context: Context) : RecyclerView.Adapter<StoreVie ...@@ -29,6 +29,7 @@ class StoreAdapter(private val context: Context) : RecyclerView.Adapter<StoreVie
override fun jump() { override fun jump() {
val intent = Intent(context, EditStoreActivity::class.java) val intent = Intent(context, EditStoreActivity::class.java)
intent.putExtra("shop_name", store.shop_name) intent.putExtra("shop_name", store.shop_name)
intent.putExtra("shop_id", store.shop_id)
intent.putExtra("sub_shop_id", store.sub_shop_id) intent.putExtra("sub_shop_id", store.sub_shop_id)
intent.putExtra("address", store.address) intent.putExtra("address", store.address)
intent.putExtra("phone", store.phone) intent.putExtra("phone", store.phone)
......
...@@ -497,6 +497,26 @@ class ApiService { ...@@ -497,6 +497,26 @@ class ApiService {
}) })
} }
// 新建门店
fun addStore(requestParams: HashMap<String, String?>, callback: ((Boolean) -> Unit)? = null) {
val timeStamp = System.currentTimeMillis()
val publicParamsMap = HttpParamsUtils.getPublicParamsMap(timeStamp)
val privateParamsMap = HttpParamsUtils.getPrivateParamsMap(requestParams, timeStamp)
ServiceFactory.getInstance().createService(CommonService::class.java)
.addShop(publicParamsMap, privateParamsMap)
.compose(TransformUtil.defaultSchedulers())
.subscribe(object : HttpResultSubscriber<Any?>() {
override fun onSuccess(result: HttpResult<Any?>?) {
callback?.invoke(true)
}
override fun onFailer(result: HttpResult<Any?>?) {
}
})
}
// 编辑门店
fun updateStore(requestParams: HashMap<String, String?>, callback: ((Boolean) -> Unit)? = null) { fun updateStore(requestParams: HashMap<String, String?>, callback: ((Boolean) -> Unit)? = null) {
val timeStamp = System.currentTimeMillis() val timeStamp = System.currentTimeMillis()
val publicParamsMap = HttpParamsUtils.getPublicParamsMap(timeStamp) val publicParamsMap = HttpParamsUtils.getPublicParamsMap(timeStamp)
...@@ -507,7 +527,6 @@ class ApiService { ...@@ -507,7 +527,6 @@ class ApiService {
.subscribe(object : HttpResultSubscriber<Any?>() { .subscribe(object : HttpResultSubscriber<Any?>() {
override fun onSuccess(result: HttpResult<Any?>?) { override fun onSuccess(result: HttpResult<Any?>?) {
callback?.invoke(true) callback?.invoke(true)
} }
override fun onFailer(result: HttpResult<Any?>?) { override fun onFailer(result: HttpResult<Any?>?) {
......
...@@ -147,6 +147,13 @@ interface CommonService { ...@@ -147,6 +147,13 @@ interface CommonService {
@Body requestParams: Map<String, String?> @Body requestParams: Map<String, String?>
): Observable<HttpResult<Any?>> ): Observable<HttpResult<Any?>>
@Headers("Content-Type: application/json")
@POST(URLs.addShop)
fun addShop(
@QueryMap commonParams: Map<String, String>,
@Body requestParams: Map<String, String?>
): Observable<HttpResult<Any?>>
@Headers("Content-Type: application/json") @Headers("Content-Type: application/json")
@POST(URLs.updateShop) @POST(URLs.updateShop)
fun updateShop( fun updateShop(
......
...@@ -14,7 +14,9 @@ import com.yidian.shenghuoquan.newscontent.widget.CommonTopBarView ...@@ -14,7 +14,9 @@ import com.yidian.shenghuoquan.newscontent.widget.CommonTopBarView
*/ */
class EditStoreActivity : BaseActivity<ActivityStoreEditBinding>(), CommonTopBarView.OnCommonTopBarActionCallback { class EditStoreActivity : BaseActivity<ActivityStoreEditBinding>(), CommonTopBarView.OnCommonTopBarActionCallback {
private var store = Store("", "", "", "", "", "") // 是否为新建门店
private var isAddStore: Boolean = false
private var store = Store("", "", "", "", "")
override fun createViewBinding(): ActivityStoreEditBinding { override fun createViewBinding(): ActivityStoreEditBinding {
return ActivityStoreEditBinding.inflate(layoutInflater) return ActivityStoreEditBinding.inflate(layoutInflater)
...@@ -28,10 +30,12 @@ class EditStoreActivity : BaseActivity<ActivityStoreEditBinding>(), CommonTopBar ...@@ -28,10 +30,12 @@ class EditStoreActivity : BaseActivity<ActivityStoreEditBinding>(), CommonTopBar
intent?.let { intent?.let {
when (it.getSerializableExtra("from")) { when (it.getSerializableExtra("from")) {
fromAddStore -> { fromAddStore -> {
isAddStore = true
viewBind.bvTopBar.setPageTitle("新建门店") viewBind.bvTopBar.setPageTitle("新建门店")
initContent() initContent()
} }
fromEditStore -> { fromEditStore -> {
isAddStore = false
viewBind.bvTopBar.setPageTitle("编辑门店") viewBind.bvTopBar.setPageTitle("编辑门店")
initContent(it) initContent(it)
} }
...@@ -45,11 +49,13 @@ class EditStoreActivity : BaseActivity<ActivityStoreEditBinding>(), CommonTopBar ...@@ -45,11 +49,13 @@ class EditStoreActivity : BaseActivity<ActivityStoreEditBinding>(), CommonTopBar
viewBind.storePhoneNum.setText("") viewBind.storePhoneNum.setText("")
viewBind.storeAddressEdit.text = "" viewBind.storeAddressEdit.text = ""
viewBind.storeName.setText("") viewBind.storeName.setText("")
store.shop_id = ""
store.sub_shop_id = "" store.sub_shop_id = ""
} else { } else {
viewBind.storePhoneNum.setText(intent.getStringExtra("phone")) viewBind.storePhoneNum.setText(intent.getStringExtra("phone"))
viewBind.storeAddressEdit.text = intent.getStringExtra("address") viewBind.storeAddressEdit.text = intent.getStringExtra("address")
viewBind.storeName.setText(intent.getStringExtra("shop_name")) viewBind.storeName.setText(intent.getStringExtra("shop_name"))
store.shop_id = intent.getStringExtra("shop_id") ?: ""
store.sub_shop_id = intent.getStringExtra("sub_shop_id") ?: "" store.sub_shop_id = intent.getStringExtra("sub_shop_id") ?: ""
} }
} }
...@@ -65,11 +71,34 @@ class EditStoreActivity : BaseActivity<ActivityStoreEditBinding>(), CommonTopBar ...@@ -65,11 +71,34 @@ class EditStoreActivity : BaseActivity<ActivityStoreEditBinding>(), CommonTopBar
* 保存(新建和编辑) * 保存(新建和编辑)
*/ */
override fun onDoAction() { override fun onDoAction() {
if (isAddStore) {
toAddStore()
} else {
toUpdateStore()
}
}
private fun toAddStore() {
val requestParams = HashMap<String, String?>()
requestParams["life_account_id"] = StorageUtil.getLifeAccountId()
requestParams["phone"] = viewBind.storePhoneNum.text.toString()
requestParams["shop_name"] = viewBind.storeName.text.toString()
requestParams["latitude"] = store.latitude
requestParams["longitude"] = store.longitude
requestParams["address"] = store.title
ApiService.updateStore(requestParams) {
if (it) {
Toast.makeText(this@EditStoreActivity, "保存成功", Toast.LENGTH_SHORT).show()
}
}
}
private fun toUpdateStore() {
val requestParams = HashMap<String, String?>() val requestParams = HashMap<String, String?>()
requestParams["sub_shop_id"] = store.sub_shop_id requestParams["sub_shop_id"] = store.sub_shop_id
requestParams["life_account_id"] = StorageUtil.getLifeAccountId() requestParams["life_account_id"] = StorageUtil.getLifeAccountId()
requestParams["phone"] = viewBind.storePhoneNum.text.toString() requestParams["phone"] = viewBind.storePhoneNum.text.toString()
requestParams["shop_id"] = "" requestParams["shop_id"] = store.shop_id
requestParams["shop_name"] = viewBind.storeName.text.toString() requestParams["shop_name"] = viewBind.storeName.text.toString()
requestParams["latitude"] = store.latitude requestParams["latitude"] = store.latitude
requestParams["longitude"] = store.longitude requestParams["longitude"] = store.longitude
...@@ -100,10 +129,9 @@ class EditStoreActivity : BaseActivity<ActivityStoreEditBinding>(), CommonTopBar ...@@ -100,10 +129,9 @@ class EditStoreActivity : BaseActivity<ActivityStoreEditBinding>(), CommonTopBar
data class Store( data class Store(
var title: String, var title: String,
var cityName: String,
var adName: String,
var latitude: String, var latitude: String,
var longitude: String, var longitude: String,
var shop_id: String,
var sub_shop_id: String var sub_shop_id: String
) )
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment