Merge branch 'master' of http://gitea.yxtsoft.com/yxt_group/mallplus
This commit is contained in:
24
docs/databases/tables_modify.sql
Normal file
24
docs/databases/tables_modify.sql
Normal file
@@ -0,0 +1,24 @@
|
||||
|
||||
alter table sms_home_new_product add `original_price` decimal(10,2) DEFAULT NULL COMMENT '市场价';
|
||||
alter table sms_home_recommend_product add `original_price` decimal(10,2) DEFAULT NULL COMMENT '市场价';
|
||||
|
||||
update sms_home_new_product shnp set
|
||||
original_price=(select pp.original_price from pms_product pp where pp.id=shnp.product_id limit 1),
|
||||
price=(select pp.price from pms_product pp where pp.id=shnp.product_id limit 1)
|
||||
|
||||
update sms_home_recommend_product shnp set
|
||||
original_price=(select pp.original_price from pms_product pp where pp.id=shnp.product_id limit 1),
|
||||
price=(select pp.price from pms_product pp where pp.id=shnp.product_id limit 1)
|
||||
|
||||
|
||||
select * from sys_message
|
||||
|
||||
delete from sys_message where 1=1
|
||||
|
||||
insert into sys_message values
|
||||
(1,340,'交易物流','您有新的物流信息','您的订单商品已经到取货点,请在7日内取出。',now(),now(),0,1),
|
||||
(2,340,'云链助手','该施肥了','春天已经至,已到施肥时间。。',now(),now(),0,1),
|
||||
(3,341,'交易物流','您有新的物流信息','您的订单商品已经到取货点,请在7日内取出。',now(),now(),0,1),
|
||||
(4,341,'云链助手','该施肥了','春天已经至,已到施肥时间。。',now(),now(),0,1);
|
||||
|
||||
SELECT id,user_id,code,params,content,ctime,utime,status FROM sys_message WHERE user_id = 341 ORDER BY ctime desc
|
||||
BIN
docs/images/微信图片_20230220120104.jpg
Normal file
BIN
docs/images/微信图片_20230220120104.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 136 KiB |
84
docs/xiugai/wx20230220.txt
Normal file
84
docs/xiugai/wx20230220.txt
Normal file
@@ -0,0 +1,84 @@
|
||||
云链需要修改和完善的内容:
|
||||
1。消息通知功能需要实现;
|
||||
2。后台管理的菜单需要调整,顺序、菜单名称、需要隐藏的都需要调整;
|
||||
3。收货地址(提货点)功能需要实现;
|
||||
4。定时任务功能,可发送定时消息通知。
|
||||
|
||||
问题(2023-02-21)
|
||||
1. APP升级功能
|
||||
2. 后台管理,去掉商户入住,绑定社区
|
||||
3. APP上新增收货地址,新增完后显示错误。
|
||||
4. APP上收藏功能不可用
|
||||
5. APP上注册成功后,需要有提示
|
||||
6. APP注册成功后,直接登录,登录后跳转到登录之前的页面。
|
||||
7. 优惠券领取后,应该不再显示该优惠券
|
||||
8. 优惠券是否可针对某个商品或针对会员可领取
|
||||
9. APP短信验证(注册、登录)
|
||||
10.支付宝付款、微信付款功能
|
||||
|
||||
呼叫凹凸曼~,郭兴:
|
||||
1. APP升级功能
|
||||
2. 后台管理,去掉商户入住,绑定社区(手机端完成)
|
||||
3. APP上新增收货地址,新增完后显示错误。
|
||||
4. APP上收藏功能不可用
|
||||
5. APP上注册成功后,需要有提示
|
||||
6. APP注册成功后,直接登录,登录后跳转到登录之前的页面。(手机端完成)
|
||||
7. 优惠券领取后,应该不再显示该优惠券 (手机端完成)
|
||||
8. 优惠券是否可针对某个商品或针对会员可领取
|
||||
9. APP短信验证(注册、登录)
|
||||
10.支付宝付款、微信付款功能
|
||||
|
||||
聂金义:
|
||||
APP升级功能最后处理
|
||||
|
||||
聂金义:
|
||||
@popo 短信验证后台优先处理
|
||||
|
||||
呼叫凹凸曼~,郭兴:
|
||||
@瓶旁醉卧 剩下的问题都是需要后台配合的
|
||||
|
||||
呼叫凹凸曼~,郭兴:
|
||||
http://mall.yyundong.com/portalapi/api/
|
||||
|
||||
呼叫凹凸曼~,郭兴:
|
||||
userInfo: 'single/home/userInfo', // 用户信息
|
||||
|
||||
聂金义:
|
||||
@Z. 看看能把注册短信搭起来吗?
|
||||
|
||||
底孟哲:
|
||||
有接口文档吗
|
||||
|
||||
底孟哲:
|
||||
[图片]
|
||||
|
||||
底孟哲:
|
||||
是这个吗?@瓶旁醉卧
|
||||
|
||||
聂金义:
|
||||
是
|
||||
|
||||
聂金义:
|
||||
接口文档还没有,看看把咱们的短信接口能不能放上去
|
||||
|
||||
聂金义:
|
||||
1.后台登陆title改为“汇惠云链管理后台”。
|
||||
2.去掉背景,拉大登陆框,把图标换成云链图标。
|
||||
3.后台首页上面四个图改成竖的,柱状图在右侧。
|
||||
4.马上注册把邀请码换成“汇融乡村振兴卡号”,验证前11位为“62350109317”,并验证共19位。注册后如果验证成功则直接成为会员。
|
||||
5.商品页去掉商品关联。
|
||||
6.立即升级连接页面不对。
|
||||
7.领取优惠券必须是会员
|
||||
|
||||
聂金义:
|
||||
APP
|
||||
1.马上注册把邀请码换成“汇融乡村振兴卡号”,验证前11位为“62350109317”,并验证共19位。注册后如果验证成功则直接成为会员。给后台一个状态,设置为会员。
|
||||
2.右上角的消息去掉,左上角扫描去掉。
|
||||
3.列表页里的惠农价和市场价换价格。
|
||||
|
||||
聂金义:
|
||||
汇融乡村振兴卡号输入有误,将无法享受惠农价。是否继续注册?
|
||||
|
||||
聂金义:
|
||||
7.上拉显示不了更多。
|
||||
|
||||
@@ -45,4 +45,10 @@ public class SmsHomeNewProduct extends BaseEntity implements Serializable {
|
||||
private String pic;
|
||||
|
||||
private BigDecimal price;
|
||||
|
||||
/**
|
||||
* 市场价
|
||||
*/
|
||||
@TableField("original_price")
|
||||
private BigDecimal originalPrice;
|
||||
}
|
||||
|
||||
@@ -43,5 +43,10 @@ public class SmsHomeRecommendProduct extends BaseEntity implements Serializable
|
||||
private String pic;
|
||||
|
||||
private BigDecimal price;
|
||||
/**
|
||||
* 市场价
|
||||
*/
|
||||
@TableField("original_price")
|
||||
private BigDecimal originalPrice;
|
||||
|
||||
}
|
||||
|
||||
@@ -1,11 +1,13 @@
|
||||
package com.zscat.mallplus.ums.entity;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
@@ -57,7 +59,28 @@ public class SysMessage implements Serializable {
|
||||
/**
|
||||
* 1未查看,2已查看
|
||||
*/
|
||||
private Boolean status;
|
||||
private Boolean status = false;
|
||||
|
||||
public String getCdate() {
|
||||
cdate = "";
|
||||
if (ctime != null && ctime > 0) {
|
||||
cdate = DateUtil.format(new Date(ctime), "yyyy-MM-dd");
|
||||
}
|
||||
return cdate;
|
||||
}
|
||||
|
||||
public String getUdate() {
|
||||
udate = "";
|
||||
if (utime != null && utime > 0) {
|
||||
udate = DateUtil.format(new Date(utime), "yyyy-MM-dd");
|
||||
}
|
||||
return udate;
|
||||
}
|
||||
|
||||
@TableField(exist = false)
|
||||
private String cdate;
|
||||
@TableField(exist = false)
|
||||
private String udate;
|
||||
|
||||
|
||||
public Integer getId() {
|
||||
|
||||
@@ -0,0 +1,66 @@
|
||||
package com.zscat.mallplus.apirest;
|
||||
|
||||
import com.zscat.mallplus.oms.entity.OmsCartItem;
|
||||
import com.zscat.mallplus.ums.entity.SysMessage;
|
||||
import com.zscat.mallplus.ums.entity.UmsMember;
|
||||
import com.zscat.mallplus.ums.service.ISysMessageService;
|
||||
import com.zscat.mallplus.ums.service.IUmsMemberService;
|
||||
import com.zscat.mallplus.utils.CommonResult;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@RestController
|
||||
@Api(tags = "SysMessageRest", description = "系统消息")
|
||||
@RequestMapping("/api/sys/message")
|
||||
public class SysMessageRest {
|
||||
|
||||
@Autowired
|
||||
private IUmsMemberService memberService;
|
||||
|
||||
@Autowired
|
||||
private ISysMessageService messageService;
|
||||
|
||||
@ApiOperation("获取某个会员的消息列表")
|
||||
@RequestMapping(value = "/list", method = RequestMethod.GET)
|
||||
@ResponseBody
|
||||
public Object list() {
|
||||
UmsMember umsMember = memberService.getNewCurrentMember();
|
||||
List<SysMessage> list = new ArrayList<>();
|
||||
if (umsMember != null && umsMember.getId() != null) {
|
||||
list = messageService.listByUserId(umsMember.getId());
|
||||
return new CommonResult().success(list);
|
||||
}
|
||||
return new CommonResult().success(list);
|
||||
}
|
||||
|
||||
@ApiOperation("获取消息内容")
|
||||
@RequestMapping(value = "/info", method = RequestMethod.GET)
|
||||
@ResponseBody
|
||||
public Object info(@RequestParam(value = "id", required = false, defaultValue = "0") Long id) {
|
||||
SysMessage mes = messageService.getById(id);
|
||||
if (mes != null && !mes.getStatus()) {
|
||||
mes.setStatus(true);
|
||||
messageService.updateStatus(mes);
|
||||
}
|
||||
return new CommonResult().success(mes);
|
||||
}
|
||||
|
||||
@ApiOperation("更新")
|
||||
@RequestMapping(value = "/updateStatus", method = RequestMethod.POST)
|
||||
@ResponseBody
|
||||
public Object updateStatus(@RequestBody SysMessage sysMessage) {
|
||||
int count = messageService.updateStatus(sysMessage);
|
||||
if (count > 0) {
|
||||
return new CommonResult().success(count);
|
||||
}
|
||||
return new CommonResult().failed();
|
||||
}
|
||||
}
|
||||
@@ -3,6 +3,8 @@ package com.zscat.mallplus.ums.service;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.zscat.mallplus.ums.entity.SysMessage;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 站内信 服务类
|
||||
@@ -13,4 +15,7 @@ import com.zscat.mallplus.ums.entity.SysMessage;
|
||||
*/
|
||||
public interface ISysMessageService extends IService<SysMessage> {
|
||||
|
||||
List<SysMessage> listByUserId(Long userId);
|
||||
|
||||
int updateStatus(SysMessage sysMessage);
|
||||
}
|
||||
|
||||
@@ -1,11 +1,14 @@
|
||||
package com.zscat.mallplus.ums.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.zscat.mallplus.ums.entity.SysMessage;
|
||||
import com.zscat.mallplus.ums.mapper.SysMessageMapper;
|
||||
import com.zscat.mallplus.ums.service.ISysMessageService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 站内信 服务实现类
|
||||
@@ -17,4 +20,18 @@ import org.springframework.stereotype.Service;
|
||||
@Service
|
||||
public class SysMessageServiceImpl extends ServiceImpl<SysMessageMapper, SysMessage> implements ISysMessageService {
|
||||
|
||||
@Override
|
||||
public List<SysMessage> listByUserId(Long userId) {
|
||||
QueryWrapper<SysMessage> qw = new QueryWrapper<>();
|
||||
qw.eq("user_id", userId);
|
||||
qw.orderByDesc("ctime");
|
||||
return baseMapper.selectList(qw);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int updateStatus(SysMessage sysMessage) {
|
||||
sysMessage.setUtime(System.currentTimeMillis());
|
||||
baseMapper.updateById(sysMessage);
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -56,7 +56,7 @@
|
||||
</view>
|
||||
|
||||
<!-- 评价 -->
|
||||
<view class="eva-section">
|
||||
<!-- <view class="eva-section">
|
||||
<view class="e-header">
|
||||
<text class="tit">评价</text>
|
||||
<text>({{ consultCount.all }})</text>
|
||||
@@ -82,7 +82,7 @@
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view> -->
|
||||
|
||||
<view class="detail-desc">
|
||||
<view class="d-header"><text>图文详情</text></view>
|
||||
@@ -109,7 +109,7 @@
|
||||
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<!--
|
||||
<view class="mask" :class="maskState===0 ? 'none' : maskState===1 ? 'show' : ''" @click="toggleMask">
|
||||
<view class="mask-content" @click.stop.prevent="stopPrevent">
|
||||
<view @click="obtainCoupon(item)" class="coupon-item" v-for="(item,index) in couponList" :key="index">
|
||||
@@ -129,7 +129,7 @@
|
||||
<text class="tips">{{item.categoryTitle?'限' + item.categoryTitle + '可用': '全品类可用'}}</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view> -->
|
||||
|
||||
|
||||
<!-- 分享 -->
|
||||
@@ -189,13 +189,20 @@ export default {
|
||||
},
|
||||
async onLoad(ops) {
|
||||
//接收传值,id里面放的是标题,因为测试数据并没写id
|
||||
|
||||
console.log('zzzz',ops)
|
||||
ops={id:204}
|
||||
let id = ops.id;
|
||||
// let id = 408;
|
||||
if (id) {
|
||||
this.logining = true;
|
||||
let params = { id: ops.id };
|
||||
// let params = { id: ops.id };
|
||||
let params = { id:204 };
|
||||
console.log('11111',id)
|
||||
let data = await Api.apiCall('get', Api.goods.secskillDetail, params);
|
||||
this.logining = false;
|
||||
|
||||
console.log('vvvv',data)
|
||||
if (data) {
|
||||
let detailData = data.goods;
|
||||
let goods = detailData.goods;
|
||||
@@ -217,17 +224,19 @@ export default {
|
||||
title: goods.name
|
||||
});
|
||||
}
|
||||
console.log('mmmmm',this.hasLogin)
|
||||
if (this.hasLogin) {
|
||||
let params = { goodsId: ops.id };
|
||||
// let params = { goodsId: ops.id };
|
||||
let params = { goodsId: 204 };
|
||||
await Api.apiCall('post', Api.goods.addView, params);
|
||||
}
|
||||
let params1 = { goodsId: ops.id };
|
||||
let consoltL = await Api.apiCall('get', Api.goods.consultList, params1);
|
||||
let consoltL = await Api.apiCall('get', Api.goods.consultList, params1);
|
||||
this.consultList = consoltL.list;
|
||||
this.consultCount = consoltL.count;
|
||||
|
||||
let params3 = { };
|
||||
let couponList1 = await Api.apiCall('get', Api.index.couponList, params3);
|
||||
let couponList1 = await Api.apiCall('get', Api.index.couponList, params3);
|
||||
this.couponList = couponList1;
|
||||
|
||||
|
||||
@@ -251,17 +260,29 @@ export default {
|
||||
//领取优惠券
|
||||
async obtainCoupon(index) {
|
||||
if (!this.hasLogin) {
|
||||
this.$api.msg('请先登录');
|
||||
// this.$api.msg('请先登录');
|
||||
|
||||
uni.showToast({title:'请先登录',
|
||||
duration:1500,
|
||||
mask:false,
|
||||
icon:"none"
|
||||
});
|
||||
}
|
||||
uni.showLoading({
|
||||
title: '请稍后'
|
||||
});
|
||||
|
||||
let params = { couponId: index.id };
|
||||
let data = await Api.apiCall('post', Api.index.acceptCoupon, params);
|
||||
let data = null; //await Api.apiCall('post', Api.index.acceptCoupon, params);
|
||||
console.log(data);
|
||||
if (data) {
|
||||
this.$api.msg(data);
|
||||
// this.$api.msg(data);
|
||||
|
||||
uni.showToast({title:data,
|
||||
duration:1500,
|
||||
mask:false,
|
||||
icon:"none"
|
||||
});
|
||||
this.toggleMask()
|
||||
}
|
||||
uni.hideLoading();
|
||||
@@ -333,9 +354,11 @@ export default {
|
||||
|
||||
|
||||
if (data) {
|
||||
this.$api.msg('添加购物车成功!');
|
||||
// this.$api.msg('添加购物车成功!');
|
||||
uni.showToast({title:"添加购物车成功",icon: "none"});
|
||||
} else {
|
||||
this.$api.msg('加入购物车错误');
|
||||
// this.$api.msg('加入购物车错误');
|
||||
uni.showToast({title:"加入购物车错误",icon: "none"});
|
||||
}
|
||||
},
|
||||
stopPrevent() {}
|
||||
|
||||
@@ -334,7 +334,8 @@
|
||||
productId:this.dialogData.multipleSelection[i].id,
|
||||
pic:this.dialogData.multipleSelection[i].pic,
|
||||
price:this.dialogData.multipleSelection[i].price,
|
||||
productName:this.dialogData.multipleSelection[i].name
|
||||
productName:this.dialogData.multipleSelection[i].name,
|
||||
originalPrice:this.dialogData.multipleSelection[i].originalPrice
|
||||
});
|
||||
}
|
||||
this.$confirm('使用要进行添加操作?', '提示', {
|
||||
|
||||
@@ -334,7 +334,8 @@
|
||||
productId:this.dialogData.multipleSelection[i].id,
|
||||
pic:this.dialogData.multipleSelection[i].pic,
|
||||
price:this.dialogData.multipleSelection[i].price,
|
||||
productName:this.dialogData.multipleSelection[i].name
|
||||
productName:this.dialogData.multipleSelection[i].name,
|
||||
originalPrice:this.dialogData.multipleSelection[i].originalPrice
|
||||
});
|
||||
}
|
||||
this.$confirm('使用要进行添加操作?', '提示', {
|
||||
|
||||
Reference in New Issue
Block a user