diff --git a/docs/databases/tables_modify.sql b/docs/databases/tables_modify.sql new file mode 100644 index 0000000..c875e16 --- /dev/null +++ b/docs/databases/tables_modify.sql @@ -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 \ No newline at end of file diff --git a/docs/images/微信图片_20230220120104.jpg b/docs/images/微信图片_20230220120104.jpg new file mode 100644 index 0000000..709bee1 Binary files /dev/null and b/docs/images/微信图片_20230220120104.jpg differ diff --git a/docs/xiugai/wx20230220.txt b/docs/xiugai/wx20230220.txt new file mode 100644 index 0000000..bd159d9 --- /dev/null +++ b/docs/xiugai/wx20230220.txt @@ -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.上拉显示不了更多。 + diff --git a/mallplus-mbg/src/main/java/com/zscat/mallplus/sms/entity/SmsHomeNewProduct.java b/mallplus-mbg/src/main/java/com/zscat/mallplus/sms/entity/SmsHomeNewProduct.java index ec8db7b..44e3a0c 100644 --- a/mallplus-mbg/src/main/java/com/zscat/mallplus/sms/entity/SmsHomeNewProduct.java +++ b/mallplus-mbg/src/main/java/com/zscat/mallplus/sms/entity/SmsHomeNewProduct.java @@ -45,4 +45,10 @@ public class SmsHomeNewProduct extends BaseEntity implements Serializable { private String pic; private BigDecimal price; + + /** + * 市场价 + */ + @TableField("original_price") + private BigDecimal originalPrice; } diff --git a/mallplus-mbg/src/main/java/com/zscat/mallplus/sms/entity/SmsHomeRecommendProduct.java b/mallplus-mbg/src/main/java/com/zscat/mallplus/sms/entity/SmsHomeRecommendProduct.java index 8b45b0f..5fb032d 100644 --- a/mallplus-mbg/src/main/java/com/zscat/mallplus/sms/entity/SmsHomeRecommendProduct.java +++ b/mallplus-mbg/src/main/java/com/zscat/mallplus/sms/entity/SmsHomeRecommendProduct.java @@ -43,5 +43,10 @@ public class SmsHomeRecommendProduct extends BaseEntity implements Serializable private String pic; private BigDecimal price; + /** + * 市场价 + */ + @TableField("original_price") + private BigDecimal originalPrice; } diff --git a/mallplus-mbg/src/main/java/com/zscat/mallplus/ums/entity/SysMessage.java b/mallplus-mbg/src/main/java/com/zscat/mallplus/ums/entity/SysMessage.java index 61eb852..6ce24d4 100644 --- a/mallplus-mbg/src/main/java/com/zscat/mallplus/ums/entity/SysMessage.java +++ b/mallplus-mbg/src/main/java/com/zscat/mallplus/ums/entity/SysMessage.java @@ -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; /** *

@@ -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() { diff --git a/mallplus-portal/src/main/java/com/zscat/mallplus/apirest/SysMessageRest.java b/mallplus-portal/src/main/java/com/zscat/mallplus/apirest/SysMessageRest.java new file mode 100644 index 0000000..44f29a3 --- /dev/null +++ b/mallplus-portal/src/main/java/com/zscat/mallplus/apirest/SysMessageRest.java @@ -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 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(); + } +} diff --git a/mallplus-portal/src/main/java/com/zscat/mallplus/ums/service/ISysMessageService.java b/mallplus-portal/src/main/java/com/zscat/mallplus/ums/service/ISysMessageService.java index 736a5bc..2a53453 100644 --- a/mallplus-portal/src/main/java/com/zscat/mallplus/ums/service/ISysMessageService.java +++ b/mallplus-portal/src/main/java/com/zscat/mallplus/ums/service/ISysMessageService.java @@ -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; + /** *

* 站内信 服务类 @@ -13,4 +15,7 @@ import com.zscat.mallplus.ums.entity.SysMessage; */ public interface ISysMessageService extends IService { + List listByUserId(Long userId); + + int updateStatus(SysMessage sysMessage); } diff --git a/mallplus-portal/src/main/java/com/zscat/mallplus/ums/service/impl/SysMessageServiceImpl.java b/mallplus-portal/src/main/java/com/zscat/mallplus/ums/service/impl/SysMessageServiceImpl.java index 066e05d..708f9be 100644 --- a/mallplus-portal/src/main/java/com/zscat/mallplus/ums/service/impl/SysMessageServiceImpl.java +++ b/mallplus-portal/src/main/java/com/zscat/mallplus/ums/service/impl/SysMessageServiceImpl.java @@ -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; + /** *

* 站内信 服务实现类 @@ -17,4 +20,18 @@ import org.springframework.stereotype.Service; @Service public class SysMessageServiceImpl extends ServiceImpl implements ISysMessageService { + @Override + public List listByUserId(Long userId) { + QueryWrapper 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; + } } diff --git a/mallplusui-uniapp-app2/pagesA/product/secskillDetail.vue b/mallplusui-uniapp-app2/pagesA/product/secskillDetail.vue index 29d7d7c..1f9b0a3 100644 --- a/mallplusui-uniapp-app2/pagesA/product/secskillDetail.vue +++ b/mallplusui-uniapp-app2/pagesA/product/secskillDetail.vue @@ -56,7 +56,7 @@ - + 图文详情 @@ -109,7 +109,7 @@ - + @@ -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() {} diff --git a/mallplusui-web-admin/src/views/sms/hot/index.vue b/mallplusui-web-admin/src/views/sms/hot/index.vue index d9a3739..c4d8182 100644 --- a/mallplusui-web-admin/src/views/sms/hot/index.vue +++ b/mallplusui-web-admin/src/views/sms/hot/index.vue @@ -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('使用要进行添加操作?', '提示', { diff --git a/mallplusui-web-admin/src/views/sms/new/index.vue b/mallplusui-web-admin/src/views/sms/new/index.vue index 1184c84..f499293 100644 --- a/mallplusui-web-admin/src/views/sms/new/index.vue +++ b/mallplusui-web-admin/src/views/sms/new/index.vue @@ -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('使用要进行添加操作?', '提示', {