提交 525c873a authored 作者: 吴德鹏's avatar 吴德鹏

新增访问量统计模块

上级 3ae861da
package com.platform.controller;
import com.platform.entity.TbCfVisitEntity;
import com.platform.service.TbCfVisitService;
import com.platform.utils.PageUtils;
import com.platform.utils.Query;
import com.platform.utils.R;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import java.util.List;
import java.util.Map;
/**
* Controller
*
* @author lipengjun
* @date 2020-08-11 11:06:10
*/
@Controller
@RequestMapping("tbcfvisit")
public class TbCfVisitController {
@Autowired
private TbCfVisitService tbCfVisitService;
/**
* 查看列表
*/
@RequestMapping("/list")
@RequiresPermissions("tbcfvisit:list")
@ResponseBody
public R list(@RequestParam Map<String, Object> params) {
//查询列表数据
Query query = new Query(params);
List<TbCfVisitEntity> tbCfVisitList = tbCfVisitService.queryList(query);
int total = tbCfVisitService.queryTotal(query);
PageUtils pageUtil = new PageUtils(tbCfVisitList, total, query.getLimit(), query.getPage());
return R.ok().put("page", pageUtil);
}
/**
* 查看信息
*/
@RequestMapping("/info/{id}")
@RequiresPermissions("tbcfvisit:info")
@ResponseBody
public R info(@PathVariable("id") String id) {
TbCfVisitEntity tbCfVisit = tbCfVisitService.queryObject(id);
return R.ok().put("tbCfVisit", tbCfVisit);
}
/**
* 保存
*/
@RequestMapping("/save")
@RequiresPermissions("tbcfvisit:save")
@ResponseBody
public R save(@RequestBody TbCfVisitEntity tbCfVisit) {
tbCfVisitService.save(tbCfVisit);
return R.ok();
}
/**
* 修改
*/
@RequestMapping("/update")
@RequiresPermissions("tbcfvisit:update")
@ResponseBody
public R update(@RequestBody TbCfVisitEntity tbCfVisit) {
tbCfVisitService.update(tbCfVisit);
return R.ok();
}
/**
* 删除
*/
@RequestMapping("/delete")
@RequiresPermissions("tbcfvisit:delete")
@ResponseBody
public R delete(@RequestBody String[] ids) {
tbCfVisitService.deleteBatch(ids);
return R.ok();
}
/**
* 查看所有列表
*/
@RequestMapping("/queryAll")
@ResponseBody
public R queryAll(@RequestParam Map<String, Object> params) {
List<TbCfVisitEntity> list = tbCfVisitService.queryList(params);
return R.ok().put("list", list);
}
@RequestMapping("/getDayVisit")
@ResponseBody
public R getDayVisit() {
long dayVisit = tbCfVisitService.getDayVisit();
return R.ok().put("dayVisit", dayVisit);
}
}
package com.platform.dao;
import com.platform.entity.TbCfVisitEntity;
/**
* Dao
*
* @author lipengjun
* @date 2020-08-11 11:06:10
*/
public interface TbCfVisitDao extends BaseDao<TbCfVisitEntity> {
long getDayVisit();
}
package com.platform.entity;
import java.io.Serializable;
import java.util.Date;
/**
* 实体
* 表名 tb_cf_visit
*
* @author lipengjun
* @date 2020-08-11 11:06:10
*/
public class TbCfVisitEntity implements Serializable {
private static final long serialVersionUID = 1L;
/**
* ID
*/
private String id;
/**
* 访问来源 0:app 1:pc web 2:mobile web
*/
private Integer source;
/**
* 用户ID
*/
private String userId;
/**
* 访问时间
*/
private Date visitTime;
/**
* 设置:ID
*/
public void setId(String id) {
this.id = id;
}
/**
* 获取:ID
*/
public String getId() {
return id;
}
/**
* 设置:访问来源 0:app 1:pc web 2:mobile web
*/
public void setSource(Integer source) {
this.source = source;
}
/**
* 获取:访问来源 0:app 1:pc web 2:mobile web
*/
public Integer getSource() {
return source;
}
/**
* 设置:用户ID
*/
public void setUserId(String userId) {
this.userId = userId;
}
/**
* 获取:用户ID
*/
public String getUserId() {
return userId;
}
/**
* 设置:访问时间
*/
public void setVisitTime(Date visitTime) {
this.visitTime = visitTime;
}
/**
* 获取:访问时间
*/
public Date getVisitTime() {
return visitTime;
}
}
package com.platform.service;
import com.platform.entity.TbCfVisitEntity;
import java.util.List;
import java.util.Map;
/**
* Service接口
*
* @author lipengjun
* @date 2020-08-11 11:06:10
*/
public interface TbCfVisitService {
/**
* 根据主键查询实体
*
* @param id 主键
* @return 实体
*/
TbCfVisitEntity queryObject(String id);
/**
* 分页查询
*
* @param map 参数
* @return list
*/
List<TbCfVisitEntity> queryList(Map<String, Object> map);
/**
* 分页统计总数
*
* @param map 参数
* @return 总数
*/
int queryTotal(Map<String, Object> map);
/**
* 保存实体
*
* @param tbCfVisit 实体
* @return 保存条数
*/
int save(TbCfVisitEntity tbCfVisit);
/**
* 根据主键更新实体
*
* @param tbCfVisit 实体
* @return 更新条数
*/
int update(TbCfVisitEntity tbCfVisit);
/**
* 根据主键删除
*
* @param id
* @return 删除条数
*/
int delete(String id);
/**
* 根据主键批量删除
*
* @param ids
* @return 删除条数
*/
int deleteBatch(String[] ids);
long getDayVisit();
}
package com.platform.service.impl;
import com.platform.dao.TbCfVisitDao;
import com.platform.entity.TbCfVisitEntity;
import com.platform.service.TbCfVisitService;
import com.platform.utils.IdUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
/**
* Service实现类
*
* @author lipengjun
* @date 2020-08-11 11:06:10
*/
@Service("tbCfVisitService")
public class TbCfVisitServiceImpl implements TbCfVisitService {
@Autowired
private TbCfVisitDao tbCfVisitDao;
@Override
public TbCfVisitEntity queryObject(String id) {
return tbCfVisitDao.queryObject(id);
}
@Override
public List<TbCfVisitEntity> queryList(Map<String, Object> map) {
return tbCfVisitDao.queryList(map);
}
@Override
public int queryTotal(Map<String, Object> map) {
return tbCfVisitDao.queryTotal(map);
}
@Override
public int save(TbCfVisitEntity tbCfVisit) {
tbCfVisit.setId(IdUtil.createIdbyUUID());
return tbCfVisitDao.save(tbCfVisit);
}
@Override
public int update(TbCfVisitEntity tbCfVisit) {
return tbCfVisitDao.update(tbCfVisit);
}
@Override
public int delete(String id) {
return tbCfVisitDao.delete(id);
}
@Override
public int deleteBatch(String[] ids) {
return tbCfVisitDao.deleteBatch(ids);
}
@Override
public long getDayVisit() {
return tbCfVisitDao.getDayVisit();
}
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.platform.dao.TbCfVisitDao">
<resultMap type="com.platform.entity.TbCfVisitEntity" id="tbCfVisitMap">
<result property="id" column="id"/>
<result property="source" column="source"/>
<result property="userId" column="user_id"/>
<result property="visitTime" column="visit_time"/>
</resultMap>
<select id="queryObject" resultType="com.platform.entity.TbCfVisitEntity">
select
`id`,
`source`,
`user_id`,
`visit_time`
from tb_cf_visit
where id = #{id}
</select>
<select id="queryList" resultType="com.platform.entity.TbCfVisitEntity">
select
`id`,
`source`,
`user_id`,
`visit_time`
from tb_cf_visit
WHERE 1=1
<if test="name != null and name.trim() != ''">
AND name LIKE concat('%',#{name},'%')
</if>
<choose>
<when test="sidx != null and sidx.trim() != ''">
order by ${sidx} ${order}
</when>
<otherwise>
order by id desc
</otherwise>
</choose>
<if test="offset != null and limit != null">
limit #{offset}, #{limit}
</if>
</select>
<select id="queryTotal" resultType="int">
select count(*) from tb_cf_visit
WHERE 1=1
<if test="name != null and name.trim() != ''">
AND name LIKE concat('%',#{name},'%')
</if>
</select>
<insert id="save" parameterType="com.platform.entity.TbCfVisitEntity">
insert into tb_cf_visit(
`id`,
`source`,
`user_id`,
`visit_time`)
values(
#{id},
#{source},
#{userId},
#{visitTime})
</insert>
<select id="getDayVisit" resultType="long">
SELECT count(1) from tb_cf_visit WHERE DATE_FORMAT(visit_time,'%Y-%m-%d')=CURDATE()
</select>
<update id="update" parameterType="com.platform.entity.TbCfVisitEntity">
update tb_cf_visit
<set>
<if test="source != null">`source` = #{source}, </if>
<if test="userId != null">`user_id` = #{userId}, </if>
<if test="visitTime != null">`visit_time` = #{visitTime}</if>
</set>
where id = #{id}
</update>
<delete id="delete">
delete from tb_cf_visit where id = #{value}
</delete>
<delete id="deleteBatch">
delete from tb_cf_visit where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
</mapper>
\ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论