上线前最终调整

This commit is contained in:
mactj 2021-01-21 19:04:31 +08:00
parent 805dcebb81
commit f5f13295bb
19 changed files with 281 additions and 73 deletions

View File

@ -117,18 +117,26 @@ public class AppActivityController extends BaseController {
return toAjax(iAppActivityService.removeByIds(Arrays.asList(ids)) ? 1 : 0);
}
/**
* 审核中接口
*/
@GetMapping("/open/hotSwitch")
public AjaxResult openHotSwitch() {
return AjaxResult.success(true);
}
/**
* 查询活动列表(开放)
* 首页跑马灯
*/
@GetMapping("/open/notice")
public AjaxResult openNotice() {
// String notice =
// "手机尾号4707的用户购买了「山之语·赤霞珠干红葡萄酒」, " +
// "手机尾号5266的用户购买了「2021辛丑牛年纪念酒」" +
// "手机尾号3062的用户购买了「留世传奇红葡萄酒」";
String notice =
"手机尾号4707的用户购买了「山之语·赤霞珠干红葡萄酒」, " +
"手机尾号5266的用户购买了「2021辛丑牛年纪念酒」" +
"手机尾号3062的用户购买了「留世传奇红葡萄酒」";
String notice = "客服热线请致电17395097925";
return AjaxResult.success(notice);
}

View File

@ -241,6 +241,12 @@ public class AppOrderController extends BaseController {
@Log(title = "订单", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody AppOrder appOrder) {
// 0=待支付,1=已取消,2=已支付,3=待收货,4=交易完成
if (appOrder.getStatus() == 1) {
appOrder.setCancelTime(DateUtils.getNowDate());
}
return toAjax(iAppOrderService.updateById(appOrder) ? 1 : 0);
}
@ -266,4 +272,7 @@ public class AppOrderController extends BaseController {
// TODO 根据自己业务场景需要构造返回对象
return WxPayNotifyResponse.success("成功");
}
}

View File

@ -157,7 +157,7 @@ public class AppOrderDetailController extends BaseController {
return toAjax(iAppOrderDetailService.removeByIds(Arrays.asList(ids)) ? 1 : 0);
}
@PreAuthorize("@ss.hasPermi('winery:detail:remove')")
@PreAuthorize("@ss.hasPermi('winery:detail:refund')")
@Log(title = "退款", businessType = BusinessType.OTHER)
@PostMapping("/refund/{id}")
AjaxResult refund(@PathVariable String id) {

View File

@ -86,6 +86,11 @@ public class GoodsMainController extends BaseController {
if (StringUtils.isNotBlank(goodsMain.getGoodsImg())) {
lqw.eq(GoodsMain::getGoodsImg, goodsMain.getGoodsImg());
}
if (isMiniUser()) {
lqw.eq(GoodsMain::getState, 1);
}
lqw.orderByAsc(GoodsMain::getSort);
List<GoodsMain> list = iWineryGoodsService.list(lqw);

View File

@ -101,7 +101,6 @@ public class AppOrderDetail implements Serializable {
@Excel(name = "退款理由")
private String refundReason;
/**
* 创建时间
*/

View File

@ -1,8 +1,8 @@
X:完成
x:完成
域名[x]
注册[X]
登录[X]
注册[x]
登录[x]
首页装修[x]
资讯/酒庄信息管理[x]
采集酒庄介绍(图标/图片)[6/12]
@ -18,16 +18,21 @@
紫环会[x]
发货单excel输出[x]
我的[x]
******---------------******
公众号专题链接列表[]
公众号专题链接列表[x]
产品追溯[]
视频直播[]
新品推荐[]
用户协议/隐私政策[]
小程序图标[]
用户协议/隐私政策[x]
小程序图标[x]
退款申请[]
物流追踪[]
订单跟踪[]
发货单excel导入[]

View File

@ -23,7 +23,7 @@
}
},
"compileType": "miniprogram",
"appid": "wx76ec015fc31a1946",
"appid": "wx4306452d346f783d",
"projectname": "mini-app",
"miniprogramRoot": "weapp/",
"simulatorType": "wechat",
@ -151,4 +151,4 @@
]
}
}
}
}

View File

