eureka完成投票

maven镜像:

<mirror>
            <id>huaweicloud</id>
            <url>https://repo.huaweicloud.com/repository/maven</url>
            <mirrorOf>central</mirrorOf>
        </mirror>


eureka-server:

yml:

spring:
  application:
    name: eureka-server
eureka:
  client:
    service-url:
      defaultZone: http://localhost:5051/eureka
    register-with-eureka: false
    fetch-registry: false
server:
  port: 5051


main方法:

@SpringBootApplication
@EnableEurekaServer
public class EurekaServerApplication {
 
    public static void main(String[] args) {
        SpringApplication.run(EurekaServerApplication.class, args);
    }
 
}

公共项目:

实体类:

package org.example.entity;

import java.io.Serializable;

public class Options implements Serializable {
    private int id;
    private String optContent;
    private int vote;
    private int sid;
    private int voteTotal;

    public int getVoteTotal() {
        return voteTotal;
    }

    public void setVoteTotal(int voteTotal) {
        this.voteTotal = voteTotal;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getOptContent() {
        return optContent;
    }

    public void setOptContent(String optContent) {
        this.optContent = optContent;
    }

    public int getVote() {
        return vote;
    }

    public void setVote(int vote) {
        this.vote = vote;
    }

    public int getSid() {
        return sid;
    }

    public void setSid(int sid) {
        this.sid = sid;
    }
}
package org.example.entity;

import java.io.Serializable;
import java.util.Date;

public class Subjects implements Serializable {
    private int id;
    private String title;
    private int totalVotes;
    private int viewTimes;
    private Date createDate;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public int getTotalVotes() {
        return totalVotes;
    }

    public void setTotalVotes(int totalVotes) {
        this.totalVotes = totalVotes;
    }

    public int getViewTimes() {
        return viewTimes;
    }

    public void setViewTimes(int viewTimes) {
        this.viewTimes = viewTimes;
    }

    public Date getCreateDate() {
        return createDate;
    }

    public void setCreateDate(Date createDate) {
        this.createDate = createDate;
    }
}

remote

public interface OptionsRemote {

    @RequestMapping("selectById")
    BizVo<List<Options>> selectById(@RequestBody Map<String,Object> map);

    @RequestMapping("updateVote")
    BizVo<Boolean> updateVote(@RequestBody Map<String,Object> params);
}
public interface SubjectsRemote {

    @RequestMapping("subjectByPage")
    BizVo<PageInfo<Subjects>> getByPage(@RequestBody Map<String,Object> params);

    @RequestMapping("subById")
    BizVo<Subjects> getBySub(@RequestBody Map<String,Object> params);

    @RequestMapping("updateView")
    BizVo<Boolean> updateView(@RequestBody Map<String,Object> params);
    @RequestMapping("updateVote")
    BizVo<Boolean> updateVote(@RequestBody Map<String,Object> params);
}

工具类

package org.example.util;

public class BizVo<T> {
    private int code;
    private String msg;
    private T payload;

    public BizVo() {
    }

    public BizVo(int code, String msg, T payload) {
        this.code = code;
        this.msg = msg;
        this.payload = payload;
    }

    public int getCode() {
        return code;
    }

    public void setCode(int code) {
        this.code = code;
    }

    public String getMsg() {
        return msg;
    }

    public void setMsg(String msg) {
        this.msg = msg;
    }

    public T getPayload() {
        return payload;
    }

    public void setPayload(T payload) {
        this.payload = payload;
    }
}

项目:

dao层

@Mapper
@Repository
public interface OptionsMapper {
    List<Options> selectById(int sid);

    int updateVote(int id);
}
@Mapper
@Repository
public interface SubjectsMapper {
    List<Subjects> subjectList(Map<String,Object> params);

    Subjects selectId(int id);

    int updateView(int id);

    int updateVote(int id);
}

mapper文件

<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.zcoptions.dao.OptionsMapper">
    <select id="selectById" resultType="org.example.entity.Options">
        select id,optContent,vote,sid from options
        where sid = #{sid}
    </select>

   <update id="updateVote">
       update options set vote=vote+1 where id = #{id}
   </update>
</mapper>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.zcsubjects.dao.SubjectsMapper">
    <select id="subjectList" resultType="org.example.entity.Subjects">
        select * from subjects
        order by createDate desc
    </select>

