project-admin/src/main/java/com/project/admin/controller/enforce/EnforceEvaluateController.java
@@ -24,7 +24,7 @@ @Api(value = "æ§æ³è¯ä»·æ§å¶å¨", tags = {"æ§æ³è¯ä»·ç®¡ç"}) @RequiredArgsConstructor(onConstructor_ = @Autowired) @RestController @RequestMapping("/enforce/evaluate/") @RequestMapping("/enforce/evaluate") public class EnforceEvaluateController extends BaseController { project-admin/src/main/java/com/project/admin/controller/enforce/EnforceOrderController.java
@@ -44,7 +44,7 @@ } @ApiOperation("æ¥è¯¢æ§æ³åå¾ å®¡æ ¸å表") @ApiOperation("æ¥è¯¢æ§æ³åå¾ å®¡æ¹å表") @GetMapping("/checkList") public TableDataInfo checkList(EnforceOrderQueryBo bo) { project-admin/src/main/java/com/project/admin/controller/system/SysCompanyController.java
@@ -9,6 +9,7 @@ import com.project.common.utils.poi.ExcelUtil; import com.project.system.domain.bo.editBo.SysCompanyBo; import com.project.system.domain.bo.queryBo.SysCompanyQueryBo; import com.project.system.domain.vo.SysCompanyResultVo; import com.project.system.domain.vo.SysCompanyVo; import com.project.system.service.ISysCompanyService; import io.swagger.annotations.Api; @@ -109,13 +110,33 @@ return util.exportExcel(null, "ä¼ä¸ä¿¡æ¯æ¨¡æ¿"); } @ApiOperation(value = "å¯¼å ¥æ´»å¨ææ ") @ApiImplicitParam(value = "ä¸ä¼ æä»¶", name = "file", dataType = "file", dataTypeClass = MultipartFile.class) @PostMapping("/import") public AjaxResult importList(@RequestParam MultipartFile file) throws Exception @ApiOperation(value = "å¤çå¯¼å ¥ä¿¡æ¯") @Log(title = "å¯¼å ¥ä¼ä¸ä¿¡æ¯å¤ç" , businessType = BusinessType.OTHER) @ApiImplicitParam(value = "ä¼ä¸ä¿¡æ¯", name = "file", dataType = "file", dataTypeClass = MultipartFile.class) @PostMapping("/doImport") public AjaxResult doImport(@RequestPart(value = "file") MultipartFile file) throws Exception { ExcelUtil<SysCompanyVo> util = new ExcelUtil<>(SysCompanyVo.class); List<SysCompanyVo> list = util.importExcel(file.getInputStream()); return toAjax(iSysCompanyService.importList(list) ? 1 : 0); return AjaxResult.success(iSysCompanyService.doImport(list)); } @ApiOperation(value = "æ ¡éªå¯¼å ¥ä¿¡æ¯") @Log(title = "å¯¼å ¥ä¼ä¸ä¿¡æ¯æ ¡éª" , businessType = BusinessType.OTHER) @PostMapping("/checkImport") public AjaxResult checkImport(@RequestBody SysCompanyResultVo resultVo) { return AjaxResult.success(iSysCompanyService.checkImport(resultVo)); } @ApiOperation(value = "ä¿åå¯¼å ¥ä¿¡æ¯") @Log(title = "å¯¼å ¥ä¼ä¸ä¿¡æ¯ä¿å" , businessType = BusinessType.IMPORT) @PostMapping("/saveImport") public AjaxResult saveImport(@RequestBody SysCompanyResultVo resultVo) { return toAjax(iSysCompanyService.saveImport(resultVo) ? 1 : 0); } } project-admin/src/main/java/com/project/admin/controller/system/SysLoginController.java
@@ -1,13 +1,6 @@ package com.project.admin.controller.system; import java.util.List; import java.util.Set; import com.project.common.annotation.RepeatSubmit; import com.project.system.domain.bo.editBo.UserPhoneLoginBo; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.*; import com.project.common.constant.Constants; import com.project.common.core.domain.AjaxResult; import com.project.common.core.domain.entity.SysMenu; @@ -16,7 +9,14 @@ import com.project.common.utils.SecurityUtils; import com.project.framework.web.service.SysLoginService; import com.project.framework.web.service.SysPermissionService; import com.project.system.domain.bo.editBo.UserPhoneLoginBo; import com.project.system.service.ISysMenuService; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.*; import java.util.List; import java.util.Set; /** * ç»å½éªè¯ @@ -56,6 +56,14 @@ return AjaxResult.success(loginService.getVerifyCode(phone)); } @ApiOperation("æ ¡éªéªè¯ç éªè¯ç ") @PostMapping("/verify") @RepeatSubmit public AjaxResult verify(@RequestBody UserPhoneLoginBo bo) { return AjaxResult.success(loginService.verifyPhone(bo.getPhone(), bo.getCode())); } @ApiOperation("ææºå·éªè¯ç ç»å½") @PostMapping("/login/phone") @RepeatSubmit project-admin/src/main/java/com/project/admin/controller/tool/CheckController.java
@@ -27,6 +27,7 @@ @ApiOperation("å®¡æ ¸") @Log(title = "å®¡æ ¸", businessType = BusinessType.UPDATE) // @PreAuthorize("@ss.hasPermi('sys:company:check')") @PostMapping(value = "/checkOrder") @RepeatSubmit public AjaxResult checkOrder(@RequestBody CheckBo bo) project-admin/src/main/resources/application.yml
@@ -143,5 +143,4 @@ - /system/dict/** - /getVerifyCode - /login/phone - /system/company/** #临æ¶ç½åå - /tool/** #临æ¶ç½åå project-common/shenqiuyingshang - ¿ì½Ý·½Ê½.lnkBinary files differ
project-common/src/main/java/com/project/common/core/domain/model/ImportError.java
New file @@ -0,0 +1,31 @@ package com.project.common.core.domain.model; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; /** * åè½æè¿°ï¼ * * @author ZQN * @version 1.0 */ @Data @NoArgsConstructor @AllArgsConstructor public class ImportError { /** * 䏿 */ private Integer index; /** * éè¯¯ä¿¡æ¯ */ private String msg; } project-enforce/src/main/java/com/project/enforce/domain/EnforceEvaluateAnswer.java
@@ -1,16 +1,14 @@ package com.project.enforce.domain; import com.baomidou.mybatisplus.annotation.*; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.project.common.core.domain.BaseDomain; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; import lombok.experimental.Accessors; import java.io.Serializable; import java.math.BigDecimal; import java.util.Date; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.NoArgsConstructor; import lombok.experimental.Accessors; /** * æ§æ³è¯ä»·çæ¡å¯¹è±¡ enforce_evaluate_answer * @@ -56,6 +54,9 @@ @ApiModelProperty("æ¯å¦éæ©ï¼0å¦ï¼1æ¯") @TableField(exist = false) private Integer isChoose; project-enforce/src/main/java/com/project/enforce/domain/EnforceEvaluateQuestion.java
@@ -1,5 +1,6 @@ package com.project.enforce.domain; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.project.common.core.domain.BaseDomain; @@ -49,8 +50,13 @@ private String answerIds; @ApiModelProperty("é¢ç®çæ¡å表") @TableField(exist = false) private List<EnforceEvaluateAnswer> answerList; @ApiModelProperty("æ¬é¢å¾å") @TableField(exist = false) private BigDecimal getScore; project-enforce/src/main/java/com/project/enforce/domain/EnforceOrder.java
@@ -1,16 +1,16 @@ package com.project.enforce.domain; import com.baomidou.mybatisplus.annotation.*; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.project.common.core.domain.BaseDomain; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; import lombok.experimental.Accessors; import java.io.Serializable; import java.math.BigDecimal; import java.util.Date; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.NoArgsConstructor; import lombok.experimental.Accessors; import java.math.BigDecimal; import java.util.Date; /** * æ§æ³å对象 enforce_order * @@ -69,6 +69,9 @@ @ApiModelProperty("æ§æ³åå ") private String enforceReason; @ApiModelProperty("æ§æ³ç±»å") private String enforceType; @ApiModelProperty("ç³è¯·äººid") @@ -186,6 +189,12 @@ @ApiModelProperty("è¯ä»·æ»å¾å") private BigDecimal totalScore; /** æ¯å¦æè¯ï¼0å¦ï¼1æ¯ */ @ApiModelProperty("æ¯å¦æè¯ï¼0å¦ï¼1æ¯") private Integer isComplaint; /** æè¯å 容 */ @ApiModelProperty("æè¯å 容") private String complaintReason; } project-enforce/src/main/java/com/project/enforce/domain/bo/editBo/EnforceEvaluateLogBo.java
@@ -1,13 +1,9 @@ package com.project.enforce.domain.bo.editBo; import com.project.common.core.domain.BaseDomain; import com.project.enforce.domain.vo.EnforceEvaluateVo; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import lombok.EqualsAndHashCode; import java.util.Date; import java.math.BigDecimal; @@ -62,6 +58,8 @@ @ApiModelProperty("æ§è¡äººåä½") private Long executeDeptName; /** è¯ä»·è¯´æ */ @ApiModelProperty("è¯ä»·è¯´æ") private String questionRemark; @@ -74,16 +72,11 @@ @ApiModelProperty("è¯ä»·æ»å¾å") private BigDecimal totalScore; /** æ´æ°äºº */ @ApiModelProperty("æ´æ°äºº") private String updateBy; /** æ´æ°æ¶é´ */ @ApiModelProperty("æ´æ°æ¶é´") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date updateTime; /** 夿³¨ */ @ApiModelProperty("夿³¨") private String remark; @ApiModelProperty("è¯ä»·é®å¸") private EnforceEvaluateVo evaluateVo; } project-enforce/src/main/java/com/project/enforce/domain/bo/editBo/EnforceOrderBo.java
@@ -1,17 +1,12 @@ package com.project.enforce.domain.bo.editBo; import com.project.common.core.domain.BaseDomain; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import lombok.EqualsAndHashCode; import java.util.Date; import java.math.BigDecimal; import java.util.Date; import com.fasterxml.jackson.annotation.JsonFormat; /** * æ§æ³åç¼è¾å¯¹è±¡ enforce_order @@ -67,6 +62,9 @@ /** æ§æ³åå */ @ApiModelProperty("æ§æ³åå ") private String enforceReason; @ApiModelProperty("æ§æ³ç±»å") private String enforceType; /** ç³è¯·äººid */ @ApiModelProperty("ç³è¯·äººid") @@ -185,4 +183,12 @@ /** è¯ä»·æ»å¾å */ @ApiModelProperty("è¯ä»·æ»å¾å") private BigDecimal totalScore; /** æ¯å¦æè¯ï¼0å¦ï¼1æ¯ */ @ApiModelProperty("æ¯å¦æè¯ï¼0å¦ï¼1æ¯") private Integer isComplaint; /** æè¯å 容 */ @ApiModelProperty("æè¯å 容") private String complaintReason; } project-enforce/src/main/java/com/project/enforce/domain/bo/queryBo/EnforceOrderQueryBo.java
@@ -9,6 +9,7 @@ import java.math.BigDecimal; import java.util.Date; import java.util.List; /** * æ§æ³åå页æ¥è¯¢å¯¹è±¡ enforce_order @@ -64,6 +65,10 @@ /** æ§æ³åå */ @ApiModelProperty("æ§æ³åå ") private String enforceReason; @ApiModelProperty("æ§æ³ç±»å") private String enforceType; /** ç³è¯·äººid */ @ApiModelProperty("ç³è¯·äººid") private Long applyId; @@ -154,4 +159,19 @@ @ApiModelProperty("è¯ä»·æ»å¾å") private BigDecimal totalScore; /** æ¯å¦æè¯ï¼0å¦ï¼1æ¯ */ @ApiModelProperty("æ¯å¦æè¯ï¼0å¦ï¼1æ¯") private Integer isComplaint; /** æè¯å 容 */ @ApiModelProperty("æè¯å 容") private String complaintReason; @ApiModelProperty("ç³è¯·é¨é¨ids") private List<Long> applyDeptIds; @ApiModelProperty("æ¯å¦å®¡æ¹æ¥è¯¢ï¼1æ¯") private Integer isCheckQuery; } project-enforce/src/main/java/com/project/enforce/domain/vo/EnforceEvaluateLogVo.java
@@ -1,11 +1,11 @@ package com.project.enforce.domain.vo; import com.project.common.annotation.Excel; import com.fasterxml.jackson.annotation.JsonFormat; import java.math.BigDecimal; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.math.BigDecimal; /** @@ -62,4 +62,7 @@ @ApiModelProperty("夿³¨") private String remark; @ApiModelProperty("è¯ä»·é®å¸") private EnforceEvaluateVo evaluateVo; } project-enforce/src/main/java/com/project/enforce/domain/vo/EnforceEvaluateVo.java
@@ -15,5 +15,9 @@ @Data public class EnforceEvaluateVo { private Long orderId; private List<EnforceEvaluateQuestion> questionList; private String questionRemark; } project-enforce/src/main/java/com/project/enforce/domain/vo/EnforceOrderVo.java
@@ -1,13 +1,13 @@ package com.project.enforce.domain.vo; import com.fasterxml.jackson.annotation.JsonFormat; import com.project.common.annotation.Excel; import com.fasterxml.jackson.annotation.JsonFormat; import java.math.BigDecimal; import java.util.Date; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.math.BigDecimal; import java.util.Date; /** @@ -54,6 +54,10 @@ @Excel(name = "æ§æ³åå ") @ApiModelProperty("æ§æ³åå ") private String enforceReason; @ApiModelProperty("æ§æ³ç±»å") private String enforceType; @Excel(name = "ç³è¯·äººid") @ApiModelProperty("ç³è¯·äººid") private Long applyId; @@ -144,4 +148,12 @@ @ApiModelProperty("è¯ä»·æ»å¾å") private BigDecimal totalScore; /** æ¯å¦æè¯ï¼0å¦ï¼1æ¯ */ @ApiModelProperty("æ¯å¦æè¯ï¼0å¦ï¼1æ¯") private Integer isComplaint; /** æè¯å 容 */ @ApiModelProperty("æè¯å 容") private String complaintReason; } project-enforce/src/main/java/com/project/enforce/service/impl/CheckServiceImpl.java
@@ -1,7 +1,6 @@ package com.project.enforce.service.impl; import cn.hutool.core.convert.Convert; import com.project.common.core.domain.entity.SysRole; import com.project.common.core.domain.entity.SysUser; import com.project.common.exception.base.BaseException; import com.project.common.utils.SecurityUtils; @@ -20,7 +19,6 @@ import org.springframework.transaction.annotation.Transactional; import java.util.List; import java.util.stream.Collectors; /** * åè½æè¿°ï¼ @@ -58,8 +56,7 @@ } addCheckLog(company, bo); company.setCheckReason(bo.getCheckReason()); companyService.updateById(company); break; return companyService.updateById(company); case 2: EnforceOrder order = orderService.getById(bo.getId()); if (order==null) { @@ -80,8 +77,7 @@ order.setCheckLevel(order.getCheckLevel()+1); } order.setCheckReason(bo.getCheckReason()); orderService.updateById(order); break; return orderService.updateById(order); } return false; } project-enforce/src/main/java/com/project/enforce/service/impl/EnforceEvaluateLogServiceImpl.java
@@ -1,21 +1,23 @@ package com.project.enforce.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import lombok.RequiredArgsConstructor; import org.springframework.beans.factory.annotation.Autowired; import cn.hutool.core.convert.Convert; import com.project.common.utils.StringUtils; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import org.springframework.transaction.annotation.Transactional; import com.project.enforce.domain.vo.EnforceEvaluateLogVo; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.project.common.exception.base.BaseException; import com.project.common.utils.JsonUtils; import com.project.common.utils.StringUtils; import com.project.enforce.domain.EnforceEvaluateLog; import com.project.enforce.domain.bo.editBo.EnforceEvaluateLogBo; import com.project.enforce.domain.bo.queryBo.EnforceEvaluateLogQueryBo; import com.project.enforce.domain.EnforceEvaluateLog; import com.project.enforce.domain.vo.EnforceEvaluateLogVo; import com.project.enforce.domain.vo.EnforceEvaluateVo; import com.project.enforce.mapper.EnforceEvaluateLogMapper; import com.project.enforce.service.IEnforceEvaluateLogService; import lombok.RequiredArgsConstructor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.Collection; import java.util.List; @@ -43,7 +45,15 @@ public EnforceEvaluateLogVo queryById(Long id) { EnforceEvaluateLog db = this.baseMapper.selectById(id); return Convert.convert(EnforceEvaluateLogVo.class , db); EnforceEvaluateLogVo vo = Convert.convert(EnforceEvaluateLogVo.class, db); String questionStatic = vo.getQuestionStatic(); try { EnforceEvaluateVo evaluateVo = JsonUtils.jsonToPojo(questionStatic, EnforceEvaluateVo.class); vo.setEvaluateVo(evaluateVo); } catch (Exception e) { throw new BaseException("è¯ä»·é®å¸è§£æå¼å¸¸ï¼"); } return vo; } @@ -52,7 +62,9 @@ public Boolean insertByBo(EnforceEvaluateLogBo bo) { EnforceEvaluateLog add = Convert.convert(EnforceEvaluateLog.class, bo); validEntityBeforeSave(add); validEntityBeforeSave(bo); String questionStatic = JsonUtils.objectToJson(bo.getEvaluateVo()); add.setQuestionStatic(questionStatic); return this.save(add); } @@ -61,7 +73,9 @@ public Boolean updateByBo(EnforceEvaluateLogBo bo) { EnforceEvaluateLog update = Convert.convert(EnforceEvaluateLog.class, bo); validEntityBeforeSave(update); validEntityBeforeSave(bo); String questionStatic = JsonUtils.objectToJson(bo.getEvaluateVo()); update.setQuestionStatic(questionStatic); return this.updateById(update); } @@ -69,9 +83,7 @@ @Transactional public Boolean deleteByIds(Collection<Long> ids) { //åä¸äºä¸å¡ä¸çæ ¡éª,夿æ¯å¦éè¦æ ¡éª return this.removeByIds(ids); } @@ -79,9 +91,11 @@ //------------------------------------------------------------------------------------- //ä¿ååæ ¡éª private void validEntityBeforeSave(EnforceEvaluateLog entity) private void validEntityBeforeSave(EnforceEvaluateLogBo bo) { //åä¸äºæ°æ®æ ¡éª,å¦å¯ä¸çº¦æ if (bo.getEvaluateVo()==null) { throw new BaseException("请ä¸ä¼ è¯ä»·é®å¸å 容ï¼"); } } //è·åæ¥è¯¢åæ° project-enforce/src/main/java/com/project/enforce/service/impl/EnforceEvaluateServiceImpl.java
@@ -75,7 +75,7 @@ return null; } @Override @Override//è¯ä»·è®¾ç½®è¯¦æ public EnforceEvaluateVo getInfo() { EnforceEvaluateVo vo = new EnforceEvaluateVo(); project-enforce/src/main/java/com/project/enforce/service/impl/EnforceOrderServiceImpl.java
@@ -53,20 +53,22 @@ public List<EnforceOrderVo> queryCheckList(EnforceOrderQueryBo bo) { SysUser loginUser = SecurityUtils.getLoginUser().getUser(); if (!"01".equals(loginUser.getUserType())) { throw new BaseException("æ¨æ²¡æå®¡æ¹æéï¼è¯·éè¯ï¼"); if (bo.getIsCheckQuery()!=null && bo.getIsCheckQuery()==1){ List<String> roleKeys = loginUser.getRoles().stream().map(SysRole::getRoleKey).collect(Collectors.toList()); if (roleKeys.contains(CheckLevelCodeConstants.CHECK_LEVEL_ONE) && roleKeys.contains(CheckLevelCodeConstants.CHECK_LEVEL_TWO)){ bo.setCheckLevel(null); } else if (roleKeys.contains(CheckLevelCodeConstants.CHECK_LEVEL_ONE)){ bo.setCheckLevel(0); } else if (roleKeys.contains(CheckLevelCodeConstants.CHECK_LEVEL_TWO)) { bo.setCheckLevel(1); } else { throw new BaseException("æ¨æ²¡æå®¡æ¹æéï¼è¯·éè¯ï¼"); } } List<String> roleKeys = loginUser.getRoles().stream().map(SysRole::getRoleKey).collect(Collectors.toList()); if (roleKeys.contains(CheckLevelCodeConstants.CHECK_LEVEL_ONE) && roleKeys.contains(CheckLevelCodeConstants.CHECK_LEVEL_TWO)){ bo.setCheckLevel(null); } else if (roleKeys.contains(CheckLevelCodeConstants.CHECK_LEVEL_ONE)){ bo.setCheckLevel(0); } else if (roleKeys.contains(CheckLevelCodeConstants.CHECK_LEVEL_TWO)) { bo.setCheckLevel(1); } else { throw new BaseException("æ¨æ²¡æå®¡æ¹æéï¼è¯·éè¯ï¼"); } bo.setCheckDeptId(deptService.getCheckDeptIdByLoginDeptId(loginUser.getDeptId())); bo.setApplyDeptIds(deptService.getApplyDeptIdsByLoginUserId(loginUser.getUserId())); return this.baseMapper.selectCheckList(bo); } @@ -133,6 +135,7 @@ qw.eq(StringUtils.isNotEmpty(bo.getRegionCode()), "region_code", bo.getRegionCode()); qw.like(StringUtils.isNotEmpty(bo.getRegionName()), "region_name", bo.getRegionName()); qw.eq(StringUtils.isNotEmpty(bo.getEnforceReason()), "enforce_reason", bo.getEnforceReason()); qw.eq(StringUtils.isNotEmpty(bo.getEnforceType()), "enforce_type", bo.getEnforceType()); qw.eq(bo.getApplyId() != null, "apply_id", bo.getApplyId()); qw.eq(StringUtils.isNotEmpty(bo.getApplyUser()), "apply_user", bo.getApplyUser()); qw.eq(StringUtils.isNotEmpty(bo.getApplyPhone()), "apply_phone", bo.getApplyPhone()); project-enforce/src/main/resources/mapper/enforce/EnforceOrderMapper.xml
@@ -16,6 +16,7 @@ <result property="regionCode" column="region_code" /> <result property="regionName" column="region_name" /> <result property="enforceReason" column="enforce_reason" /> <result property="enforceType" column="enforce_type" /> <result property="applyId" column="apply_id" /> <result property="applyUser" column="apply_user" /> <result property="applyPhone" column="apply_phone" /> @@ -81,6 +82,10 @@ AND check_level = #{checkLevel} </if> <if test="checkLevel != null "> AND apply_dept_id in #{checkLevel} </if> </where> </select> project-framework/src/main/java/com/project/framework/web/service/SysLoginService.java
@@ -1,7 +1,5 @@ package com.project.framework.web.service; import javax.annotation.Resource; import com.alibaba.fastjson2.JSON; import com.alibaba.fastjson2.JSONObject; import com.aliyuncs.CommonRequest; @@ -13,23 +11,13 @@ import com.aliyuncs.profile.DefaultProfile; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.project.common.constant.AliyunSmsConstants; import com.project.common.exception.base.BaseException; import com.project.system.domain.bo.editBo.UserPhoneLoginBo; import com.project.system.mapper.SysUserMapper; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.authentication.AuthenticationManager; import org.springframework.security.authentication.BadCredentialsException; import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; import org.springframework.security.core.Authentication; import org.springframework.stereotype.Component; import com.project.common.constant.CacheConstants; import com.project.common.constant.Constants; import com.project.common.core.domain.entity.SysUser; import com.project.common.core.domain.model.LoginUser; import com.project.common.core.redis.RedisCache; import com.project.common.exception.ServiceException; import com.project.common.exception.base.BaseException; import com.project.common.exception.user.CaptchaException; import com.project.common.exception.user.CaptchaExpireException; import com.project.common.exception.user.UserPasswordNotMatchException; @@ -41,8 +29,17 @@ import com.project.framework.manager.AsyncManager; import com.project.framework.manager.factory.AsyncFactory; import com.project.framework.security.context.AuthenticationContextHolder; import com.project.system.domain.bo.editBo.UserPhoneLoginBo; import com.project.system.mapper.SysUserMapper; import com.project.system.service.ISysConfigService; import com.project.system.service.ISysUserService; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.security.authentication.AuthenticationManager; import org.springframework.security.authentication.BadCredentialsException; import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; import org.springframework.security.core.Authentication; import org.springframework.stereotype.Component; import java.util.Random; import java.util.concurrent.TimeUnit; @@ -237,7 +234,7 @@ * @param code éªè¯ç * @return æ ¡éªç»æ */ private Boolean verifyPhone(String phone, String code) public Boolean verifyPhone(String phone, String code) { String key = getCacheKey(phone); if (!redisCache.hasKey(key)) { project-system/src/main/java/com/project/system/domain/SysUserDept.java
New file @@ -0,0 +1,31 @@ package com.project.system.domain; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.NoArgsConstructor; import lombok.experimental.Accessors; /** * ç¨æ·ä¸é¨é¨å ³è对象 sys_user_dept * * @author manton */ @Data @NoArgsConstructor @Accessors(chain = true) @TableName("sys_user_dept") @ApiModel("ç¨æ·ä¸é¨é¨å ³èå®ä½å¯¹è±¡") public class SysUserDept { private static final long serialVersionUID=1L; @ApiModelProperty("ç¨æ·ID") private Long userId; @ApiModelProperty("é¨é¨ID") private Long deptId; } project-system/src/main/java/com/project/system/domain/vo/SysCompanyResultVo.java
New file @@ -0,0 +1,19 @@ package com.project.system.domain.vo; import io.swagger.annotations.ApiModel; import lombok.Data; import java.util.List; /** * ä¼ä¸ä¿¡æ¯è§å¾å¯¹è±¡ mall_package * * @author manton */ @Data @ApiModel("ä¼ä¸ä¿¡æ¯è§å¾å¯¹è±¡") public class SysCompanyResultVo { private List<SysCompanyVo> voList; } project-system/src/main/java/com/project/system/domain/vo/SysCompanyVo.java
@@ -2,11 +2,13 @@ import com.fasterxml.jackson.annotation.JsonFormat; import com.project.common.annotation.Excel; import com.project.common.core.domain.model.ImportError; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; import java.util.List; /** @@ -23,20 +25,20 @@ @ApiModelProperty("ä¼ä¸id") private Long companyId; @Excel(name = "ä¼ä¸å") @ApiModelProperty("ä¼ä¸å") @Excel(name = "ä¼ä¸å(ä¼ä¸å ¨ç§°)") @ApiModelProperty("ä¼ä¸å(ä¼ä¸å ¨ç§°)") private String companyName; @Excel(name = "ä¼ä¸ç¤¾ä¼ç¼ç ") @ApiModelProperty("ä¼ä¸ç¤¾ä¼ç¼ç ") @Excel(name = "ç»ä¸ç¤¾ä¼ä¿¡ç¨ä»£ç ") @ApiModelProperty("ç»ä¸ç¤¾ä¼ä¿¡ç¨ä»£ç ") private String companyCode; @Excel(name = "ä¼ä¸è系人") @ApiModelProperty("ä¼ä¸è系人") private String companyUser; @Excel(name = "ä¼ä¸è系人çµè¯" , readConverterExp = "è´¦=å·") @ApiModelProperty("ä¼ä¸è系人çµè¯ï¼è´¦å·ï¼") @Excel(name = "è系人çµè¯" ) @ApiModelProperty("è系人çµè¯") private String companyPhone; @Excel(name = "ä¼ä¸å°å") @@ -67,12 +69,10 @@ @ApiModelProperty("审æ¹è¯´æ") private String checkReason; @Excel(name = "èªå®ä¹æåº") @ApiModelProperty("èªå®ä¹æåº") private Integer sortNum; /** å建人 */ @Excel(name = "å建人") @ApiModelProperty("å建人") private String createBy; @@ -81,16 +81,20 @@ private Date createTime; /** æ´æ°äºº */ @Excel(name = "æ´æ°äºº") @ApiModelProperty("æ´æ°äºº") private String updateBy; @ApiModelProperty("å建æ¶é´") @ApiModelProperty("æ´æ°æ¶é´") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date updateTime; /** 夿³¨ */ @Excel(name = "夿³¨") @ApiModelProperty("夿³¨") private String remark; @ApiModelProperty("éè¯¯ä¿¡æ¯æ°æ®") private List<ImportError> errorList; } project-system/src/main/java/com/project/system/domain/vo/SysDocVo.java
@@ -1,10 +1,12 @@ package com.project.system.domain.vo; import com.project.common.annotation.Excel; import com.fasterxml.jackson.annotation.JsonFormat; import com.project.common.annotation.Excel; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; /** @@ -37,4 +39,12 @@ @ApiModelProperty("夿³¨") private String remark; /** å建人 */ @ApiModelProperty("å建人") private String createBy; @ApiModelProperty("å建æ¶é´") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date createTime; } project-system/src/main/java/com/project/system/mapper/SysDeptMapper.java
@@ -1,8 +1,9 @@ package com.project.system.mapper; import java.util.List; import org.apache.ibatis.annotations.Param; import com.project.common.core.domain.entity.SysDept; import org.apache.ibatis.annotations.Param; import java.util.List; /** * é¨é¨ç®¡ç æ°æ®å± @@ -115,4 +116,12 @@ * @return ç»æ */ public int deleteDeptById(Long deptId); /** * æ ¹æ®ç»å½äººidè·åç®¡è¾æºæids * @param userId ç»å½äººid * @return ç®¡è¾æºæids */ List<Long> getApplyDeptIdsByLoginUserId(Long userId); } project-system/src/main/java/com/project/system/mapper/SysUserDeptMapper.java
New file @@ -0,0 +1,13 @@ package com.project.system.mapper; import com.project.system.domain.SysUserDept; import com.baomidou.mybatisplus.core.mapper.BaseMapper; /** * ç¨æ·ä¸é¨é¨å ³èMapperæ¥å£ * * @author manton */ public interface SysUserDeptMapper extends BaseMapper<SysUserDept> { } project-system/src/main/java/com/project/system/service/ISysCompanyService.java
@@ -1,12 +1,11 @@ package com.project.system.service; import com.project.common.mybatis.IBaseService; import com.project.system.domain.SysCompany; import com.project.system.domain.vo.SysCompanyVo; import com.project.system.domain.bo.editBo.SysCompanyBo; import com.project.system.domain.bo.queryBo.SysCompanyQueryBo; import com.baomidou.mybatisplus.extension.service.IService; import com.project.common.mybatis.IBaseService; import cn.hutool.core.convert.Convert; import com.project.system.domain.vo.SysCompanyResultVo; import com.project.system.domain.vo.SysCompanyVo; import java.util.Collection; import java.util.List; @@ -52,9 +51,23 @@ Boolean deleteByIds(Collection<Long> ids); /** * æ¹éå¯¼å ¥ä¼ä¸ä¿¡æ¯ * @param list ä¼ä¸ä¿¡æ¯éå * @return trueæå false失败 * å¤çå¯¼å ¥ä¿¡æ¯ * @param list æ°æ® * @return ç»æ */ Boolean importList(List<SysCompanyVo> list); SysCompanyResultVo doImport(List<SysCompanyVo> list); /** * æ ¡éªå¯¼å ¥ä¿¡æ¯ * @param resultVo æ°æ® * @return ç»æ */ SysCompanyResultVo checkImport(SysCompanyResultVo resultVo); /** * ä¿åå¯¼å ¥ä¿¡æ¯ * @param resultVo æ°æ® * @return ç»æ */ Boolean saveImport(SysCompanyResultVo resultVo); } project-system/src/main/java/com/project/system/service/ISysDeptService.java
@@ -124,6 +124,17 @@ public int deleteDeptById(Long deptId); /** * è·å对åºå®¡æ¹æºæid * @param deptId ç»å½äººé¨é¨id * @return å®¡æ¹æºæid */ public Long getCheckDeptIdByLoginDeptId(Long deptId); /** * è·å对åºç®¡è¾æºæids * @param userId ç»å½äººid * @return ç®¡è¾æºæids */ List<Long> getApplyDeptIdsByLoginUserId(Long userId); } project-system/src/main/java/com/project/system/service/ISysUserDeptService.java
New file @@ -0,0 +1,14 @@ package com.project.system.service; import com.project.common.mybatis.IBaseService; import com.project.system.domain.SysUserDept; /** * ç¨æ·ä¸é¨é¨å ³èServiceæ¥å£ * * @author manton */ public interface ISysUserDeptService extends IBaseService<SysUserDept> { } project-system/src/main/java/com/project/system/service/impl/SysCompanyServiceImpl.java
@@ -3,8 +3,10 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.project.common.constant.UserConstants; import com.project.common.core.domain.entity.SysUser; import com.project.common.core.domain.model.ImportError; import com.project.common.exception.base.BaseException; import com.project.common.utils.SecurityUtils; import com.project.system.domain.vo.SysCompanyResultVo; import com.project.system.service.ISysUserService; import lombok.RequiredArgsConstructor; import org.springframework.beans.factory.annotation.Autowired; @@ -22,6 +24,7 @@ import com.project.system.mapper.SysCompanyMapper; import com.project.system.service.ISysCompanyService; import java.util.ArrayList; import java.util.Collection; import java.util.List; @@ -57,7 +60,7 @@ public Boolean insertByBo(SysCompanyBo bo) { SysCompany add = Convert.convert(SysCompany.class, bo); validEntityBeforeSave(add, 0); validEntityBeforeSave(add); boolean save = this.save(add); addCompanyUser(add); return save; @@ -76,7 +79,7 @@ } this.addCompanyUser(update); } validEntityBeforeSave(update, 0); validEntityBeforeSave(update); return this.updateById(update); } @@ -93,17 +96,47 @@ return this.removeByIds(ids); } @Override//å¯¼å ¥ @Transactional public Boolean importList(List<SysCompanyVo> list) @Override public SysCompanyResultVo doImport(List<SysCompanyVo> list) { if (list==null || list.size()<1){ throw new BaseException("æªè·åå°å¯¼å ¥ä¿¡æ¯"); throw new BaseException("æªè·åå°å¯¼å ¥ä¿¡æ¯ï¼"); } List<SysCompany> companies = Convert.toList(SysCompany.class, list); companies.forEach(e-> validEntityBeforeSave(e,1)); boolean b = this.saveOrUpdateBatch(companies); SysCompanyResultVo resultVo = new SysCompanyResultVo(); resultVo.setVoList(list); return this.checkImport(resultVo); } @Override public SysCompanyResultVo checkImport(SysCompanyResultVo resultVo) { if (resultVo==null || StringUtils.isEmpty(resultVo.getVoList())){ throw new BaseException("æªè·åå°å¯¼å ¥ä¿¡æ¯ï¼"); } for (SysCompanyVo vo : resultVo.getVoList()) { List<ImportError> errors = new ArrayList<>(); validEntityBeforeImport(vo, errors); vo.setErrorList(errors); } return resultVo; } @Override @Transactional public Boolean saveImport(SysCompanyResultVo resultVo) { if (resultVo==null || StringUtils.isEmpty(resultVo.getVoList())){ throw new BaseException("æªè·åå°å¯¼å ¥ä¿¡æ¯ï¼"); } resultVo.getVoList().forEach(e-> { if (StringUtils.isNotEmpty(e.getErrorList())) { throw new BaseException("è¿ææªå¤çé误信æ¯ï¼"); } }); List<SysCompany> companies = Convert.toList(SysCompany.class, resultVo.getVoList()); boolean b = this.saveOrUpdateBatch(companies); companies.forEach(this::addCompanyUser); return b; } @@ -114,15 +147,12 @@ /** * ä¿ååæ ¡éª * @param entity åæ° * @param isImport æ¯å¦å¯¼å ¥ï¼0å¦ï¼1æ¯ */ private void validEntityBeforeSave(SysCompany entity, int isImport) private void validEntityBeforeSave(SysCompany entity) { entity.setIsImport(isImport); if (isImport!=1){ if (StringUtils.isEmpty(entity.getCompanyImg())){ throw new BaseException(String.format("%1$sï¼è¯·ä¸ä¼ è¥ä¸æ§ç §", entity.getCompanyName())); } entity.setIsImport(0); if (StringUtils.isEmpty(entity.getCompanyImg())){ throw new BaseException(String.format("%1$sï¼è¯·ä¸ä¼ è¥ä¸æ§ç §", entity.getCompanyName())); } if (StringUtils.isEmpty(entity.getCompanyCode())){ throw new BaseException(String.format("%1$sï¼è¯·å¡«åä¼ä¸ç¤¾ä¼ç¼ç ï¼", entity.getCompanyName())); @@ -132,6 +162,9 @@ } if (StringUtils.isEmpty(entity.getCompanyPhone())){ throw new BaseException(String.format("%1$sï¼è¯·å¡«åä¼ä¸è系人çµè¯ï¼", entity.getCompanyName())); } if (StringUtils.isEmpty(entity.getCompanyAddress())){ throw new BaseException(String.format("%1$sï¼è¯·å¡«åä¼ä¸å°åï¼", entity.getCompanyName())); } if (StringUtils.isEmpty(entity.getCompanyName())){ throw new BaseException("请填åä¼ä¸åï¼"); @@ -163,12 +196,42 @@ throw new BaseException(String.format("%1$sï¼ä¼ä¸èç³»çµè¯å·²åå¨ï¼", entity.getCompanyName())); } } if (isImport==1){ entity.setCheckStatus(2); } } private void validEntityBeforeImport(SysCompanyVo entity, List<ImportError> errorList) { entity.setIsImport(1); if (StringUtils.isEmpty(entity.getCompanyName())){ errorList.add(new ImportError(0, "请填åä¼ä¸åï¼")); } if (StringUtils.isEmpty(entity.getCompanyCode())){ errorList.add(new ImportError(1, "请填åä¼ä¸ç¤¾ä¼ç¼ç ï¼")); } if (StringUtils.isEmpty(entity.getCompanyUser())){ errorList.add(new ImportError(2, "请填åä¼ä¸è系人ï¼")); } if (StringUtils.isEmpty(entity.getCompanyPhone())){ errorList.add(new ImportError(3, "请填åä¼ä¸è系人çµè¯ï¼")); } if (StringUtils.isEmpty(entity.getCompanyAddress())){ errorList.add(new ImportError(4, "请填åä¼ä¸å°åï¼")); } int codeCount = this.count(lq().eq(SysCompany::getCompanyCode, entity.getCompanyCode())); if (codeCount>0){ errorList.add(new ImportError(1, "ä¼ä¸ç¤¾ä¼ç¼ç å·²åå¨ï¼")); } int nameCount = this.count(lq().eq(SysCompany::getCompanyName, entity.getCompanyName())); if (nameCount>0){ errorList.add(new ImportError(0, "ä¼ä¸åå·²åå¨ï¼")); } int phoneCount = this.count(lq().eq(SysCompany::getCompanyPhone, entity.getCompanyPhone())); if (phoneCount>0){ errorList.add(new ImportError(3, "ä¼ä¸èç³»çµè¯å·²åå¨ï¼")); } entity.setCheckStatus(2); } /** * æ·»å ä¼ä¸ç¨æ· * @param entity ä¼ä¸ä¿¡æ¯ project-system/src/main/java/com/project/system/service/impl/SysDeptServiceImpl.java
@@ -294,11 +294,16 @@ return deptMapper.deleteDeptById(deptId); } /** * æ ¹æ®ç»å½äººé¨é¨è·åå®¡æ¹æºæid * @param deptId ç»å½äººé¨é¨id * @return å®¡æ¹æºæid */ @Override public Long getCheckDeptIdByLoginDeptId(Long deptId) { SysDept loginDept = selectDeptById(deptId); if (loginDept.getParentId()==101){ if (loginDept.getParentId()==100){ return loginDept.getDeptId(); } else { return getCheckDeptIdByLoginDeptId(loginDept.getParentId()); @@ -306,6 +311,17 @@ } /** * æ ¹æ®ç»å½äººidè·åç®¡è¾æºæids * @param userId ç»å½äººid * @return å®¡æ¹æºæids */ @Override public List<Long> getApplyDeptIdsByLoginUserId(Long userId) { return deptMapper.getApplyDeptIdsByLoginUserId(userId); } /** * éå½å表 */ private void recursionFn(List<SysDept> list, SysDept t) project-system/src/main/java/com/project/system/service/impl/SysUserDeptServiceImpl.java
New file @@ -0,0 +1,21 @@ package com.project.system.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.project.system.domain.SysUserDept; import com.project.system.mapper.SysUserDeptMapper; import com.project.system.service.ISysUserDeptService; import lombok.RequiredArgsConstructor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; /** * ç¨æ·ä¸é¨é¨å ³èServiceä¸å¡å±å¤ç * * @author manton */ @Service @RequiredArgsConstructor(onConstructor_ = @Autowired) public class SysUserDeptServiceImpl extends ServiceImpl<SysUserDeptMapper, SysUserDept> implements ISysUserDeptService { } project-system/src/main/java/com/project/system/service/impl/SysUserServiceImpl.java
@@ -1,19 +1,7 @@ package com.project.system.service.impl; import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; import javax.validation.Validator; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import lombok.RequiredArgsConstructor; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; import com.project.common.annotation.DataScope; import com.project.common.constant.UserConstants; import com.project.common.core.domain.entity.SysRole; @@ -26,13 +14,21 @@ import com.project.system.domain.SysPost; import com.project.system.domain.SysUserPost; import com.project.system.domain.SysUserRole; import com.project.system.mapper.SysPostMapper; import com.project.system.mapper.SysRoleMapper; import com.project.system.mapper.SysUserMapper; import com.project.system.mapper.SysUserPostMapper; import com.project.system.mapper.SysUserRoleMapper; import com.project.system.mapper.*; import com.project.system.service.ISysConfigService; import com.project.system.service.ISysUserService; import lombok.RequiredArgsConstructor; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; import javax.validation.Validator; import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; /** * ç¨æ· ä¸å¡å±å¤ç @@ -545,7 +541,8 @@ public int deleteUserByDeptId(Long deptId) { List<SysUser> sysUsers = userMapper.selectList(new LambdaQueryWrapper<SysUser>().eq(SysUser::getDeptId, deptId)); return this.deleteUserByIds((Long[]) sysUsers.stream().map(SysUser::getUserId).toArray()); Long[] ids = sysUsers.stream().map(SysUser::getUserId).toArray(Long[]::new); return this.deleteUserByIds(ids); } @Override project-system/src/main/resources/mapper/system/SysDeptMapper.xml
@@ -156,4 +156,7 @@ update sys_dept set del_flag = '2' where dept_id = #{deptId} </delete> <select id="getApplyDeptIdsByLoginUserId" resultType="Long"> select dept_id from sys_user_dept where user_id = #{userId} </select> </mapper> project-system/src/main/resources/mapper/system/SysUserDeptMapper.xml
New file @@ -0,0 +1,14 @@ <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.project.system.mapper.SysUserDeptMapper"> <resultMap type="SysUserDept" id="SysUserDeptResult"> <result property="userId" column="user_id" /> <result property="deptId" column="dept_id" /> </resultMap> </mapper>