@ -30,6 +30,12 @@ class MallApis {
})
}
getHotSwitch() {
return request.get({
url: baseUrl + 'winery/activity/open/hotSwitch'
})
}
getNotice() {
return request.get({
url: baseUrl + 'winery/activity/open/notice'

View File

@ -30,6 +30,13 @@ class OrderApis {
})
}
editOrder(data) {
return request.put({
url: baseUrl + 'winery/order',
data: data
})
}
getOrderDetailList(data) {
return request.get({
url: baseUrl + 'winery/detail/list',

View File

@ -47,8 +47,7 @@ default:
break
}
console.log("123:",status)
console.log("123:",result)
return result

View File

@ -47,14 +47,36 @@ default:
break
}
return result
}
const parseOrderDetailStatus = (status) => {
let result = '未知状态'
switch(status) {
case 0:
result = '未退款'
break
case 1:
result = '退款申请'
break
case 2:
result = '退款中'
break
case 3:
result = '退款成功'
break
default:
break
}
return result
}
module.exports.parseImage = parseImage;
module.exports.parseOrderStatus = parseOrderStatus;
module.exports.parseOrderDetailStatus = parseOrderDetailStatus;
</wxs>
<template>
@ -83,19 +105,41 @@ module.exports.parseOrderStatus = parseOrderStatus;
:title="item.goods.goodsName"
:thumb="filters.parseImage(item.goods.goodsFaceImg)"
>
<view slot="footer">
<van-button v-if="row.status === 2 || row.status === 4" size="mini" plain @tap="onRefund(item)">申请退款
</van-button>
<view slot="footer" style="display: flex; flex-direction: column;text-align: left;">
<van-button size="mini" plain @tap="onDetail(item)" style="margin-left: 10px;margin-top: 10px;">查看详情</van-button>
<div style="display:flex;align-items: center;width: 100%; justify-content: flex-end;">
<van-tag v-if="item.status !== 0" color="#ffe1e1" text-color="#ad0000">
{{filters.parseOrderDetailStatus(item.status)}}
</van-tag>
<van-button v-else-if="(row.status === 2 || row.status === 4) && item.status === 0" size="mini" plain
@tap="onRefund(item)">申请退款
</van-button>
<van-button size="mini" plain @tap="onDetail(item)" style="margin-left: 10px;">商品详情</van-button>
</div>
</view>
</van-card>
<div v-if="row.status === 0">
<van-divider />
<van-button style="float: right;margin-right: 16px;" size="mini" plain @tap="onPay(row)">继续支付</van-button>
</div>
<div style="padding: 15px;">
<div style="display: flex;margin-top: 10px;align-items: center;width: 100%;">
<span style="color: #333; font-size: 13px;">收货人:{{row.postName}}</span> <span
style="margin-left: 5px; color: #999999; font-size: 12px;">{{row.postMobile}}</span>
</div>
<div
style="display: flex;margin-top: 5px;align-items: center;width: 100%;flex-wrap: wrap;">
<span style="color: #333; font-size: 13px;">
收货地址:{{row.postRegion}}{{row.postAddress}}
</span>
</div>
</div>
<div v-if="row.status === 0">
<van-divider />
<div style="float: right;margin-right: 16px;display: flex;">
<van-button size="mini" plain @tap="onPay(row)">继续支付</van-button>
<van-button size="mini" plain @tap="onCancel(row)" style="margin-left: 10px;">取消订单</van-button>
</div>
</div>
</div>
</view>
@ -113,6 +157,7 @@ import appManager from '../../../appManager'
import orderApis from '../../../apis/orderApis'
import { goodsDetailPage } from '../../../store/constant/nav/pages'
import eventHub from '../../../common/eventHub'
wepy.component({
store,
@ -140,13 +185,22 @@ wepy.component({
onRefund(item) {
// 申请退款
orderApis.refundOrder(item.id)
appManager.showToast('即将开放:如需联系退款请拨打客服热线17395097925')
},
onDetail(item) {
appManager.navigateTo(goodsDetailPage + '?id=' + item.goods.id)
},
onCancel(item) {
let data = {
id: item.id,
status: 1
}
orderApis.editOrder(data).then(r => {
appManager.showToast(r.msg)
this.$emit('reload')
})
},
onPay(item) {
let self = this
console.log(item)
let payData = JSON.parse(item.payMsg)
@ -189,11 +243,12 @@ wepy.component({
},
ready() {
console.log('ready')
eventHub.$on('refreshOrderList', (...args) => {
this.init()
})
this.init()
},
onShow() {
console.log('onShow')
this.init()
}
})

View File

@ -100,7 +100,7 @@ module.exports.parseImage = parseImage;
<span style="font-size: 11px;color: #999999;">{{user.mobile}}</span>
</div>
</van-col>
<van-col offset="1" span="7">
<van-col offset="1" span="7" v-if="hotSwitch">
<van-button round style="height: 25px;" size="small" plain color="#AC1630" @tap="onShoppingCar">
<van-icon name="shopping-cart-o" color="#AC1630" />
<span style="margin-left: 5px;color: #333333;">购物车</span>
@ -120,7 +120,7 @@ module.exports.parseImage = parseImage;
</van-notice-bar>
<van-row style="margin-top: 20px;">
<van-row style="margin-top: 20px;" v-if="hotSwitch">
<van-col span="11">
@ -148,7 +148,7 @@ module.exports.parseImage = parseImage;
</van-row>
<div class="grid-body">
<div class="grid-body" v-if="hotSwitch">
<van-grid column-num="3" border="{{ false }}" style="margin-top: 15px;">
<van-grid-item use-slot v-for=" (item, index) in navDefine.HOME_MENU_LIST" @tap="onNavItem(item)">
@ -240,7 +240,8 @@ wepy.component({
...mapState({
'imageDefine': state => state.imageDefine,
'user': state => state.user,
'navDefine': state => state.navDefine
'navDefine': state => state.navDefine,
'hotSwitch': state => state.hotSwitch
})
},

View File

@ -0,0 +1,101 @@
<wxs module="filters" lang="babel">
const parseImage = (imageKey) => {
return 'https://winery-1257413599.cos.ap-beijing.myqcloud.com/' + imageKey
}
module.exports.parseImage = parseImage;
</wxs>
<style lang="less">
.header {
width: 100%;
height: 536rpx;
z-index: -10;
}
</style>
<template>
<div>
<van-dialog
use-slot
title="退款申请"
:show="isShow"
show-cancel-button
bind:close="onClose"
bind:cancel="onClose"
bind:confirm="onConfirm"
:asyncClose="true"
>
<van-card
:num="item.goodsCount"
:price="item.goodsCount * item.goods.goodsPrice"
:desc="item.goods.goodsAlias"
:title="item.goods.goodsName"
:thumb="filters.parseImage(item.goods.goodsFaceImg)"
>
</van-card>
</van-dialog>
</div>
</template>
<script>
import wepy from '@wepy/core'
import store from '@/store'
import { mapActions, mapState } from '@wepy/x'
import eventHub from '../../common/eventHub'
import appManager from '../../appManager'
wepy.component({
store,
props: {
item: {}
},
hooks: {},
data: {
isShow: false
},
computed: {
...mapState({
'imageDefine': state => state.imageDefine
})
},
events: {},
methods: {
...mapActions([
]),
onConfirm(event) {
},
onClose() {
this.isShow = false
}
},
ready() {
}
})
</script>
<config>
{
navigationBarTitleText: ''
}
</config>

View File

@ -94,7 +94,15 @@ wepy.component({
isChecked: false
},
computed: mapState(['user']),
// computed: mapState(['user']),
computed: {
...mapState({
'user': state => state.user,
'hotSwitch': state => state.hotSwitch
})
},
events: {},
methods: {

View File

@ -28,8 +28,8 @@ return `${hour}:${mins}:${sec}.${milli}`;
module.exports.getTime = getTime;
</wxs>
<template>
<van-tabbar active="{{ pageIndex }}" bind:change="onChange" fixed active-color="#AC1630">
<van-tabbar-item >
<van-tabbar v-if="hotSwitch" active="{{ pageIndex }}" bind:change="onChange" fixed active-color="#AC1630">
<van-tabbar-item>
<image
slot="icon"
:src="imageDefine.TAP_BAR_ICON1_OFF"
@ -44,7 +44,7 @@ module.exports.getTime = getTime;
/>
首页
</van-tabbar-item>
<van-tabbar-item >
<van-tabbar-item>
<image
slot="icon"
:src="imageDefine.TAP_BAR_ICON2_OFF"
@ -59,7 +59,7 @@ module.exports.getTime = getTime;
/>
福利购
</van-tabbar-item>
<van-tabbar-item >
<van-tabbar-item>
<image
slot="icon"
:src="imageDefine.TAP_BAR_ICON3_OFF"
@ -74,7 +74,7 @@ module.exports.getTime = getTime;
/>
紫环会
</van-tabbar-item>
<van-tabbar-item >
<van-tabbar-item>
<image
slot="icon"
:src="imageDefine.TAP_BAR_ICON4_OFF"
@ -107,6 +107,7 @@ import userApis from '../../apis/userApis'
import appManager from '../../appManager'
import eventHub from '../../common/eventHub'
import defaultMix from '../../mixins/defaultMix'
import mallApis from '../../apis/mallApis'
wepy.page({
store,
@ -120,7 +121,8 @@ wepy.page({
computed: {
...mapState({
'imageDefine': state => state.imageDefine,
'user': state => state.user
'user': state => state.user,
'hotSwitch': state => state.hotSwitch
})
},
@ -146,12 +148,21 @@ wepy.page({
},
changeTab(index) {
this.pageIndex = index
},
init() {
mallApis.getHotSwitch().then(r => {
store.state.hotSwitch = r.data
appManager.login()
})
}
},
ready() {
appManager.login()
this.init()
// appManager.login()
},
onShow() {
}

View File

@ -19,23 +19,25 @@ module.exports.parseImage = parseImage;
<van-tabs active="{{ activeTab }}" bind:change="onChangeTab">
<van-tab title="全部">
<order-list-body />
<order-list-body @reload="reload" />
</van-tab>
<van-tab title="待支付">
<order-list-body status="0" />
<order-list-body @reload="reload" status="0" />
</van-tab>
<van-tab title="待收货">
<order-list-body status="2" />
<order-list-body @reload="reload" status="2" />
</van-tab>
<van-tab title="交易完成">
<order-list-body status="3" />
<order-list-body @reload="reload" status="3" />
</van-tab>
<van-tab title="已取消">
<order-list-body status="1" />
<order-list-body @reload="reload" status="1" />
</van-tab>
</van-tabs>
<!-- <dialog-refund />-->
</div>
</template>
@ -50,6 +52,7 @@ import appManager from '../../../appManager'
import addressApis from '../../../apis/addressApis'
import { userAddressPage } from '../../../store/constant/nav/home'
import orderApis from '../../../apis/orderApis'
import eventHub from '../../../common/eventHub'
wepy.page({
store,
@ -75,30 +78,16 @@ wepy.page({
onChangeTab(e) {
this.activeTab = e.$wx.detail.index
},
async init() {
// this.isInit = false
// const req = await orderApis.getOrderList()
//
// if (req.code === 200) {
// this.records = req.rows
// }
//
// this.isInit = true
reload() {
eventHub.$emit('refreshOrderList')
}
},
onLoad(options) {
if (options.orderStatus) {
this.activeTab = Number(options.orderStatus)
}
},
ready() {
this.init()
},
onShow() {
this.init()
}
})
</script>
@ -108,7 +97,8 @@ navigationBarTitleText: '',
usingComponents: {
'order-list-body': '../../../components/mall/order/order-list-body',
'order-detail-body': '../../../components/mall/order/order-detail-body'
'order-detail-body': '../../../components/mall/order/order-detail-body',
'dialog-refund': '../../../components/order/dialog-refund'
}

View File

@ -43,9 +43,9 @@
<div v-if="records.length < 1" style="display: flex;flex-direction: column;align-items: center;width: 100%;">
<van-empty description="您还没有添加收货地址" />
<div style="width: 600rpx;">
<van-button round type="info" size="large" @tap="onAdd">点击添加</van-button>
</div>
<!-- <div style="width: 600rpx;">-->
<!-- <van-button round type="info" size="large" @tap="onAdd">点击添加</van-button>-->
<!-- </div>-->
</div>
<div v-for="(item,index) in records" class="address-item"

View File

@ -17,7 +17,10 @@ export default new Vuex.Store({
token: '',
company: '企业名称',
currWebUrl: ''
},
// 热开关
hotSwitch: false,
// 订单
order: {},
// 购物车
@ -52,9 +55,7 @@ export default new Vuex.Store({
state.order = order
},
setShoppingCar(state, shoppingCar) {
state.shoppingCar = shoppingCar
}
},

View File

@ -205,7 +205,10 @@ tencent-cos:
#微信小程序支付配置
wxmini:
appId: wx76ec015fc31a1946 #微信公众号或者小程序等的appid 必填
# appId: wx76ec015fc31a1946 #微信公众号或者小程序等的appid 必填
appId: wx4306452d346f783d #微信公众号或者小程序等的appid 必填
# secret: 94ee42c0899a6ceccf353e1e729c50d4 #微信小程序的Secret
secret: dc55bc1729090bdff9b63e1a5f0d03b2 #微信小程序的Secret
mchId: 1486984962
mchKey: 82aZ9Tb6eu5W2HdXKQWZU2SztU8w8nJ8
@ -213,7 +216,7 @@ wxmini:
subMchId: #服务商模式下的子商户号
tradeType: JSAPI #交易类型
keyPath: "classpath:/cert/apiclient_cert1486984962.p12" # p12证书的位置可以指定绝对路径也可以指定类路径以classpath:开头)
secret: 94ee42c0899a6ceccf353e1e729c50d4 #微信小程序的Secret
token: xiao4r #微信小程序消息服务器配置的token
aesKey: jNXajd2sQSMYQNg3rcdMF9HraUJxXF0iswgdMxVik9W #微信小程序消息服务器配置的EncodingAESKey
msgDataFormat: JSON