diff --git a/src/main/java/com/qs/serve/common/framework/exception/UnifiedExceptionHandler.java b/src/main/java/com/qs/serve/common/framework/exception/UnifiedExceptionHandler.java index 67b5a9f4..636234b5 100644 --- a/src/main/java/com/qs/serve/common/framework/exception/UnifiedExceptionHandler.java +++ b/src/main/java/com/qs/serve/common/framework/exception/UnifiedExceptionHandler.java @@ -45,7 +45,7 @@ public class UnifiedExceptionHandler { @ResponseBody public R handleBindException(NullPointerException e,HttpServletRequest request) { e.printStackTrace(); - log.warn("空指针【{}】,请求地址:{}",e.getMessage(),request.getRequestURI()); + log.error("空指针【{}】,请求地址:{}",e.getMessage(),request.getRequestURI()); return R.error("数据不存在或被移除"); } @@ -55,7 +55,7 @@ public class UnifiedExceptionHandler { @ResponseBody public R handleAccessException(AccessDeniedException e,HttpServletRequest request) { HttpCode hc = HttpCode.FORBIDDEN_403; - log.warn("访问拦截【{}】,请求地址:{}",e.getMessage(),request.getRequestURI()); + log.error("访问拦截【{}】,请求地址:{}",e.getMessage(),request.getRequestURI()); return new R(hc.getCode(),hc.getMsg()); } @@ -83,7 +83,7 @@ public class UnifiedExceptionHandler { }) @ResponseBody public R handleDevPrintMsgException(Exception e,HttpServletRequest request) { - log.warn("参数校验异常:{}",e.getMessage()); + log.error("参数校验异常:{}",e.getMessage()); if(DevEnvironmentConfig.isDev()){ return R.error(e.getMessage()); } @@ -95,22 +95,22 @@ public class UnifiedExceptionHandler { }) @ResponseBody public R handleMethodArgumentNotValidException(MethodArgumentNotValidException e,HttpServletRequest request) { - log.warn("参数校验异常【{}】,请求地址:{}",e.getMessage(),request.getRequestURI()); + log.error("参数校验异常【{}】,请求地址:{}",e.getMessage(),request.getRequestURI()); return R.error(e.getBindingResult().getAllErrors().get(0).getDefaultMessage()); } @ExceptionHandler(value = DuplicateKeyException.class) @ResponseBody - public R handleDuplicateKeyException(DuplicateKeyException e) { - e.printStackTrace(); + public R handleDuplicateKeyException(DuplicateKeyException e,HttpServletRequest request) { + log.error("限制重复数据【{}】,请求地址:{}",e.getMessage(),request.getRequestURI()); return R.error("限制重复数据,请联系管理员"); } @ExceptionHandler(value = HttpMessageNotReadableException.class) @ResponseBody - public R handleHttpMessageNotReadableException(HttpMessageNotReadableException e) { - e.printStackTrace(); + public R handleHttpMessageNotReadableException(HttpMessageNotReadableException e,HttpServletRequest request) { + log.error("请求参数无法解析【{}】,请求地址:{}",e.getMessage(),request.getRequestURI()); return R.error("请求参数无法解析"); } diff --git a/src/main/java/com/qs/serve/modules/biz/consts/GroupDataType.java b/src/main/java/com/qs/serve/modules/biz/consts/GroupDataType.java new file mode 100644 index 00000000..0aa430d0 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/biz/consts/GroupDataType.java @@ -0,0 +1,12 @@ +package com.qs.serve.modules.biz.consts; + +/** + * @author YenHex + * @since 2023/10/25 + */ +public interface GroupDataType { + + String USER = "user"; + String DEPT = "dept"; + +} diff --git a/src/main/java/com/qs/serve/modules/biz/controller/BizUserGroupController.java b/src/main/java/com/qs/serve/modules/biz/controller/BizUserGroupController.java new file mode 100644 index 00000000..83b3505a --- /dev/null +++ b/src/main/java/com/qs/serve/modules/biz/controller/BizUserGroupController.java @@ -0,0 +1,192 @@ +package com.qs.serve.modules.biz.controller; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.qs.serve.common.model.annotation.SysLog; +import com.qs.serve.common.model.dto.PageVo; +import com.qs.serve.common.model.dto.R; +import com.qs.serve.common.model.enums.BizType; +import com.qs.serve.common.model.enums.SystemModule; +import com.qs.serve.common.util.AuthContextUtils; +import com.qs.serve.common.util.PageUtil; +import com.qs.serve.common.util.CopierUtil; +import com.qs.serve.common.util.StringUtils; +import com.qs.serve.modules.biz.consts.GroupDataType; +import com.qs.serve.modules.biz.entity.BizUserGroupItem; +import com.qs.serve.modules.biz.entity.bo.BizUserGroupBatchBo; +import com.qs.serve.modules.biz.service.BizUserGroupItemService; +import com.qs.serve.modules.sys.entity.SysDept; +import com.qs.serve.modules.sys.entity.SysUser; +import com.qs.serve.modules.sys.service.SysDeptService; +import com.qs.serve.modules.sys.service.SysUserService; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import com.qs.serve.modules.biz.entity.BizUserGroup; +import com.qs.serve.modules.biz.service.BizUserGroupService; + +import javax.validation.Valid; +import java.util.ArrayList; +import java.util.List; + +/** + * 用户个人数据分组 + * @author YenHex + * @since 2023-10-25 + */ +@Slf4j +@AllArgsConstructor +@RestController +@RequestMapping("biz/dataGroup") +public class BizUserGroupController { + + private BizUserGroupService bizUserGroupService; + private BizUserGroupItemService bizUserGroupItemService; + private SysUserService sysUserService; + private SysDeptService sysDeptService; + + /** + * 列表 + * @param param + * @return + */ + @GetMapping("/list") + public R> getList(BizUserGroup param){ + LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(param); + lqw.eq(BizUserGroup::getUserId, AuthContextUtils.getSysUserId()); + List list = bizUserGroupService.list(lqw); + return R.ok(list); + } + + /** + * 翻页 + * @param param + * @return + */ + @GetMapping("/page") + public R> getPage(BizUserGroup param){ + LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(param); + lqw.eq(BizUserGroup::getUserId, AuthContextUtils.getSysUserId()); + PageUtil.startPage(); + List list = bizUserGroupService.list(lqw); + return R.byPageHelperList(list); + } + + /** + * ID查询 + * @param id + * @return + */ + @GetMapping("/getById/{id}") + public R getById(@PathVariable("id") String id){ + BizUserGroup bizUserGroup = bizUserGroupService.getById(id); + if(!bizUserGroup.getUserId().equals(AuthContextUtils.getSysUserId())){ + return R.error("无相关数据"); + } + LambdaQueryWrapper itemLqw = new LambdaQueryWrapper<>(); + itemLqw.eq(BizUserGroupItem::getGroupId,id); + List itemList = bizUserGroupItemService.list(itemLqw); + bizUserGroup.setGroupItemList(itemList); + return R.ok(bizUserGroup); + } + + /** + * 更新 + * @param param + * @return + */ + @PostMapping("/update") + public R updateById(@RequestBody @Valid BizUserGroup param){ + BizUserGroup bizUserGroup = bizUserGroupService.getById(param.getId()); + if(!bizUserGroup.getUserId().equals(AuthContextUtils.getSysUserId())){ + return R.error("无相关数据"); + } + boolean result = bizUserGroupService.updateById(param); + return R.isTrue(result); + } + + /** + * 新增 + * @param param + * @return + */ + @PostMapping("/save") + public R save(@RequestBody @Valid BizUserGroup param){ + SysUser sysUser = sysUserService.getById(AuthContextUtils.getSysUserId()); + param.setUserId(sysUser.getId()); + param.setUserCode(sysUser.getCode()); + param.setUserName(sysUser.getName()); + boolean result = bizUserGroupService.save(param); + return R.isTrue(result); + } + + + /** + * 编辑 (场景:同时编辑分组数据) + * @param param + * @return + */ + @PostMapping("/editWithItem") + public R editWithItem(@RequestBody @Valid BizUserGroupBatchBo param){ + SysUser sysUser = sysUserService.getById(AuthContextUtils.getSysUserId()); + BizUserGroup bizUserGroup = new BizUserGroup(); + if(param.getId()!=null){ + bizUserGroup = bizUserGroupService.getById(param.getId()); + if(!bizUserGroup.getUserId().equals(AuthContextUtils.getSysUserId())){ + return R.error("无相关数据"); + } + } + bizUserGroup.setGroupName(param.getGroupName()); + bizUserGroup.setUserId(sysUser.getId()); + bizUserGroup.setUserCode(sysUser.getCode()); + bizUserGroup.setUserName(sysUser.getName()); + bizUserGroup.setScene(param.getScene()); + bizUserGroup.setRemark(param.getRemark()); + bizUserGroupService.saveOrUpdate(bizUserGroup); + Long groupId = bizUserGroup.getId(); + //移除历史ITEM + LambdaQueryWrapper itemLqw = new LambdaQueryWrapper<>(); + itemLqw.eq(BizUserGroupItem::getGroupId,groupId); + bizUserGroupItemService.remove(itemLqw); + //保存item + List groupItemList = new ArrayList<>(); + for (BizUserGroupBatchBo.Item item : param.getItems()) { + BizUserGroupItem groupItem = new BizUserGroupItem(); + groupItem.setGroupId(groupId); + groupItem.setTargetType(item.getTargetType()); + groupItem.setTargetId(item.getTargetId()); + if(item.getTargetType().equals(GroupDataType.USER)){ + SysUser user = sysUserService.getById(item.getTargetId()); + groupItem.setTargetName(user.getName()); + groupItem.setTargetCode(user.getCode()); + }else if (item.getTargetType().equals(GroupDataType.DEPT)){ + SysDept dept = sysDeptService.getById(item.getTargetId()); + groupItem.setTargetName(dept.getName()); + groupItem.setTargetCode(dept.getCode()); + }else { + continue; + } + groupItemList.add(groupItem); + } + bizUserGroupItemService.saveBatch(groupItemList); + return R.ok(); + } + + /** + * 删除整个组 + * @param ids + * @return + */ + @DeleteMapping("/deleteById/{ids}") + public R deleteById(@PathVariable("ids") String ids){ + List idsLong = StringUtils.splitIdLong(ids); + LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); + lqw.in(BizUserGroup::getId,idsLong); + lqw.eq(BizUserGroup::getUserId,AuthContextUtils.getSysUserId()); + boolean result = bizUserGroupService.remove(lqw); + return R.isTrue(result); + } + +} + diff --git a/src/main/java/com/qs/serve/modules/biz/controller/BizUserGroupItemController.java b/src/main/java/com/qs/serve/modules/biz/controller/BizUserGroupItemController.java new file mode 100644 index 00000000..e4edfebd --- /dev/null +++ b/src/main/java/com/qs/serve/modules/biz/controller/BizUserGroupItemController.java @@ -0,0 +1,86 @@ +package com.qs.serve.modules.biz.controller; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.qs.serve.common.model.annotation.SysLog; +import com.qs.serve.common.model.dto.PageVo; +import com.qs.serve.common.model.dto.R; +import com.qs.serve.common.model.enums.BizType; +import com.qs.serve.common.model.enums.SystemModule; +import com.qs.serve.common.util.PageUtil; +import com.qs.serve.common.util.CopierUtil; +import com.qs.serve.common.util.StringUtils; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import com.qs.serve.modules.biz.entity.BizUserGroupItem; +import com.qs.serve.modules.biz.service.BizUserGroupItemService; + +import javax.validation.Valid; +import java.util.List; + +/** + * 用户个人数据 + * @author YenHex + * @since 2023-10-25 + */ +@Slf4j +@AllArgsConstructor +@RestController +@RequestMapping("biz/dataItem") +public class BizUserGroupItemController { + + private BizUserGroupItemService bizUserGroupItemService; + + /** + * 列表 + * @param param + * @return + */ + @GetMapping("/list") + public R> getList(BizUserGroupItem param){ + LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(param); + List list = bizUserGroupItemService.list(lqw); + return R.ok(list); + } + + /** + * 翻页 + * @param param + * @return + */ + @GetMapping("/page") + public R> getPage(BizUserGroupItem param){ + LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(param); + PageUtil.startPage(); + List list = bizUserGroupItemService.list(lqw); + return R.byPageHelperList(list); + } + + + /** + * 新增 + * @param param + * @return + */ + @PostMapping("/save") + public R save(@RequestBody @Valid BizUserGroupItem param){ + boolean result = bizUserGroupItemService.save(param); + return R.isTrue(result); + } + + /** + * 删除 + * @param ids + * @return + */ + @DeleteMapping("/deleteById/{ids}") + public R deleteById(@PathVariable("ids") String ids){ + List idsLong = StringUtils.splitIdLong(ids); + boolean result = bizUserGroupItemService.removeByIds(idsLong); + return R.isTrue(result); + } + +} + diff --git a/src/main/java/com/qs/serve/modules/biz/entity/BizUserGroup.java b/src/main/java/com/qs/serve/modules/biz/entity/BizUserGroup.java new file mode 100644 index 00000000..07a6234c --- /dev/null +++ b/src/main/java/com/qs/serve/modules/biz/entity/BizUserGroup.java @@ -0,0 +1,111 @@ +package com.qs.serve.modules.biz.entity; + +import java.time.LocalDate; +import java.io.Serializable; +import java.math.BigDecimal; +import java.time.LocalDateTime; +import java.util.List; + +import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Data; +import org.hibernate.validator.constraints.Length; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.validation.constraints.NotNull; +import javax.validation.constraints.NotBlank; + +/** + * 税务信息表 实体类 + * @author YenHex + * @since 2023-10-25 + */ +@Data +@TableName("biz_user_group") +public class BizUserGroup implements Serializable { + + private static final long serialVersionUID = 1L; + + /** id */ + @TableId(type = IdType.AUTO) + private Long id; + + /** 分组名称 */ + @Length(max = 255,message = "分组名称长度不能超过255字") + private String groupName; + + /** 用户ID */ + @Length(max = 255,message = "用户ID长度不能超过255字") + private String userId; + + /** 用户编码 */ + @Length(max = 255,message = "用户编码长度不能超过255字") + private String userCode; + + /** 用户名称 */ + @Length(max = 255,message = "用户名称长度不能超过255字") + private String userName; + + /** 应用场景 */ + @Length(max = 255,message = "应用场景长度不能超过255字") + private String scene; + + /** 备注 */ + @Length(max = 255,message = "备注长度不能超过255字") + private String remark; + + /** 创建时间 */ + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + /** 创建人 */ + @TableField(fill = FieldFill.INSERT) + private String createBy; + + /** 更新时间 */ + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + @TableField(fill = FieldFill.UPDATE) + private LocalDateTime updateTime; + + /** 更新人 */ + @TableField(fill = FieldFill.UPDATE) + private String updateBy; + + /** 删除标识 */ + @JsonIgnore + @JsonProperty + private Boolean delFlag; + + /** */ + @JsonIgnore + @JsonProperty + private String tenantId; + + @TableField(exist = false) + List groupItemList; + + public static BizUserGroup toNewObject(BizUserGroup source){ + BizUserGroup userGroup = new BizUserGroup(); + userGroup.setId(source.getId()); + userGroup.setGroupName(source.getGroupName()); + userGroup.setUserId(source.getUserId()); + userGroup.setUserCode(source.getUserCode()); + userGroup.setUserName(source.getUserName()); + userGroup.setScene(source.getScene()); + userGroup.setRemark(source.getRemark()); + userGroup.setCreateTime(source.getCreateTime()); + userGroup.setCreateBy(source.getCreateBy()); + userGroup.setUpdateTime(source.getUpdateTime()); + userGroup.setUpdateBy(source.getUpdateBy()); + userGroup.setDelFlag(source.getDelFlag()); + userGroup.setTenantId(source.getTenantId()); + return userGroup; + } + +} + diff --git a/src/main/java/com/qs/serve/modules/biz/entity/BizUserGroupItem.java b/src/main/java/com/qs/serve/modules/biz/entity/BizUserGroupItem.java new file mode 100644 index 00000000..b4078935 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/biz/entity/BizUserGroupItem.java @@ -0,0 +1,107 @@ +package com.qs.serve.modules.biz.entity; + +import java.time.LocalDate; +import java.io.Serializable; +import java.math.BigDecimal; +import java.time.LocalDateTime; + +import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Data; +import org.hibernate.validator.constraints.Length; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.validation.constraints.NotNull; +import javax.validation.constraints.NotBlank; + +/** + * 税务信息表 实体类 + * @author YenHex + * @since 2023-10-25 + */ +@Data +@TableName("biz_user_group_item") +public class BizUserGroupItem implements Serializable { + + private static final long serialVersionUID = 1L; + + /** id */ + @TableId(type = IdType.AUTO) + private Long id; + + /** 分组名称 */ + private Long groupId; + + /** 数据类型:user;dept等 */ + @Length(max = 255,message = "数据类型:user;dept等长度不能超过255字") + private String targetType; + + /** 目标id */ + @Length(max = 255,message = "目标id长度不能超过255字") + private String targetId; + + /** 目标 */ + @Length(max = 255,message = "目标长度不能超过255字") + private String targetName; + + /** 目标编码 */ + @Length(max = 255,message = "目标编码长度不能超过255字") + private String targetCode; + + /** 备注 */ + @Length(max = 255,message = "备注长度不能超过255字") + private String remark; + + /** 创建时间 */ + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + /** 创建人 */ + @TableField(fill = FieldFill.INSERT) + private String createBy; + + /** 更新时间 */ + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + @TableField(fill = FieldFill.UPDATE) + private LocalDateTime updateTime; + + /** 更新人 */ + @TableField(fill = FieldFill.UPDATE) + private String updateBy; + + /** 删除标识 */ + @JsonIgnore + @JsonProperty + private Boolean delFlag; + + /** */ + @JsonIgnore + @JsonProperty + private String tenantId; + + + public static BizUserGroupItem toNewObject(BizUserGroupItem source){ + BizUserGroupItem userGroupItem = new BizUserGroupItem(); + userGroupItem.setId(source.getId()); + userGroupItem.setGroupId(source.getGroupId()); + userGroupItem.setTargetType(source.getTargetType()); + userGroupItem.setTargetId(source.getTargetId()); + userGroupItem.setTargetName(source.getTargetName()); + userGroupItem.setTargetCode(source.getTargetCode()); + userGroupItem.setRemark(source.getRemark()); + userGroupItem.setCreateTime(source.getCreateTime()); + userGroupItem.setCreateBy(source.getCreateBy()); + userGroupItem.setUpdateTime(source.getUpdateTime()); + userGroupItem.setUpdateBy(source.getUpdateBy()); + userGroupItem.setDelFlag(source.getDelFlag()); + userGroupItem.setTenantId(source.getTenantId()); + return userGroupItem; + } + +} + diff --git a/src/main/java/com/qs/serve/modules/biz/entity/bo/BizUserGroupBatchBo.java b/src/main/java/com/qs/serve/modules/biz/entity/bo/BizUserGroupBatchBo.java new file mode 100644 index 00000000..a68aa2d7 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/biz/entity/bo/BizUserGroupBatchBo.java @@ -0,0 +1,39 @@ +package com.qs.serve.modules.biz.entity.bo; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import lombok.Data; +import org.hibernate.validator.constraints.Length; +import java.util.List; + +/** + * @author YenHex + * @since 2023/10/25 + */ +@Data +public class BizUserGroupBatchBo { + + /** id */ + private Long id; + + /** 分组名称 */ + private String groupName; + + /** 应用场景 */ + private String scene; + + /** 备注 */ + private String remark; + + private List items; + + @Data + public static class Item{ + + private String targetType; + + private String targetId; + + } + +} diff --git a/src/main/java/com/qs/serve/modules/biz/mapper/BizUserGroupItemMapper.java b/src/main/java/com/qs/serve/modules/biz/mapper/BizUserGroupItemMapper.java new file mode 100644 index 00000000..c9f01512 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/biz/mapper/BizUserGroupItemMapper.java @@ -0,0 +1,14 @@ +package com.qs.serve.modules.biz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.qs.serve.modules.biz.entity.BizUserGroupItem; + +/** + * 税务信息表 Mapper + * @author YenHex + * @date 2023-10-25 + */ +public interface BizUserGroupItemMapper extends BaseMapper { + +} + diff --git a/src/main/java/com/qs/serve/modules/biz/mapper/BizUserGroupMapper.java b/src/main/java/com/qs/serve/modules/biz/mapper/BizUserGroupMapper.java new file mode 100644 index 00000000..c5b95045 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/biz/mapper/BizUserGroupMapper.java @@ -0,0 +1,14 @@ +package com.qs.serve.modules.biz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.qs.serve.modules.biz.entity.BizUserGroup; + +/** + * 税务信息表 Mapper + * @author YenHex + * @date 2023-10-25 + */ +public interface BizUserGroupMapper extends BaseMapper { + +} + diff --git a/src/main/java/com/qs/serve/modules/biz/service/BizUserGroupItemService.java b/src/main/java/com/qs/serve/modules/biz/service/BizUserGroupItemService.java new file mode 100644 index 00000000..6745af72 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/biz/service/BizUserGroupItemService.java @@ -0,0 +1,14 @@ +package com.qs.serve.modules.biz.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.qs.serve.modules.biz.entity.BizUserGroupItem; + +/** + * 税务信息表 服务接口 + * @author YenHex + * @date 2023-10-25 + */ +public interface BizUserGroupItemService extends IService { + +} + diff --git a/src/main/java/com/qs/serve/modules/biz/service/BizUserGroupService.java b/src/main/java/com/qs/serve/modules/biz/service/BizUserGroupService.java new file mode 100644 index 00000000..0c092a71 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/biz/service/BizUserGroupService.java @@ -0,0 +1,14 @@ +package com.qs.serve.modules.biz.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.qs.serve.modules.biz.entity.BizUserGroup; + +/** + * 税务信息表 服务接口 + * @author YenHex + * @date 2023-10-25 + */ +public interface BizUserGroupService extends IService { + +} + diff --git a/src/main/java/com/qs/serve/modules/biz/service/impl/BizUserGroupItemServiceImpl.java b/src/main/java/com/qs/serve/modules/biz/service/impl/BizUserGroupItemServiceImpl.java new file mode 100644 index 00000000..db99236e --- /dev/null +++ b/src/main/java/com/qs/serve/modules/biz/service/impl/BizUserGroupItemServiceImpl.java @@ -0,0 +1,22 @@ +package com.qs.serve.modules.biz.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import com.qs.serve.modules.biz.entity.BizUserGroupItem; +import com.qs.serve.modules.biz.service.BizUserGroupItemService; +import com.qs.serve.modules.biz.mapper.BizUserGroupItemMapper; + +/** + * 税务信息表 服务实现类 + * @author YenHex + * @since 2023-10-25 + */ +@Slf4j +@Service +@AllArgsConstructor +public class BizUserGroupItemServiceImpl extends ServiceImpl implements BizUserGroupItemService { + +} + diff --git a/src/main/java/com/qs/serve/modules/biz/service/impl/BizUserGroupServiceImpl.java b/src/main/java/com/qs/serve/modules/biz/service/impl/BizUserGroupServiceImpl.java new file mode 100644 index 00000000..21217967 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/biz/service/impl/BizUserGroupServiceImpl.java @@ -0,0 +1,22 @@ +package com.qs.serve.modules.biz.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import com.qs.serve.modules.biz.entity.BizUserGroup; +import com.qs.serve.modules.biz.service.BizUserGroupService; +import com.qs.serve.modules.biz.mapper.BizUserGroupMapper; + +/** + * 税务信息表 服务实现类 + * @author YenHex + * @since 2023-10-25 + */ +@Slf4j +@Service +@AllArgsConstructor +public class BizUserGroupServiceImpl extends ServiceImpl implements BizUserGroupService { + +} + diff --git a/src/main/java/com/qs/serve/modules/tbs/controller/TbsCostApplyController.java b/src/main/java/com/qs/serve/modules/tbs/controller/TbsCostApplyController.java index 8ea4c36e..b42d4726 100644 --- a/src/main/java/com/qs/serve/modules/tbs/controller/TbsCostApplyController.java +++ b/src/main/java/com/qs/serve/modules/tbs/controller/TbsCostApplyController.java @@ -267,15 +267,24 @@ public class TbsCostApplyController { entity.setSupplierName(supplier.getName()); if(StringUtils.hasText(supplier.getRegion2First())){ BmsRegion2 region2 = region2Service.getById(supplier.getRegion2First()); - entity.setSupplierBizRegionFirstName(region2.getName()); + if(region2!=null){ + //Assert.throwEx("客户行政区域1错误"); + entity.setSupplierBizRegionFirstName(region2.getName()); + } } if(StringUtils.hasText(supplier.getRegion2Second())){ BmsRegion2 region2 = region2Service.getById(supplier.getRegion2Second()); - entity.setSupplierBizRegionSecondName(region2.getName()); + if(region2!=null){ + //Assert.throwEx("客户行政区域2错误"); + entity.setSupplierBizRegionSecondName(region2.getName()); + } } if(StringUtils.hasText(supplier.getRegion2Third())){ BmsRegion2 region2 = region2Service.getById(supplier.getRegion2Third()); - entity.setSupplierBizRegionThirdName(region2.getName()); + if(region2!=null){ + //Assert.throwEx("客户行政区域3错误"); + entity.setSupplierBizRegionThirdName(region2.getName()); + } } SysUser sysUser = sysUserService.getById(AuthContextUtils.getSysUserId()); entity.setUserId(sysUser.getId()); @@ -356,15 +365,24 @@ public class TbsCostApplyController { entity.setSupplierCode(supplier.getCode()); if(StringUtils.hasText(supplier.getRegion2First())){ BmsRegion2 region2 = region2Service.getById(supplier.getRegion2First()); - entity.setSupplierBizRegionFirstName(region2.getName()); + if(region2!=null){ + //Assert.throwEx("客户行政区域1错误"); + entity.setSupplierBizRegionFirstName(region2.getName()); + } } if(StringUtils.hasText(supplier.getRegion2Second())){ BmsRegion2 region2 = region2Service.getById(supplier.getRegion2Second()); - entity.setSupplierBizRegionSecondName(region2.getName()); + if(region2!=null){ + //Assert.throwEx("客户行政区域2错误"); + entity.setSupplierBizRegionSecondName(region2.getName()); + } } if(StringUtils.hasText(supplier.getRegion2Third())){ BmsRegion2 region2 = region2Service.getById(supplier.getRegion2Third()); - entity.setSupplierBizRegionThirdName(region2.getName()); + if(region2!=null){ + //Assert.throwEx("客户行政区域3错误"); + entity.setSupplierBizRegionThirdName(region2.getName()); + } } entity.setSupplierName(supplier.getName()); SysUser sysUser = sysUserService.getById(AuthContextUtils.getSysUserId()); diff --git a/src/main/java/com/qs/serve/modules/tbs/service/TbsBudgetMatchApplication.java b/src/main/java/com/qs/serve/modules/tbs/service/TbsBudgetMatchApplication.java index 43b5d467..f557623c 100644 --- a/src/main/java/com/qs/serve/modules/tbs/service/TbsBudgetMatchApplication.java +++ b/src/main/java/com/qs/serve/modules/tbs/service/TbsBudgetMatchApplication.java @@ -115,6 +115,9 @@ public class TbsBudgetMatchApplication { TbsActivity activity = activityMap.get(centerGoods.getActivityId()); String templateId = activity.getTemplateId()==null?null:activity.getTemplateId().toString(); TbsBudget budget = allBudgetMap.get(itemBudget.getBudgetId()); + if(budget==null){ + continue; + } if (budget.getTemplateFlag().equals(1)) { if(templateId==null||budget.getTemplateIds()==null||budget.getTemplateIds().length<1){ continue; diff --git a/src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java b/src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java index ba234c4c..805bffca 100644 --- a/src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java @@ -959,7 +959,7 @@ public class VtbVerificationServiceImpl extends ServiceImpl + + + + + + + + + + + + + + + + + + + + + biz_user_group_item.`id`, + biz_user_group_item.`group_id`, + biz_user_group_item.`target_type`, + biz_user_group_item.`target_id`, + biz_user_group_item.`target_name`, + biz_user_group_item.`target_code`, + biz_user_group_item.`remark`, + biz_user_group_item.`create_time`, + biz_user_group_item.`create_by`, + biz_user_group_item.`update_time`, + biz_user_group_item.`update_by`, + biz_user_group_item.`del_flag`, + biz_user_group_item.`tenant_id` + + + +