作家专区开发实现

This commit is contained in:
xxy
2020-05-13 19:45:57 +08:00
parent 4878f17de8
commit 401d23871d
225 changed files with 42138 additions and 48 deletions

View File

@ -0,0 +1,135 @@
package com.java2nb.novel.controller;
import java.util.List;
import java.util.Map;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import io.swagger.annotations.ApiOperation;
import com.java2nb.novel.domain.AuthorCodeDO;
import com.java2nb.novel.service.AuthorCodeService;
import com.java2nb.common.utils.PageBean;
import com.java2nb.common.utils.Query;
import com.java2nb.common.utils.R;
/**
* 作家邀请码表
*
* @author xiongxy
* @email 1179705413@qq.com
* @date 2020-05-13 11:29:15
*/
@Controller
@RequestMapping("/novel/authorCode")
public class AuthorCodeController {
@Autowired
private AuthorCodeService authorCodeService;
@GetMapping()
@RequiresPermissions("novel:authorCode:authorCode")
String AuthorCode() {
return "novel/authorCode/authorCode";
}
@ApiOperation(value = "获取作家邀请码表列表", notes = "获取作家邀请码表列表")
@ResponseBody
@GetMapping("/list")
@RequiresPermissions("novel:authorCode:authorCode")
public R list(@RequestParam Map<String, Object> params) {
//查询列表数据
Query query = new Query(params);
List<AuthorCodeDO> authorCodeList = authorCodeService.list(query);
int total = authorCodeService.count(query);
PageBean pageBean = new PageBean(authorCodeList, total);
return R.ok().put("data", pageBean);
}
@ApiOperation(value = "新增作家邀请码表页面", notes = "新增作家邀请码表页面")
@GetMapping("/add")
@RequiresPermissions("novel:authorCode:add")
String add() {
return "novel/authorCode/add";
}
@ApiOperation(value = "修改作家邀请码表页面", notes = "修改作家邀请码表页面")
@GetMapping("/edit/{id}")
@RequiresPermissions("novel:authorCode:edit")
String edit(@PathVariable("id") Long id, Model model) {
AuthorCodeDO authorCode = authorCodeService.get(id);
model.addAttribute("authorCode", authorCode);
return "novel/authorCode/edit";
}
@ApiOperation(value = "查看作家邀请码表页面", notes = "查看作家邀请码表页面")
@GetMapping("/detail/{id}")
@RequiresPermissions("novel:authorCode:detail")
String detail(@PathVariable("id") Long id, Model model) {
AuthorCodeDO authorCode = authorCodeService.get(id);
model.addAttribute("authorCode", authorCode);
return "novel/authorCode/detail";
}
/**
* 保存
*/
@ApiOperation(value = "新增作家邀请码表", notes = "新增作家邀请码表")
@ResponseBody
@PostMapping("/save")
@RequiresPermissions("novel:authorCode:add")
public R save( AuthorCodeDO authorCode) {
if (authorCodeService.save(authorCode) > 0) {
return R.ok();
}
return R.error();
}
/**
* 修改
*/
@ApiOperation(value = "修改作家邀请码表", notes = "修改作家邀请码表")
@ResponseBody
@RequestMapping("/update")
@RequiresPermissions("novel:authorCode:edit")
public R update( AuthorCodeDO authorCode) {
authorCodeService.update(authorCode);
return R.ok();
}
/**
* 删除
*/
@ApiOperation(value = "删除作家邀请码表", notes = "删除作家邀请码表")
@PostMapping("/remove")
@ResponseBody
@RequiresPermissions("novel:authorCode:remove")
public R remove( Long id) {
if (authorCodeService.remove(id) > 0) {
return R.ok();
}
return R.error();
}
/**
* 删除
*/
@ApiOperation(value = "批量删除作家邀请码表", notes = "批量删除作家邀请码表")
@PostMapping("/batchRemove")
@ResponseBody
@RequiresPermissions("novel:authorCode:batchRemove")
public R remove(@RequestParam("ids[]") Long[] ids) {
authorCodeService.batchRemove(ids);
return R.ok();
}
}

View File

@ -0,0 +1,135 @@
package com.java2nb.novel.controller;
import java.util.List;
import java.util.Map;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import io.swagger.annotations.ApiOperation;
import com.java2nb.novel.domain.AuthorDO;
import com.java2nb.novel.service.AuthorService;
import com.java2nb.common.utils.PageBean;
import com.java2nb.common.utils.Query;
import com.java2nb.common.utils.R;
/**
* 作者表
*
* @author xiongxy
* @email 1179705413@qq.com
* @date 2020-05-13 11:16:51
*/
@Controller
@RequestMapping("/novel/author")
public class AuthorController {
@Autowired
private AuthorService authorService;
@GetMapping()
@RequiresPermissions("novel:author:author")
String Author() {
return "novel/author/author";
}
@ApiOperation(value = "获取作者表列表", notes = "获取作者表列表")
@ResponseBody
@GetMapping("/list")
@RequiresPermissions("novel:author:author")
public R list(@RequestParam Map<String, Object> params) {
//查询列表数据
Query query = new Query(params);
List<AuthorDO> authorList = authorService.list(query);
int total = authorService.count(query);
PageBean pageBean = new PageBean(authorList, total);
return R.ok().put("data", pageBean);
}
@ApiOperation(value = "新增作者表页面", notes = "新增作者表页面")
@GetMapping("/add")
@RequiresPermissions("novel:author:add")
String add() {
return "novel/author/add";
}
@ApiOperation(value = "修改作者表页面", notes = "修改作者表页面")
@GetMapping("/edit/{id}")
@RequiresPermissions("novel:author:edit")
String edit(@PathVariable("id") Long id, Model model) {
AuthorDO author = authorService.get(id);
model.addAttribute("author", author);
return "novel/author/edit";
}
@ApiOperation(value = "查看作者表页面", notes = "查看作者表页面")
@GetMapping("/detail/{id}")
@RequiresPermissions("novel:author:detail")
String detail(@PathVariable("id") Long id, Model model) {
AuthorDO author = authorService.get(id);
model.addAttribute("author", author);
return "novel/author/detail";
}
/**
* 保存
*/
@ApiOperation(value = "新增作者表", notes = "新增作者表")
@ResponseBody
@PostMapping("/save")
@RequiresPermissions("novel:author:add")
public R save( AuthorDO author) {
if (authorService.save(author) > 0) {
return R.ok();
}
return R.error();
}
/**
* 修改
*/
@ApiOperation(value = "修改作者表", notes = "修改作者表")
@ResponseBody
@RequestMapping("/update")
@RequiresPermissions("novel:author:edit")
public R update( AuthorDO author) {
authorService.update(author);
return R.ok();
}
/**
* 删除
*/
@ApiOperation(value = "删除作者表", notes = "删除作者表")
@PostMapping("/remove")
@ResponseBody
@RequiresPermissions("novel:author:remove")
public R remove( Long id) {
if (authorService.remove(id) > 0) {
return R.ok();
}
return R.error();
}
/**
* 删除
*/
@ApiOperation(value = "批量删除作者表", notes = "批量删除作者表")
@PostMapping("/batchRemove")
@ResponseBody
@RequiresPermissions("novel:author:batchRemove")
public R remove(@RequestParam("ids[]") Long[] ids) {
authorService.batchRemove(ids);
return R.ok();
}
}

View File

@ -0,0 +1,32 @@
package com.java2nb.novel.dao;
import com.java2nb.novel.domain.AuthorCodeDO;
import java.util.List;
import java.util.Map;
import org.apache.ibatis.annotations.Mapper;
/**
* 作家邀请码表
* @author xiongxy
* @email 1179705413@qq.com
* @date 2020-05-13 11:29:15
*/
@Mapper
public interface AuthorCodeDao {
AuthorCodeDO get(Long id);
List<AuthorCodeDO> list(Map<String,Object> map);
int count(Map<String,Object> map);
int save(AuthorCodeDO authorCode);
int update(AuthorCodeDO authorCode);
int remove(Long id);
int batchRemove(Long[] ids);
}

View File

@ -0,0 +1,32 @@
package com.java2nb.novel.dao;
import com.java2nb.novel.domain.AuthorDO;
import java.util.List;
import java.util.Map;
import org.apache.ibatis.annotations.Mapper;
/**
* 作者表
* @author xiongxy
* @email 1179705413@qq.com
* @date 2020-05-13 11:16:51
*/
@Mapper
public interface AuthorDao {
AuthorDO get(Long id);
List<AuthorDO> list(Map<String,Object> map);
int count(Map<String,Object> map);
int save(AuthorDO author);
int update(AuthorDO author);
int remove(Long id);
int batchRemove(Long[] ids);
}

View File

