Merge remote-tracking branch 'origin/feature/mall_product' into feature/mall_product

pull/2/head
小小张 2023-05-25 18:08:24 +08:00
commit 39d922eb1b
18 changed files with 296 additions and 240 deletions

View File

@ -147,7 +147,7 @@ public class WxPayNotifyController {
//删除提报记录
phoneRecordService.deletePhoneGear(orderDO.getOrderId());
//删除本地提报记录
phoneRecordService.deletePhoneRecord(orderDO.getId());
phoneRecordService.deletePhoneGearByOrderId(orderDO.getId());
// 修改订单状态
// 写入
response.setStatus(HttpServletResponse.SC_OK);

View File

@ -1227,7 +1227,7 @@ public class StoreOrderServiceImpl extends ServiceImpl<StoreOrderMapper, StoreOr
log.error("删除提报记录异常{}", e);
}
//删除本地提报记录
phoneRecordService.deletePhoneRecord(orderDO.getId());
phoneRecordService.deletePhoneGearByOrderId(orderDO.getId());
// 表示退款
} else {
// 表示支付

View File

@ -36,6 +36,7 @@ public interface PhoneRecordService {
*/
void deletePhoneRecord(Long id);
/**
*
*
@ -90,6 +91,16 @@ public interface PhoneRecordService {
* </pre>
*/
Boolean deletePhoneGear(String orderId);
/**
* <pre>
* <b>deletePhoneGear</b>
* <b>Description:</b>
* <b>@author:</b> zenghuapei
* <b>@date:</b> 2023/5/24 12:44
* @return
* </pre>
*/
Boolean deletePhoneGearByOrderId(Long orderId);
/**
* <pre>
* <b>insertPhone</b>

View File

@ -18,6 +18,7 @@ import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import org.springframework.util.CollectionUtils;
import org.springframework.validation.annotation.Validated;
import java.util.*;
@ -76,12 +77,26 @@ public class PhoneRecordServiceImpl implements PhoneRecordService {
// 校验存在
validatePhoneRecordExists(id);
// 删除
phoneRecordMapper.delete(Wrappers.<PhoneRecordDO>lambdaQuery().eq(PhoneRecordDO::getRechargeOrderId, id));
phoneRecordMapper.deleteById(id);;
}
@Override
public Boolean deletePhoneGearByOrderId(Long orderId) {
log.info("-------------------------orderId{}",orderId);
List<PhoneRecordDO> recordDOS = phoneRecordMapper.selectList(Wrappers.<PhoneRecordDO>lambdaQuery().eq(PhoneRecordDO::getRechargeOrderId, orderId));
log.info("-------------------------recordDOS{},{}",recordDOS,recordDOS.size());
if (!CollectionUtils.isEmpty(recordDOS)) {
recordDOS.forEach(e->{
e.setDeleted(Boolean.TRUE);
int i = phoneRecordMapper.updateById(e);
log.info("-------------------------i{}---------------------",i);
});
}
return null;
}
private void validatePhoneRecordExists(Long id) {
PhoneRecordDO phoneRecordDO = phoneRecordMapper.selectOne(Wrappers.<PhoneRecordDO>lambdaQuery().eq(PhoneRecordDO::getRechargeOrderId, id));
if (phoneRecordDO == null) {
if (phoneRecordMapper.selectById(id) == null) {
throw exception(PHONE_RECORD_NOT_EXISTS);
}
}

View File

@ -2,12 +2,15 @@ package cn.iocoder.yudao.module.shop.service.recharge;
import cn.iocoder.yudao.framework.security.core.LoginUser;
import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
import cn.iocoder.yudao.module.member.api.user.MemberUserApi;
import cn.iocoder.yudao.module.member.api.user.dto.MemberUserRespDTO;
import cn.iocoder.yudao.module.shop.dal.dataobject.recharge.RechargeOrderInfoDO;
import cn.iocoder.yudao.module.shop.dal.mysql.recharge.RechargeOrderInfoMapper;
import cn.iocoder.yudao.module.shop.request.member.RefundRequest;
import cn.iocoder.yudao.module.shop.response.member.MemberHeadResponse;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@ -44,6 +47,10 @@ public class RechargeOrderServiceImpl implements RechargeOrderService {
private RechargeOrderMapper rechargeOrderMapper;
@Resource
private RechargeOrderInfoMapper infoMapper;
@Resource
private MemberUserApi userService;
@Resource
private PhoneRecordService phoneRecordService;
@Override
public Long createRechargeOrder(RechargeOrderCreateReqVO createReqVO) {
@ -151,7 +158,8 @@ public class RechargeOrderServiceImpl implements RechargeOrderService {
MemberHeadResponse response = new MemberHeadResponse();
LoginUser loginUser = SecurityFrameworkUtils.getLoginUser();
Assert.notNull(loginUser, "登录失效,请重新登录!");
List<RechargeOrderDO> orderDOS = rechargeOrderMapper.selectList(Wrappers.<RechargeOrderDO>lambdaQuery().eq(RechargeOrderDO::getUid, loginUser.getId()).eq(RechargeOrderDO::getPaid, 1));
MemberUserRespDTO user = userService.getUser(loginUser.getId());
List<RechargeOrderDO> orderDOS = rechargeOrderMapper.selectList(Wrappers.<RechargeOrderDO>lambdaQuery().eq(RechargeOrderDO::getUserPhone, user.getMobile()).eq(RechargeOrderDO::getPaid, 1));
if (!CollectionUtils.isEmpty(orderDOS)) {
BigDecimal amount = new BigDecimal("0");
for (RechargeOrderDO orderDO : orderDOS) {

View File

@ -1,5 +1,7 @@
let domain = process.env.APP_BASE_URL
// let domain = 'http://192.168.1.188:48080'
// let domain = 'http://api.cyywl.top'
module.exports = {
// 请求域名 格式: https://您的域名

View File

@ -31,7 +31,7 @@
{
"path": "pages/member_equity/index",
"style": {
"navigationBarTitleText": "会员申请"
"navigationBarTitleText": "会员权益"
}
},
{
@ -43,7 +43,7 @@
{
"path": "pages/member_others/index",
"style": {
"navigationBarTitleText": "他人续费"
"navigationBarTitleText": "他人续费"
}
},
{
@ -614,7 +614,7 @@
"pagePath": "pages/member_equity/index",
"iconPath": "static/images/tabbar/nav_icon_member.png",
"selectedIconPath": "static/images/tabbar/nav_icon_member_active.png",
"text": "会员申请",
"text": "会员权益",
"visible":false
},
{

View File

@ -15,8 +15,10 @@
</view>
</view>
<view class="right">
<view class="up"></view>
<text>会员等级3级</text>
<view class="up">
<image style="width: ;" src="@/static/images/shop/vip_oneStar.png" mode=""></image>
</view>
<text>会员等级1级</text>
<view class="button">查看权益</view>
</view>
</view>
@ -753,9 +755,12 @@
flex-wrap: wrap;
align-items: center;
.up {
width: 90rpx;
height: 100rpx;
background: #EE5423;
width: 110rpx;
height: 110rpx;
image {
width: 101rpx;
height: 110rpx;
}
}
text {
font-size: 22rpx;

View File

@ -10,11 +10,12 @@
:class="[activeIndex.includes(index) && 'member-active',!!parseInt(item.isExist) && 'member-disbled', 'member-item']"
v-for="(item,index) in memberData" :key="index" @click="handleMember(item,index)">
<view class="member-image">
<image src='../../static/images/f.png'></image>
<image v-show="!!!parseInt(item.isExist)" src='../../static/images/success.png'></image>
<image v-show="!!parseInt(item.isExist)" src='../../static/images/disbled.png'></image>
</view>
<view class="member-text">
<view class="text-title">
<text>{{item.name.split('得')[0]}}<text>{{item.name.split('得')[1]}}</text></text>
<text>{{item.name.split('得')[0]}}<text>{{item.name.split('得')[1]}}</text></text>
<view></view>
</view>
<text class="text-content">{{item.gearRemarks}}</text>
@ -126,7 +127,7 @@
url:'/pages/member_record/index'
})
break;
case "他人充值":
case "他人充值":
uni.navigateTo({
url:'/pages/member_others/index'
})
@ -292,7 +293,7 @@
height: 100rpx;
border-radius: 35rpx;
background: linear-gradient(#FFEBB2, #FDCB3B);
padding: 16rpx;
padding: 6rpx 13rpx;
image {
width: 100%;
@ -340,7 +341,7 @@
background: linear-gradient(#FF995F, #DA0E00);
.member-image {
background: linear-gradient(#FF995F, #FDCB3B);
background: linear-gradient(#FF995F, #DA0E00);
}
.member-text {
@ -369,7 +370,7 @@
background: linear-gradient(#EFEFEF, #BCBCBC);
.member-image {
background: linear-gradient(#AAAAAA, #989898);
background: linear-gradient(#EFEFEF, #AAAAAA);
}
.member-text {

View File

@ -108,7 +108,7 @@
url:'/pages/member_record/index'
})
break;
case "他人充值":
case "他人充值":
uni.navigateTo({
url:'/pages/member_others/index'
})

View File

@ -13,7 +13,7 @@
<text>购买记录</text>
<image src="../../static/images/shopping-right.png" ></image>
</view>
<view class="left-others" @click="handleRouter('他人充值')">
<view class="left-others" @click="handleRouter('他人充值')">
代他人充值
<image src="../../static/images/others-right.png" ></image>
</view>
@ -138,7 +138,7 @@
url:'/pages/member_record/index'
})
break;
case "他人充值":
case "他人充值":
uni.navigateTo({
url:'/pages/member_others/index'
})

View File

@ -19,11 +19,12 @@
:class="[activeIndex.includes(index) && 'member-active',!!parseInt(item.isExist) && 'member-disbled', 'member-item']"
v-for="(item,index) in memberData" :key="index" @click="handleMember(item,index)">
<view class="member-image">
<image src='../../static/images/f.png'></image>
<image v-show="!!!parseInt(item.isExist)" src='../../static/images/success.png'></image>
<image v-show="!!parseInt(item.isExist)" src='../../static/images/disbled.png'></image>
</view>
<view class="member-text">
<view class="text-title">
<text>{{item.name.split('得')[0]}}<text>{{item.name.split('得')[1]}}</text></text>
<text>{{item.name.split('得')[0]}}<text>{{item.name.split('得')[1]}}</text></text>
<view></view>
</view>
<text class="text-content">{{item.gearRemarks}}</text>
@ -37,7 +38,7 @@
<paymentMember :payMode='payMode' :pay_close="pay_close" @onChangeFun='onChangeFun' :payInfo="payInfo">
</paymentMember>
<button class="box-submit" @click="goPay"></button>
<u-navbar autoBack title="他人充值"></u-navbar>
<u-navbar autoBack title="他人充值"></u-navbar>
</view>
</template>
@ -302,7 +303,7 @@
}
.member-list {
margin: 83rpx 30rpx 30rpx 30rpx;
margin: 53rpx 30rpx 20rpx 30rpx;
position: relative;
.member-item {
@ -314,11 +315,11 @@
border-radius: 20rpx;
.member-image {
width: 104rpx;
height: 104rpx;
width: 100rpx;
height: 100rpx;
border-radius: 35rpx;
background: linear-gradient(#FFEBB2, #FDCB3B);
padding: 20rpx;
padding: 6rpx 13rpx;
image {
width: 100%;
@ -366,7 +367,7 @@
background: linear-gradient(#FF995F, #DA0E00);
.member-image {
background: linear-gradient(#FF995F, #FDCB3B);
background: linear-gradient(#FF995F, #DA0E00);
}
.member-text {
@ -395,7 +396,7 @@
background: linear-gradient(#EFEFEF, #BCBCBC);
.member-image {
background: linear-gradient(#AAAAAA, #989898);
background: linear-gradient(#EFEFEF, #AAAAAA);
}
.member-text {
@ -417,8 +418,8 @@
color: #5C5C5C;
}
}
}
}
.member-prompt {
display: flex;
justify-content: center;

View File

@ -17,6 +17,7 @@
<text>日期{{item.stringCreateTime}}</text>
</view>
</view>
<u-empty v-show="!memberData.length" text="暂无数据" mode="list"></u-empty>
<u-navbar autoBack title="购买纪录"></u-navbar>
</view>
</template>
@ -104,6 +105,16 @@
background-size: cover;
background-repeat: no-repeat;
background-attachment: fixed;
.u-empty{
margin-top: 20% !important;
::v-deep .u-icon__icon{
font-size: 140rpx !important;
}
::v-deep .u-empty__text{
font-size: 30rpx !important;
}
}
.box-seach{
z-index: 999;
padding: 0 40rpx;

View File

@ -16,11 +16,12 @@
:class="[activeIndex.includes(index) && 'member-active',!!parseInt(item.isExist) && 'member-disbled', 'member-item']"
v-for="(item,index) in memberData" :key="index" @click="handleMember(item,index)">
<view class="member-image">
<image src='../../static/images/f.png'></image>
<image v-show="!!!parseInt(item.isExist)" src='../../static/images/success.png'></image>
<image v-show="!!parseInt(item.isExist)" src='../../static/images/disbled.png'></image>
</view>
<view class="member-text">
<view class="text-title">
<text>{{item.name.split('得')[0]}}<text>{{item.name.split('得')[1]}}</text></text>
<text>{{item.name.split('得')[0]}}<text>{{item.name.split('得')[1]}}</text></text>
<view></view>
</view>
<text class="text-content">{{item.gearRemarks}}</text>
@ -120,6 +121,7 @@ import store from '@/store/index';
*
*/
goPay() {
console.log(this.activeIndex)
if(this.activeIndex.length){
this.$set(this, 'pay_close', true);
const orderInfos = this.activeIndex.map((item) => {
@ -256,7 +258,7 @@ import store from '@/store/index';
}
.member-list {
margin: 83rpx 30rpx 30rpx 30rpx;
margin: 53rpx 30rpx 20rpx 30rpx;
position: relative;
.member-item {
@ -268,11 +270,11 @@ import store from '@/store/index';
border-radius: 20rpx;
.member-image {
width: 104rpx;
height: 104rpx;
width: 100rpx;
height: 100rpx;
border-radius: 35rpx;
background: linear-gradient(#FFEBB2, #FDCB3B);
padding: 20rpx;
padding: 6rpx 13rpx;
image {
width: 100%;
@ -320,7 +322,7 @@ import store from '@/store/index';
background: linear-gradient(#FF995F, #DA0E00);
.member-image {
background: linear-gradient(#FF995F, #FDCB3B);
background: linear-gradient(#FF995F, #DA0E00);
}
.member-text {
@ -349,7 +351,7 @@ import store from '@/store/index';
background: linear-gradient(#EFEFEF, #BCBCBC);
.member-image {
background: linear-gradient(#AAAAAA, #989898);
background: linear-gradient(#EFEFEF, #AAAAAA);
}
.member-text {
@ -371,8 +373,8 @@ import store from '@/store/index';
color: #5C5C5C;
}
}
}
}
.member-prompt {
display: flex;
justify-content: center;

View File

@ -112,7 +112,7 @@
page: 1,
list1: [{
name: '全部',
value: ''
value: '99'
}, {
name: '待付款',
value: '0'

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB