发布文章积分自动增加

本文描述了一个使用SpringMVC的控制器方法,处理文章添加请求,包括参数检查、用户关联、时间戳设置、数据库操作以及用户积分自动增加的功能。
摘要由CSDN通过智能技术生成

 controller

    @ApiOperation(value = "添加文章")
    @PostMapping("/addwengzhang")
    public String addwengzhang(@RequestBody WengDto wengDto) {
        if (wengDto.getContent() == null || wengDto.getTitle() == null) {
            return "参数不可为空";
        }

        User user = userMapper.selctbyOpenID(wengDto.getOpenid());
        Wenzhang wenzhang = new Wenzhang();

        wenzhang.setTitle(wengDto.getTitle());
        wenzhang.setContent(wengDto.getContent());
        wenzhang.setImage(wengDto.getImage());
        wenzhang.setMpopenid(wengDto.getOpenid());

        wenzhang.setTags(null);
        wenzhang.setUserid(user.getUsername());
        wenzhang.setId(String.valueOf(new Random().nextInt(1000000000)));
        TimeZone chinaTimeZone = TimeZone.getTimeZone("Asia/Shanghai");
        Date chinaCurrentTime = new Date();
        chinaCurrentTime.setTime(chinaCurrentTime.getTime() + chinaTimeZone.getRawOffset());
        wenzhang.setCreatetime(chinaCurrentTime);
        wenzhang.setUpdatetime(chinaCurrentTime);
        wenzhang.setFavournum(0);
        wenzhang.setThumbnum(0);

        wenzhangService.addwenzhang(wenzhang);
        Document document = new Document();
        document.setOpenid(wengDto.getOpenid());
        Random random = new Random();
        document.setId(random.nextInt(100000000) + 1);

        LocalDateTime china = LocalDateTime.now(); // Get current time in China timezone
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
        document.setTime(china.format(formatter));
        document.setWenzhangname(wengDto.getTitle());
        document.setCoin(2);
        documentMapper.insertDocument(document);

        User use = userMapper.selectByMpOpenId(wengDto.getOpenid());
        if (use != null) {
            user.setCoin(user.getCoin() + 2);
            userMapper.updateUserCoins(user);
        }

 发布文章积分自动增加

 maper

    @Update("UPDATE user SET coin = #{coin} WHERE mpOpenId = #{mpopenid}")
    void updateUserCoins(User user);

 

 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值