src/main/java/com/example/jz/config/DefaultExceptionHandlerConfig.java
@@ -2,6 +2,7 @@ import com.example.jz.exception.BusinessException; import com.example.jz.modle.R; import org.springframework.core.annotation.Order; import org.springframework.stereotype.Controller; import org.springframework.validation.BindException; import org.springframework.web.bind.MethodArgumentNotValidException; @@ -15,23 +16,15 @@ @RestControllerAdvice public class DefaultExceptionHandlerConfig { @ExceptionHandler(BindException.class) public R<String> bindExceptionHandler(BindException e) { e.printStackTrace(); return R.failed(e.getBindingResult().getFieldErrors().get(0).getDefaultMessage()); } @ExceptionHandler(MethodArgumentNotValidException.class) public R<String> methodArgumentNotValidExceptionHandler(MethodArgumentNotValidException e) { e.printStackTrace(); return R.failed(e.getBindingResult().getFieldErrors().get(0).getDefaultMessage()); } @ExceptionHandler(BusinessException.class) public R<String> unauthorizedExceptionHandler(BusinessException e) { e.printStackTrace(); return R.failed(e.getMessage()); } @ExceptionHandler(Exception.class) public R<String> ExceptionHandler(Exception e) { e.printStackTrace(); return R.failed(e.getMessage()); } } src/main/java/com/example/jz/controller/CauseController.java
@@ -1,5 +1,7 @@ package com.example.jz.controller; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.api.ApiController; import com.baomidou.mybatisplus.extension.api.R; @@ -13,10 +15,10 @@ import java.util.List; /** * (Cause)表控制层 * 案件表(Cause)表控制层 * * @author makejava * @since 2022-07-11 16:55:40 * @since 2022-07-13 11:52:57 */ @RestController @RequestMapping("cause") @@ -83,3 +85,4 @@ return success(this.causeService.removeByIds(idList)); } } src/main/java/com/example/jz/controller/CommonQuestionController.java
@@ -14,7 +14,7 @@ import javax.annotation.Resource; import java.io.Serializable; import java.util.List; import java.util.Date; /** * 常见问题表(CommonQuestion)表控制层 @@ -66,6 +66,8 @@ @PostMapping @ApiOperation(value = "新增数据", notes = "新增数据") public R<Boolean> insert(@RequestBody CommonQuestion commonQuestion) { commonQuestion.setStatus(0); commonQuestion.setCtime(new Date()); return R.ok(commonQuestionService.save(commonQuestion)); } @@ -78,18 +80,50 @@ @PutMapping @ApiOperation(value = "修改数据", notes = "修改数据") public R<Boolean> update(@RequestBody CommonQuestion commonQuestion) { if (commonQuestion.getId() == 1) { commonQuestion.setReleaseTime(new Date()); } return R.ok(commonQuestionService.updateById(commonQuestion)); } /** * 删除数据 * * @param idList 主键结合 * @param id 主键 * @return 删除结果 */ @DeleteMapping @ApiOperation(value = "删除数据", notes = "删除数据") public R<Boolean> delete(@RequestParam("idList") List<Long> idList) { return R.ok(commonQuestionService.removeByIds(idList)); public R<Boolean> delete(@RequestParam("id") Serializable id) { return R.ok(commonQuestionService.removeById(id)); } /** * 发布 * * @param id 主键 * @return 发布结果 */ @ApiOperation(value = "发布", notes = "发布") @GetMapping("release/{id}") public R<Boolean> release(@PathVariable Serializable id) { CommonQuestion commonQuestion = commonQuestionService.getById(id); commonQuestion.setReleaseTime(new Date()); commonQuestion.setStatus(1); return R.ok(commonQuestionService.updateById(commonQuestion)); } /** * 下架 * * @param id 主键 * @return 发布结果 */ @ApiOperation(value = "下架", notes = "下架") @GetMapping("offline/{id}") public R<Boolean> offline(@PathVariable Serializable id) { CommonQuestion commonQuestion = commonQuestionService.getById(id); commonQuestion.setStatus(2); return R.ok(commonQuestionService.updateById(commonQuestion)); } } src/main/java/com/example/jz/controller/PublicityController.java
@@ -88,9 +88,9 @@ * @param id 主键结合 * @return 执行结果 */ @GetMapping("status/down/{id}") @GetMapping("offline/{id}") @ApiOperation("下架公共宣传") public R<Boolean> undercarriage(@PathVariable Serializable id) { public R<Boolean> offline(@PathVariable Serializable id) { return R.ok(publicityService.undercarriage(id)); } @@ -100,9 +100,9 @@ * @param id 主键结合 * @return 执行结果 */ @GetMapping("status/up/{id}") @GetMapping("release/{id}") @ApiOperation("上架公共宣传") public R<Boolean> grounding(@PathVariable Serializable id) { public R<Boolean> release(@PathVariable Serializable id) { return R.ok(publicityService.grounding(id)); } src/main/java/com/example/jz/controller/ReportController.java
New file @@ -0,0 +1,88 @@ package com.example.jz.controller; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.api.ApiController; import com.baomidou.mybatisplus.extension.api.R; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.example.jz.modle.entity.Report; import com.example.jz.service.ReportService; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import java.io.Serializable; import java.util.List; /** * 报案表(Report)表控制层 * * @author makejava * @since 2022-07-13 11:52:58 */ @RestController @RequestMapping("report") public class ReportController extends ApiController { /** * 服务对象 */ @Resource private ReportService reportService; /** * 分页查询所有数据 * * @param page 分页对象 * @param report 查询实体 * @return 所有数据 */ @GetMapping public R selectAll(Page<Report> page, Report report) { return success(this.reportService.page(page, new QueryWrapper<>(report))); } /** * 通过主键查询单条数据 * * @param id 主键 * @return 单条数据 */ @GetMapping("{id}") public R selectOne(@PathVariable Serializable id) { return success(this.reportService.getById(id)); } /** * 新增数据 * * @param report 实体对象 * @return 新增结果 */ @PostMapping public R insert(@RequestBody Report report) { return success(this.reportService.save(report)); } /** * 修改数据 * * @param report 实体对象 * @return 修改结果 */ @PutMapping public R update(@RequestBody Report report) { return success(this.reportService.updateById(report)); } /** * 删除数据 * * @param idList 主键结合 * @return 删除结果 */ @DeleteMapping public R delete(@RequestParam("idList") List<Long> idList) { return success(this.reportService.removeByIds(idList)); } } src/main/java/com/example/jz/controller/SensitiveController.java
New file @@ -0,0 +1,122 @@ package com.example.jz.controller; import cn.hutool.core.bean.BeanUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.api.ApiController; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.example.jz.modle.PageParam; import com.example.jz.modle.R; import com.example.jz.modle.entity.Sensitive; import com.example.jz.modle.dto.SensitiveDto; import com.example.jz.modle.vo.SensitiveVO; import com.example.jz.service.SensitiveService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import java.io.Serializable; import java.util.ArrayList; import java.util.Arrays; import java.util.Date; import java.util.List; /** * 敏感词表(Sensitive)表控制层 * * @author 安瑾然 * @since 2022-07-13 09:54:49 */ @RestController @RequestMapping("sensitive") @ApiOperation("敏感词表(Sensitive)表控制层") @Api(tags = "敏感词表(Sensitive)表接口") public class SensitiveController extends ApiController { /** * 服务对象 */ @Resource private SensitiveService sensitiveService; /** * 分页查询所有数据 * * @param page 分页对象 * @param sensitive 查询实体 * @return 所有数据 */ @GetMapping @ApiOperation("分页查询所有数据") public R<Page<SensitiveVO>> selectAll(PageParam<Sensitive> page, Sensitive sensitive) { Page<Sensitive> sensitivePage = sensitiveService.page(page, new QueryWrapper<>(sensitive)); // 将sensitive转换成sensitiveVO List<SensitiveVO> sensitiveVOList = new ArrayList<>(); for (Sensitive s : sensitivePage.getRecords()) { SensitiveVO sensitiveVO = new SensitiveVO(); BeanUtil.copyProperties(s, sensitiveVO); sensitiveVO.setWords(Arrays.asList(s.getWord().split(","))); sensitiveVOList.add(sensitiveVO); } // 封装分页数据 Page<SensitiveVO> sensitiveVOPage = new PageParam<SensitiveVO>(); BeanUtil.copyProperties(sensitivePage, sensitiveVOPage); sensitiveVOPage.setRecords(sensitiveVOList); return R.ok(sensitiveVOPage); } /** * 通过主键查询单条数据 * * @param id 主键 * @return 单条数据 */ @GetMapping("{id}") @ApiOperation("通过主键查询单条数据") public R<SensitiveVO> selectOne(@PathVariable Serializable id) { Sensitive sensitive = sensitiveService.getById(id); SensitiveVO sensitiveVO = new SensitiveVO(); BeanUtil.copyProperties(sensitive, sensitiveVO); sensitiveVO.setWords(Arrays.asList(sensitive.getWord().split(","))); return R.ok(sensitiveVO); } /** * 新增数据 * * @param sensitiveDto 实体对象 * @return 新增结果 */ @PostMapping @ApiOperation("新增数据") public R<Boolean> insert(@RequestBody SensitiveDto sensitiveDto) { Sensitive sensitive = new Sensitive().setCreator(sensitiveDto.getCreator()).setCtime(new Date()).setWord(String.join(",", sensitiveDto.getWords())); return R.ok(sensitiveService.save(sensitive)); } /** * 修改数据 * * @param sensitiveDto 实体对象 * @return 修改结果 */ @PutMapping @ApiOperation("修改数据") public R<Boolean> update(@RequestBody SensitiveDto sensitiveDto) { Sensitive sensitive = new Sensitive().setId(sensitiveDto.getId()).setCreator(sensitiveDto.getCreator()).setWord(String.join(",", sensitiveDto.getWords())); return R.ok(sensitiveService.updateById(sensitive)); } /** * 删除数据 * * @param id 主键 * @return 删除结果 */ @DeleteMapping @ApiOperation("删除数据") public R<Boolean> delete(@RequestParam("id") Serializable id) { return R.ok(sensitiveService.removeById(id)); } } src/main/java/com/example/jz/controller/TestController.java
New file @@ -0,0 +1,29 @@ package com.example.jz.controller; import com.example.jz.exception.BusinessException; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; /** * @author 安瑾然 * @data 2022/7/13 - 11:24 AM * @description */ @RestController("test") @Api(value = "测试接口", tags = "测试接口") public class TestController { @GetMapping("/business") @ApiOperation("业务异常测试") public String test() { throw new BusinessException("业务异常"); } @GetMapping("/custom") @ApiOperation("通用异常测试") public String test2() { throw new NullPointerException("空指针异常"); } } src/main/java/com/example/jz/dao/CauseDao.java
@@ -4,11 +4,12 @@ import com.example.jz.modle.entity.Cause; /** * (Cause)表数据库访问层 * 案件表(Cause)表数据库访问层 * * @author makejava * @since 2022-07-11 16:55:40 * @since 2022-07-13 11:52:57 */ public interface CauseDao extends BaseMapper<Cause> { } src/main/java/com/example/jz/dao/ReportDao.java
New file @@ -0,0 +1,15 @@ package com.example.jz.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.example.jz.modle.entity.Report; /** * 报案表(Report)表数据库访问层 * * @author makejava * @since 2022-07-13 11:52:58 */ public interface ReportDao extends BaseMapper<Report> { } src/main/java/com/example/jz/dao/SensitiveDao.java
New file @@ -0,0 +1,15 @@ package com.example.jz.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.example.jz.modle.entity.Sensitive; /** * 敏感词表(Sensitive)表数据库访问层 * * @author makejava * @since 2022-07-13 09:54:49 */ public interface SensitiveDao extends BaseMapper<Sensitive> { } src/main/java/com/example/jz/modle/dto/SensitiveDto.java
New file @@ -0,0 +1,35 @@ package com.example.jz.modle.dto; import io.swagger.annotations.ApiModelProperty; import lombok.AllArgsConstructor; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; import lombok.experimental.Accessors; import java.util.Date; import java.util.List; /** * @author 安瑾然 * @data 2022/7/13 - 10:02 AM * @description */ @Data @NoArgsConstructor @AllArgsConstructor @Accessors(chain = true) @EqualsAndHashCode(callSuper = false) public class SensitiveDto { @ApiModelProperty(value = "敏感词id") private Integer id; //敏感词,用,分隔 @ApiModelProperty(value = "敏感词") private List<String> words; //创建者 @ApiModelProperty(value = "创建者") private String creator; //创建时间 @ApiModelProperty(value = "创建时间") private Date ctime; } src/main/java/com/example/jz/modle/entity/Cause.java
@@ -1,60 +1,36 @@ package com.example.jz.modle.entity; import java.io.Serializable; import java.util.Date; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.extension.activerecord.Model; import java.io.Serializable; /** * (Cause)实体类 * 案件表(Cause)表实体类 * * @author makejava * @since 2022-07-12 16:50:57 * @since 2022-07-13 11:52:57 */ public class Cause implements Serializable { private static final long serialVersionUID = 944957375480792530L; /** * 案件ID */ @TableName("qyjz.cause") public class Cause extends Model<Cause> { //id private Integer id; /** * 头像地址 */ private String pic; /** * 报案人 */ private String reporter; /** * 报案人手机号 */ private String mobile; /** * 报案人身份证号 */ private String idcard; /** * 是否代办 Y(代办) N(不是代办) */ private String isCommission; /** * 涉案金额 */ private String amountInvolved; /** * 报案材料图片地址 多个用,分隔 */ private String reportMaterials; /** * 报案时间 */ private Date reportTime; /** * 报案方式 */ private String reportMethod; /** * 创建人id */ private Integer creator; //案件编号 private String number; //案件名称 private String name; //第一次案发时间 private Date firstTime; //创建时间 private Date ctime; //状态 0未审核 1不予立案 2受理中 3已结案 private String status; //负责人id private Integer userId; //案件描述 private String description; public Integer getId() { @@ -65,85 +41,70 @@ this.id = id; } public String getPic() { return pic; public String getNumber() { return number; } public void setPic(String pic) { this.pic = pic; public void setNumber(String number) { this.number = number; } public String getReporter() { return reporter; public String getName() { return name; } public void setReporter(String reporter) { this.reporter = reporter; public void setName(String name) { this.name = name; } public String getMobile() { return mobile; public Date getFirstTime() { return firstTime; } public void setMobile(String mobile) { this.mobile = mobile; public void setFirstTime(Date firstTime) { this.firstTime = firstTime; } public String getIdcard() { return idcard; public Date getCtime() { return ctime; } public void setIdcard(String idcard) { this.idcard = idcard; public void setCtime(Date ctime) { this.ctime = ctime; } public String getIsCommission() { return isCommission; public String getStatus() { return status; } public void setIsCommission(String isCommission) { this.isCommission = isCommission; public void setStatus(String status) { this.status = status; } public String getAmountInvolved() { return amountInvolved; public Integer getUserId() { return userId; } public void setAmountInvolved(String amountInvolved) { this.amountInvolved = amountInvolved; public void setUserId(Integer userId) { this.userId = userId; } public String getReportMaterials() { return reportMaterials; public String getDescription() { return description; } public void setReportMaterials(String reportMaterials) { this.reportMaterials = reportMaterials; public void setDescription(String description) { this.description = description; } public Date getReportTime() { return reportTime; /** * 获取主键值 * * @return 主键值 */ @Override protected Serializable pkVal() { return this.id; } public void setReportTime(Date reportTime) { this.reportTime = reportTime; } public String getReportMethod() { return reportMethod; } public void setReportMethod(String reportMethod) { this.reportMethod = reportMethod; } public Integer getCreator() { return creator; } public void setCreator(Integer creator) { this.creator = creator; } } src/main/java/com/example/jz/modle/entity/Group.java
@@ -1,5 +1,7 @@ package com.example.jz.modle.entity; import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; import java.util.Date; @@ -10,6 +12,7 @@ * @author makejava * @since 2022-07-12 16:50:59 */ @TableName("qyjz.group") public class Group implements Serializable { private static final long serialVersionUID = 208063400600909704L; /** src/main/java/com/example/jz/modle/entity/Report.java
New file @@ -0,0 +1,159 @@ package com.example.jz.modle.entity; import java.util.Date; import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.extension.activerecord.Model; import java.io.Serializable; /** * 报案表(Report)表实体类 * * @author makejava * @since 2022-07-13 11:52:58 */ @TableName("qyjz.report") public class Report extends Model<Report> { //案件ID private Integer id; //头像地址 private String pic; //报案人id private Integer userId; //是否代办 1(代办) 0(不是代办) private String isCommission; //涉案金额 private String amountInvolved; //报案材料图片地址 多个用,分隔 private String reportMaterials; //报案时间 private Date reportTime; //报案方式 private String reportMethod; //创建人id private Integer creator; //状态,1为通过 0为未审核 private Integer status; //创建时间 private Date ctime; //被骗时间 private Date cheatTime; //补充信息 private String information; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getPic() { return pic; } public void setPic(String pic) { this.pic = pic; } public Integer getUserId() { return userId; } public void setUserId(Integer userId) { this.userId = userId; } public String getIsCommission() { return isCommission; } public void setIsCommission(String isCommission) { this.isCommission = isCommission; } public String getAmountInvolved() { return amountInvolved; } public void setAmountInvolved(String amountInvolved) { this.amountInvolved = amountInvolved; } public String getReportMaterials() { return reportMaterials; } public void setReportMaterials(String reportMaterials) { this.reportMaterials = reportMaterials; } public Date getReportTime() { return reportTime; } public void setReportTime(Date reportTime) { this.reportTime = reportTime; } public String getReportMethod() { return reportMethod; } public void setReportMethod(String reportMethod) { this.reportMethod = reportMethod; } public Integer getCreator() { return creator; } public void setCreator(Integer creator) { this.creator = creator; } public Integer getStatus() { return status; } public void setStatus(Integer status) { this.status = status; } public Date getCtime() { return ctime; } public void setCtime(Date ctime) { this.ctime = ctime; } public Date getCheatTime() { return cheatTime; } public void setCheatTime(Date cheatTime) { this.cheatTime = cheatTime; } public String getInformation() { return information; } public void setInformation(String information) { this.information = information; } /** * 获取主键值 * * @return 主键值 */ @Override protected Serializable pkVal() { return this.id; } } src/main/java/com/example/jz/modle/entity/Sensitive.java
New file @@ -0,0 +1,49 @@ package com.example.jz.modle.entity; import java.util.Date; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.extension.activerecord.Model; import lombok.AllArgsConstructor; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; import lombok.experimental.Accessors; import java.io.Serializable; /** * 敏感词表(Sensitive)表实体类 * * @author 安瑾然 * @since 2022-07-13 09:54:49 */ @Data @NoArgsConstructor @AllArgsConstructor @Accessors(chain = true) @EqualsAndHashCode(callSuper = false) @TableName("qyjz.sensitive") public class Sensitive extends Model<Sensitive> { //敏感词id @TableId private Integer id; //敏感词,用,分隔 private String word; //创建者 private String creator; //创建时间 private Date ctime; /** * 获取主键值 * * @return 主键值 */ @Override protected Serializable pkVal() { return this.id; } } src/main/java/com/example/jz/modle/vo/SensitiveVO.java
New file @@ -0,0 +1,37 @@ package com.example.jz.modle.vo; import io.swagger.annotations.Api; import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; import lombok.experimental.Accessors; import java.util.Date; import java.util.List; /** * @author 安瑾然 * @data 2022/7/13 - 10:02 AM * @description */ @Data @NoArgsConstructor @AllArgsConstructor @Accessors(chain = true) @EqualsAndHashCode(callSuper = false) public class SensitiveVO { @ApiModelProperty(value = "敏感词id") private Integer id; //敏感词,用,分隔 @ApiModelProperty(value = "敏感词") private List<String> words; //创建者 @ApiModelProperty(value = "创建者") private String creator; //创建时间 @ApiModelProperty(value = "创建时间") private Date ctime; } src/main/java/com/example/jz/service/CauseService.java
@@ -4,10 +4,10 @@ import com.example.jz.modle.entity.Cause; /** * (Cause)表服务接口 * 案件表(Cause)表服务接口 * * @author makejava * @since 2022-07-11 16:55:41 * @since 2022-07-13 11:52:58 */ public interface CauseService extends IService<Cause> { src/main/java/com/example/jz/service/ReportService.java
New file @@ -0,0 +1,15 @@ package com.example.jz.service; import com.baomidou.mybatisplus.extension.service.IService; import com.example.jz.modle.entity.Report; /** * 报案表(Report)表服务接口 * * @author makejava * @since 2022-07-13 11:52:58 */ public interface ReportService extends IService<Report> { } src/main/java/com/example/jz/service/SensitiveService.java
New file @@ -0,0 +1,15 @@ package com.example.jz.service; import com.baomidou.mybatisplus.extension.service.IService; import com.example.jz.modle.entity.Sensitive; /** * 敏感词表(Sensitive)表服务接口 * * @author makejava * @since 2022-07-13 09:54:50 */ public interface SensitiveService extends IService<Sensitive> { } src/main/java/com/example/jz/service/impl/CauseServiceImpl.java
@@ -7,12 +7,13 @@ import org.springframework.stereotype.Service; /** * (Cause)表服务实现类 * 案件表(Cause)表服务实现类 * * @author makejava * @since 2022-07-11 16:55:41 * @since 2022-07-13 11:52:58 */ @Service("causeService") public class CauseServiceImpl extends ServiceImpl<CauseDao, Cause> implements CauseService { } src/main/java/com/example/jz/service/impl/ReportServiceImpl.java
New file @@ -0,0 +1,19 @@ package com.example.jz.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.example.jz.dao.ReportDao; import com.example.jz.modle.entity.Report; import com.example.jz.service.ReportService; import org.springframework.stereotype.Service; /** * 报案表(Report)表服务实现类 * * @author makejava * @since 2022-07-13 11:52:58 */ @Service("reportService") public class ReportServiceImpl extends ServiceImpl<ReportDao, Report> implements ReportService { } src/main/java/com/example/jz/service/impl/SensitiveServiceImpl.java
New file @@ -0,0 +1,19 @@ package com.example.jz.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.example.jz.dao.SensitiveDao; import com.example.jz.modle.entity.Sensitive; import com.example.jz.service.SensitiveService; import org.springframework.stereotype.Service; /** * 敏感词表(Sensitive)表服务实现类 * * @author makejava * @since 2022-07-13 09:54:50 */ @Service("sensitiveService") public class SensitiveServiceImpl extends ServiceImpl<SensitiveDao, Sensitive> implements SensitiveService { } src/test/java/com/example/jz/MinIOTest.java
File was deleted