diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/controller/OcrPictureclassController.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/controller/OcrPictureclassController.java new file mode 100644 index 0000000..021811f --- /dev/null +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/controller/OcrPictureclassController.java @@ -0,0 +1,154 @@ +package cn.jyjz.xiaoyao.ocr.controller; + +import java.io.IOException; +import java.util.List; +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import cn.jyjz.xiaoyao.admin.service.TenantService; +import cn.jyjz.xiaoyao.common.base.util.RequestBaseUtil; +import cn.jyjz.xiaoyao.common.base.vo.UserToken; +import cn.jyjz.xiaoyao.common.mybatisplus.util.SearchQueryFormat; +import cn.jyjz.xiaoyao.ocr.dataobject.OcrPictureclass; +import cn.jyjz.xiaoyao.ocr.service.OcrPictureclassService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; + +import cn.jyjz.xiaoyao.admin.service.UserService; +import cn.jyjz.xiaoyao.common.base.service.UserTokenService; +import cn.jyjz.xiaoyao.common.base.controller.BaseController; +import cn.jyjz.xiaoyao.common.base.param.ParamterPage; +import cn.jyjz.xiaoyao.common.base.util.requestFormat.SearchQuery; +import cn.jyjz.xiaoyao.common.base.vo.ResultVo; +import cn.jyjz.xiaoyao.common.base.vo.ResultVoUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; + +@Api(tags="ocr-分类管理") +@RestController +@RequestMapping("/ocr/ocrPictureclass") +public class OcrPictureclassController extends BaseController{ + + private Logger log = LoggerFactory.getLogger(this.getClass()); + + @Resource + private OcrPictureclassService ocrPictureclassService; + @Resource + private TenantService tenantService; + @Resource + private UserTokenService userTokenService; + @Resource + private UserService userService; + + /** + * 分页列表查询 + + * @return + */ + //@AutoLog(value = "ocr_pictureclass-分页列表查询") + @ApiOperation(value="分类列表", notes="分类列表,无分页") + @ApiImplicitParams({ + @ApiImplicitParam(paramType = "header", name = "X-Tenant-Id", value = "租户主键,用户登录时的信息“tenantList”中获得。", dataType = "String", required = true) + }) + @GetMapping(value = "/rootList") + public ResultVo> rootList(HttpServletRequest request, HttpServletResponse response) { + //租户主键,由前端页面传送 + String tenantId = request.getHeader("X-Tenant-Id"); + if(StringUtils.isBlank(tenantId)){ + return ResultVoUtil.error("租户主键不能为空"); + } + + SearchQuery searchQuery = this.getParametersStartingWithToSearchJson(request, "search_"); + OcrPictureclass ocrpictureclass = new OcrPictureclass(); + QueryWrapper queryWrapper = SearchQueryFormat.queryStringFormat(searchQuery,ocrpictureclass); + queryWrapper.eq("TENANTID",tenantId); + queryWrapper.orderByDesc("REORDER"); + + List page = this.ocrPictureclassService.queryListNoPage(queryWrapper);; + return ResultVoUtil.success(page); + } + + /** + *方法描述:返回json字符串,接受参数,dto名称以及分页信息 + *创建人:mail.zhangyong@gmail.com + *创建时间:2024-01-14 10:27:01 + **/ + @GetMapping("/list") + public ResultVo> listOcrPictureclass(ParamterPage paramterPage, HttpServletRequest request, HttpServletResponse response) throws IOException{ + SearchQuery searchQuery = this.getParametersStartingWithToSearchJson(request, "search_"); + OcrPictureclass ocrpictureclass = new OcrPictureclass(); + QueryWrapper queryWrapper = SearchQueryFormat.queryStringFormat(searchQuery,ocrpictureclass); + IPage page = this.ocrPictureclassService.selectSearchListPage(paramterPage,queryWrapper); + for(OcrPictureclass ocrPictureclass:page.getRecords()){ + ocrPictureclass.setTenant(tenantService.selectDtoById(ocrPictureclass.getTenantid())); + } + return ResultVoUtil.success(page); + } + + /** + *方法描述:保存添加数据 + *创建人:mail.zhangyong@gmail.com + *创建时间:2024-01-14 10:27:01 + **/ + @PostMapping("/save") + public ResultVo saveOcrPictureclass(HttpServletResponse response,HttpServletRequest request,OcrPictureclass tab) throws IOException{ + UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(request)); + tab.setCreateby(userToken.getLoginname()); + tab.setCreatetime(System.currentTimeMillis()); + this.ocrPictureclassService.save(tab); + return ResultVoUtil.success(); + } + + /** + *方法描述:根据页面form传来的对象修改数据 + *创建人:mail.zhangyong@gmail.com + *创建时间:2024-01-14 10:27:01 + **/ + @PostMapping("/edit") + public ResultVo editOcrPictureclass(HttpServletResponse response,HttpServletRequest request,OcrPictureclass tab) throws IOException{ + UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(request)); + + tab.setUpdateby(userToken.getLoginname()); + tab.setUpdatetime(System.currentTimeMillis()); + this.ocrPictureclassService.updateById(tab); + return ResultVoUtil.success(); + } + + /** + *方法描述:通过主键获得对象信息 + *创建人:mail.zhangyong@gmail.com + *创建时间:2024-01-14 10:27:01 + **/ + @GetMapping("/getdata/{id}") + @ResponseBody + public ResultVo getdateOcrPictureclass(HttpServletResponse response,HttpServletRequest request,@PathVariable("id") Long id) throws IOException{ + OcrPictureclass dto = this.ocrPictureclassService.selectDtoById(id); + if(null != dto){ + return ResultVoUtil.success(dto); + }else{ + return ResultVoUtil.error(); + } + } + + /** + *方法描述:根据id字符串组删除对象方法,例如1,2,3 + *创建人:mail.zhangyong@gmail.com + *创建时间:2024-01-14 10:27:01 + **/ + @GetMapping("/delmore") + @ResponseBody + public ResultVo delMoreOcrPictureclass(HttpServletResponse response,HttpServletRequest request) throws IOException{ + String ids = request.getParameter("id"); + this.ocrPictureclassService.deleteByIdMore(ids); + return ResultVoUtil.success(); + } + +} diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/controller/OcrPictureclassHtmlController.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/controller/OcrPictureclassHtmlController.java new file mode 100644 index 0000000..af9784f --- /dev/null +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/controller/OcrPictureclassHtmlController.java @@ -0,0 +1,75 @@ +package cn.jyjz.xiaoyao.ocr.controller; + +import java.io.IOException; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import cn.jyjz.xiaoyao.ocr.service.OcrPictureclassService; +import com.alibaba.fastjson.JSONObject; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.*; + +import cn.jyjz.xiaoyao.admin.service.UserService; +import cn.jyjz.xiaoyao.common.base.service.UserTokenService; +import cn.jyjz.xiaoyao.common.base.controller.BaseController; +import cn.jyjz.xiaoyao.common.base.param.ParamterPage; +import cn.jyjz.xiaoyao.common.base.util.requestFormat.SearchQuery; +import cn.jyjz.xiaoyao.common.base.vo.ResultVo; +import cn.jyjz.xiaoyao.common.base.vo.ResultVoUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; + +@Controller +@RequestMapping("/backstage/oa/ocrpictureclassHtml") +public class OcrPictureclassHtmlController extends BaseController{ + + private Logger log = LoggerFactory.getLogger(this.getClass()); + + @Autowired + private OcrPictureclassService ocrPictureclassService; + + @Autowired + private UserTokenService userTokenService; + @Autowired + private UserService userService; + /** + *方法描述:跳转到列表页面 + *创建人:mail.zhangyong@gmail.com + *创建时间:2024-01-14 10:27:01 + **/ + @GetMapping("/toList") + public String toListOcrPictureclass(HttpServletResponse response,HttpServletRequest request){ + String resourceid = request.getParameter("resourceid"); + request.setAttribute("resourceid",resourceid); + return "/backstage/oa/ocr/ocrpictureclass/list"; + } + + /** + *方法描述:跳转到保存页面 + *创建人:mail.zhangyong@gmail.com + *创建时间:2024-01-14 10:27:01 + **/ + @GetMapping("/toSave") + public String toSaveOcrPictureclass(HttpServletResponse response,HttpServletRequest request){ + String resourceid = request.getParameter("resourceid"); + request.setAttribute("resourceid",resourceid); + return "/backstage/oa/ocr/ocrpictureclass/add"; + } + + /** + *方法描述:根据ID跳转到修改页面 + *创建人:mail.zhangyong@gmail.com + *创建时间:2024-01-14 10:27:01 + **/ + @GetMapping("/toEdit/{id}") + public String toEditOcrPictureclass(HttpServletResponse response,HttpServletRequest request,@PathVariable("id") String id){ + String resourceid = request.getParameter("resourceid"); + request.setAttribute("resourceid",resourceid); + request.setAttribute("id", id); + return "/backstage/oa/ocr/ocrpictureclass/edit"; + } + +} diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/dataDao/OcrPictureclassMybatisDao.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/dataDao/OcrPictureclassMybatisDao.java new file mode 100644 index 0000000..7af2abe --- /dev/null +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/dataDao/OcrPictureclassMybatisDao.java @@ -0,0 +1,11 @@ +package cn.jyjz.xiaoyao.ocr.dataDao; + +import cn.jyjz.xiaoyao.ocr.dataobject.OcrPictureclass; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +/** +* 数据持久化 +*/ +@Mapper +public interface OcrPictureclassMybatisDao extends BaseMapper { +} diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/dataobject/OcrPictureclass.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/dataobject/OcrPictureclass.java new file mode 100644 index 0000000..7c06a5e --- /dev/null +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/dataobject/OcrPictureclass.java @@ -0,0 +1,115 @@ +package cn.jyjz.xiaoyao.ocr.dataobject; + +import cn.jyjz.xiaoyao.admin.dataobject.Tenant; +import cn.jyjz.xiaoyao.common.base.jsonDomain.DateNotimeSerializer; +import cn.jyjz.xiaoyao.common.mybatisplus.dto.BaseDto; +import cn.jyjz.xiaoyao.common.base.util.requestFormat.SearchQuery; + +import com.baomidou.mybatisplus.annotation.TableField; +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 com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.Map; +import java.util.AbstractMap.SimpleEntry; +import java.util.stream.Stream; +import java.util.stream.Collectors; + + + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@Schema(name = "图片分类表", title = "图片分类表") +@TableName(value = "ocr_pictureclass") +public class OcrPictureclass implements BaseDto,java.io.Serializable { + + private static final long serialVersionUID = -2826818582872L; + @Schema(description = "主键") + @TableId(value = "id",type = IdType.ASSIGN_ID) + @JsonSerialize(using = ToStringSerializer.class) + @TableField(value="ID") + private Long id; + + @Schema(description = "创建人") + @TableField(value="CREATEBY") + private String createby; + + @Schema(description = "创建时间") + @TableField(value="CREATETIME") + private Long createtime; + + @Schema(description = "修改人") + @TableField(value="UPDATEBY") + private String updateby; + + @Schema(description = "修改时间") + @TableField(value="UPDATETIME") + private Long updatetime; + + @Schema(description = "租户ID") + @JsonSerialize(using = ToStringSerializer.class) + @TableField(value="TENANTID") + private Long tenantid; + + @Schema(description = "父节点,默认为0,表示根") + @JsonSerialize(using = ToStringSerializer.class) + @TableField(value="PID") + private Long pid; + + @Schema(description = "是否有子节点") + @TableField(value="HASCHILD") + private String haschild; + + @Schema(description = "分类名称") + @TableField(value="CLASSNAME") + private String classname; + + @Schema(description = "排序字段") + @TableField(value="REORDER") + private Integer reorder; + + //租户对象 + @TableField(exist = false) + private Tenant tenant; + + //保存当前登录用户的数据权限范围的搜索条件 + @TableField(exist = false) + @JsonIgnore + private SearchQuery searchQueryrolesShowleave; + + @TableField(exist = false) + @JsonIgnore + private final Map query = Stream.of( + new SimpleEntry<>("ID","id"), + new SimpleEntry<>("CREATEBY","createby"), + new SimpleEntry<>("CREATETIME","createtime"), + new SimpleEntry<>("UPDATEBY","updateby"), + new SimpleEntry<>("UPDATETIME","updatetime"), + new SimpleEntry<>("TENANTID","tenantid"), + new SimpleEntry<>("PID","pid"), + new SimpleEntry<>("HASCHILD","haschild"), + new SimpleEntry<>("CLASSNAME","classname"), + new SimpleEntry<>("REORDER","reorder") + ) + .collect(Collectors.toMap(SimpleEntry::getKey, SimpleEntry::getValue)); + @Override + public String getQueryFiled(String filedname){ + String obj = null; + if(null != query && query.size() > 0){ + obj = query.get(filedname); + } + return obj; + } +} diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/OcrPictureclassService.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/OcrPictureclassService.java new file mode 100644 index 0000000..f75b65f --- /dev/null +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/OcrPictureclassService.java @@ -0,0 +1,22 @@ +package cn.jyjz.xiaoyao.ocr.service; + +import java.util.List; +import cn.jyjz.xiaoyao.common.mybatisplus.base.BaseService; +import cn.jyjz.xiaoyao.ocr.dataobject.OcrPicture; +import cn.jyjz.xiaoyao.ocr.dataobject.OcrPictureclass; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; + +/** +* 业务层 +*/ +public interface OcrPictureclassService extends BaseService { + + /** + * 查询所有数据,无分页 + * + * @param queryWrapper + * @return List + */ + List queryListNoPage(QueryWrapper queryWrapper); +} diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/impl/OcrPictureclassServiceImpl.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/impl/OcrPictureclassServiceImpl.java new file mode 100644 index 0000000..2431e36 --- /dev/null +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/impl/OcrPictureclassServiceImpl.java @@ -0,0 +1,43 @@ +package cn.jyjz.xiaoyao.ocr.service.impl; + +import cn.jyjz.xiaoyao.ocr.dataDao.OcrPictureclassMybatisDao; +import cn.jyjz.xiaoyao.ocr.dataobject.OcrPicture; +import cn.jyjz.xiaoyao.ocr.dataobject.OcrPictureclass; +import cn.jyjz.xiaoyao.ocr.dataobject.OcrUsersearch; +import cn.jyjz.xiaoyao.ocr.service.OcrPictureclassService; +import cn.jyjz.xiaoyao.ocr.service.OcrUsersearchService; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import cn.jyjz.xiaoyao.common.mybatisplus.base.BaseServiceImpl; +import lombok.extern.slf4j.Slf4j; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.List; +/** +* 业务层实现 +*/ +@Service +@Slf4j +public class OcrPictureclassServiceImpl extends BaseServiceImpl implements OcrPictureclassService { + @Autowired + private OcrPictureclassMybatisDao ocrpictureclassmybatisdao; + + + @Override + public List queryListNoPage(QueryWrapper queryWrapper) { + + Long count = ocrpictureclassmybatisdao.selectCount(queryWrapper); + + Page page = new Page(1,count); + page.setMaxLimit(count); + + IPage iPage = this.page(page,queryWrapper); + return iPage.getRecords(); + } + +}