韩立春21日工作内容

数据库设计

针对项目需求进行了数据库的重新设计,表如下:
user表:

字段名数据类型长度主键
useridvarchar64主键
namevarchar64
pwdvarchar64
moneyvarchar64

history表:

字段名数据类型长度主键
useridvarchar64外键
timedatetime
amountdecimal64
operatevarchar128

说明:
User表用来管理用户的id,密码 ,用户的余额
Name是用户的账号
userid是用户的id
Pwd 是用户的密码
Money是用户的余额

History表是用来管理历史记录。
userid是user表里的userid的外键
Time是记录用户操作时间
Amount 是用户操作的金额
operate是用户的具体操作 比如 存款 取款

因为表history中没有name字段,所以要想在后台显示用户姓名,就得进行两个表联查:在这里插入图片描述

进行项目后台部分功能初步编写

项目结构如下
在这里插入图片描述
ums通过服务器名调用notice微服务代码:

 //notice的url
    public static final String NOTICE_URL="http://NOTICE-SERVICE";

    @Resource
    private RestTemplate restTemplate;

    @ApiOperation(value = "根据userid进行查询历史操作记录", notes = "根据userid进行查询历史操作记录")
    @GetMapping(value="/sel/{userid}")
    public JsonResult follow(@PathVariable String userid ){

        //推送消息,是调用另一个微服务
        return restTemplate.getForObject(NOTICE_URL+"/api/select/"+userid,JsonResult.class);
    }
    @ApiOperation(value = "根据userid进行存款", notes = "根据userid进行存款")
    @PostMapping(value="/add/{userid}/{money}")
    public JsonResult add(@PathVariable String userid,@PathVariable double money ){
        User user=new User(userid,money);
        return restTemplate.postForObject(NOTICE_URL+"/api/add/",user, JsonResult.class);
    }
    @ApiOperation(value = "根据userid,money进行取款", notes = "根据userid,money进行取款")
    @PostMapping(value="/subtract/{userid}/{money}")
    public JsonResult sub(@PathVariable String userid,@PathVariable double money ){
        User user=new User(userid,money);
        return restTemplate.postForObject(NOTICE_URL+"/api/subtract/",user, JsonResult.class);
    }

notice微服务集群代码:

 @Resource
    private UserSrvImpl userSrv;
    @Resource
    private HistorySrvImpl historySrv;
    @ApiOperation(value = "根据userid,money进行存款", notes = "根据userid,money进行存款")
    @ApiImplicitParam(name = "userid", value = "用户id", required = true, dataType = "String", paramType = "path")
    @PostMapping("/add")

    public JsonResult addMoney(@RequestBody User user) {
        JsonResult res=new JsonResult(0,"成功");
        userSrv.addMoney(user);
        History history = new History(user.getUserid(), "存款", user.getMoney(), new Date());
        historySrv.insertHistory(history);
        return res;
    }

    @ApiOperation(value = "根据userid,money进行取款", notes = "根据userid,money进行取款")
    @ApiImplicitParam(name = "userid", value = "用户id", required = true, dataType = "String", paramType = "path")
    @PostMapping("/subtract")
    public JsonResult subtractMoney(@RequestBody User user) {
        JsonResult res=new JsonResult(0,"取款成功");

      User user1=  selMoneyByUserid(user.getUserid());
        if (user.getMoney()>user1.getMoney()){
            res.setCode(1);
            res.setMsg("账户余额不足");
        }else{

            userSrv.subtractMoney(user);
            History history = new History(user.getUserid(), "取款", user.getMoney(), new Date());
            historySrv.insertHistory(history);
        }
        return res;
    }
    @ApiOperation(value = "根据userid进行账户余额查询", notes = "根据userid查询余额")
    @ApiImplicitParam(name = "userid", value = "用户id", required = true, dataType = "String", paramType = "path")
    @PostMapping("/selMoneyByUserid/{userid}")
    public User selMoneyByUserid(@PathVariable String userid) {

        User user = userSrv.selMoneyByUserid(userid);
        return  user;

    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值