server/system_service/src/main/java/com/doumee/config/cloudfilter/CloudWebConfig.java
@@ -21,12 +21,12 @@ .addPathPatterns(Constants.CLOUD_SERVICE_URL_INDEX+"/**"); } // @Bean @Bean public FilterRegistrationBean addRequestWrapperFilter() { FilterRegistrationBean<Filter> registration = new FilterRegistrationBean<>(); registration.setFilter(new RequestWrapperFilter()); registration.setName("RequestWrapperFilter"); registration.addUrlPatterns(Constants.CLOUD_SERVICE_URL_INDEX+"/*"); registration.addUrlPatterns(Constants.CLOUD_SERVICE_URL_INDEX+"/**"); registration.setOrder(1); return registration; } server/system_service/src/main/java/com/doumee/config/cloudfilter/CustomHttpServletRequestWrapper.java
@@ -10,8 +10,11 @@ import java.io.InputStreamReader; import java.nio.charset.StandardCharsets; public class CustomHttpServletRequestWrapper extends HttpServletRequestWrapper { private String body; public CustomHttpServletRequestWrapper(HttpServletRequest request ) { super(request); this.body = body; server/system_service/src/main/java/com/doumee/config/cloudfilter/LoginHandlerInterceptor.java
@@ -74,7 +74,7 @@ } } /*try { /* try { CustomHttpServletRequestWrapper requestWrapper = (CustomHttpServletRequestWrapper)request; String body = requestWrapper.getBody(); JSONObject object = JSONObject.parseObject(body); @@ -83,7 +83,6 @@ requestWrapper.setBody( JSONObject.toJSONString(object)); } }catch (Exception e){ e.printStackTrace(); }*/ } else { throw new BusinessException(ResponseStatus.NO_LOGIN.getCode(),"未登录"); server/system_service/src/main/java/com/doumee/core/utils/Constants.java
@@ -11,6 +11,7 @@ import java.math.BigDecimal; import java.net.URLDecoder; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Arrays; import java.util.Date; import java.util.List; @@ -192,6 +193,29 @@ return s.substring(0,5)+"*******"+s.substring(l-6,l); } /** * 切分逗号拼接的整形集合 * @param memberIds * @return */ public static List<Integer> getIntegerListByStrs(String memberIds) { List<Integer> idsList = null; try { String[] strs = memberIds.split(","); for(String id :strs){ if(idsList == null){ idsList = new ArrayList<>(); } idsList.add(Integer.parseInt(id)); } }catch (Exception e){ } return idsList; } /** * mq tag server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/HiddenDangerCloudController.java
@@ -34,6 +34,7 @@ @PostMapping("/create") @CloudRequiredPermission("business:hiddendanger:create") public ApiResponse create(@RequestBody HiddenDanger hiddenDanger,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){ hiddenDanger.setLoginUserInfo(this.getLoginUser(token)); return ApiResponse.success(hiddenDangerService.create(hiddenDanger)); } @@ -57,6 +58,7 @@ @PostMapping("/updateById") @CloudRequiredPermission("business:hiddendanger:update") public ApiResponse updateById(@RequestBody HiddenDanger hiddenDanger,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){ hiddenDanger.setLoginUserInfo(this.getLoginUser(token)); hiddenDangerService.updateById(hiddenDanger); return ApiResponse.success(null); } server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/HiddenDangerParamCloudController.java
@@ -33,6 +33,7 @@ @PostMapping("/create") @CloudRequiredPermission("business:hiddendangerparam:create") public ApiResponse create(@RequestBody HiddenDangerParam hiddenDangerParam,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){ hiddenDangerParam.setLoginUserInfo(this.getLoginUser(token)); return ApiResponse.success(hiddenDangerParamService.create(hiddenDangerParam)); } @@ -40,7 +41,7 @@ @GetMapping("/delete/{id}") @CloudRequiredPermission("business:hiddendangerparam:delete") public ApiResponse deleteById(@PathVariable Integer id,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){ hiddenDangerParamService.deleteById(id); hiddenDangerParamService.deleteById(id,this.getLoginUser(token)); return ApiResponse.success(null); } @@ -48,7 +49,7 @@ @GetMapping("/delete/batch") @CloudRequiredPermission("business:hiddendangerparam:delete") public ApiResponse deleteByIdInBatch(@RequestParam String ids,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){ hiddenDangerParamService.deleteByIdInBatch(this.getIdList(ids)); hiddenDangerParamService.deleteByIdInBatch(this.getIdList(ids),this.getLoginUser(token)); return ApiResponse.success(null); } @@ -56,6 +57,7 @@ @PostMapping("/updateById") @CloudRequiredPermission("business:hiddendangerparam:update") public ApiResponse updateById(@RequestBody HiddenDangerParam hiddenDangerParam,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){ hiddenDangerParam.setLoginUserInfo(this.getLoginUser(token)); hiddenDangerParamService.updateById(hiddenDangerParam); return ApiResponse.success(null); } server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/HiddenDanger.java
@@ -1,5 +1,6 @@ package com.doumee.dao.business.model; import com.baomidou.mybatisplus.annotation.TableField; import com.doumee.core.annotation.excel.ExcelColumn; import com.doumee.core.model.LoginUserModel; import io.swagger.annotations.ApiModel; @@ -93,4 +94,33 @@ @ExcelColumn(name="区域名称") private String areaName; @ApiModelProperty(value = "申请人姓名", example = "1") @TableField(exist = false) private String memberName; @ApiModelProperty(value = "申请人所属组织名称", example = "1") @TableField(exist = false) private String companyName; @ApiModelProperty(value = "申请人手机号", example = "1") @TableField(exist = false) private String memberPhone; @ApiModelProperty(value = "处理人姓名", example = "1") @TableField(exist = false) private String checkorName; @ApiModelProperty(value = "处理人所属组织名称", example = "1") @TableField(exist = false) private String checkorCompanyName; @ApiModelProperty(value = "处理人手机号", example = "1") @TableField(exist = false) private String checkorPhone; @ApiModelProperty(value = "隐患类型名称", example = "1") @TableField(exist = false) private String categoryName; @ApiModelProperty(value = "查询开始时间(基于提报时间)", example = "2024-05-20 11:48:50") @TableField(exist = false) private Date queryStartTime; @ApiModelProperty(value = "查询截止始时间(基于提报时间)", example = "2024-05-20 11:48:46") @TableField(exist = false) private Date queryEndTime; } server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/HiddenDangerParam.java
@@ -70,7 +70,7 @@ @ApiModelProperty(value = "安全员编码集合,多个英文逗号隔开", example = "1") @ExcelColumn(name="安全员编码集合,多个英文逗号隔开") private Integer memberIds; private String memberIds; @ApiModelProperty(value = "安全员姓名集合,多个英文逗号隔开") @ExcelColumn(name="安全员姓名集合,多个英文逗号隔开") server/visits/dmvisit_service/src/main/java/com/doumee/service/business/HiddenDangerParamService.java
@@ -1,5 +1,7 @@ package com.doumee.service.business; import com.doumee.core.model.LoginUserInfo; import com.doumee.core.model.LoginUserModel; import com.doumee.core.model.PageData; import com.doumee.core.model.PageWrap; import com.doumee.dao.business.model.HiddenDangerParam; @@ -25,7 +27,7 @@ * * @param id 主键 */ void deleteById(Integer id); void deleteById(Integer id, LoginUserInfo userInfo); /** * 删除 @@ -39,7 +41,7 @@ * * @param ids 主键集 */ void deleteByIdInBatch(List<Integer> ids); void deleteByIdInBatch(List<Integer> ids, LoginUserInfo userInfo); /** * 主键更新 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveTemplServiceImpl.java
@@ -1,19 +1,28 @@ package com.doumee.service.business.impl; import com.doumee.core.constants.ResponseStatus; import com.doumee.core.exception.BusinessException; import com.doumee.core.model.LoginUserInfo; import com.doumee.core.model.PageData; import com.doumee.core.model.PageWrap; import com.doumee.core.utils.Constants; import com.doumee.core.utils.Utils; import com.doumee.dao.business.ApproveTemplMapper; import com.doumee.dao.business.MemberMapper; import com.doumee.dao.business.model.ApproveTempl; import com.doumee.dao.business.model.CarDriver; import com.doumee.dao.business.model.Member; import com.doumee.service.business.ApproveTemplService; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.apache.shiro.SecurityUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; import java.util.Date; import java.util.List; /** @@ -26,11 +35,13 @@ @Autowired private ApproveTemplMapper approveTemplMapper; @Autowired private MemberMapper memberMapper; @Override public Integer create(ApproveTempl approveTempl) { approveTemplMapper.insert(approveTempl); return approveTempl.getId(); public Integer create(ApproveTempl model) { approveTemplMapper.insert(model); return model.getId(); } @Override server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerParamServiceImpl.java
@@ -1,19 +1,30 @@ package com.doumee.service.business.impl; import com.doumee.core.constants.ResponseStatus; import com.doumee.core.exception.BusinessException; import com.doumee.core.model.LoginUserInfo; import com.doumee.core.model.PageData; import com.doumee.core.model.PageWrap; import com.doumee.core.utils.Constants; import com.doumee.core.utils.Utils; import com.doumee.dao.business.HiddenDangerParamMapper; import com.doumee.dao.business.MemberMapper; import com.doumee.dao.business.model.CarDriver; import com.doumee.dao.business.model.HiddenDangerParam; import com.doumee.dao.business.model.Member; import com.doumee.service.business.HiddenDangerParamService; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import io.swagger.models.auth.In; import org.apache.commons.lang3.StringUtils; import org.apache.shiro.SecurityUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; import java.util.Date; import java.util.List; /** @@ -23,19 +34,62 @@ */ @Service public class HiddenDangerParamServiceImpl implements HiddenDangerParamService { @Autowired private HiddenDangerParamMapper hiddenDangerParamMapper; @Autowired private MemberMapper memberMapper; @Override public Integer create(HiddenDangerParam hiddenDangerParam) { hiddenDangerParamMapper.insert(hiddenDangerParam); return hiddenDangerParam.getId(); public Integer create(HiddenDangerParam model) { LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); if(loginUserInfo == null){ loginUserInfo = model.getLoginUserInfo(); } if(Constants.equalsInteger(model.getType(),Constants.ZERO)){ //如果是区域配置 List<Integer> ids = Constants.getIntegerListByStrs(model.getMemberIds()); if(ids==null || ids.size() ==0){ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,安全员信息不正确,请按要求填写内容!"); } List<Member> memberList = memberMapper.selectList(new QueryWrapper<Member>().lambda() .eq(Member::getType,Constants.TWO) .eq(Member::getIsdeleted,Constants.ZERO)); if(memberList == null || memberList.size() == 0 || memberList.size() != ids.size() ){ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,请选择正确的安全员信息!"); } String names = null; String idss = null; for(Member member : memberList){ if(StringUtils.isNotBlank(names)){ names += ","; } if(StringUtils.isNotBlank(idss)){ idss += ","; } names += member.getName(); names += member.getId(); } model.setMemberNames(names); model.setMemberIds(idss); } model.setType(Constants.formatIntegerNum(model.getType())); model.setCreateDate(new Date()); model.setCreator(loginUserInfo.getId()); model.setEditDate(new Date()); model.setEditor(loginUserInfo.getId()); model.setStatus(Constants.ZERO); hiddenDangerParamMapper.insert(model); return model.getId(); } @Override public void deleteById(Integer id) { hiddenDangerParamMapper.deleteById(id); public void deleteById(Integer id, LoginUserInfo userInfo) { HiddenDangerParam model = new HiddenDangerParam(); model.setEditDate(new Date()); model.setEditor(userInfo.getId()); model.setId(id); model.setIsdeleted(Constants.ONE); hiddenDangerParamMapper.updateById(model); } @Override @@ -45,16 +99,57 @@ } @Override public void deleteByIdInBatch(List<Integer> ids) { public void deleteByIdInBatch(List<Integer> ids, LoginUserInfo userInfo) { if (CollectionUtils.isEmpty(ids)) { return; } hiddenDangerParamMapper.deleteBatchIds(ids); for(Integer id :ids){ deleteById(id,userInfo); } } @Override public void updateById(HiddenDangerParam hiddenDangerParam) { hiddenDangerParamMapper.updateById(hiddenDangerParam); public void updateById(HiddenDangerParam model) { LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); if(loginUserInfo == null){ loginUserInfo = model.getLoginUserInfo(); } HiddenDangerParam hiddenDangerParam = hiddenDangerParamMapper.selectById(model.getId()); if(hiddenDangerParam == null || Constants.equalsObject(hiddenDangerParam.getIsdeleted(),Constants.ONE)){ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"对不起,该配置信息不存在,请返回刷新页面重试!"); } if(Constants.equalsInteger(hiddenDangerParam.getType(),Constants.ZERO)){ //如果是区域配置,校验安全员信息是否正确 List<Integer> ids = Constants.getIntegerListByStrs(model.getMemberIds()); if(ids==null || ids.size() ==0){ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,安全员信息不正确,请按要求填写内容!"); } List<Member> memberList = memberMapper.selectList(new QueryWrapper<Member>().lambda() .eq(Member::getType,Constants.TWO) .eq(Member::getIsdeleted,Constants.ZERO)); if(memberList == null || memberList.size() == 0 || memberList.size() != ids.size() ){ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,请选择正确的安全员信息!"); } String names = null; String idss = null; for(Member member : memberList){ if(StringUtils.isNotBlank(names)){ names += ","; } if(StringUtils.isNotBlank(idss)){ idss += ","; } names += member.getName(); names += member.getId(); } model.setMemberNames(names); model.setMemberIds(idss); } model.setType(Constants.formatIntegerNum(model.getType())); model.setEditDate(new Date()); model.setEditor(loginUserInfo.getId()); model.setStatus(Constants.ZERO); hiddenDangerParamMapper.updateById(model); } @Override @@ -89,6 +184,7 @@ IPage<HiddenDangerParam> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); QueryWrapper<HiddenDangerParam> queryWrapper = new QueryWrapper<>(); Utils.MP.blankToNull(pageWrap.getModel()); pageWrap.getModel().setIsdeleted(Constants.ZERO); queryWrapper.lambda() .eq(pageWrap.getModel().getId() != null, HiddenDangerParam::getId, pageWrap.getModel().getId()) .eq(pageWrap.getModel().getCreator() != null, HiddenDangerParam::getCreator, pageWrap.getModel().getCreator()) @@ -106,6 +202,7 @@ .eq(pageWrap.getModel().getMemberIds() != null, HiddenDangerParam::getMemberIds, pageWrap.getModel().getMemberIds()) .eq(pageWrap.getModel().getMemberNames() != null, HiddenDangerParam::getMemberNames, pageWrap.getModel().getMemberNames()) .eq(pageWrap.getModel().getType() != null, HiddenDangerParam::getType, pageWrap.getModel().getType()) .orderByDesc(HiddenDangerParam::getCreateDate) ; for(PageWrap.SortData sortData: pageWrap.getSorts()) { if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) { server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java
@@ -1,20 +1,30 @@ package com.doumee.service.business.impl; import com.doumee.core.constants.ResponseStatus; import com.doumee.core.exception.BusinessException; import com.doumee.core.model.LoginUserInfo; import com.doumee.core.model.PageData; import com.doumee.core.model.PageWrap; import com.doumee.core.utils.Constants; import com.doumee.core.utils.Utils; import com.doumee.dao.business.HiddenDangerMapper; import com.doumee.dao.business.model.HiddenDanger; import com.doumee.dao.business.MemberMapper; import com.doumee.dao.business.model.*; import com.doumee.service.business.HiddenDangerService; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.github.yulichang.wrapper.MPJLambdaWrapper; import org.apache.commons.lang3.StringUtils; import org.apache.shiro.SecurityUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; import java.util.Date; import java.util.List; import java.util.Objects; /** * 隐患信息表Service实现 @@ -26,11 +36,14 @@ @Autowired private HiddenDangerMapper hiddenDangerMapper; @Autowired private MemberMapper memberMapper; @Override public Integer create(HiddenDanger hiddenDanger) { hiddenDangerMapper.insert(hiddenDanger); return hiddenDanger.getId(); public Integer create(HiddenDanger model) { hiddenDangerMapper.insert(model); return model.getId(); } @Override @@ -87,9 +100,20 @@ @Override public PageData<HiddenDanger> findPage(PageWrap<HiddenDanger> pageWrap) { IPage<HiddenDanger> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); QueryWrapper<HiddenDanger> queryWrapper = new QueryWrapper<>(); MPJLambdaWrapper<HiddenDanger> queryWrapper = new MPJLambdaWrapper<>(); Utils.MP.blankToNull(pageWrap.getModel()); queryWrapper.lambda() queryWrapper.selectAll(HiddenDanger.class) .selectAs(HiddenDangerParam::getName,HiddenDanger::getCategoryName) .select("t1.name", HiddenDanger::getMemberName) .select("t1.phone",HiddenDanger::getMemberPhone) .select("t2.name",HiddenDanger::getCheckorName) .select("t3.phone",HiddenDanger::getCheckorPhone) .select("t4.company_name_path",HiddenDanger::getCompanyName); queryWrapper.leftJoin(Member.class,Member::getId,HiddenDanger::getMemberId) .leftJoin("company t4 on t1.company_id=t4.id") .leftJoin(Member.class,Member::getId,HiddenDanger::getCheckUserId) .leftJoin(HiddenDangerParam.class,HiddenDangerParam::getId,HiddenDanger::getCateId); queryWrapper .eq(pageWrap.getModel().getId() != null, HiddenDanger::getId, pageWrap.getModel().getId()) .eq(pageWrap.getModel().getCreator() != null, HiddenDanger::getCreator, pageWrap.getModel().getCreator()) .ge(pageWrap.getModel().getCreateDate() != null, HiddenDanger::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate())) @@ -110,6 +134,11 @@ .eq(pageWrap.getModel().getChecklInfo() != null, HiddenDanger::getChecklInfo, pageWrap.getModel().getChecklInfo()) .eq(pageWrap.getModel().getCheckUserId() != null, HiddenDanger::getCheckUserId, pageWrap.getModel().getCheckUserId()) .eq(pageWrap.getModel().getAreaName() != null, HiddenDanger::getAreaName, pageWrap.getModel().getAreaName()) .and(StringUtils.isNotBlank(pageWrap.getModel().getMemberName()), ms->ms.like(Member::getName,pageWrap.getModel().getMemberName()) .or().like(Member::getPhone,pageWrap.getModel().getMemberName())) .ge(Objects.nonNull(pageWrap.getModel().getQueryStartTime()), Empower::getCreateDate,pageWrap.getModel().getQueryStartTime()) .le(Objects.nonNull(pageWrap.getModel().getQueryEndTime()),Empower::getCreateDate,pageWrap.getModel().getQueryEndTime()) .orderByDesc(Visits::getCreateDate) ; for(PageWrap.SortData sortData: pageWrap.getSorts()) { if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {