package com.alatus.web;import com.alatus.constant.Constants;import com.alatus.model.TActivity;import com.alatus.query.ActivityQuery;import com.alatus.query.UserQuery;import com.alatus.result.R;import com.github.pagehelper.PageInfo;import jakarta.annotation.Resource;import org.springframework.web.bind.annotation.*;import com.alatus.service.ActivityService;@RestControllerpublic class ActivityController {@Resourceprivate ActivityService activityService;@GetMapping(value = "/api/activities")public R activityPage(@RequestParam(value = "current",required = false)Integer current,ActivityQuery activityQuery){if(current == null){current = 1;}//返回结果为PageInfoPageInfo activityByPage = activityService.getActivityByPage(current,activityQuery);return R.OK(activityByPage);}@PostMapping(value = "/api/activity/add")public R addActivity(ActivityQuery activityQuery, @RequestHeader(value = Constants.TOKEN_NAME)String token){activityQuery.setToken(token);int result = activityService.saveActivity(activityQuery);return result >= 1 ? R.OK() : R.FAIL();}@GetMapping(value = "/api/activity/{id}")public R activityDetail(@PathVariable(value = Constants.ID)Integer id){TActivity tActivity = activityService.getActivityById(id);return R.OK(tActivity);}@PutMapping(value = "/api/activity/edit")public R editActivity(ActivityQuery activityQuery,@RequestHeader(value = Constants.TOKEN_NAME)String token){activityQuery.setToken(token);int result = activityService.updateActivity(activityQuery);return result >= 1 ? R.OK() : R.FAIL();}}
package com.alatus.web;import com.alatus.constant.Constants;import com.alatus.model.TActivity;import com.alatus.query.ActivityQuery;import com.alatus.query.UserQuery;import com.alatus.result.R;import com.github.pagehelper.PageInfo;import jakarta.annotation.Resource;import org.springframework.web.bind.annotation.*;import com.alatus.service.ActivityService;@RestControllerpublic class ActivityController {@Resourceprivate ActivityService activityService;@GetMapping(value = "/api/activities")public R activityPage(@RequestParam(value = "current",required = false)Integer current,ActivityQuery activityQuery){if(current == null){current = 1;}//返回结果为PageInfoPageInfo activityByPage = activityService.getActivityByPage(current,activityQuery);return R.OK(activityByPage);}@PostMapping(value = "/api/activity/add")public R addActivity(ActivityQuery activityQuery, @RequestHeader(value = Constants.TOKEN_NAME)String token){activityQuery.setToken(token);int result = activityService.saveActivity(activityQuery);return result >= 1 ? R.OK() : R.FAIL();}@GetMapping(value = "/api/activity/{id}")public R activityDetail(@PathVariable(value = Constants.ID)Integer id){TActivity tActivity = activityService.getActivityById(id);return R.OK(tActivity);}@PutMapping(value = "/api/activity/edit")public R editActivity(ActivityQuery activityQuery,@RequestHeader(value = Constants.TOKEN_NAME)String token){activityQuery.setToken(token);int result = activityService.updateActivity(activityQuery);return result >= 1 ? R.OK() : R.FAIL();}}
package com.alatus.service;import com.alatus.model.TActivity;import com.alatus.query.ActivityQuery;import com.github.pagehelper.PageInfo;public interface ActivityService {PageInfo getActivityByPage(Integer current, ActivityQuery activityQuery);int saveActivity(ActivityQuery activityQuery);TActivity getActivityById(Integer id);int updateActivity(ActivityQuery activityQuery);}
package com.alatus.service;import com.alatus.model.TActivity;import com.alatus.query.ActivityQuery;import com.github.pagehelper.PageInfo;public interface ActivityService {PageInfo getActivityByPage(Integer current, ActivityQuery activityQuery);int saveActivity(ActivityQuery activityQuery);TActivity getActivityById(Integer id);int updateActivity(ActivityQuery activityQuery);}
package com.alatus.service.impl;import com.alatus.constant.Constants;import com.alatus.mapper.TActivityMapper;import com.alatus.model.TActivity;import com.alatus.query.ActivityQuery;import com.alatus.service.ActivityService;import com.alatus.util.JWTUtils;import com.github.pagehelper.PageHelper;import com.github.pagehelper.PageInfo;import jakarta.annotation.Resource;import org.springframework.beans.BeanUtils;import org.springframework.stereotype.Service;import java.util.ArrayList;import java.util.Date;@Servicepublic class ActivityServiceImpl implements ActivityService {@Resourceprivate TActivityMapper tActivityMapper;@Overridepublic PageInfo getActivityByPage(Integer current, ActivityQuery activityQuery) {//设置PageHelper和分页情况PageHelper.startPage(current, Constants.PAGE_SIZE);//查询ArrayList list = tActivityMapper.selectActivityByPage(activityQuery);//封装分页到PageInfo中PageInfo info = new PageInfo(list);return info;}@Overridepublic int saveActivity(ActivityQuery activityQuery) {TActivity tActivity = new TActivity();//把query对象的数据复制到activity对象里面//这个工具类的复制要求是两个对象的属性名要相同,属性要相同BeanUtils.copyProperties(activityQuery,tActivity);tActivity.setCreateTime(new Date());//通过token解析出的用户获取ID作为创建者的IDInteger loginId = JWTUtils.parseUserFromJWT(activityQuery.getToken()).getId();tActivity.setCreateBy(loginId);return tActivityMapper.insertSelective(tActivity);}@Overridepublic TActivity getActivityById(Integer id) {return tActivityMapper.selectByPrimaryKey(id);}@Overridepublic int updateActivity(ActivityQuery activityQuery) {TActivity tActivity = new TActivity();BeanUtils.copyProperties(activityQuery,tActivity);//编辑时间tActivity.setEditTime(new Date());//通过token解析出的用户获取ID作为编辑者的IDInteger loginId = JWTUtils.parseUserFromJWT(activityQuery.getToken()).getId();tActivity.setEditBy(loginId);return tActivityMapper.updateByPrimaryKeySelective(tActivity);}}
package com.alatus.service.impl;import com.alatus.constant.Constants;import com.alatus.mapper.TActivityMapper;import com.alatus.model.TActivity;import com.alatus.query.ActivityQuery;import com.alatus.service.ActivityService;import com.alatus.util.JWTUtils;import com.github.pagehelper.PageHelper;import com.github.pagehelper.PageInfo;import jakarta.annotation.Resource;import org.springframework.beans.BeanUtils;import org.springframework.stereotype.Service;import java.util.ArrayList;import java.util.Date;@Servicepublic class ActivityServiceImpl implements ActivityService {@Resourceprivate TActivityMapper tActivityMapper;@Overridepublic PageInfo getActivityByPage(Integer current, ActivityQuery activityQuery) {//设置PageHelper和分页情况PageHelper.startPage(current, Constants.PAGE_SIZE);//查询ArrayList list = tActivityMapper.selectActivityByPage(activityQuery);//封装分页到PageInfo中PageInfo info = new PageInfo(list);return info;}@Overridepublic int saveActivity(ActivityQuery activityQuery) {TActivity tActivity = new TActivity();//把query对象的数据复制到activity对象里面//这个工具类的复制要求是两个对象的属性名要相同,属性要相同BeanUtils.copyProperties(activityQuery,tActivity);tActivity.setCreateTime(new Date());//通过token解析出的用户获取ID作为创建者的IDInteger loginId = JWTUtils.parseUserFromJWT(activityQuery.getToken()).getId();tActivity.setCreateBy(loginId);return tActivityMapper.insertSelective(tActivity);}@Overridepublic TActivity getActivityById(Integer id) {return tActivityMapper.selectByPrimaryKey(id);}@Overridepublic int updateActivity(ActivityQuery activityQuery) {TActivity tActivity = new TActivity();BeanUtils.copyProperties(activityQuery,tActivity);//编辑时间tActivity.setEditTime(new Date());//通过token解析出的用户获取ID作为编辑者的IDInteger loginId = JWTUtils.parseUserFromJWT(activityQuery.getToken()).getId();tActivity.setEditBy(loginId);return tActivityMapper.updateByPrimaryKeySelective(tActivity);}}
package com.alatus.query;import lombok.Data;import org.springframework.format.annotation.DateTimeFormat;import java.math.BigDecimal;import java.util.Date;@Datapublic class ActivityQuery extends BaseQuery{private Integer id;private Integer ownerId;//将字符串转换为符合这个pattern规范的日期@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")private Date startTime;@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")private Date endTime;private String name;private BigDecimal cost;@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")private Date createTime;private String description;}
package com.alatus.query;import lombok.Data;import org.springframework.format.annotation.DateTimeFormat;import java.math.BigDecimal;import java.util.Date;@Datapublic class ActivityQuery extends BaseQuery{private Integer id;private Integer ownerId;//将字符串转换为符合这个pattern规范的日期@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")private Date startTime;@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")private Date endTime;private String name;private BigDecimal cost;@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")private Date createTime;private String description;}