@ -0,0 +1,121 @@
package com.java2nb.novel.domain;
import java.io.Serializable;
import java.math.BigDecimal;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.java2nb.common.jsonserializer.LongToStringSerializer;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
/**
* 作家邀请码表
*
* @author xiongxy
* @email 1179705413@qq.com
* @date 2020-05-13 11:29:15
*/
public class AuthorCodeDO implements Serializable {
private static final long serialVersionUID = 1L;
//主键
//java中的long能表示的范围比js中number大,也就意味着部分数值在js中存不下(变成不准确的值)
//所以通过序列化成字符串来解决
@JsonSerialize(using = LongToStringSerializer.class)
private Long id;
//邀请码
private String inviteCode;
//有效时间
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date validityTime;
//是否使用过0未使用1:使用过
private Integer isUse;
//创建时间
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
//创建人ID
//java中的long能表示的范围比js中number大,也就意味着部分数值在js中存不下(变成不准确的值)
//所以通过序列化成字符串来解决
@JsonSerialize(using = LongToStringSerializer.class)
private Long createUserId;
/**
* 设置:主键
*/
public void setId(Long id) {
this.id = id;
}
/**
* 获取:主键
*/
public Long getId() {
return id;
}
/**
* 设置:邀请码
*/
public void setInviteCode(String inviteCode) {
this.inviteCode = inviteCode;
}
/**
* 获取:邀请码
*/
public String getInviteCode() {
return inviteCode;
}
/**
* 设置:有效时间
*/
public void setValidityTime(Date validityTime) {
this.validityTime = validityTime;
}
/**
* 获取:有效时间
*/
public Date getValidityTime() {
return validityTime;
}
/**
* 设置是否使用过0未使用1:使用过
*/
public void setIsUse(Integer isUse) {
this.isUse = isUse;
}
/**
* 获取是否使用过0未使用1:使用过
*/
public Integer getIsUse() {
return isUse;
}
/**
* 设置:创建时间
*/
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
/**
* 获取:创建时间
*/
public Date getCreateTime() {
return createTime;
}
/**
* 设置创建人ID
*/
public void setCreateUserId(Long createUserId) {
this.createUserId = createUserId;
}
/**
* 获取创建人ID
*/
public Long getCreateUserId() {
return createUserId;
}
}

View File

@ -0,0 +1,176 @@
package com.java2nb.novel.domain;
import java.io.Serializable;
import java.math.BigDecimal;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.java2nb.common.jsonserializer.LongToStringSerializer;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
/**
* 作者表
*
* @author xiongxy
* @email 1179705413@qq.com
* @date 2020-05-13 11:16:51
*/
public class AuthorDO implements Serializable {
private static final long serialVersionUID = 1L;
//主键
//java中的long能表示的范围比js中number大,也就意味着部分数值在js中存不下(变成不准确的值)
//所以通过序列化成字符串来解决
@JsonSerialize(using = LongToStringSerializer.class)
private Long id;
//用户ID
//java中的long能表示的范围比js中number大,也就意味着部分数值在js中存不下(变成不准确的值)
//所以通过序列化成字符串来解决
@JsonSerialize(using = LongToStringSerializer.class)
private Long userId;
//邀请码
private String inviteCode;
//笔名
private String penName;
//手机号码
private String telPhone;
//QQ或微信账号
private String chatAccount;
//电子邮箱
private String email;
//作品方向0男频1女频
private Integer workDirection;
//创建时间
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
//0正常1封禁
private Integer status;
/**
* 设置:主键
*/
public void setId(Long id) {
this.id = id;
}
/**
* 获取:主键
*/
public Long getId() {
return id;
}
/**
* 设置用户ID
*/
public void setUserId(Long userId) {
this.userId = userId;
}
/**
* 获取用户ID
*/
public Long getUserId() {
return userId;
}
/**
* 设置:邀请码
*/
public void setInviteCode(String inviteCode) {
this.inviteCode = inviteCode;
}
/**
* 获取:邀请码
*/
public String getInviteCode() {
return inviteCode;
}
/**
* 设置:笔名
*/
public void setPenName(String penName) {
this.penName = penName;
}
/**
* 获取:笔名
*/
public String getPenName() {
return penName;
}
/**
* 设置:手机号码
*/
public void setTelPhone(String telPhone) {
this.telPhone = telPhone;
}
/**
* 获取:手机号码
*/
public String getTelPhone() {
return telPhone;
}
/**
* 设置QQ或微信账号
*/
public void setChatAccount(String chatAccount) {
this.chatAccount = chatAccount;
}
/**
* 获取QQ或微信账号
*/
public String getChatAccount() {
return chatAccount;
}
/**
* 设置:电子邮箱
*/
public void setEmail(String email) {
this.email = email;
}
/**
* 获取:电子邮箱
*/
public String getEmail() {
return email;
}
/**
* 设置作品方向0男频1女频
*/
public void setWorkDirection(Integer workDirection) {
this.workDirection = workDirection;
}
/**
* 获取作品方向0男频1女频
*/
public Integer getWorkDirection() {
return workDirection;
}
/**
* 设置:创建时间
*/
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
/**
* 获取:创建时间
*/
public Date getCreateTime() {
return createTime;
}
/**
* 设置0正常1封禁
*/
public void setStatus(Integer status) {
this.status = status;
}
/**
* 获取0正常1封禁
*/
public Integer getStatus() {
return status;
}
}