    <select id="selectId" resultType="org.example.entity.Subjects">
        select * from subjects where id = #{id}
    </select>

    <update id="updateView">
        update subjects set viewTimes = viewTimes+1 where id = #{id}
    </update>

    <update id="updateVote">
        update subjects set totalVotes = totalVotes+1 where id = #{id}
    </update>
</mapper>

service:

public interface OptionsService {
    List<Options> getById(int sid);

    boolean updateVote(int id);


}
public interface SubjectsService {
    PageInfo<Subjects> pageInfo(Map<String,Object> params);
    Subjects getBySub(int id);

    boolean updateView(int id);

    boolean updateVote(int id);
}

serviceImpl:

@Service
public class OptionServiceImpl implements OptionsService {
    @Autowired
    private OptionsMapper optionsMapper;

    @Override
    public List<Options> getById(int sid) {
        return optionsMapper.selectById(sid);
    }

    @Override
    public boolean updateVote(int id) {
        if(optionsMapper.updateVote(id)>0){
            return true;
        }
        return false;
    }
}
@Service
public class SubjectsServiceImpl implements SubjectsService {
    @Autowired
    private SubjectsMapper subjectsMapper;

    @Override
    public PageInfo<Subjects> pageInfo(Map<String, Object> params) {
        PageHelper.startPage(params);
        List<Subjects> subjectsList = subjectsMapper.subjectList(params);
        return new PageInfo<>(subjectsList);
    }

    @Override
    public Subjects getBySub(int id) {
        return subjectsMapper.selectId(id);
    }

    @Override
    public boolean updateView(int id) {
        if (subjectsMapper.updateView(id)>0){
            return true;
        }
        return false;
    }

    @Override
    public boolean updateVote(int id) {
        if(subjectsMapper.updateVote(id)>0){
            return true;
        }
        return false;
    }
}

controller:

@RestController
@CrossOrigin
public class OptionsController implements OptionsRemote {
    @Autowired
    private OptionsService optionsService;

    @Override
    public BizVo<List<Options>> selectById(Map<String, Object> map) {
        int id = Integer.parseInt(map.get("id").toString());
        List<Options> getoptions = optionsService.getById(id);
        BizVo<List<Options>> bizVo = new BizVo<>(200,"success",getoptions);
        return bizVo;
    }

    @Override
    public BizVo<Boolean> updateVote(Map<String, Object> params) {
        int id = Integer.parseInt(params.get("id").toString());
        BizVo<Boolean> bizVo = new BizVo<>(200,"success",optionsService.updateVote(id));
        return bizVo;
    }
}
@RestController
@CrossOrigin
public class SubjectsController implements SubjectsRemote {
    @Autowired
    private SubjectsService subjectsService;

    @Override
    public BizVo<PageInfo<Subjects>> getByPage(Map<String, Object> params) {
        PageInfo<Subjects> pageInfo = subjectsService.pageInfo(params);
        BizVo<PageInfo<Subjects>> bizVo = new BizVo<>(200,"success",pageInfo);
        return bizVo;
    }

    @Override
    public BizVo<Subjects> getBySub(Map<String, Object> params) {
        int id = Integer.parseInt(params.get("id").toString());
        Subjects getSubId = subjectsService.getBySub(id);
        BizVo<Subjects> bizVo = new BizVo<>(200,"success",getSubId);
        return bizVo;
    }

    public BizVo<Boolean> updateView(@RequestBody Map<String,Object> params){
        int id = Integer.parseInt(params.get("id").toString());
        BizVo<Boolean> bizVo = new BizVo<>(200,"success",subjectsService.updateView(id));
        return bizVo;
    }

    @Override
    public BizVo<Boolean> updateVote(Map<String, Object> params) {
        int id = Integer.parseInt(params.get("id").toString());
        BizVo<Boolean> bizVo = new BizVo<>(200,"success",subjectsService.updateVote(id));
        return bizVo;
    }
}

main方法:

@SpringBootApplication
@EnableDiscoveryClient
public class ZcOptionsApplication {

    public static void main(String[] args) {
        SpringApplication.run(ZcOptionsApplication.class, args);
    }

}
@SpringBootApplication
@EnableDiscoveryClient
public class ZcSubjectsApplication {

    public static void main(String[] args) {
        SpringApplication.run(ZcSubjectsApplication.class, args);
    }

}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值