src/main/java/org/springblade/modules/traceability/controller/TraceabilityController.java
New file @@ -0,0 +1,109 @@ package org.springblade.modules.traceability.controller; import com.baomidou.mybatisplus.core.metadata.IPage; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import lombok.AllArgsConstructor; import org.springblade.core.boot.ctrl.BladeController; import org.springblade.core.mp.support.Condition; import org.springblade.core.mp.support.Query; import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.Func; import org.springblade.modules.traceability.entity.Traceability; import org.springblade.modules.traceability.service.TraceabilityService; import org.springblade.modules.traceability.vo.TraceabilityVO; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; import javax.validation.Valid; import java.util.Date; /** * 溯源码表控制器 * @since 2022-05-19 * @author zhongrj */ @RestController @AllArgsConstructor @RequestMapping("/traceability") public class TraceabilityController extends BladeController { private final TraceabilityService traceabilityService; /** * 详情 */ @GetMapping("/detail") @ApiOperationSupport(order = 1) @ApiOperation(value = "详情", notes = "传入traceability") public R<Traceability> detail(Traceability traceability) { Traceability detail = traceabilityService.getOne(Condition.getQueryWrapper(traceability)); return R.data(detail); } /** * 分页 */ @GetMapping("/list") @ApiOperationSupport(order = 2) @ApiOperation(value = "分页", notes = "传入traceability") public R<IPage<Traceability>> list(Traceability traceability, Query query) { IPage<Traceability> pages = traceabilityService.page(Condition.getPage(query), Condition.getQueryWrapper(traceability)); return R.data(pages); } /** * 自定义分页 */ @GetMapping("/page") @ApiOperationSupport(order = 3) @ApiOperation(value = "分页", notes = "传入traceability") public R<IPage<TraceabilityVO>> page(TraceabilityVO traceability, Query query) { IPage<TraceabilityVO> pages = traceabilityService.selectTraceabilityPage(Condition.getPage(query), traceability); return R.data(pages); } /** * 新增 */ @PostMapping("/save") @ApiOperationSupport(order = 4) @Transactional(rollbackFor = Exception.class) public R save(@Valid @RequestBody Traceability traceability) { traceability.setCreateTime(new Date()); return R.status(traceabilityService.save(traceability)); } /** * 修改 */ @PostMapping("/update") @ApiOperationSupport(order = 5) @ApiOperation(value = "修改", notes = "传入traceability") public R update(@Valid @RequestBody Traceability traceability) { //更新并返回 return R.status(traceabilityService.updateById(traceability)); } /** * 新增或修改 */ @PostMapping("/submit") @ApiOperationSupport(order = 6) @ApiOperation(value = "新增或修改", notes = "传入traceability") public R submit(@Valid @RequestBody Traceability traceability) { return R.status(traceabilityService.saveOrUpdate(traceability)); } /** * 删除 */ @PostMapping("/remove") @ApiOperationSupport(order = 7) @ApiOperation(value = "逻辑删除", notes = "传入ids") public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) { return R.status(traceabilityService.removeByIds(Func.toLongList(ids))); } } src/main/java/org/springblade/modules/traceability/controller/TraceabilityDetailController.java
New file @@ -0,0 +1,106 @@ package org.springblade.modules.traceability.controller; import com.baomidou.mybatisplus.core.metadata.IPage; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import lombok.AllArgsConstructor; import org.springblade.core.boot.ctrl.BladeController; import org.springblade.core.mp.support.Condition; import org.springblade.core.mp.support.Query; import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.Func; import org.springblade.modules.traceability.entity.TraceabilityDetail; import org.springblade.modules.traceability.service.TraceabilityDetailService; import org.springblade.modules.traceability.vo.TraceabilityDetailVO; import org.springframework.web.bind.annotation.*; import javax.validation.Valid; /** * 溯源码详细表控制器 * @since 2022-05-19 * @author zhongrj */ @RestController @AllArgsConstructor @RequestMapping("/traceabilityDetail") public class TraceabilityDetailController extends BladeController { private final TraceabilityDetailService traceabilityDetailService; /** * 详情 */ @GetMapping("/detail") @ApiOperationSupport(order = 1) @ApiOperation(value = "详情", notes = "传入traceabilityDetail") public R<TraceabilityDetail> detail(TraceabilityDetail traceabilityDetail) { TraceabilityDetail detail = traceabilityDetailService.getOne(Condition.getQueryWrapper(traceabilityDetail)); return R.data(detail); } /** * 分页 */ @GetMapping("/list") @ApiOperationSupport(order = 2) @ApiOperation(value = "分页", notes = "传入traceabilityDetail") public R<IPage<TraceabilityDetail>> list(TraceabilityDetail traceabilityDetail, Query query) { IPage<TraceabilityDetail> pages = traceabilityDetailService.page(Condition.getPage(query), Condition.getQueryWrapper(traceabilityDetail)); return R.data(pages); } /** * 自定义分页 */ @GetMapping("/page") @ApiOperationSupport(order = 3) @ApiOperation(value = "分页", notes = "传入traceabilityDetail") public R<IPage<TraceabilityDetailVO>> page(TraceabilityDetailVO traceabilityDetail, Query query) { IPage<TraceabilityDetailVO> pages = traceabilityDetailService.selectTraceabilityDetailPage(Condition.getPage(query), traceabilityDetail); return R.data(pages); } /** * 新增 */ @PostMapping("/save") @ApiOperationSupport(order = 4) @ApiOperation(value = "新增", notes = "传入traceabilityDetail") public R save(@Valid @RequestBody TraceabilityDetail traceabilityDetail) { return R.status(traceabilityDetailService.save(traceabilityDetail)); } /** * 修改 */ @PostMapping("/update") @ApiOperationSupport(order = 5) @ApiOperation(value = "修改", notes = "传入traceabilityDetail") public R update(@Valid @RequestBody TraceabilityDetail traceabilityDetail) { return R.status(traceabilityDetailService.updateById(traceabilityDetail)); } /** * 新增或修改 */ @PostMapping("/submit") @ApiOperationSupport(order = 6) @ApiOperation(value = "新增或修改", notes = "传入traceabilityDetail") public R submit(@Valid @RequestBody TraceabilityDetail traceabilityDetail) { return R.status(traceabilityDetailService.saveOrUpdate(traceabilityDetail)); } /** * 删除 */ @PostMapping("/remove") @ApiOperationSupport(order = 7) @ApiOperation(value = "逻辑删除", notes = "传入ids") public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) { return R.status(traceabilityDetailService.removeByIds(Func.toLongList(ids))); } } src/main/java/org/springblade/modules/traceability/entity/Traceability.java
New file @@ -0,0 +1,62 @@ package org.springblade.modules.traceability.entity; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import org.springframework.format.annotation.DateTimeFormat; import java.io.Serializable; import java.util.Date; /** * 溯源码表实体类 * @since 2022-05-19 * @author zhongrj */ @Data @TableName("sys_traceability") public class Traceability implements Serializable { private static final long serialVersionUID = 1L; /** * 主键id */ @TableId(value = "id",type = IdType.AUTO) private Integer id; /** * 溯源码编号 */ private String code; /** * 是否绑定溯源(0:已绑定 1:未绑定) */ private String bind; /** * 是否打印(0:是 1:否) */ private String print; /** * 溯源码图片url */ private String url; /** * 创建时间 */ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date createTime; /** * 采收id(溯源id) */ private Integer recoveryId; } src/main/java/org/springblade/modules/traceability/entity/TraceabilityDetail.java
New file @@ -0,0 +1,69 @@ package org.springblade.modules.traceability.entity; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import org.springframework.format.annotation.DateTimeFormat; import java.io.Serializable; import java.util.Date; /** * 溯源码详细表实体类 * @since 2022-05-19 * @author zhongrj */ @Data @TableName("sys_traceability_detail") public class TraceabilityDetail implements Serializable { private static final long serialVersionUID = 1L; /** * 主键id */ @TableId(value = "id",type = IdType.AUTO) private Integer id; /** * 溯源码id */ private Integer traceabilityId; /** * 商品名称 */ private String productName; /** * 联系电话 */ private String phone; /** * 产地 */ private String place; /** * 合格证编号 */ private String certificationCode; /** * 承诺依据 0:委托检测 1:自我检测 2:内部质量控制 3:自我承诺 */ private String according; /** * 创建时间 */ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date createTime; } src/main/java/org/springblade/modules/traceability/mapper/TraceabilityDetailMapper.java
New file @@ -0,0 +1,27 @@ package org.springblade.modules.traceability.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import org.apache.ibatis.annotations.Param; import org.springblade.modules.traceability.entity.TraceabilityDetail; import org.springblade.modules.traceability.vo.TraceabilityDetailVO; import java.util.List; /** * 溯源码详细表Mapper 接口 * @since 2022-05-19 * @author zhongrj */ public interface TraceabilityDetailMapper extends BaseMapper<TraceabilityDetail> { /** * 自定义分页 * * @param page * @param traceabilityDetail * @return */ List<TraceabilityDetailVO> selectTraceabilityDetailPage(@Param("page") IPage page, @Param("traceabilityDetail") TraceabilityDetailVO traceabilityDetail); } src/main/java/org/springblade/modules/traceability/mapper/TraceabilityDetailMapper.xml
New file @@ -0,0 +1,10 @@ <?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="org.springblade.modules.traceability.mapper.TraceabilityDetailMapper"> <!--自定义查询溯源码详细分页数据--> <select id="selectTraceabilityDetailPage" resultType="org.springblade.modules.traceability.vo.TraceabilityDetailVO"> select * from sys_traceability_detail where 1=1 </select> </mapper> src/main/java/org/springblade/modules/traceability/mapper/TraceabilityMapper.java
New file @@ -0,0 +1,26 @@ package org.springblade.modules.traceability.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import org.apache.ibatis.annotations.Param; import org.springblade.modules.traceability.entity.Traceability; import org.springblade.modules.traceability.vo.TraceabilityVO; import java.util.List; /** * 溯源码表Mapper 接口 * @since 2022-05-19 * @author zhongrj */ public interface TraceabilityMapper extends BaseMapper<Traceability> { /** * 自定义分页 * * @param page * @param traceability * @return */ List<TraceabilityVO> selectTraceabilityPage(@Param("page") IPage page, @Param("traceability") TraceabilityVO traceability); } src/main/java/org/springblade/modules/traceability/mapper/TraceabilityMapper.xml
New file @@ -0,0 +1,13 @@ <?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="org.springblade.modules.traceability.mapper.TraceabilityMapper"> <!--自定义查询农场养殖记录分页数据--> <select id="selectTraceabilityPage" resultType="org.springblade.modules.traceability.vo.TraceabilityVO"> select * from sys_traceability where 1=1 <if test="traceability.code!=null and traceability.code!=''"> and code = #{traceability.code} </if> </select> </mapper> src/main/java/org/springblade/modules/traceability/service/TraceabilityDetailService.java
New file @@ -0,0 +1,26 @@ package org.springblade.modules.traceability.service; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; import org.springblade.modules.traceability.entity.TraceabilityDetail; import org.springblade.modules.traceability.vo.TraceabilityDetailVO; import java.util.List; /** * 溯源码详细表服务类 * @since 2022-05-19 * @author zhongrj */ public interface TraceabilityDetailService extends IService<TraceabilityDetail> { /** * 自定义分页 * * @param page * @param traceabilityDetail * @return */ IPage<TraceabilityDetailVO> selectTraceabilityDetailPage(IPage<TraceabilityDetailVO> page, TraceabilityDetailVO traceabilityDetail); } src/main/java/org/springblade/modules/traceability/service/TraceabilityService.java
New file @@ -0,0 +1,24 @@ package org.springblade.modules.traceability.service; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; import org.springblade.modules.traceability.entity.Traceability; import org.springblade.modules.traceability.vo.TraceabilityVO; /** * 溯源码表服务类 * @since 2022-05-19 * @author zhongrj */ public interface TraceabilityService extends IService<Traceability> { /** * 自定义分页 * * @param page * @param traceability * @return */ IPage<TraceabilityVO> selectTraceabilityPage(IPage<TraceabilityVO> page, TraceabilityVO traceability); } src/main/java/org/springblade/modules/traceability/service/impl/TraceabilityDetailServiceImpl.java
New file @@ -0,0 +1,32 @@ package org.springblade.modules.traceability.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springblade.modules.traceability.entity.TraceabilityDetail; import org.springblade.modules.traceability.mapper.TraceabilityDetailMapper; import org.springblade.modules.traceability.service.TraceabilityDetailService; import org.springblade.modules.traceability.vo.TraceabilityDetailVO; import org.springframework.stereotype.Service; import java.util.List; /** * 溯源码详细表服务实现类 * @since 2022-05-19 * @author zhongrj */ @Service public class TraceabilityDetailServiceImpl extends ServiceImpl<TraceabilityDetailMapper, TraceabilityDetail> implements TraceabilityDetailService { /** * 自定义分页 * @param page * @param traceabilityDetail * @return */ @Override public IPage<TraceabilityDetailVO> selectTraceabilityDetailPage(IPage<TraceabilityDetailVO> page, TraceabilityDetailVO traceabilityDetail) { return page.setRecords(baseMapper.selectTraceabilityDetailPage(page, traceabilityDetail)); } } src/main/java/org/springblade/modules/traceability/service/impl/TraceabilityServiceImpl.java
New file @@ -0,0 +1,31 @@ package org.springblade.modules.traceability.service.impl; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springblade.modules.traceability.entity.Traceability; import org.springblade.modules.traceability.mapper.TraceabilityMapper; import org.springblade.modules.traceability.service.TraceabilityService; import org.springblade.modules.traceability.vo.TraceabilityVO; import org.springframework.stereotype.Service; import java.util.List; /** * 溯源码表服务实现类 * @since 2022-05-19 * @author zhongrj */ @Service public class TraceabilityServiceImpl extends ServiceImpl<TraceabilityMapper, Traceability> implements TraceabilityService { /** * 自定义分页 * * @param page * @param traceability * @return */ @Override public IPage<TraceabilityVO> selectTraceabilityPage(IPage<TraceabilityVO> page, TraceabilityVO traceability) { return page.setRecords(baseMapper.selectTraceabilityPage(page, traceability)); } } src/main/java/org/springblade/modules/traceability/vo/TraceabilityDetailVO.java
New file @@ -0,0 +1,15 @@ package org.springblade.modules.traceability.vo; import lombok.Data; import org.springblade.modules.traceability.entity.TraceabilityDetail; /** * 溯源码详细表VO * @since 2022-05-19 * @author zhongrj */ @Data public class TraceabilityDetailVO extends TraceabilityDetail { private static final long serialVersionUID = 1L; } src/main/java/org/springblade/modules/traceability/vo/TraceabilityVO.java
New file @@ -0,0 +1,15 @@ package org.springblade.modules.traceability.vo; import lombok.Data; import org.springblade.modules.traceability.entity.Traceability; /** * 溯源码表VO * @since 2022-05-19 * @author zhongrj */ @Data public class TraceabilityVO extends Traceability { private static final long serialVersionUID = 1L; }