diff --git a/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/system/vo/SysRoleTreeModel.java b/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/system/vo/SysRoleTreeModel.java new file mode 100644 index 00000000..016227ba --- /dev/null +++ b/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/system/vo/SysRoleTreeModel.java @@ -0,0 +1,100 @@ +package com.jero.common.system.vo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +/** + * 角色表 存储树结构数据的实体类 + * + * @author liJiaRao + * @date 2021-08-26 16:02 + */ +@Data +public class SysRoleTreeModel implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 对应SysRole中的id字段,前端数据树中的key + */ + private String key; + + /** + * 对应SysRole中的id字段,前端数据树中的value + */ + private String value; + + /** + * 对应roleName字段,前端数据树中的title + */ + private String title; + + private boolean isLeaf; + + // 以下所有字段均与SysRole相同 + /** + * id + */ + private String id; + + /** + * 父类id + */ + private String parentId; + + /** + * 角色名称 + */ + private String roleName; + + /** + * 角色编码 + */ + private String roleCode; + + /** + * 描述 + */ + private String description; + + /** + * 创建人 + */ + private String createBy; + + /** + * 创建时间 + */ + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date createTime; + + /** + * 更新人 + */ + private String updateBy; + + /** + * 更新时间 + */ + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date updateTime; + + private List children = new ArrayList<>(); + + public void setChildren(List children) { + if (children == null || children.size() == 0) { + this.isLeaf = true; + }else { + this.isLeaf = false; + } + this.children = children; + } +} diff --git a/jero-boot-module-demo/pom.xml b/jero-boot-incoming-payment/pom.xml similarity index 95% rename from jero-boot-module-demo/pom.xml rename to jero-boot-incoming-payment/pom.xml index 935a02e8..ae417295 100644 --- a/jero-boot-module-demo/pom.xml +++ b/jero-boot-incoming-payment/pom.xml @@ -9,7 +9,7 @@ 4.0.0 - jero-boot-module-demo + jero-boot-incoming-payment diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/controller/MemberProjectController.java b/jero-boot-incoming-payment/src/main/java/com/jero/controller/MemberProjectController.java new file mode 100644 index 00000000..8a527789 --- /dev/null +++ b/jero-boot-incoming-payment/src/main/java/com/jero/controller/MemberProjectController.java @@ -0,0 +1,170 @@ +package com.jero.controller; + +import java.util.Arrays; +import java.util.List; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import com.jero.common.api.vo.Result; +import com.jero.common.system.query.QueryGenerator; +import com.jero.entity.MemberProject; +import com.jero.service.IMemberProjectService; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import lombok.extern.slf4j.Slf4j; +import com.jero.common.system.base.controller.JeroController; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.servlet.ModelAndView; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import com.jero.common.aspect.annotation.AutoLog; + + + /** + * @Description: 会员项目表 + * @Author: jero-boot + * @Date: 2021-08-26 + * @Version: V1.0 + */ +@Api(tags="会员项目表") +@RestController +@RequestMapping("/jero/memberProject") +@Slf4j +public class MemberProjectController extends JeroController { + @Autowired + private IMemberProjectService memberProjectService; + + /** + * 分页列表查询 + * + * @param memberProject + * @param pageNo + * @param pageSize + * @param req + * @return + */ + @AutoLog(value = "会员项目表-分页列表查询") + @ApiOperation(value="会员项目表-分页列表查询", notes="会员项目表-分页列表查询") + @GetMapping(value = "/page") + public Result queryPageList(MemberProject memberProject, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(memberProject, req.getParameterMap()); + Page page = new Page(pageNo, pageSize); + IPage pageList = memberProjectService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 列表查询 + * + * @return + */ + @AutoLog(value = "会员项目表-列表查询") + @ApiOperation(value="会员项目表-列表查询", notes="会员项目表-列表查询") + @GetMapping(value = "/list") + public Result> queryList() { + List list = memberProjectService.queryList(); + return Result.OK(list); + } + + /** + * 添加 + * + * @param memberProject + * @return + */ + @AutoLog(value = "会员项目表-添加") + @ApiOperation(value="会员项目表-添加", notes="会员项目表-添加") + @PostMapping(value = "/add") + public Result add(@Validated @RequestBody MemberProject memberProject) { + memberProjectService.add(memberProject); + return Result.OK("添加成功!"); + } + + /** + * 编辑 + * + * @param memberProject + * @return + */ + @AutoLog(value = "会员项目表-编辑") + @ApiOperation(value="会员项目表-编辑", notes="会员项目表-编辑") + @PutMapping(value = "/edit") + public Result edit(@Validated @RequestBody MemberProject memberProject) { + memberProjectService.editById(memberProject); + return Result.OK("编辑成功!"); + } + + /** + * 通过id删除 + * + * @param id + * @return + */ + @AutoLog(value = "会员项目表-通过id删除") + @ApiOperation(value="会员项目表-通过id删除", notes="会员项目表-通过id删除") + @DeleteMapping(value = "/delete") + public Result delete(@RequestParam(name="id",required=true) String id) { + memberProjectService.deleteById(id); + return Result.OK("删除成功!"); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @AutoLog(value = "会员项目表-批量删除") + @ApiOperation(value="会员项目表-批量删除", notes="会员项目表-批量删除") + @DeleteMapping(value = "/deleteBatch") + public Result deleteBatch(@RequestParam(name="ids",required=true) String ids) { + this.memberProjectService.deleteByIds(Arrays.asList(ids.split(","))); + return Result.OK("批量删除成功!"); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + @AutoLog(value = "会员项目表-通过id查询") + @ApiOperation(value="会员项目表-通过id查询", notes="会员项目表-通过id查询") + @GetMapping(value = "/queryById") + public Result queryById(@RequestParam(name="id",required=true) String id) { + MemberProject memberProject = memberProjectService.queryById(id); + if(memberProject==null) { + return Result.error("未找到对应数据"); + } + return Result.OK(memberProject); + } + + /** + * 导出excel + * + * @param request + * @param memberProject + */ + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, MemberProject memberProject) { + return super.exportXls(request, memberProject, MemberProject.class, "会员项目表"); + } + + /** + * 通过excel导入数据 + * + * @param request + * @param response + * @return + */ + @RequestMapping(value = "/importExcel", method = RequestMethod.POST) + public Result importExcel(HttpServletRequest request, HttpServletResponse response) { + return super.importExcel(request, response, MemberProject.class); + } + +} diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/controller/MemberProjectSubitemController.java b/jero-boot-incoming-payment/src/main/java/com/jero/controller/MemberProjectSubitemController.java new file mode 100644 index 00000000..c441a26f --- /dev/null +++ b/jero-boot-incoming-payment/src/main/java/com/jero/controller/MemberProjectSubitemController.java @@ -0,0 +1,141 @@ +package com.jero.controller; + +import java.util.Arrays; +import java.util.List; +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import com.jero.common.api.vo.Result; +import com.jero.common.system.query.QueryGenerator; +import com.jero.entity.MemberProjectSubitem; +import com.jero.service.IMemberProjectSubitemService; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import lombok.extern.slf4j.Slf4j; +import com.jero.common.system.base.controller.JeroController; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.servlet.ModelAndView; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import com.jero.common.aspect.annotation.AutoLog; + + + /** + * @Description: 会员项目成员表 + * @Author: jero-boot + * @Date: 2021-08-26 + * @Version: V1.0 + */ +@Api(tags="会员项目成员表") +@RestController +@RequestMapping("/jero/memberProjectSubitem") +@Slf4j +public class MemberProjectSubitemController extends JeroController { + @Resource + private IMemberProjectSubitemService memberProjectSubitemService; + + /** + * 分页列表查询 + */ + @AutoLog(value = "会员项目成员表-分页列表查询") + @ApiOperation(value="会员项目成员表-分页列表查询", notes="会员项目成员表-分页列表查询") + @GetMapping(value = "/page") + public Result queryPageList(MemberProjectSubitem memberProjectSubitem, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(memberProjectSubitem, req.getParameterMap()); + Page page = new Page<>(pageNo, pageSize); + IPage pageList = memberProjectSubitemService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 列表查询 + */ + @AutoLog(value = "会员项目成员表-列表查询") + @ApiOperation(value="会员项目成员表-列表查询", notes="会员项目成员表-列表查询") + @GetMapping(value = "/list") + public Result> queryList() { + List list = memberProjectSubitemService.queryList(); + return Result.OK(list); + } + + /** + * 添加 + */ + @AutoLog(value = "会员项目成员表-添加") + @ApiOperation(value="会员项目成员表-添加", notes="会员项目成员表-添加") + @PostMapping(value = "/add") + public Result add(@Validated @RequestBody MemberProjectSubitem memberProjectSubitem) { + memberProjectSubitemService.add(memberProjectSubitem); + return Result.OK("添加成功!"); + } + + /** + * 编辑 + */ + @AutoLog(value = "会员项目成员表-编辑") + @ApiOperation(value="会员项目成员表-编辑", notes="会员项目成员表-编辑") + @PutMapping(value = "/edit") + public Result edit(@Validated @RequestBody MemberProjectSubitem memberProjectSubitem) { + memberProjectSubitemService.editById(memberProjectSubitem); + return Result.OK("编辑成功!"); + } + + /** + * 通过id删除 + */ + @AutoLog(value = "会员项目成员表-通过id删除") + @ApiOperation(value="会员项目成员表-通过id删除", notes="会员项目成员表-通过id删除") + @DeleteMapping(value = "/delete") + public Result delete(@RequestParam(name="id") String id) { + memberProjectSubitemService.deleteById(id); + return Result.OK("删除成功!"); + } + + /** + * 批量删除 + */ + @AutoLog(value = "会员项目成员表-批量删除") + @ApiOperation(value="会员项目成员表-批量删除", notes="会员项目成员表-批量删除") + @DeleteMapping(value = "/deleteBatch") + public Result deleteBatch(@RequestParam(name="ids") String ids) { + this.memberProjectSubitemService.deleteByIds(Arrays.asList(ids.split(","))); + return Result.OK("批量删除成功!"); + } + + /** + * 通过id查询 + */ + @AutoLog(value = "会员项目成员表-通过id查询") + @ApiOperation(value="会员项目成员表-通过id查询", notes="会员项目成员表-通过id查询") + @GetMapping(value = "/queryById") + public Result queryById(@RequestParam(name="id") String id) { + MemberProjectSubitem memberProjectSubitem = memberProjectSubitemService.queryById(id); + if(memberProjectSubitem==null) { + return Result.error("未找到对应数据"); + } + return Result.OK(memberProjectSubitem); + } + + /** + * 导出excel + */ + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, MemberProjectSubitem memberProjectSubitem) { + return super.exportXls(request, memberProjectSubitem, MemberProjectSubitem.class, "会员项目成员表"); + } + + /** + * 通过excel导入数据 + */ + @RequestMapping(value = "/importExcel", method = RequestMethod.POST) + public Result importExcel(HttpServletRequest request, HttpServletResponse response) { + return super.importExcel(request, response, MemberProjectSubitem.class); + } + +} diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/entity/MemberProject.java b/jero-boot-incoming-payment/src/main/java/com/jero/entity/MemberProject.java new file mode 100644 index 00000000..651ce25b --- /dev/null +++ b/jero-boot-incoming-payment/src/main/java/com/jero/entity/MemberProject.java @@ -0,0 +1,138 @@ +package com.jero.entity; + +import java.io.Serializable; +import java.io.UnsupportedEncodingException; +import java.math.BigDecimal; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.springframework.format.annotation.DateTimeFormat; +import org.jeecgframework.poi.excel.annotation.Excel; +import com.jero.common.aspect.annotation.Dict; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; + + +/** + * @Description: 会员项目表 + * @Author: jero-boot + * @Date: 2021-08-26 + * @Version: V1.0 + */ +@Data +@TableName("pay_member_project") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value = "会员项目对象", description = "会员项目表") +public class MemberProject implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * id + */ + @TableId(type = IdType.ASSIGN_ID) + + @ApiModelProperty(value = "id") + private String id; + + /** + * 创建人 + */ + + @ApiModelProperty(value = "创建人") + private String createBy; + + /** + * 创建日期 + */ + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @ApiModelProperty(value = "创建日期") + private java.time.LocalDate createTime; + + /** + * 更新人 + */ + + @ApiModelProperty(value = "更新人") + private String updateBy; + + /** + * 更新日期 + */ + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @ApiModelProperty(value = "更新日期") + private java.time.LocalDate updateTime; + + /** + * 项目名称 + */ + @Excel(name = "项目名称", width = 15) + @ApiModelProperty(value = "项目名称") + private String projectName; + + /** + * 运行年份 + */ + @Excel(name = "运行年份", width = 15, format = "yyyy-MM-dd") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @ApiModelProperty(value = "运行年份") + private java.time.LocalDate particularYear; + + /** + * 负责人id + */ + @Excel(name = "负责人id", width = 15) + + @ApiModelProperty(value = "负责人id") + private String directorId; + + /** + * 负责人名称 + */ + @Excel(name = "负责人名称", width = 15) + + @ApiModelProperty(value = "负责人名称") + private String directorName; + + /** + * 收费标准 + */ + @Excel(name = "收费标准", width = 15) + + @ApiModelProperty(value = "收费标准") + private Integer chargStandard; + + /** + * 收费通知号 + */ + @Excel(name = "收费通知号", width = 15) + + @ApiModelProperty(value = "收费通知号") + private String chargeNoticeNo; + + /** + * 收费通知文件id + */ + @Excel(name = "收费通知文件id", width = 15) + + @ApiModelProperty(value = "收费通知文件id") + private String chargeNoticeFileId; + + /** + * 备注 + */ + @Excel(name = "备注", width = 15) + + @ApiModelProperty(value = "备注") + private String remark; + +} diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/entity/MemberProjectSubitem.java b/jero-boot-incoming-payment/src/main/java/com/jero/entity/MemberProjectSubitem.java new file mode 100644 index 00000000..e1ce82c9 --- /dev/null +++ b/jero-boot-incoming-payment/src/main/java/com/jero/entity/MemberProjectSubitem.java @@ -0,0 +1,216 @@ +package com.jero.entity; + +import java.io.Serializable; +import java.io.UnsupportedEncodingException; +import java.math.BigDecimal; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.springframework.format.annotation.DateTimeFormat; +import org.jeecgframework.poi.excel.annotation.Excel; +import com.jero.common.aspect.annotation.Dict; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; + + +/** + * @Description: 会员项目成员表 + * @Author: jero-boot + * @Date: 2021-08-26 + * @Version: V1.0 + */ +@Data +@TableName("pay_member_project_subitem") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value = "会员项目成员表对象", description = "会员项目成员表") +public class MemberProjectSubitem implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * id + */ + @TableId(type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "id") + private String id; + + /** + * 创建人 + */ + + @ApiModelProperty(value = "创建人") + private String createBy; + + /** + * 创建日期 + */ + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @ApiModelProperty(value = "创建日期") + private java.time.LocalDate createTime; + + /** + * 更新人 + */ + @ApiModelProperty(value = "更新人") + private String updateBy; + + /** + * 更新日期 + */ + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @ApiModelProperty(value = "更新日期") + private java.time.LocalDate updateTime; + + /** + * 会员项目id + */ + @Excel(name = "会员项目id", width = 15) + @ApiModelProperty(value = "会员项目id") + private String projectId; + + /** + * 企业id + */ + @Excel(name = "企业id", width = 15) + @ApiModelProperty(value = "企业id") + private String companyId; + + /** + * 企业名称 + */ + @Excel(name = "企业名称", width = 15) + @ApiModelProperty(value = "企业名称") + private String companyName; + + /** + * 企业联系人id + */ + @Excel(name = "企业联系人id", width = 15) + @ApiModelProperty(value = "企业联系人id") + private String companyContactId; + + /** + * 企业联系人名称 + */ + @Excel(name = "企业联系人名称", width = 15) + @ApiModelProperty(value = "企业联系人名称") + private String companyContactName; + + /** + * 邮寄联系人id + */ + @Excel(name = "邮寄联系人id", width = 15) + @ApiModelProperty(value = "邮寄联系人id") + private String postContactId; + + /** + * 邮寄联系人姓名 + */ + @Excel(name = "邮寄联系人姓名", width = 15) + @ApiModelProperty(value = "邮寄联系人姓名") + private String postContactName; + + /** + * 应收金额 + */ + @Excel(name = "应收金额", width = 15) + @ApiModelProperty(value = "应收金额") + private Integer amountReceivable; + + /** + * 实收金额 + */ + @Excel(name = "实收金额", width = 15) + + @ApiModelProperty(value = "实收金额") + private Integer paidAmount; + + /** + * 来款方式 + */ + @Excel(name = "来款方式", width = 15) + + @ApiModelProperty(value = "来款方式") + private Integer paymentMethod; + + /** + * 收费通知号 + */ + @Excel(name = "收费通知号", width = 15) + + @ApiModelProperty(value = "收费通知号") + private String chargeNoticeNo; + + /** + * 收费通知文件id + */ + @Excel(name = "收费通知文件id", width = 15) + + @ApiModelProperty(value = "收费通知文件id") + private String chargeNoticeFileId; + + /** + * 合同号 + */ + @Excel(name = "合同号", width = 15) + + @ApiModelProperty(value = "合同号") + private String contractNo; + + /** + * 备注 + */ + @Excel(name = "备注", width = 15) + + @ApiModelProperty(value = "备注") + private String remark; + + /** + * 打包 + */ + @Excel(name = "打包", width = 15) + + @ApiModelProperty(value = "打包") + private Integer pack; + + /** + * 需要发票 + */ + @Excel(name = "需要发票", width = 15) + + @ApiModelProperty(value = "需要发票") + private Integer needInvoice; + + /** + * 到账 + */ + @Excel(name = "到账", width = 15) + + @ApiModelProperty(value = "到账") + private Integer inAccount; + + /** + * 开票 + */ + @Excel(name = "开票", width = 15) + + @ApiModelProperty(value = "开票") + private Integer makeInvoice; + + /** + * 邮寄 + */ + @Excel(name = "邮寄", width = 15) + + @ApiModelProperty(value = "邮寄") + private Integer mail; + +} diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/mapper/MemberProjectMapper.java b/jero-boot-incoming-payment/src/main/java/com/jero/mapper/MemberProjectMapper.java new file mode 100644 index 00000000..3a27656c --- /dev/null +++ b/jero-boot-incoming-payment/src/main/java/com/jero/mapper/MemberProjectMapper.java @@ -0,0 +1,17 @@ +package com.jero.mapper; + +import java.util.List; + +import org.apache.ibatis.annotations.Param; +import com.jero.entity.MemberProject; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * @Description: 会员项目表 + * @Author: jero-boot + * @Date: 2021-08-26 + * @Version: V1.0 + */ +public interface MemberProjectMapper extends BaseMapper { + +} diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/mapper/MemberProjectSubitemMapper.java b/jero-boot-incoming-payment/src/main/java/com/jero/mapper/MemberProjectSubitemMapper.java new file mode 100644 index 00000000..414ed79f --- /dev/null +++ b/jero-boot-incoming-payment/src/main/java/com/jero/mapper/MemberProjectSubitemMapper.java @@ -0,0 +1,17 @@ +package com.jero.mapper; + +import java.util.List; + +import org.apache.ibatis.annotations.Param; +import com.jero.entity.MemberProjectSubitem; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * @Description: 会员项目_subitem + * @Author: jero-boot + * @Date: 2021-08-26 + * @Version: V1.0 + */ +public interface MemberProjectSubitemMapper extends BaseMapper { + +} diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/mapper/xml/MemberProjectMapper.xml b/jero-boot-incoming-payment/src/main/java/com/jero/mapper/xml/MemberProjectMapper.xml new file mode 100644 index 00000000..5e23a5ab --- /dev/null +++ b/jero-boot-incoming-payment/src/main/java/com/jero/mapper/xml/MemberProjectMapper.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/mapper/xml/MemberProjectSubitemMapper.xml b/jero-boot-incoming-payment/src/main/java/com/jero/mapper/xml/MemberProjectSubitemMapper.xml new file mode 100644 index 00000000..32d54024 --- /dev/null +++ b/jero-boot-incoming-payment/src/main/java/com/jero/mapper/xml/MemberProjectSubitemMapper.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/service/IMemberProjectService.java b/jero-boot-incoming-payment/src/main/java/com/jero/service/IMemberProjectService.java new file mode 100644 index 00000000..c8e0946c --- /dev/null +++ b/jero-boot-incoming-payment/src/main/java/com/jero/service/IMemberProjectService.java @@ -0,0 +1,61 @@ +package com.jero.service; + +import com.jero.entity.MemberProject; +import com.baomidou.mybatisplus.extension.service.IService; +import java.util.List; + +/** + * @Description: 会员项目表 + * @Author: jero-boot + * @Date: 2021-08-26 + * @Version: V1.0 + */ +public interface IMemberProjectService extends IService { + + /** + * 保存 + * + * @param memberProject + * @return + */ + void add(MemberProject memberProject); + + /** + * 更新 + * + * @param memberProject + * @return + */ + void editById(MemberProject memberProject); + + /** + * 通过id删除 + * + * @param id + * @return + */ + void deleteById(String id); + + /** + * 批量删除 + * + * @param ids + * @return + */ + void deleteByIds(List ids); + + /** + * 通过id查询 + * + * @param id + * @return + */ + MemberProject queryById(String id); + + /** + * 列表查询 + * + * @return + */ + List queryList(); +} diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/service/IMemberProjectSubitemService.java b/jero-boot-incoming-payment/src/main/java/com/jero/service/IMemberProjectSubitemService.java new file mode 100644 index 00000000..5b6d6721 --- /dev/null +++ b/jero-boot-incoming-payment/src/main/java/com/jero/service/IMemberProjectSubitemService.java @@ -0,0 +1,61 @@ +package com.jero.service; + +import com.jero.entity.MemberProjectSubitem; +import com.baomidou.mybatisplus.extension.service.IService; +import java.util.List; + +/** + * @Description: 会员项目成员表 + * @Author: jero-boot + * @Date: 2021-08-26 + * @Version: V1.0 + */ +public interface IMemberProjectSubitemService extends IService { + + /** + * 保存 + * + * @param memberProjectSubitem + * @return + */ + void add(MemberProjectSubitem memberProjectSubitem); + + /** + * 更新 + * + * @param memberProjectSubitem + * @return + */ + void editById(MemberProjectSubitem memberProjectSubitem); + + /** + * 通过id删除 + * + * @param id + * @return + */ + void deleteById(String id); + + /** + * 批量删除 + * + * @param ids + * @return + */ + void deleteByIds(List ids); + + /** + * 通过id查询 + * + * @param id + * @return + */ + MemberProjectSubitem queryById(String id); + + /** + * 列表查询 + * + * @return + */ + List queryList(); +} diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/service/impl/MemberProjectServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/service/impl/MemberProjectServiceImpl.java new file mode 100644 index 00000000..954c7b4a --- /dev/null +++ b/jero-boot-incoming-payment/src/main/java/com/jero/service/impl/MemberProjectServiceImpl.java @@ -0,0 +1,84 @@ +package com.jero.service.impl; + +import com.jero.entity.MemberProject; +import com.jero.mapper.MemberProjectMapper; +import com.jero.service.IMemberProjectService; +import org.springframework.stereotype.Service; +import java.util.List; +import java.time.LocalDateTime; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +/** + * @Description: 会员项目表 + * @Author: jero-boot + * @Date: 2021-08-26 + * @Version: V1.0 + */ +@Service +public class MemberProjectServiceImpl extends ServiceImpl implements IMemberProjectService { + + /** + * 保存 + * + * @param memberProject + * @return + */ + @Override + public void add(MemberProject memberProject) { + save(memberProject); + } + + /** + * 更新 + * + * @param memberProject + * @return + */ + @Override + public void editById(MemberProject memberProject) { + saveOrUpdate(memberProject); + } + + /** + * 通过id删除 + * + * @param id + * @return + */ + @Override + public void deleteById(String id) { + removeById(id); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @Override + public void deleteByIds(List ids) { + removeByIds(ids); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + @Override + public MemberProject queryById(String id) { + return getById(id); + } + + /** + * 列表查询 + * + * @return + */ + @Override + public List queryList() { + return list(); + } +} diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/service/impl/MemberProjectSubitemServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/service/impl/MemberProjectSubitemServiceImpl.java new file mode 100644 index 00000000..e8628d87 --- /dev/null +++ b/jero-boot-incoming-payment/src/main/java/com/jero/service/impl/MemberProjectSubitemServiceImpl.java @@ -0,0 +1,66 @@ +package com.jero.service.impl; + +import com.jero.entity.MemberProjectSubitem; +import com.jero.mapper.MemberProjectSubitemMapper; +import com.jero.service.IMemberProjectSubitemService; +import org.springframework.stereotype.Service; +import java.util.List; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +/** + * @Description: 会员项目成员表 + * @Author: jero-boot + * @Date: 2021-08-26 + * @Version: V1.0 + */ +@Service +public class MemberProjectSubitemServiceImpl extends ServiceImpl implements IMemberProjectSubitemService { + + /** + * 保存 + */ + @Override + public void add(MemberProjectSubitem memberProjectSubitem) { + save(memberProjectSubitem); + } + + /** + * 更新 + */ + @Override + public void editById(MemberProjectSubitem memberProjectSubitem) { + saveOrUpdate(memberProjectSubitem); + } + + /** + * 通过id删除 + */ + @Override + public void deleteById(String id) { + removeById(id); + } + + /** + * 批量删除 + */ + @Override + public void deleteByIds(List ids) { + removeByIds(ids); + } + + /** + * 通过id查询 + */ + @Override + public MemberProjectSubitem queryById(String id) { + return getById(id); + } + + /** + * 列表查询 + */ + @Override + public List queryList() { + return list(); + } +} diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/util/Autil.java b/jero-boot-incoming-payment/src/main/java/com/jero/util/Autil.java new file mode 100644 index 00000000..e32af6a7 --- /dev/null +++ b/jero-boot-incoming-payment/src/main/java/com/jero/util/Autil.java @@ -0,0 +1,8 @@ +package com.jero.util; + +/** + * @author liJiaRao + * @date 2021-08-26 10:12 + */ +public class Autil { +} diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/vo/AVO.java b/jero-boot-incoming-payment/src/main/java/com/jero/vo/AVO.java new file mode 100644 index 00000000..9e3e8e52 --- /dev/null +++ b/jero-boot-incoming-payment/src/main/java/com/jero/vo/AVO.java @@ -0,0 +1,8 @@ +package com.jero.vo; + +/** + * @author liJiaRao + * @date 2021-08-26 10:12 + */ +public class AVO { +} diff --git a/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysRoleController.java b/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysRoleController.java index f4d1b6d4..db827f5f 100644 --- a/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysRoleController.java +++ b/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysRoleController.java @@ -13,8 +13,11 @@ import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import com.jero.common.system.vo.SysDepartTreeModel; +import com.jero.common.system.vo.SysRoleTreeModel; import com.jero.modules.system.entity.*; import com.jero.modules.system.service.*; +import io.swagger.annotations.ApiOperation; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.apache.shiro.authz.annotation.RequiresRoles; import com.jero.common.api.vo.Result; @@ -101,6 +104,38 @@ public class SysRoleController { result.setResult(pageList); return result; } + + /** + * 查询数据 查出所有角色,并以树结构数据格式响应给前端 + * + * @return + */ + @ApiOperation(value="树结构查询", notes="查询数据 查出所有角色,并以树结构数据格式响应给前端") + @RequiresPermissions("sys:depart:list") + @RequestMapping(value = "/treeList", method = RequestMethod.GET) + public Result> queryTreeList() { + List list = sysRoleService.queryTreeList(); + return Result.OK(list); + } + + /** + * 查询数据分页 查出所有角色,并以树结构数据格式响应给前端 + * + * @return + */ + @ApiOperation(value="树结构分页查询", notes="查询数据分页 查出所有角色,并以树结构数据格式响应给前端") + @RequiresPermissions("sys:depart:list") + @RequestMapping(value = "/treeListPage", method = RequestMethod.GET) + public Result> queryTreeListPage(SysRole role, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(role, req.getParameterMap()); + queryWrapper.isNull("parent_id"); + Page page = new Page<>(pageNo, pageSize); + Page roleTreeModelPage = sysRoleService.queryTreeListPage(page, queryWrapper); + return Result.OK(roleTreeModelPage); + } /** * 添加 diff --git a/jero-boot-module-system/src/main/java/com/jero/modules/system/entity/SysRole.java b/jero-boot-module-system/src/main/java/com/jero/modules/system/entity/SysRole.java index c5ea1029..dc8cad62 100644 --- a/jero-boot-module-system/src/main/java/com/jero/modules/system/entity/SysRole.java +++ b/jero-boot-module-system/src/main/java/com/jero/modules/system/entity/SysRole.java @@ -35,6 +35,11 @@ public class SysRole implements Serializable { */ @TableId(type = IdType.ASSIGN_ID) private String id; + + /** + * 父类id + */ + private String parentId; /** * 角色名称 diff --git a/jero-boot-module-system/src/main/java/com/jero/modules/system/service/ISysRoleService.java b/jero-boot-module-system/src/main/java/com/jero/modules/system/service/ISysRoleService.java index a2c02569..d4c58b9b 100644 --- a/jero-boot-module-system/src/main/java/com/jero/modules/system/service/ISysRoleService.java +++ b/jero-boot-module-system/src/main/java/com/jero/modules/system/service/ISysRoleService.java @@ -1,11 +1,16 @@ package com.jero.modules.system.service; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.jero.common.api.vo.Result; +import com.jero.common.system.vo.SysRoleTreeModel; import com.jero.modules.system.entity.SysRole; import org.jeecgframework.poi.excel.entity.ImportParams; import org.springframework.web.multipart.MultipartFile; +import java.util.List; + /** *

