博主主页:一季春秋
博主简介:专注Java技术领域和毕业设计项目实战、Java、微信小程序、安卓等技术开发,远程调试部署、代码讲解、文档指导、ppt制作等技术指导。
主要内容:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、小程序、安卓app、大数据等设计与开发🍅文末获取联系🍅
一、项目介绍
管理员管理收货地址管理、字典管理、论坛管理、公告管理、流浪动物管理、流浪动物收藏管理、流浪动物花费管理、流浪动物近况管理、流浪动物留言管理、流浪动物订单管理、流浪动物助养管理、用户管理、管理员管理等功能。
二、项目主要技术
开发语言:Java
使用框架:spring boot
前端技术:Vue 、css、element-ui、js
开发工具:IDEA/MyEclipse/Eclipse、Visual Studio Code
数据库:MySQL 5.7/8.0
数据库管理工具:phpstudy/Navicat
JDK版本:jdk1.8
Maven: apache-maven 3.8.1-bin
三、系统功能结构设计
在分析并得出使用者对程序的功能要求时,就可以进行程序设计了。如图展示的就是管理员功能结构图,管理员在后台主要管理收货地址管理、字典管理、论坛管理、公告管理、流浪动物管理、流浪动物收藏管理、流浪动物花费管理、流浪动物近况管理、流浪动物留言管理、流浪动物订单管理、流浪动物助养管理、用户管理、管理员管理等。
四、系统实现
4.1 流浪动物
4.2 流浪动物信息
4.3 个人中心
4.4 流浪动物列表
4.5 公告信息管理
4.6 公告类型管理
五、实现代码
/**
* 流浪动物助养
* 后端接口
* @author
* @email
*/
@RestController
@Controller
@RequestMapping("/liulangdongwuZhuyang")
public class LiulangdongwuZhuyangController {
private static final Logger logger = LoggerFactory.getLogger(LiulangdongwuZhuyangController.class);
private static final String TABLE_NAME = "liulangdongwuZhuyang";
@Autowired
private LiulangdongwuZhuyangService liulangdongwuZhuyangService;
@Autowired
private TokenService tokenService;
@Autowired
private AddressService addressService;//收货地址
@Autowired
private DictionaryService dictionaryService;//字典
@Autowired
private ForumService forumService;//论坛
@Autowired
private GonggaoService gonggaoService;//公告
@Autowired
private LiulangdongwuService liulangdongwuService;//流浪动物
@Autowired
private LiulangdongwuCollectionService liulangdongwuCollectionService;//流浪动物收藏
@Autowired
private LiulangdongwuHuafeiService liulangdongwuHuafeiService;//流浪动物花费
@Autowired
private LiulangdongwuJinkuangService liulangdongwuJinkuangService;//流浪动物近况
@Autowired
private LiulangdongwuLiuyanService liulangdongwuLiuyanService;//流浪动物留言
@Autowired
private LiulangdongwuOrderService liulangdongwuOrderService;//流浪动物领养
@Autowired
private YonghuService yonghuService;//用户
@Autowired
private UsersService usersService;//管理员
/**
* 后端列表
*/
@RequestMapping("/page")
public R page(@RequestParam Map<String, Object> params, HttpServletRequest request){
logger.debug("page方法:,,Controller:{},,params:{}",this.getClass().getName(),JSONObject.toJSONString(params));
String role = String.valueOf(request.getSession().getAttribute("role"));
if(false)
return R.error(511,"永不会进入");
else if("用户".equals(role))
params.put("yonghuId",request.getSession().getAttribute("userId"));
CommonUtil.checkMap(params);
PageUtils page = liulangdongwuZhuyangService.queryPage(params);
//字典表数据转换
List<LiulangdongwuZhuyangView> list =(List<LiulangdongwuZhuyangView>)page.getList();
for(LiulangdongwuZhuyangView c:list){
//修改对应字典表字段
dictionaryService.dictionaryConvert(c, request);
}
return R.ok().put("data", page);
}
/**
* 后端详情
*/
@RequestMapping("/info/{id}")
public R info(@PathVariable("id") Long id, HttpServletRequest request){
logger.debug("info方法:,,Controller:{},,id:{}",this.getClass().getName(),id);
LiulangdongwuZhuyangEntity liulangdongwuZhuyang = liulangdongwuZhuyangService.selectById(id);
if(liulangdongwuZhuyang !=null){
//entity转view
LiulangdongwuZhuyangView view = new LiulangdongwuZhuyangView();
BeanUtils.copyProperties( liulangdongwuZhuyang , view );//把实体数据重构到view中
//级联表 用户
//级联表
YonghuEntity yonghu = yonghuService.selectById(liulangdongwuZhuyang.getYonghuId());
if(yonghu != null){
BeanUtils.copyProperties( yonghu , view ,new String[]{ "id", "createTime", "insertTime", "updateTime", "yonghuId"});//把级联的数据添加到view中,并排除id和创建时间字段,当前表的级联注册表
view.setYonghuId(yonghu.getId());
}
//级联表 流浪动物
//级联表
LiulangdongwuEntity liulangdongwu = liulangdongwuService.selectById(liulangdongwuZhuyang.getLiulangdongwuId());
if(liulangdongwu != null){
BeanUtils.copyProperties( liulangdongwu , view ,new String[]{ "id", "createTime", "insertTime", "updateTime", "yonghuId"});//把级联的数据添加到view中,并排除id和创建时间字段,当前表的级联注册表
view.setLiulangdongwuId(liulangdongwu.getId());
}
//修改对应字典表字段
dictionaryService.dictionaryConvert(view, request);
return R.ok().put("data", view);
}else {
return R.error(511,"查不到数据");
}
}
/**
* 后端保存
*/
@RequestMapping("/save")
public R save(@RequestBody LiulangdongwuZhuyangEntity liulangdongwuZhuyang, HttpServletRequest request){
logger.debug("save方法:,,Controller:{},,liulangdongwuZhuyang:{}",this.getClass().getName(),liulangdongwuZhuyang.toString());
String role = String.valueOf(request.getSession().getAttribute("role"));
if(false)
return R.error(511,"永远不会进入");
else if("用户".equals(role))
liulangdongwuZhuyang.setYonghuId(Integer.valueOf(String.valueOf(request.getSession().getAttribute("userId"))));
Wrapper<LiulangdongwuZhuyangEntity> queryWrapper = new EntityWrapper<LiulangdongwuZhuyangEntity>()
.eq("yonghu_id", liulangdongwuZhuyang.getYonghuId())
.eq("liulangdongwu_id", liulangdongwuZhuyang.getLiulangdongwuId())
;
logger.info("sql语句:"+queryWrapper.getSqlSegment());
LiulangdongwuZhuyangEntity liulangdongwuZhuyangEntity = liulangdongwuZhuyangService.selectOne(queryWrapper);
if(liulangdongwuZhuyangEntity==null){
liulangdongwuZhuyang.setInsertTime(new Date());
liulangdongwuZhuyang.setCreateTime(new Date());
liulangdongwuZhuyangService.insert(liulangdongwuZhuyang);
return R.ok();
}else {
return R.error(511,"表中有相同数据");
}
}
/**
* 后端修改
*/
@RequestMapping("/update")
public R update(@RequestBody LiulangdongwuZhuyangEntity liulangdongwuZhuyang, HttpServletRequest request) throws NoSuchFieldException, ClassNotFoundException, IllegalAccessException, InstantiationException {
logger.debug("update方法:,,Controller:{},,liulangdongwuZhuyang:{}",this.getClass().getName(),liulangdongwuZhuyang.toString());
LiulangdongwuZhuyangEntity oldLiulangdongwuZhuyangEntity = liulangdongwuZhuyangService.selectById(liulangdongwuZhuyang.getId());//查询原先数据
String role = String.valueOf(request.getSession().getAttribute("role"));
// if(false)
// return R.error(511,"永远不会进入");
// else if("用户".equals(role))
// liulangdongwuZhuyang.setYonghuId(Integer.valueOf(String.valueOf(request.getSession().getAttribute("userId"))));
liulangdongwuZhuyangService.updateById(liulangdongwuZhuyang);//根据id更新
return R.ok();
}
/**
* 删除
*/
@RequestMapping("/delete")
public R delete(@RequestBody Integer[] ids, HttpServletRequest request){
logger.debug("delete:,,Controller:{},,ids:{}",this.getClass().getName(),ids.toString());
List<LiulangdongwuZhuyangEntity> oldLiulangdongwuZhuyangList =liulangdongwuZhuyangService.selectBatchIds(Arrays.asList(ids));//要删除的数据
liulangdongwuZhuyangService.deleteBatchIds(Arrays.asList(ids));
return R.ok();
}