Compare commits
17 Commits
c3a72e4245
...
8cfba0d856
Author | SHA1 | Date |
---|---|---|
perry | 8cfba0d856 | |
TianYu | 6ce6a7a3fa | |
TianYu | f2047883c0 | |
tangqian | 38b5bfde5d | |
tangqian | ec433d0134 | |
TianYu | 09bb5b0893 | |
小小张 | 872ce8baf0 | |
小小张 | a1143656c2 | |
小小张 | 03e595c92b | |
js199000126 | 5f5944b15f | |
js199000126 | 656f0a6d50 | |
js199000126 | 64fcfc72ad | |
小小张 | 39d922eb1b | |
小小张 | dc4c7504a7 | |
TianYu | 471cc57623 | |
TianYu | 355f823192 | |
TianYu | 56c8e53fa0 |
|
@ -37,8 +37,8 @@ public class TenantContextHolder {
|
|||
public static Long getRequiredTenantId() {
|
||||
Long tenantId = getTenantId();
|
||||
if (tenantId == null) {
|
||||
throw new NullPointerException("TenantContextHolder 不存在租户编号!可参考文档:"
|
||||
+ DocumentEnum.TENANT.getUrl());
|
||||
throw new NullPointerException("商户id不存在"
|
||||
);
|
||||
}
|
||||
return tenantId;
|
||||
}
|
||||
|
|
|
@ -87,12 +87,9 @@ public class PhoneRecordServiceImpl implements PhoneRecordService {
|
|||
@TenantIgnore
|
||||
@Transactional
|
||||
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)) {
|
||||
Set<Long> ids = recordDOS.stream().map(PhoneRecordDO::getId).collect(Collectors.toSet());
|
||||
log.info("-------------------------ids{}",ids);
|
||||
phoneRecordMapper.deleteBatchIds(ids);
|
||||
}
|
||||
return null;
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
FROM
|
||||
eb_shipping_templates_free
|
||||
where
|
||||
temp_id = #{tempId, jdbcType=INTEGER}
|
||||
temp_id = #{tempId, jdbcType=INTEGER} AND `status` = 1
|
||||
GROUP BY
|
||||
`uniqid`
|
||||
ORDER BY id ASC
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
FROM
|
||||
eb_shipping_templates_region
|
||||
where
|
||||
temp_id = #{tempId, jdbcType=INTEGER}
|
||||
temp_id = #{tempId, jdbcType=INTEGER} AND `status` = 1
|
||||
GROUP BY
|
||||
`uniqid`
|
||||
ORDER BY id ASC
|
||||
|
|
|
@ -5,6 +5,7 @@ import cn.hutool.core.util.IdUtil;
|
|||
import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.tenant.core.aop.TenantIgnore;
|
||||
import cn.iocoder.yudao.framework.tenant.core.context.TenantContextHolder;
|
||||
import cn.iocoder.yudao.module.infra.api.file.FileApi;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.user.dto.AdminUserQueryDTO;
|
||||
import cn.iocoder.yudao.module.member.controller.app.user.vo.AppUserUpdateMobileReqVO;
|
||||
|
@ -104,6 +105,7 @@ public class MemberUserServiceImpl implements MemberUserService {
|
|||
user.setPassword(encodePassword("123456")); // 加密密码
|
||||
user.setRegisterIp(registerIp);
|
||||
user.setPromoterId(promoterId);
|
||||
user.setTenantId(TenantContextHolder.getRequiredTenantId());
|
||||
memberUserMapper.insert(user);
|
||||
return user;
|
||||
}
|
||||
|
|
|
@ -58,7 +58,7 @@
|
|||
<el-input v-model="form.title" placeholder="请输入标题"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="缩略图" prop="picUrl">
|
||||
<imageUpload v-model="form.picUrl" :limit="5"/>
|
||||
<imageUpload v-model="form.picUrl" :limit="1"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="跳转链接" prop="url">
|
||||
<el-input v-model="form.url" placeholder="请输入跳转链接"/>
|
||||
|
|
|
@ -65,10 +65,10 @@
|
|||
</el-table-column>
|
||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
||||
<template v-slot="scope">
|
||||
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
|
||||
v-hasPermi="['member:user:update']">查看</el-button>
|
||||
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
|
||||
v-hasPermi="['member:user:delete']">删除</el-button>
|
||||
<!-- <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"-->
|
||||
<!-- v-hasPermi="['member:user:update']">查看</el-button>-->
|
||||
<!-- <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"-->
|
||||
<!-- v-hasPermi="['member:user:delete']">删除</el-button>-->
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
|
|
@ -15,6 +15,11 @@
|
|||
"style": {
|
||||
"navigationBarTitleText": "会员"
|
||||
}
|
||||
},{
|
||||
"path": "pages/notice/index",
|
||||
"style": {
|
||||
"navigationBarTitleText": "公告详情"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/member_detail/index",
|
||||
|
|
|
@ -4,14 +4,24 @@
|
|||
<view class="header_top">
|
||||
<view class="content">
|
||||
<view class="left">
|
||||
<u--image class="image" :src="tenant.logo" width="160rpx" height="160rpx" shape="circle"></u--image>
|
||||
<u--image class="image" :src="tenant.logo" width="160rpx" height="160rpx" shape="circle">
|
||||
</u--image>
|
||||
</view>
|
||||
<view class="center">
|
||||
<view class="top">{{tenant.name}}</view>
|
||||
<view class="text">
|
||||
<view class="detail"><u-icon style="display: inline-block;line-height: 28rpx;" name="file-text-fill" color="#fff" size="28rpx"></u-icon>简介:{{tenant.introduction}}</view>
|
||||
<view class="detail"><u-icon style="display: inline-block;line-height: 28rpx;" name="phone" color="#fff" size="28rpx"></u-icon>电话:{{tenant.serviceMobile}}</view>
|
||||
<view class="detail"><u-icon style="display: inline-block;line-height: 28rpx;" name="clock" color="#fff" size="28rpx"></u-icon>服务时间:{{tenant.serviceTime}}</view>
|
||||
<view class="detail">
|
||||
<u-icon style="display: inline-block;line-height: 28rpx;" name="file-text-fill"
|
||||
color="#fff" size="28rpx"></u-icon>简介:{{tenant.introduction}}
|
||||
</view>
|
||||
<view class="detail">
|
||||
<u-icon style="display: inline-block;line-height: 28rpx;" name="phone" color="#fff"
|
||||
size="28rpx"></u-icon>电话:{{tenant.serviceMobile}}
|
||||
</view>
|
||||
<view class="detail">
|
||||
<u-icon style="display: inline-block;line-height: 28rpx;" name="clock" color="#fff"
|
||||
size="28rpx"></u-icon>服务时间:{{tenant.serviceTime}}
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="right">
|
||||
|
@ -29,7 +39,7 @@
|
|||
</navigator>
|
||||
</view>
|
||||
</view>
|
||||
<view class="notice">
|
||||
<view class="notice" @tap="goNoticeDetail">
|
||||
<u-notice-bar :text="text" fontSize="26rpx" color="#000" bgColor="transparent"></u-notice-bar>
|
||||
</view>
|
||||
<view class="hot">
|
||||
|
@ -45,11 +55,7 @@
|
|||
|
||||
</view>
|
||||
<view class="input">
|
||||
<u--input
|
||||
placeholder="请输入内容"
|
||||
v-model="value"
|
||||
@change="change"
|
||||
></u--input>
|
||||
<u--input placeholder="请输入内容" v-model="value"></u--input>
|
||||
</view>
|
||||
<view class="button" @tap="searchSubmitValue">
|
||||
搜索
|
||||
|
@ -77,7 +83,9 @@
|
|||
<image :src="item.image" mode=""></image>
|
||||
<view class="name">{{item.storeName}}</view>
|
||||
|
||||
<text><u--text color="#E50202" mode="price" :text="item.price"></u--text></text>
|
||||
<text>
|
||||
<u--text color="#E50202" mode="price" :text="item.price"></u--text>
|
||||
</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="" style="margin-top: 110rpx;">
|
||||
|
@ -204,7 +212,7 @@
|
|||
bastInfo: '',
|
||||
fastInfo: '',
|
||||
fastList: [],
|
||||
text:'尊敬的业主:接环卫所通知,近期将对小区进行大扫除,请大家做好准备',
|
||||
text: '尊敬的业主:接环卫所通知,近期将对小区进行大扫除,请大家做好准备',
|
||||
firstInfo: '',
|
||||
salesInfo: '',
|
||||
indicatorDots: false,
|
||||
|
@ -319,13 +327,13 @@
|
|||
// ]);
|
||||
getUserInfo().then(res => {
|
||||
this.userInfo = res.data
|
||||
getTenant(153).then(res=>{
|
||||
getTenant(153).then(res => {
|
||||
this.tenant = res.data
|
||||
this.text = res.data.notice
|
||||
})
|
||||
})
|
||||
getHeader().then(res=>{
|
||||
console.log(res,'会员')
|
||||
getHeader().then(res => {
|
||||
console.log(res, '会员')
|
||||
})
|
||||
this.getBanners()
|
||||
this.getIndexPage()
|
||||
|
@ -341,8 +349,12 @@
|
|||
})
|
||||
},
|
||||
methods: {
|
||||
change(){
|
||||
console.log(this.value,'value')
|
||||
// 跳转公告详情
|
||||
goNoticeDetail() {
|
||||
console.log('notice哇')
|
||||
uni.navigateTo({
|
||||
url: '/pages/notice/index'
|
||||
})
|
||||
},
|
||||
// 搜索
|
||||
searchSubmitValue: function() {
|
||||
|
@ -356,32 +368,32 @@
|
|||
});
|
||||
},
|
||||
// 加入购物车
|
||||
addCart(id){
|
||||
addCart(id) {
|
||||
getSpuDetail(id).then(res => {
|
||||
console.log(res.data.productValue.默认.id,'1111111111111')
|
||||
console.log(res.data.productValue.默认.id, '1111111111111')
|
||||
let unique = res.data.productValue.默认.id
|
||||
postCartAdd({
|
||||
productId: id,
|
||||
productAttrUnique: unique,
|
||||
cartNum: 1
|
||||
}).then(res=> {
|
||||
}).then(res => {
|
||||
console.log('加入成功')
|
||||
})
|
||||
})
|
||||
},
|
||||
go(){
|
||||
console.log(this.productList,'------')
|
||||
go() {
|
||||
console.log(this.productList, '------')
|
||||
},
|
||||
|
||||
// 获取banner和userInfo
|
||||
getBanners(){
|
||||
getBanners() {
|
||||
|
||||
// console.log(this.$store.tenantId,'tenantId')
|
||||
getBanner().then(res=>{
|
||||
getBanner().then(res => {
|
||||
this.bannerList = res.data.list[0]
|
||||
console.log(this.bannerList,'banner')
|
||||
console.log(this.bannerList, 'banner')
|
||||
})
|
||||
console.log(this.userInfo.userId,'userInfo111111')
|
||||
console.log(this.userInfo.userId, 'userInfo111111')
|
||||
|
||||
},
|
||||
getCoupon: function(id, index) {
|
||||
|
@ -497,12 +509,12 @@
|
|||
})
|
||||
},
|
||||
// 首页商品
|
||||
getIndexPage(){
|
||||
getIndexPage() {
|
||||
let that = this
|
||||
productPage().then(res=>{
|
||||
console.log(res.data.list,'商品列表')
|
||||
productPage().then(res => {
|
||||
console.log(res.data.list, '商品列表')
|
||||
this.productList = this.productList.concat(res.data.list)
|
||||
console.log(this.productList,'---------')
|
||||
console.log(this.productList, '---------')
|
||||
})
|
||||
},
|
||||
getcouponList() {
|
||||
|
@ -650,7 +662,7 @@
|
|||
// 获取H5 搜索框高度
|
||||
let appSearchH = uni.createSelectorQuery().select(".serch-wrapper");
|
||||
appSearchH.boundingClientRect(function(data) {
|
||||
if(data){
|
||||
if (data) {
|
||||
self.searchH = data.height
|
||||
}
|
||||
}).exec()
|
||||
|
@ -698,13 +710,14 @@
|
|||
}
|
||||
</style>
|
||||
<style lang="scss">
|
||||
.box {
|
||||
.box {
|
||||
.header {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
height: 544rpx;
|
||||
background: url(@/static/images/shop/index_headerbg.png);
|
||||
background-size: 100% 100%;
|
||||
|
||||
.header_top {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
|
@ -717,6 +730,7 @@
|
|||
align-items: center;
|
||||
position: absolute;
|
||||
top: 109rpx;
|
||||
|
||||
.left {
|
||||
width: 164rpx;
|
||||
height: 164rpx;
|
||||
|
@ -728,17 +742,21 @@
|
|||
}
|
||||
|
||||
}
|
||||
|
||||
.center {
|
||||
width: 330rpx;
|
||||
height: 170rpx;
|
||||
|
||||
.top {
|
||||
font-size: 30rpx;
|
||||
font-family: PingFang SC;
|
||||
font-weight: 400;
|
||||
color: #FFFFFF;
|
||||
}
|
||||
|
||||
.text {
|
||||
margin-top: 25rpx;
|
||||
|
||||
.detail {
|
||||
font-size: 24rpx;
|
||||
font-family: PingFang SC;
|
||||
|
@ -747,6 +765,7 @@
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
.right {
|
||||
width: 150rpx;
|
||||
height: 170rpx;
|
||||
|
@ -754,20 +773,24 @@
|
|||
justify-content: space-around;
|
||||
flex-wrap: wrap;
|
||||
align-items: center;
|
||||
|
||||
.up {
|
||||
width: 110rpx;
|
||||
height: 110rpx;
|
||||
|
||||
image {
|
||||
width: 101rpx;
|
||||
height: 110rpx;
|
||||
}
|
||||
}
|
||||
|
||||
text {
|
||||
font-size: 22rpx;
|
||||
font-family: PingFang SC;
|
||||
font-weight: 400;
|
||||
color: #FFFFFF;
|
||||
}
|
||||
|
||||
.button {
|
||||
width: 119rpx;
|
||||
height: 36rpx;
|
||||
|
@ -783,12 +806,14 @@
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
.header_bottom {
|
||||
position: absolute;
|
||||
margin-left: 43rpx;
|
||||
bottom: 0;
|
||||
width: 664rpx;
|
||||
height: 238rpx;
|
||||
|
||||
// background: url(@/static/images/shop/index_hbottom.png);
|
||||
// background-size: 100% 100%;
|
||||
image {
|
||||
|
@ -798,6 +823,7 @@
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
.notice {
|
||||
margin-top: 30rpx;
|
||||
margin-left: 48rpx;
|
||||
|
@ -810,6 +836,7 @@
|
|||
align-items: center;
|
||||
|
||||
}
|
||||
|
||||
.hot {
|
||||
width: 663rpx;
|
||||
height: 322rpx;
|
||||
|
@ -823,22 +850,26 @@
|
|||
height: 1rpx;
|
||||
margin-bottom: 26rpx;
|
||||
}
|
||||
|
||||
.top {
|
||||
width: 100%;
|
||||
height: 55rpx;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
|
||||
.left {
|
||||
height: 100%;
|
||||
margin-left: 19rpx;
|
||||
display: flex;
|
||||
justify-content: space-around;
|
||||
|
||||
.icon {
|
||||
width: 40rpx;
|
||||
height: 40rpx;
|
||||
background: url(@/static/images/shop/index_hot.png);
|
||||
background-size: 100% 100%;
|
||||
}
|
||||
|
||||
text {
|
||||
margin-left: 11rpx;
|
||||
font-size: 32rpx;
|
||||
|
@ -847,9 +878,11 @@
|
|||
color: #000000;
|
||||
}
|
||||
}
|
||||
|
||||
.right {
|
||||
width: 387rpx;
|
||||
height: 100%;
|
||||
|
||||
.search {
|
||||
width: 387rpx;
|
||||
height: 55rpx;
|
||||
|
@ -858,6 +891,7 @@
|
|||
justify-content: space-between;
|
||||
align-items: center;
|
||||
border-radius: 27rpx;
|
||||
|
||||
.icon {
|
||||
margin-left: 10rpx;
|
||||
width: 37rpx;
|
||||
|
@ -865,6 +899,7 @@
|
|||
background: url(@/static/images/shop/index_search.png);
|
||||
background-size: 100% 100%;
|
||||
}
|
||||
|
||||
.button {
|
||||
margin-right: 3rpx;
|
||||
width: 82rpx;
|
||||
|
@ -881,21 +916,25 @@
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
.bottom {
|
||||
margin-top: 27rpx;
|
||||
height: 200rpx;
|
||||
overflow: scroll;
|
||||
white-space: nowrap;
|
||||
|
||||
.item {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
width: 370rpx;
|
||||
height: 199rpx;
|
||||
margin-left: 19rpx;
|
||||
|
||||
image {
|
||||
width: 370rpx;
|
||||
height: 199rpx;
|
||||
}
|
||||
|
||||
.title {
|
||||
position: absolute;
|
||||
left: 22rpx;
|
||||
|
@ -911,6 +950,7 @@
|
|||
font-weight: 400;
|
||||
color: #FFFFFF;
|
||||
}
|
||||
|
||||
.rank {
|
||||
width: 90rpx;
|
||||
height: 34rpx;
|
||||
|
@ -918,6 +958,7 @@
|
|||
background: linear-gradient(0deg, #F74A7B 0%, #FFAFAF 100%);
|
||||
border-radius: 8rpx;
|
||||
}
|
||||
|
||||
.img1 {
|
||||
position: absolute;
|
||||
left: 17rpx;
|
||||
|
@ -925,6 +966,7 @@
|
|||
width: 166rpx;
|
||||
height: 71rpx;
|
||||
}
|
||||
|
||||
.img2 {
|
||||
position: absolute;
|
||||
top: 22rpx;
|
||||
|
@ -935,12 +977,14 @@
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
.container {
|
||||
width: 663rpx;
|
||||
margin-left: 44rpx;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
justify-content: space-between;
|
||||
|
||||
.item {
|
||||
position: relative;
|
||||
margin-top: 28rpx;
|
||||
|
@ -954,6 +998,7 @@
|
|||
width: 100%;
|
||||
height: 294rpx;
|
||||
}
|
||||
|
||||
.name {
|
||||
margin-left: 15rpx;
|
||||
margin-bottom: 10rpx;
|
||||
|
@ -965,6 +1010,7 @@
|
|||
font-weight: 400;
|
||||
color: #000000;
|
||||
}
|
||||
|
||||
text {
|
||||
position: absolute;
|
||||
right: 20rpx;
|
||||
|
@ -975,6 +1021,7 @@
|
|||
font-weight: 400;
|
||||
color: #E50202;
|
||||
}
|
||||
|
||||
.car {
|
||||
position: absolute;
|
||||
|
||||
|
@ -985,15 +1032,16 @@
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
::v-deep .notice{
|
||||
}
|
||||
|
||||
::v-deep .notice {
|
||||
.u-icon__icon {
|
||||
color: #FF4802 !important;
|
||||
|
||||
span {
|
||||
font-size: 28rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
</style>
|
||||
|
|
|
@ -0,0 +1,50 @@
|
|||
<template>
|
||||
<view class="notice">
|
||||
<view class="item">
|
||||
{{text}}
|
||||
</view>
|
||||
</view>
|
||||
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {
|
||||
getTenant
|
||||
} from '../../api/product.js'
|
||||
import {
|
||||
setVisit,
|
||||
getUserInfo
|
||||
} from '@/api/user.js'
|
||||
export default {
|
||||
data(){
|
||||
return {
|
||||
tanent: {},
|
||||
text: '',
|
||||
userInfo: {}
|
||||
}
|
||||
},
|
||||
mounted(){
|
||||
getUserInfo().then(res => {
|
||||
this.userInfo = res.data
|
||||
console.log(res.data)
|
||||
getTenant(153).then(res => {
|
||||
this.tenant = res.data
|
||||
this.text = res.data.notice
|
||||
})
|
||||
})
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.notice {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
|
||||
.item {
|
||||
width: 800rpx;
|
||||
height: 1000rpx;
|
||||
background: #fff;
|
||||
}
|
||||
}
|
||||
</style>
|
Loading…
Reference in New Issue