Commit e17e2be2 authored by shiyl's avatar shiyl

新增新建门店相关逻辑

parent 2e8eac3a
......@@ -7,7 +7,10 @@ class URLs {
// 生活圈B端
const val getShopList = "/shop/shop/get_shop_list"
// 编辑门店
const val updateShop = "/shop/shop/update_shop"
// 新建门店
const val addShop = "/shop/shop/add_shop"
const val uploadFile = "/user/user/modify_profile"
const val pushTokenAndroid = "/push/token/android"
const val authPersonalGetToken = "/Identify/IdOcr/getBizToken"
......
......@@ -4,10 +4,13 @@ import android.webkit.WebChromeClient
import android.webkit.WebView
import androidx.activity.viewModels
import com.google.gson.Gson
import com.orhanobut.hawk.Hawk
import com.yidian.common.HawkConfig
import com.yidian.common.XRouterPathConstants
import com.yidian.common.extensions.initTitleBar
import com.yidian.common.http.HttpResult
import com.yidian.common.mvvm.BaseMvvmActivity
import com.yidian.news.util.StorageUtils
import com.yidian.shenghuoquan.commodity.R
import com.yidian.shenghuoquan.commodity.databinding.CommodityActivityPublishCouponsBinding
import com.yidian.xarc.xbrid.XBridManager
......@@ -21,8 +24,6 @@ import org.json.JSONObject
class PublishCouponsActivity : BaseMvvmActivity<CommodityActivityPublishCouponsBinding, PublishCouponsViewModel>(), XPageViewProtocol {
private lateinit var webView: XWebView
private var loadDataFinish = false
private var loadWebViewFinish = false
private var data: HttpResult<Any?>? = null
override val layoutId: Int = R.layout.commodity_activity_publish_coupons
......@@ -45,26 +46,24 @@ class PublishCouponsActivity : BaseMvvmActivity<CommodityActivityPublishCouponsB
private fun initWebView() {
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() {
override fun onProgressChanged(view: WebView?, newProgress: Int) {
super.onProgressChanged(view, newProgress)
if (newProgress == 100) {
loadWebViewFinish = true
postDataToWeb()
// postDataToWeb()
}
}
}
WebView.setWebContentsDebuggingEnabled(true)
}
private fun postDataToWeb() {
// if (loadDataFinish && loadWebViewFinish) {
// private fun postDataToWeb() {
// val contentDetailBean = ContentDetailBean("getArticleData", data)
// val params = Gson().toJson(contentDetailBean)
// XBridManager.postEvent("ArticleService", JSONObject(params), webView)
// }
}
override fun onDestroy() {
super.onDestroy()
......
......@@ -36,6 +36,7 @@ class ChooseStoreApter : BaseQuickAdapter<GetShopListBean, BaseViewHolder>(R.lay
holder.getView<ImageView>(R.id.iv_store_edit).clickAntiShake {
val intent = Intent(context, EditStoreActivity::class.java)
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("address", item.address)
intent.putExtra("phone", item.phone)
......
......@@ -29,6 +29,7 @@ class StoreAdapter(private val context: Context) : RecyclerView.Adapter<StoreVie
override fun jump() {
val intent = Intent(context, EditStoreActivity::class.java)
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("address", store.address)
intent.putExtra("phone", store.phone)
......
......@@ -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) {
val timeStamp = System.currentTimeMillis()
val publicParamsMap = HttpParamsUtils.getPublicParamsMap(timeStamp)
......@@ -507,7 +527,6 @@ class ApiService {
.subscribe(object : HttpResultSubscriber<Any?>() {
override fun onSuccess(result: HttpResult<Any?>?) {
callback?.invoke(true)
}
override fun onFailer(result: HttpResult<Any?>?) {
......
......@@ -147,6 +147,13 @@ interface CommonService {
@Body requestParams: Map<String, String?>
): 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")
@POST(URLs.updateShop)
fun updateShop(
......
......@@ -14,7 +14,9 @@ import com.yidian.shenghuoquan.newscontent.widget.CommonTopBarView
*/
class EditStoreActivity : BaseActivity<ActivityStoreEditBinding>(), CommonTopBarView.OnCommonTopBarActionCallback {
private var store = Store("", "", "", "", "", "")
// 是否为新建门店
private var isAddStore: Boolean = false
private var store = Store("", "", "", "", "")
override fun createViewBinding(): ActivityStoreEditBinding {
return ActivityStoreEditBinding.inflate(layoutInflater)
......@@ -28,10 +30,12 @@ class EditStoreActivity : BaseActivity<ActivityStoreEditBinding>(), CommonTopBar
intent?.let {
when (it.getSerializableExtra("from")) {
fromAddStore -> {
isAddStore = true
viewBind.bvTopBar.setPageTitle("新建门店")
initContent()
}
fromEditStore -> {
isAddStore = false
viewBind.bvTopBar.setPageTitle("编辑门店")
initContent(it)
}
......@@ -45,11 +49,13 @@ class EditStoreActivity : BaseActivity<ActivityStoreEditBinding>(), CommonTopBar
viewBind.storePhoneNum.setText("")
viewBind.storeAddressEdit.text = ""
viewBind.storeName.setText("")
store.shop_id = ""
store.sub_shop_id = ""
} else {
viewBind.storePhoneNum.setText(intent.getStringExtra("phone"))
viewBind.storeAddressEdit.text = intent.getStringExtra("address")
viewBind.storeName.setText(intent.getStringExtra("shop_name"))
store.shop_id = intent.getStringExtra("shop_id") ?: ""
store.sub_shop_id = intent.getStringExtra("sub_shop_id") ?: ""
}
}
......@@ -65,11 +71,34 @@ class EditStoreActivity : BaseActivity<ActivityStoreEditBinding>(), CommonTopBar
* 保存(新建和编辑)
*/
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?>()
requestParams["sub_shop_id"] = store.sub_shop_id
requestParams["life_account_id"] = StorageUtil.getLifeAccountId()
requestParams["phone"] = viewBind.storePhoneNum.text.toString()
requestParams["shop_id"] = ""
requestParams["shop_id"] = store.shop_id
requestParams["shop_name"] = viewBind.storeName.text.toString()
requestParams["latitude"] = store.latitude
requestParams["longitude"] = store.longitude
......@@ -100,10 +129,9 @@ class EditStoreActivity : BaseActivity<ActivityStoreEditBinding>(), CommonTopBar
data class Store(
var title: String,
var cityName: String,
var adName: String,
var latitude: String,
var longitude: String,
var 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