* 角色表 服务类 @@ -40,4 +45,12 @@ public interface ISysRoleService extends IService { */ public boolean deleteBatchRole(String[] roleids); + /** + * 查询角色树 + * @return + * @param page + */ + List queryTreeList(); + + Page queryTreeListPage(Page page, QueryWrapper queryWrapper); } diff --git a/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysRoleServiceImpl.java b/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysRoleServiceImpl.java index a0fd63aa..9ce2f9c7 100644 --- a/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysRoleServiceImpl.java +++ b/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysRoleServiceImpl.java @@ -1,25 +1,25 @@ package com.jero.modules.system.service.impl; -import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import org.apache.poi.ss.formula.functions.T; +import com.jero.common.system.vo.SysRoleTreeModel; import com.jero.common.api.vo.Result; import com.jero.common.constant.CommonConstant; import com.jero.common.util.ImportExcelUtil; -import com.jero.common.util.PmsUtil; -import com.jero.modules.quartz.service.IQuartzJobService; import com.jero.modules.system.entity.SysRole; import com.jero.modules.system.mapper.SysRoleMapper; import com.jero.modules.system.mapper.SysUserMapper; import com.jero.modules.system.service.ISysRoleService; import org.jeecgframework.poi.excel.ExcelImportUtil; import org.jeecgframework.poi.excel.entity.ImportParams; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; -import java.io.File; import java.util.ArrayList; import java.util.Arrays; import java.util.List; @@ -90,4 +90,70 @@ public class SysRoleServiceImpl extends ServiceImpl impl this.removeByIds(Arrays.asList(roleIds)); return true; } + + @Override + public List queryTreeList() { + //1:获取所有父级 + List parent = getChildrenByParentId(null); + + return parent; + } + + /** + * 根据父级id获取所有子集 + * @param parentId + * @return + */ + private List getChildrenByParentId(String parentId){ + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + if (parentId==null){ + wrapper.isNull(SysRole::getParentId); + }else { + wrapper.eq(SysRole::getParentId,parentId); + } + List list = sysRoleMapper.selectList(wrapper); + List treeModelList = new ArrayList<>(); + for (SysRole sysRole : list) { + SysRoleTreeModel treeModel = new SysRoleTreeModel(); + BeanUtils.copyProperties(sysRole,treeModel); + treeModel.setKey(sysRole.getId()); + treeModel.setValue(sysRole.getId()); + treeModel.setTitle(sysRole.getRoleName()); + List children = getChildrenByParentId(sysRole.getId()); + treeModel.setChildren(children); + treeModelList.add(treeModel); + } + return treeModelList; + } + + /** + * 获取角色分页 + * @return + * @param page + * @param queryWrapper + */ + @Override + public Page queryTreeListPage(Page page, QueryWrapper queryWrapper){ + //查询分页 + Page sysRolePage = sysRoleMapper.selectPage(page, queryWrapper); + //new一个角色树分页 + Page roleTreeModelPage = new Page<>(); + BeanUtils.copyProperties(sysRolePage,roleTreeModelPage); + //遍历角色列表给角色树列表 + List records = sysRolePage.getRecords(); + List treeModelList = new ArrayList<>(); + for (SysRole sysRole : records) { + SysRoleTreeModel treeModel = new SysRoleTreeModel(); + BeanUtils.copyProperties(sysRole,treeModel); + treeModel.setKey(sysRole.getId()); + treeModel.setValue(sysRole.getId()); + treeModel.setTitle(sysRole.getRoleName()); + //查询当前角色的子集 + List children = getChildrenByParentId(sysRole.getId()); + treeModel.setChildren(children); + treeModelList.add(treeModel); + } + roleTreeModelPage.setRecords(treeModelList); + return roleTreeModelPage; + } } diff --git a/jero-boot-single-startup/pom.xml b/jero-boot-single-startup/pom.xml index 863248a0..773d818b 100644 --- a/jero-boot-single-startup/pom.xml +++ b/jero-boot-single-startup/pom.xml @@ -19,7 +19,7 @@ com.jero.boot - jero-boot-module-demo + jero-boot-incoming-payment ${jero.version} diff --git a/pom.xml b/pom.xml index b0da6d9f..fe3e1f5f 100644 --- a/pom.xml +++ b/pom.xml @@ -48,7 +48,7 @@ jero-boot-single-startup jero-boot-base - jero-boot-module-demo + jero-boot-incoming-payment jero-boot-module-system