diff --git a/jwtech-system/src/main/java/com/kms/enterprise/controller/BsSgcYxjdDynamicCreditController.java b/jwtech-system/src/main/java/com/kms/enterprise/controller/BsSgcYxjdDynamicCreditController.java index 5b3a75a1..f6cac954 100644 --- a/jwtech-system/src/main/java/com/kms/enterprise/controller/BsSgcYxjdDynamicCreditController.java +++ b/jwtech-system/src/main/java/com/kms/enterprise/controller/BsSgcYxjdDynamicCreditController.java @@ -1,14 +1,33 @@ package com.kms.enterprise.controller; +import java.util.ArrayList; import java.util.Arrays; +import java.util.Date; import java.util.List; +import java.util.stream.Collectors; +import cn.dev33.satoken.stp.StpUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.jianwei.common.core.controller.BaseController; import com.jianwei.common.core.domain.SearchParam; +import com.jianwei.common.core.domain.entity.SysDept; +import com.jianwei.common.core.domain.entity.SysRole; +import com.jianwei.common.core.domain.entity.SysUser; +import com.jianwei.common.mybaitsplus.WrapperUtils; import com.jianwei.common.utils.poi.ExcelUtil; import com.kms.common.utils.BaseEntityUtils; +import com.kms.common.utils.UserUtils; +import com.kms.enterprise.domain.BsSgcYxjdCreditApproval; +import com.kms.enterprise.service.BsSgcYxjdCreditApprovalService; +import com.kms.framework.manager.factory.AsyncFactory; +import com.kms.system.domain.SysUserRole; +import com.kms.system.service.SysDeptService; +import com.kms.system.service.SysRoleService; +import com.kms.system.service.SysUserRoleService; +import com.kms.system.service.SysUserService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; @@ -40,19 +59,64 @@ import com.kms.enterprise.service.BsSgcYxjdDynamicCreditService; @RestController @RequestMapping("/enterprise/credit") @Api(tags = "动态信用") -public class BsSgcYxjdDynamicCreditController extends BaseController -{ +public class BsSgcYxjdDynamicCreditController extends BaseController { @Autowired private BsSgcYxjdDynamicCreditService bsSgcYxjdDynamicCreditService; + @Autowired + private BsSgcYxjdCreditApprovalService bsSgcYxjdCreditApprovalService; + + @Autowired + private SysUserService sysUserService; + + @Autowired + private SysDeptService sysDeptService; + + @Autowired + private SysUserRoleService sysUserRoleService; + + @Autowired + private SysRoleService sysRoleService; + + /** * 查询动态信用列表 */ @PostMapping("/list") @ApiOperation("动态信用列表") - public IPage list(@RequestBody SearchParam sp) - { - return bsSgcYxjdDynamicCreditService.selectPage(sp); + public IPage list(@RequestBody SearchParam sp) { + + SysUser user = UserUtils.getUser(); + if (user.getUserName().equals("admin")) { + return bsSgcYxjdDynamicCreditService.selectPage(sp); + } else { + LambdaQueryWrapper lambdaQuery = Wrappers.lambdaQuery(SysUserRole.class); + + lambdaQuery.eq(SysUserRole::getUserId, user.getId()); + + SysUserRole userRole = sysUserRoleService.getOne(lambdaQuery); + + SysRole byId = sysRoleService.getById(userRole.getRoleId()); + List creditList = new ArrayList<>(); + + if (byId.getRoleName().equals("企业审核员")) { + LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(BsSgcYxjdDynamicCredit.class); + queryWrapper.eq(BsSgcYxjdDynamicCredit::getStatus, "1").or().eq(BsSgcYxjdDynamicCredit::getStatus, "4") + .orderByDesc(BsSgcYxjdDynamicCredit::getCreateTime); + List list = bsSgcYxjdDynamicCreditService.list(queryWrapper); + IPage page = bsSgcYxjdDynamicCreditService.selectPage(sp); + creditList.addAll(list); + creditList.addAll(page.getRecords()); + creditList = creditList.stream().filter(x -> !x.getStatus().equals("0")).collect(Collectors.toList()); + creditList = creditList.stream().distinct().collect(Collectors.toList()); + page.setRecords(creditList); + return page; + } else { + return bsSgcYxjdDynamicCreditService.selectPage(sp); + } + } + + } /** @@ -61,8 +125,7 @@ public class BsSgcYxjdDynamicCreditController extends BaseController @Log(title = "动态信用导出", businessType = BusinessType.EXPORT) @PostMapping("/export") @ApiOperation("动态信用导出") - public AjaxResult export(@RequestBody BsSgcYxjdDynamicCredit bsSgcYxjdDynamicCredit) - { + public AjaxResult export(@RequestBody BsSgcYxjdDynamicCredit bsSgcYxjdDynamicCredit) { List list = bsSgcYxjdDynamicCreditService.listByIds(bsSgcYxjdDynamicCredit.getIds()); ExcelUtil util = new ExcelUtil<>(BsSgcYxjdDynamicCredit.class); return util.exportExcel(list, "credit"); @@ -73,8 +136,7 @@ public class BsSgcYxjdDynamicCreditController extends BaseController */ @ApiOperation(" 动态信用详情") @GetMapping(value = "/{id}") - public AjaxResult getInfo(@PathVariable("id") String id) - { + public AjaxResult getInfo(@PathVariable("id") String id) { return AjaxResult.success(bsSgcYxjdDynamicCreditService.getById(id)); } @@ -84,10 +146,18 @@ public class BsSgcYxjdDynamicCreditController extends BaseController @Log(title = "动态信用新增", businessType = BusinessType.INSERT) @PostMapping @ApiOperation("动态信用新增") - public AjaxResult add(@RequestBody BsSgcYxjdDynamicCredit bsSgcYxjdDynamicCredit) - { + public AjaxResult add(@RequestBody BsSgcYxjdDynamicCredit bsSgcYxjdDynamicCredit) { BaseEntityUtils.preInsert(bsSgcYxjdDynamicCredit); - return toAjax(bsSgcYxjdDynamicCreditService.save(bsSgcYxjdDynamicCredit)); + bsSgcYxjdDynamicCreditService.save(bsSgcYxjdDynamicCredit); + String loginId = StpUtil.getLoginIdAsString(); + SysUser user = sysUserService.getById(loginId); + SysDept sysDept = sysDeptService.getById(user.getDeptId()); + BsSgcYxjdCreditApproval creditApproval = new BsSgcYxjdCreditApproval(); + creditApproval.setCreditId(bsSgcYxjdDynamicCredit.getId()); + creditApproval.setProcessProgress(sysDept.getDeptName() + "-填写"); + creditApproval.setApprovalTime(new Date()); + BaseEntityUtils.preInsert(creditApproval); + return toAjax(bsSgcYxjdCreditApprovalService.save(creditApproval)); } /** @@ -96,8 +166,10 @@ public class BsSgcYxjdDynamicCreditController extends BaseController @ApiOperation("动态信用修改") @Log(title = "动态信用修改", businessType = BusinessType.UPDATE) @PutMapping - public AjaxResult edit(@RequestBody BsSgcYxjdDynamicCredit bsSgcYxjdDynamicCredit) - { + public AjaxResult edit(@RequestBody BsSgcYxjdDynamicCredit bsSgcYxjdDynamicCredit) { + + String status = bsSgcYxjdDynamicCredit.getStatus(); + AsyncFactory.recordDynamicCredit(bsSgcYxjdDynamicCredit.getId(), status,bsSgcYxjdDynamicCredit.getBonusPoints()); return toAjax(bsSgcYxjdDynamicCreditService.updateById(bsSgcYxjdDynamicCredit)); } @@ -106,9 +178,8 @@ public class BsSgcYxjdDynamicCreditController extends BaseController */ @ApiOperation("动态信用删除") @Log(title = "动态信用删除", businessType = BusinessType.DELETE) - @DeleteMapping("/{ids}") - public AjaxResult remove(@PathVariable String[] ids) - { + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable String[] ids) { return toAjax(bsSgcYxjdDynamicCreditService.removeByIds(Arrays.asList(ids))); } } diff --git a/jwtech-system/src/main/java/com/kms/enterprise/domain/BsSgcYxjdCreditApproval.java b/jwtech-system/src/main/java/com/kms/enterprise/domain/BsSgcYxjdCreditApproval.java index dec35818..3b0057cf 100644 --- a/jwtech-system/src/main/java/com/kms/enterprise/domain/BsSgcYxjdCreditApproval.java +++ b/jwtech-system/src/main/java/com/kms/enterprise/domain/BsSgcYxjdCreditApproval.java @@ -68,4 +68,6 @@ public class BsSgcYxjdCreditApproval extends BaseEntity @ApiModelProperty("进度") private String owerDept; + private String status; + } diff --git a/jwtech-system/src/main/java/com/kms/framework/manager/factory/AsyncFactory.java b/jwtech-system/src/main/java/com/kms/framework/manager/factory/AsyncFactory.java index 8fbf61a4..238a6132 100644 --- a/jwtech-system/src/main/java/com/kms/framework/manager/factory/AsyncFactory.java +++ b/jwtech-system/src/main/java/com/kms/framework/manager/factory/AsyncFactory.java @@ -1,21 +1,32 @@ package com.kms.framework.manager.factory; +import cn.dev33.satoken.stp.StpUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.jianwei.aspect.LogMongoService; import com.jianwei.common.constant.Constants; +import com.jianwei.common.core.domain.entity.SysDept; +import com.jianwei.common.core.domain.entity.SysUser; import com.jianwei.common.utils.LogUtils; import com.jianwei.common.utils.ServletUtils; import com.jianwei.common.utils.SpringUtils; import com.jianwei.common.utils.ip.IpUtils; +import com.kms.common.utils.BaseEntityUtils; +import com.kms.enterprise.domain.BsSgcYxjdCreditApproval; +import com.kms.enterprise.domain.BsSgcYxjdEnterpriseInfo; +import com.kms.enterprise.service.BsSgcYxjdCreditApprovalService; +import com.kms.enterprise.service.BsSgcYxjdEnterpriseInfoService; import com.kms.system.domain.SysExceptionLog; import com.kms.system.domain.SysLogininfor; import com.kms.system.domain.SysOperLog; -import com.kms.system.service.SysExceptionLogService; -import com.kms.system.service.SysLogininforService; +import com.kms.system.domain.SysUserRole; +import com.kms.system.service.*; import eu.bitwalker.useragentutils.UserAgent; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; import java.util.Date; @@ -30,6 +41,7 @@ public class AsyncFactory { private static final Logger sys_user_logger = LoggerFactory.getLogger("sys-user"); + /** * 记录登陆信息 * @@ -139,4 +151,58 @@ public class AsyncFactory { } }; } + + + public static TimerTask recordDynamicCredit(String id,String status,String score) { + return new TimerTask() { + @Override + public void run() { + if (status.equals("1")) { + String loginId = StpUtil.getLoginIdAsString(); + SysUser user = SpringUtils.getBean(SysUserService.class).getById(loginId); + SysDept sysDept = SpringUtils.getBean(SysDeptService.class).getById(user.getDeptId()); + BsSgcYxjdCreditApproval creditApproval = new BsSgcYxjdCreditApproval(); + creditApproval.setStatus("0"); + creditApproval.setCreditId(id); + creditApproval.setProcessProgress(sysDept.getDeptName() + "-上报"); + creditApproval.setApprovalTime(new Date()); + BaseEntityUtils.preInsert(creditApproval); + SpringUtils.getBean(BsSgcYxjdCreditApprovalService.class).save(creditApproval); + } else if (status.equals("3")) { + LambdaQueryWrapper lambdaQuery = Wrappers.lambdaQuery(BsSgcYxjdCreditApproval.class); + lambdaQuery.eq(BsSgcYxjdCreditApproval::getCreditId, id); + lambdaQuery.eq(BsSgcYxjdCreditApproval::getStatus, "0"); + BsSgcYxjdCreditApproval one = SpringUtils.getBean(BsSgcYxjdCreditApprovalService.class).getOne(lambdaQuery); + one.setStatus("1"); + one.setApprovalOpinions("属实"); + SpringUtils.getBean(BsSgcYxjdCreditApprovalService.class).updateById(one); + + BsSgcYxjdCreditApproval creditApproval = new BsSgcYxjdCreditApproval(); + creditApproval.setCreditId(id); + creditApproval.setProcessProgress("审核员-公示"); + creditApproval.setApprovalTime(new Date()); + BaseEntityUtils.preInsert(creditApproval); + SpringUtils.getBean(BsSgcYxjdCreditApprovalService.class).save(creditApproval); + } else if (status.equals("5")) { + BsSgcYxjdCreditApproval creditApproval = new BsSgcYxjdCreditApproval(); + creditApproval.setCreditId(id); + creditApproval.setProcessProgress("审核员-发布"); + creditApproval.setApprovalTime(new Date()); + BaseEntityUtils.preInsert(creditApproval); + SpringUtils.getBean(BsSgcYxjdCreditApprovalService.class).save(creditApproval); + BsSgcYxjdEnterpriseInfo byId = SpringUtils.getBean(BsSgcYxjdEnterpriseInfoService.class).getById(id); + String idScore = byId.getScore(); + double v = Double.parseDouble(idScore); + byId.setScore(String.valueOf(v+Double.parseDouble(score))); + SpringUtils.getBean(BsSgcYxjdEnterpriseInfoService.class).updateById(byId); + } + + + } + }; + + + + + } }