package org.example.user.service.impl;
import org.example.user.client.MainClient;
import org.example.user.mapper.BillMapper;
import org.example.user.mapper.CouponMapper;
import org.example.user.mapper.UserMapper;
import org.example.user.mapper.move.InvitationMapper;
import org.example.user.domain.User;
import org.example.user.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cloud.client.ServiceInstance;
import org.springframework.cloud.client.discovery.DiscoveryClient;
import org.springframework.http.HttpMethod;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service;
import org.springframework.web.client.RestTemplate;
import java.util.Date;
import java.util.List;
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userMapper;
@Autowired
private InvitationMapper invitationMapper;
@Autowired
private BillMapper billMapper;
@Autowired
private CouponMapper couponMapper;
@Autowired
private DiscoveryClient discoveryClient;
// @Autowired
// private MainClient mainClient;
@Override
public User login(String account) {
return userMapper.login(account);
}
@Override
public void add(String account, String password, String name, String phone,
String invitationCode, Date openCardDate) {
userMapper.add(account,password,name,phone,invitationCode,openCardDate);
}
@Override
public User myself(Integer id) {
return userMapper.myself(id);
}
@Override
public void update(User user) {
userMapper.update(user.getName(),user.getPhone(), user.getId());
}
@Override
public String getInvitationCode(Integer id) {
User user= userMapper.myself(id);
return user.getInvitationCode();
}
@Override
public String getInvitationPerson(Integer id) {
RestTemplate restTemplate = new RestTemplate();
//获取服务实例
List<ServiceInstance> instances = discoveryClient.getInstances("main");
if (instances.isEmpty()){//获取的服务为空,跳出
return "服务“main”获取失败~";
}
//通过随机负载均衡(当前仅考虑单实例情况,下标写死为0
ServiceInstance serviceInstance = instances.get(0);
//通过远程调用,实现业务之间的交流(此处暂且跳过token校验)
ResponseEntity<Integer> response = restTemplate.exchange(
serviceInstance.getUri()+"/invitation/getInvitationPersonIdById?id="+id,
HttpMethod.GET,
null,
Integer.class
);
//根据拿到的id,进行用户查询
Integer invitationPersonId=response.getBody();
//Integer invitationPersonId=mainClient.getInvitationPersonIdById(id);
if(invitationPersonId==null){//无人邀请自己
return "暂无";
} else {//有邀请者
return userMapper.myself(invitationPersonId).getName();
}
}
@Override
public Integer invitation(String invitationPersonCode, Integer id) {
User user=userMapper.myself(id);//获取用户的信息
Date openCardDate=user.getOpenCardDate();//获取开卡时间
Date now=new Date();
if(now.getTime()-openCardDate.getTime()>86400000*7){//开卡时间以大于7天
return -1;//已不是新用户
}
Integer invitationId=userMapper.getIdByInvitationCode(invitationPersonCode);
if(invitationId==null){
return 0;//邀请码不存在
} else if(invitationId.equals(id)){
return -2;//不能绑定自己
} else {
invitationMapper.invitation(invitationId,id);//绑定成功后,向被绑定者发送一张优惠券
Date date=new Date(System.currentTimeMillis()+604800000);//有效期为7天
couponMapper.add(invitationId,date,0,20.0,5,1);
return 1;//绑定成功
}
}
@Override
public Integer changeMoneyByAccount(String account, Double money,String other) {//向指定账户充值金额
User user= userMapper.login(account);
if(user==null){
return 0;//该用户不存在
} else {
Double newMoney=user.getMoney()+money;
userMapper.changeMoneyByAccount(user.getId(),newMoney);
billMapper.addOneBill(user.getId(),2,money,other,new Date());
return 1;
}
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
基于微信小程序的简易会员卡系统设计源码
共1656个文件
ts:337个
js:325个
wxss:253个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 49 浏览量
2024-10-04
05:35:38
上传
评论
收藏 4.02MB ZIP 举报
温馨提示
该套源码是一款基于微信小程序的简易会员卡系统,由1648个文件构成,涵盖337个TypeScript文件、325个JavaScript文件、249个WXML模板文件、241个JSON配置文件、241个WXSS样式文件、138个WXS组件文件、60个Java后端文件、16个XML文件、11个PNG图片文件和7个JPG图片文件。系统采用TypeScript和JavaScript进行小程序开发,同时后端服务使用Java语言编写。该系统旨在提供便捷的会员卡管理功能,适用于各类商家和用户。
资源推荐
资源详情
资源评论
收起资源包目录
基于微信小程序的简易会员卡系统设计源码 (1656个子文件)
.babelrc 202B
mobx.js.flow 15KB
.gitignore 490B
.gitignore 47B
.gitignore 47B
weixin-car.iml 336B
UserServiceImpl.java 4KB
UserController.java 4KB
UserController.java 4KB
UserServiceImpl.java 3KB
Indent.java 3KB
IndentServiceImpl.java 3KB
AdminController.java 3KB
Service.java 2KB
User.java 2KB
Coupon.java 2KB
User.java 2KB
AdminServiceImpl.java 2KB
Token.java 2KB
ServiceController.java 2KB
Bill.java 2KB
IndentController.java 2KB
ServiceMapper.java 1KB
ServiceServiceImpl.java 1KB
Shop.java 1KB
UserMapper.java 1KB
UserMapper.java 1KB
Admin.java 1KB
Interceptor.java 1KB
IndentMapper.java 1KB
ShopController.java 1KB
InterceptorConfig.java 1KB
Invitation.java 986B
UserServiceImplTest.java 901B
PublicController.java 858B
UserService.java 819B
CouponController.java 816B
UserService.java 809B
CouponMapper.java 807B
CouponMapper.java 802B
ShopServiceImpl.java 767B
ShopMapper.java 745B
BillController.java 733B
BillMapper.java 731B
BillMapper.java 726B
InvitationController.java 715B
Result.java 704B
AdminMapper.java 702B
InvitationMapper.java 637B
InvitationMapper.java 632B
ServiceService.java 559B
BillServiceImpl.java 553B
AdminService.java 545B
InvitationServiceImpl.java 519B
CouponServiceImpl.java 504B
MainApplication.java 441B
MainClient.java 411B
IndentService.java 361B
MainApplication.java 353B
MainApplication.java 312B
BillService.java 294B
ShopService.java 293B
CouponService.java 223B
InvitationService.java 122B
Store.java 119B
Admin.java 52B
购买界面.jpg 536KB
用户中心界面.jpg 298KB
发券界面.jpg 295KB
首页界面.jpg 284KB
同城服务界面.jpg 214KB
swiper-item-one.jpg 29KB
swiper-item-two.jpg 21KB
index.js 67KB
index.js 67KB
weapp.qrcode.js 34KB
weapp.qrcode.common.js 17KB
weapp.qrcode.esm.js 17KB
weapp.qrcode.min.js 16KB
index.js 13KB
index.js 13KB
index.js 12KB
index.js 12KB
index.js 12KB
index.js 12KB
index.js 12KB
index.js 10KB
index.js 10KB
index.js 9KB
index.js 9KB
index.js 9KB
index.js 9KB
index.js 8KB
index.js 8KB
index.js 8KB
index.js 8KB
index.js 8KB
index.js 8KB
index.js 7KB
index.js 7KB
共 1656 条
- 1
- 2
- 3
- 4
- 5
- 6
- 17
资源评论
lsx202406
- 粉丝: 2995
- 资源: 5702
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 英语日常词汇分类.doc
- 英语动词单三变化规则与名词单数变复数口诀.doc
- 幼教、少儿创新教育课程《快乐记忆》系列课程市场运营方案报告.doc
- 在阳光中奔跑[800字]作文.doc
- 语文必修三理解性默写填空.doc
- 中考语文答题套路(人版).doc
- 中学课程设置方案.doc
- 家庭教育及亲子沟通公益讲座讲稿.doc
- 综合实践我国象棋教学案.doc
- 不安全化学品储罐区隐患排查表.doc
- 教师行为规范心得体会.doc
- 建设工程合同模板管理试题A卷与答案.doc
- 科教版八年级物理(上册)期末测试题及答案.doc
- 牛津高中英语模块一至模块十一短语.doc
- 鲁迅的儿童教育思想-王敏.doc
- H3C SecPath F1000F5000FW插卡vFW系列防火墙 命令参考(V7)(R8X60-R9X60-E8X60-E9X60-E1185)-6W614
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功