diff --git a/xinnengyuan/ruoyi-admin/src/main/java/org/dromara/web/service/SysLoginService.java b/xinnengyuan/ruoyi-admin/src/main/java/org/dromara/web/service/SysLoginService.java index 41a802b4..021ead56 100644 --- a/xinnengyuan/ruoyi-admin/src/main/java/org/dromara/web/service/SysLoginService.java +++ b/xinnengyuan/ruoyi-admin/src/main/java/org/dromara/web/service/SysLoginService.java @@ -188,7 +188,7 @@ public class SysLoginService { /** * 登录校验 */ - public void checkLogin(LoginType loginType, String tenantId, String username, Supplier supplier) { + public void checkLogin(LoginType loginType, String tenantId, String username, Supplier supplier) { String errorKey = CacheConstants.PWD_ERR_CNT_KEY + username; String loginFail = Constants.LOGIN_FAIL; diff --git a/xinnengyuan/ruoyi-common/ruoyi-common-encrypt/src/main/java/org/dromara/common/encrypt/filter/CryptoFilter.java b/xinnengyuan/ruoyi-common/ruoyi-common-encrypt/src/main/java/org/dromara/common/encrypt/filter/CryptoFilter.java index 39dbc5c3..7d7981a1 100644 --- a/xinnengyuan/ruoyi-common/ruoyi-common-encrypt/src/main/java/org/dromara/common/encrypt/filter/CryptoFilter.java +++ b/xinnengyuan/ruoyi-common/ruoyi-common-encrypt/src/main/java/org/dromara/common/encrypt/filter/CryptoFilter.java @@ -68,17 +68,18 @@ public class CryptoFilter implements Filter { if (StringUtils.isNotBlank(headerValue)) { // 请求解密 requestWrapper = new DecryptRequestBodyWrapper(servletRequest, properties.getPrivateKey(), properties.getHeaderFlag()); - } else { -// // 是否有注解,有就报错,没有放行 -// if (ObjectUtil.isNotNull(apiEncrypt)) { -// HandlerExceptionResolver exceptionResolver = SpringUtils.getBean("handlerExceptionResolver", HandlerExceptionResolver.class); -// exceptionResolver.resolveException( -// servletRequest, servletResponse, null, -// new ServiceException("没有访问权限,请联系管理员授权", HttpStatus.FORBIDDEN)); -// return; -// } - throw new ServiceException("无权访问接口", HttpStatus.BAD_METHOD); } +// else { +//// // 是否有注解,有就报错,没有放行 +//// if (ObjectUtil.isNotNull(apiEncrypt)) { +//// HandlerExceptionResolver exceptionResolver = SpringUtils.getBean("handlerExceptionResolver", HandlerExceptionResolver.class); +//// exceptionResolver.resolveException( +//// servletRequest, servletResponse, null, +//// new ServiceException("没有访问权限,请联系管理员授权", HttpStatus.FORBIDDEN)); +//// return; +//// } +// throw new ServiceException("无权访问接口", HttpStatus.BAD_METHOD); +// } } // 判断是否响应加密 diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cory/controller/LhygOrXnyApp.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cory/controller/LhygOrXnyApp.java new file mode 100644 index 00000000..fda16026 --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cory/controller/LhygOrXnyApp.java @@ -0,0 +1,41 @@ +package org.dromara.cory.controller; + +import cn.dev33.satoken.annotation.SaCheckPermission; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.RequiredArgsConstructor; +import org.dromara.common.core.domain.R; +import org.dromara.common.idempotent.annotation.RepeatSubmit; +import org.dromara.common.log.annotation.Log; +import org.dromara.common.log.enums.BusinessType; +import org.dromara.cory.domain.bo.BusContactformtemplateBo; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestPart; +import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.multipart.MultipartFile; + +/** + * @Author 重构APP相关接口 + * @Date 2025/7/28 17:07 + * @Version 1.0 + */ + +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/cory/lhygOrXny") +public class LhygOrXnyApp { + +// /** +// * app登录 +// */ +// @RepeatSubmit() +// @PostMapping() +// public R Login( +// BusContactformtemplateBo bo, +// @RequestPart("file") MultipartFile file) { +// return toAjax(busContactformtemplateService.insertByBo(bo, file)); +// } + +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/controller/BusProjectPunchrangeController.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/controller/BusProjectPunchrangeController.java new file mode 100644 index 00000000..99149cc8 --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/controller/BusProjectPunchrangeController.java @@ -0,0 +1,105 @@ +package org.dromara.project.controller; + +import java.util.List; + +import lombok.RequiredArgsConstructor; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.constraints.*; +import cn.dev33.satoken.annotation.SaCheckPermission; +import org.springframework.web.bind.annotation.*; +import org.springframework.validation.annotation.Validated; +import org.dromara.common.idempotent.annotation.RepeatSubmit; +import org.dromara.common.log.annotation.Log; +import org.dromara.common.web.core.BaseController; +import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.common.core.domain.R; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import org.dromara.common.log.enums.BusinessType; +import org.dromara.common.excel.utils.ExcelUtil; +import org.dromara.project.domain.vo.BusProjectPunchrangeVo; +import org.dromara.project.domain.bo.BusProjectPunchrangeBo; +import org.dromara.project.service.IBusProjectPunchrangeService; +import org.dromara.common.mybatis.core.page.TableDataInfo; + +/** + * 项目打卡范围 + * + * @author Lion Li + * @date 2025-07-28 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/project/projectPunchrange") +public class BusProjectPunchrangeController extends BaseController { + + private final IBusProjectPunchrangeService busProjectPunchrangeService; + + /** + * 查询项目打卡范围列表 + */ + @SaCheckPermission("project:projectPunchrange:list") + @GetMapping("/list") + public TableDataInfo list(BusProjectPunchrangeBo bo, PageQuery pageQuery) { + return busProjectPunchrangeService.queryPageList(bo, pageQuery); + } + + /** + * 导出项目打卡范围列表 + */ + @SaCheckPermission("project:projectPunchrange:export") + @Log(title = "项目打卡范围", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(BusProjectPunchrangeBo bo, HttpServletResponse response) { + List list = busProjectPunchrangeService.queryList(bo); + ExcelUtil.exportExcel(list, "项目打卡范围", BusProjectPunchrangeVo.class, response); + } + + /** + * 获取项目打卡范围详细信息 + * + * @param id 主键 + */ + @SaCheckPermission("project:projectPunchrange:query") + @GetMapping("/{id}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable Long id) { + return R.ok(busProjectPunchrangeService.queryById(id)); + } + + /** + * 新增项目打卡范围 + */ + @SaCheckPermission("project:projectPunchrange:add") + @Log(title = "项目打卡范围", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody BusProjectPunchrangeBo bo) { + return toAjax(busProjectPunchrangeService.insertByBo(bo)); + } + + /** + * 修改项目打卡范围 + */ + @SaCheckPermission("project:projectPunchrange:edit") + @Log(title = "项目打卡范围", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody BusProjectPunchrangeBo bo) { + return toAjax(busProjectPunchrangeService.updateByBo(bo)); + } + + /** + * 删除项目打卡范围 + * + * @param ids 主键串 + */ + @SaCheckPermission("project:projectPunchrange:remove") + @Log(title = "项目打卡范围", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] ids) { + return toAjax(busProjectPunchrangeService.deleteWithValidByIds(List.of(ids), true)); + } +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/BusProjectPunchrange.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/BusProjectPunchrange.java new file mode 100644 index 00000000..43c4a2dc --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/BusProjectPunchrange.java @@ -0,0 +1,51 @@ +package org.dromara.project.domain; + +import org.dromara.common.mybatis.core.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.*; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serial; + +/** + * 项目打卡范围对象 bus_project_punchrange + * + * @author Lion Li + * @date 2025-07-28 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("bus_project_punchrange") +public class BusProjectPunchrange extends BaseEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * + */ + @TableId(value = "id") + private Long id; + + /** + * 项目ID + */ + private Long projectId; + + /** + * 范围名称 + */ + private String punchName; + + /** + * 打卡范围 + */ + private String punchRange; + + /** + * 颜色 + */ + private String punchColor; + + +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/bo/BusProjectPunchrangeBo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/bo/BusProjectPunchrangeBo.java new file mode 100644 index 00000000..1343070f --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/bo/BusProjectPunchrangeBo.java @@ -0,0 +1,51 @@ +package org.dromara.project.domain.bo; + +import org.dromara.project.domain.BusProjectPunchrange; +import org.dromara.common.mybatis.core.domain.BaseEntity; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; +import lombok.EqualsAndHashCode; +import jakarta.validation.constraints.*; + +/** + * 项目打卡范围业务对象 bus_project_punchrange + * + * @author Lion Li + * @date 2025-07-28 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@AutoMapper(target = BusProjectPunchrange.class, reverseConvertGenerate = false) +public class BusProjectPunchrangeBo extends BaseEntity { + + /** + * + */ + @NotNull(message = "不能为空", groups = { EditGroup.class }) + private Long id; + + /** + * 项目ID + */ + @NotNull(message = "项目ID不能为空", groups = { AddGroup.class, EditGroup.class }) + private Long projectId; + + /** + * 范围名称 + */ + private String punchName; + + /** + * 打卡范围 + */ + private String punchRange; + + /** + * 颜色 + */ + private String punchColor; + + +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/bo/Punchrange.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/bo/Punchrange.java new file mode 100644 index 00000000..46296042 --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/bo/Punchrange.java @@ -0,0 +1,33 @@ +package org.dromara.project.domain.bo; + +import jakarta.validation.constraints.NotNull; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author 铁憨憨 + * @Date 2025/7/28 19:15 + * @Version 1.0 + */ + +@Data +public class Punchrange implements Serializable { + /** + * 范围名称 + */ + @NotNull(message = "范围名称不能为空") + private String punchName; + + /** + * 打卡范围 + */ + @NotNull(message = "打卡范围不能为空") + private String punchRange; + + /** + * 颜色 + */ + @NotNull(message = "颜色不能为空") + private String punchColor; +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/dto/project/BusProjectUpdateReq.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/dto/project/BusProjectUpdateReq.java index 9ee3d418..c70615ed 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/dto/project/BusProjectUpdateReq.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/dto/project/BusProjectUpdateReq.java @@ -1,9 +1,11 @@ package org.dromara.project.domain.dto.project; import lombok.Data; +import org.dromara.project.domain.bo.Punchrange; import java.io.Serial; import java.io.Serializable; +import java.util.List; /** * @author lilemy @@ -129,4 +131,10 @@ public class BusProjectUpdateReq implements Serializable { * 排序字段 */ private Long sort; + + /** + * 打卡范围 + */ + private List punchrangeList; + } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/vo/BusProjectPunchrangeVo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/vo/BusProjectPunchrangeVo.java new file mode 100644 index 00000000..64dff6bd --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/vo/BusProjectPunchrangeVo.java @@ -0,0 +1,62 @@ +package org.dromara.project.domain.vo; + +import org.dromara.project.domain.BusProjectPunchrange; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import org.dromara.common.excel.annotation.ExcelDictFormat; +import org.dromara.common.excel.convert.ExcelDictConvert; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; +import java.util.Date; + + + +/** + * 项目打卡范围视图对象 bus_project_punchrange + * + * @author Lion Li + * @date 2025-07-28 + */ +@Data +@ExcelIgnoreUnannotated +@AutoMapper(target = BusProjectPunchrange.class) +public class BusProjectPunchrangeVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * + */ + @ExcelProperty(value = "") + private Long id; + + /** + * 项目ID + */ + @ExcelProperty(value = "项目ID") + private Long projectId; + + /** + * 范围名称 + */ + @ExcelProperty(value = "范围名称") + private String punchName; + + /** + * 打卡范围 + */ + @ExcelProperty(value = "打卡范围") + private String punchRange; + + /** + * 颜色 + */ + @ExcelProperty(value = "颜色") + private String punchColor; + + +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/mapper/BusProjectPunchrangeMapper.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/mapper/BusProjectPunchrangeMapper.java new file mode 100644 index 00000000..4e57792d --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/mapper/BusProjectPunchrangeMapper.java @@ -0,0 +1,15 @@ +package org.dromara.project.mapper; + +import org.dromara.project.domain.BusProjectPunchrange; +import org.dromara.project.domain.vo.BusProjectPunchrangeVo; +import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; + +/** + * 项目打卡范围Mapper接口 + * + * @author Lion Li + * @date 2025-07-28 + */ +public interface BusProjectPunchrangeMapper extends BaseMapperPlus { + +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/IBusProjectPunchrangeService.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/IBusProjectPunchrangeService.java new file mode 100644 index 00000000..d5f941ea --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/IBusProjectPunchrangeService.java @@ -0,0 +1,71 @@ +package org.dromara.project.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import org.dromara.project.domain.BusProject; +import org.dromara.project.domain.BusProjectPunchrange; +import org.dromara.project.domain.vo.BusProjectPunchrangeVo; +import org.dromara.project.domain.bo.BusProjectPunchrangeBo; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.mybatis.core.page.PageQuery; + +import java.util.Collection; +import java.util.List; + +/** + * 项目打卡范围Service接口 + * + * @author Lion Li + * @date 2025-07-28 + */ +public interface IBusProjectPunchrangeService extends IService { + + /** + * 查询项目打卡范围 + * + * @param id 主键 + * @return 项目打卡范围 + */ + BusProjectPunchrangeVo queryById(Long id); + + /** + * 分页查询项目打卡范围列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 项目打卡范围分页列表 + */ + TableDataInfo queryPageList(BusProjectPunchrangeBo bo, PageQuery pageQuery); + + /** + * 查询符合条件的项目打卡范围列表 + * + * @param bo 查询条件 + * @return 项目打卡范围列表 + */ + List queryList(BusProjectPunchrangeBo bo); + + /** + * 新增项目打卡范围 + * + * @param bo 项目打卡范围 + * @return 是否新增成功 + */ + Boolean insertByBo(BusProjectPunchrangeBo bo); + + /** + * 修改项目打卡范围 + * + * @param bo 项目打卡范围 + * @return 是否修改成功 + */ + Boolean updateByBo(BusProjectPunchrangeBo bo); + + /** + * 校验并批量删除项目打卡范围信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/impl/BusProjectPunchrangeServiceImpl.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/impl/BusProjectPunchrangeServiceImpl.java new file mode 100644 index 00000000..c5439509 --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/impl/BusProjectPunchrangeServiceImpl.java @@ -0,0 +1,135 @@ +package org.dromara.project.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.dromara.common.core.utils.MapstructUtils; +import org.dromara.common.core.utils.StringUtils; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.mybatis.core.page.PageQuery; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import org.dromara.project.domain.bo.BusProjectPunchrangeBo; +import org.dromara.project.domain.vo.BusProjectPunchrangeVo; +import org.dromara.project.domain.BusProjectPunchrange; +import org.dromara.project.mapper.BusProjectPunchrangeMapper; +import org.dromara.project.service.IBusProjectPunchrangeService; + +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * 项目打卡范围Service业务层处理 + * + * @author Lion Li + * @date 2025-07-28 + */ +@RequiredArgsConstructor +@Service +public class BusProjectPunchrangeServiceImpl extends ServiceImpl + implements IBusProjectPunchrangeService { + + private final BusProjectPunchrangeMapper baseMapper; + + /** + * 查询项目打卡范围 + * + * @param id 主键 + * @return 项目打卡范围 + */ + @Override + public BusProjectPunchrangeVo queryById(Long id){ + return baseMapper.selectVoById(id); + } + + /** + * 分页查询项目打卡范围列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 项目打卡范围分页列表 + */ + @Override + public TableDataInfo queryPageList(BusProjectPunchrangeBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + /** + * 查询符合条件的项目打卡范围列表 + * + * @param bo 查询条件 + * @return 项目打卡范围列表 + */ + @Override + public List queryList(BusProjectPunchrangeBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private LambdaQueryWrapper buildQueryWrapper(BusProjectPunchrangeBo bo) { + Map params = bo.getParams(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.orderByAsc(BusProjectPunchrange::getId); + lqw.eq(bo.getProjectId() != null, BusProjectPunchrange::getProjectId, bo.getProjectId()); + lqw.like(StringUtils.isNotBlank(bo.getPunchName()), BusProjectPunchrange::getPunchName, bo.getPunchName()); + lqw.eq(StringUtils.isNotBlank(bo.getPunchRange()), BusProjectPunchrange::getPunchRange, bo.getPunchRange()); + lqw.eq(StringUtils.isNotBlank(bo.getPunchColor()), BusProjectPunchrange::getPunchColor, bo.getPunchColor()); + return lqw; + } + + /** + * 新增项目打卡范围 + * + * @param bo 项目打卡范围 + * @return 是否新增成功 + */ + @Override + public Boolean insertByBo(BusProjectPunchrangeBo bo) { + BusProjectPunchrange add = MapstructUtils.convert(bo, BusProjectPunchrange.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setId(add.getId()); + } + return flag; + } + + /** + * 修改项目打卡范围 + * + * @param bo 项目打卡范围 + * @return 是否修改成功 + */ + @Override + public Boolean updateByBo(BusProjectPunchrangeBo bo) { + BusProjectPunchrange update = MapstructUtils.convert(bo, BusProjectPunchrange.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(BusProjectPunchrange entity){ + //TODO 做一些数据校验,如唯一约束 + } + + /** + * 校验并批量删除项目打卡范围信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if(isValid){ + //TODO 做一些业务上的校验,判断是否需要校验 + } + return baseMapper.deleteByIds(ids) > 0; + } +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/impl/BusProjectServiceImpl.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/impl/BusProjectServiceImpl.java index a0cd0909..855c7d94 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/impl/BusProjectServiceImpl.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/impl/BusProjectServiceImpl.java @@ -1,6 +1,8 @@ package org.dromara.project.service.impl; +import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.PhoneUtil; @@ -9,6 +11,7 @@ import cn.hutool.json.JSONArray; import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -37,7 +40,9 @@ import org.dromara.manager.weathermanager.WeatherManager; import org.dromara.project.constant.BusProjectConstant; import org.dromara.project.domain.BusProject; import org.dromara.project.domain.BusProjectFile; +import org.dromara.project.domain.BusProjectPunchrange; import org.dromara.project.domain.BusUserProjectRelevancy; +import org.dromara.project.domain.bo.Punchrange; import org.dromara.project.domain.dto.project.BusProjectCreateReq; import org.dromara.project.domain.dto.project.BusProjectCreateSubReq; import org.dromara.project.domain.dto.project.BusProjectQueryReq; @@ -45,6 +50,7 @@ import org.dromara.project.domain.dto.project.BusProjectUpdateReq; import org.dromara.project.domain.vo.project.*; import org.dromara.project.mapper.BusProjectMapper; import org.dromara.project.service.IBusProjectFileService; +import org.dromara.project.service.IBusProjectPunchrangeService; import org.dromara.project.service.IBusProjectService; import org.dromara.project.service.IBusUserProjectRelevancyService; import org.dromara.quality.service.IQltKnowledgeDocumentService; @@ -54,6 +60,7 @@ import org.dromara.system.domain.enums.SysDeptTypeEnum; import org.dromara.system.mapper.SysDeptMapper; import org.dromara.workflow.service.IFlwDefinitionService; import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Lazy; import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.data.redis.core.ValueOperations; @@ -122,6 +129,9 @@ public class BusProjectServiceImpl extends ServiceImpl WEATHER_CACHE = Caffeine.newBuilder().initialCapacity(1024) .maximumSize(10000L) @@ -438,6 +448,7 @@ public class BusProjectServiceImpl extends ServiceImpl punchrangeList = req.getPunchrangeList(); + List busProjectPunchranges = new ArrayList<>(); + BeanUtil.copyProperties(punchrangeList, busProjectPunchranges); + if (!busProjectPunchrangeService.saveBatch(busProjectPunchranges)) { + throw new ServiceException("打卡范围增加失败", HttpStatus.ERROR); + } + } + return true; + } + return false; } /** diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/resources/mapper/project/BusProjectPunchrangeMapper.xml b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/resources/mapper/project/BusProjectPunchrangeMapper.xml new file mode 100644 index 00000000..67d16718 --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/resources/mapper/project/BusProjectPunchrangeMapper.xml @@ -0,0 +1,7 @@ + + + + +