View File

@ -0,0 +1,30 @@
package com.java2nb.novel.service;
import com.java2nb.novel.domain.AuthorCodeDO;
import java.util.List;
import java.util.Map;
/**
* 作家邀请码表
*
* @author xiongxy
* @email 1179705413@qq.com
* @date 2020-05-13 11:29:15
*/
public interface AuthorCodeService {
AuthorCodeDO get(Long id);
List<AuthorCodeDO> list(Map<String, Object> map);
int count(Map<String, Object> map);
int save(AuthorCodeDO authorCode);
int update(AuthorCodeDO authorCode);
int remove(Long id);
int batchRemove(Long[] ids);
}

View File

@ -0,0 +1,30 @@
package com.java2nb.novel.service;
import com.java2nb.novel.domain.AuthorDO;
import java.util.List;
import java.util.Map;
/**
* 作者表
*
* @author xiongxy
* @email 1179705413@qq.com
* @date 2020-05-13 11:16:51
*/
public interface AuthorService {
AuthorDO get(Long id);
List<AuthorDO> list(Map<String, Object> map);
int count(Map<String, Object> map);
int save(AuthorDO author);
int update(AuthorDO author);
int remove(Long id);
int batchRemove(Long[] ids);
}

View File

@ -0,0 +1,60 @@
package com.java2nb.novel.service.impl;
import com.java2nb.common.utils.ShiroUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.List;
import java.util.Map;
import com.java2nb.novel.dao.AuthorCodeDao;
import com.java2nb.novel.domain.AuthorCodeDO;
import com.java2nb.novel.service.AuthorCodeService;
@Service
public class AuthorCodeServiceImpl implements AuthorCodeService {
@Autowired
private AuthorCodeDao authorCodeDao;
@Override
public AuthorCodeDO get(Long id){
return authorCodeDao.get(id);
}
@Override
public List<AuthorCodeDO> list(Map<String, Object> map){
return authorCodeDao.list(map);
}
@Override
public int count(Map<String, Object> map){
return authorCodeDao.count(map);
}
@Override
public int save(AuthorCodeDO authorCode){
authorCode.setIsUse(0);
authorCode.setCreateTime(new Date());
authorCode.setCreateUserId(ShiroUtils.getUserId());
return authorCodeDao.save(authorCode);
}
@Override
public int update(AuthorCodeDO authorCode){
return authorCodeDao.update(authorCode);
}
@Override
public int remove(Long id){
return authorCodeDao.remove(id);
}
@Override
public int batchRemove(Long[] ids){
return authorCodeDao.batchRemove(ids);
}
}

View File

@ -0,0 +1,55 @@
package com.java2nb.novel.service.impl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
import com.java2nb.novel.dao.AuthorDao;
import com.java2nb.novel.domain.AuthorDO;
import com.java2nb.novel.service.AuthorService;
@Service
public class AuthorServiceImpl implements AuthorService {
@Autowired
private AuthorDao authorDao;
@Override
public AuthorDO get(Long id){
return authorDao.get(id);
}
@Override
public List<AuthorDO> list(Map<String, Object> map){
return authorDao.list(map);
}
@Override
public int count(Map<String, Object> map){
return authorDao.count(map);
}
@Override
public int save(AuthorDO author){
return authorDao.save(author);
}
@Override
public int update(AuthorDO author){
return authorDao.update(author);
}
@Override
public int remove(Long id){
return authorDao.remove(id);
}
@Override
public int batchRemove(Long[] ids){
return authorDao.batchRemove(ids);
}
}