From 9272f9a890037dd153e7d237bd60c8057a1536eb Mon Sep 17 00:00:00 2001
From: mx <1289317512@qq.com>
Date: Thu, 31 Oct 2024 10:49:37 +0800
Subject: [PATCH] =?UTF-8?q?=E6=B6=88=E6=81=AF=E9=80=9A=E7=9F=A5?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
doc/report.ftl | 2 +-
.../pusong/web/controller/AuthController.java | 7 +-
.../com/pusong/web/domain/vo/LoginVo.java | 5 +
.../web/service/impl/WxAuthStrategy.java | 42 ++-
.../common/core/service/OssService.java | 2 +
pusong-common/pusong-common-doc/pom.xml | 10 +-
.../com/pusong/common/doc/util/PdfItext.java | 11 +-
.../handler/PlusWebSocketHandler.java | 1 +
.../business/controller/HomeController.java | 88 +++---
.../controller/PsCompanyInfoController.java | 2 +-
.../controller/PsContractInfoController.java | 11 +-
.../controller/PsCustomController.java | 46 ++-
.../business/controller/PsHomeController.java | 7 +
.../PsTaskWorkRecordController.java | 12 +
.../pusong/business/domain/PsCustomInfo.java | 5 +
.../domain/bo/PsContractInfoQueryBo.java | 2 +-
.../business/domain/bo/PsCustomInfoBo.java | 12 +
.../business/domain/bo/PsCustomInfoWebBo.java | 58 ++++
.../business/domain/bo/PsTaskQueryBo.java | 4 +
.../domain/bo/PsTaskWorkRecordBo.java | 12 +
.../domain/vo/PsContractBusinessDetailVo.java | 1 +
.../business/domain/vo/PsContractInfoVo.java | 2 +-
.../business/domain/vo/PsCustomInfoVo.java | 5 +
.../business/domain/vo/PsTaskMainVo.java | 6 +
.../domain/vo/home/RenewalInfoVo.java | 52 ++++
.../domain/vo/home/UserContractAmountVo.java | 14 +-
.../mapper/PsContractBusinessMapper.java | 3 +
.../business/mapper/PsContractInfoMapper.java | 5 +
.../pusong/business/service/HomeService.java | 8 +-
.../business/service/IPsTaskService.java | 3 +
.../service/IPsTaskWorkRecordService.java | 2 +-
.../impl/FreeApproverServiceImpl.java | 10 +-
.../impl/PayContractApproverServiceImpl.java | 29 +-
.../impl/PublicApproverServiceImpl.java | 5 +
.../impl/ReturnApproverServiceImpl.java | 12 +
.../impl/RolbackApproverServiceImpl.java | 11 +-
.../impl/SignApproverServiceImpl.java | 8 +-
.../UpdateContractApproverServiceImpl.java | 8 +-
.../service/impl/HomeServiceImpl.java | 107 ++++---
.../impl/PsApproverRecordServiceImpl.java | 4 +-
.../impl/PsContractInfoServiceImpl.java | 35 ++-
.../impl/PsContractPayServiceImpl.java | 12 +
.../service/impl/PsCustomInfoServiceImpl.java | 33 +-
.../service/impl/PsTaskServiceImpl.java | 72 +++--
.../impl/PsTaskWorkRecordServiceImpl.java | 23 +-
.../business/PsContractBusinessMapper.xml | 8 +
.../mapper/business/PsContractInfoMapper.xml | 9 +
.../mapper/business/PsTaskMainMapper.xml | 1 +
.../main/java/com/pusong/system/RoleEnum.java | 28 ++
.../controller/system/SysOssController.java | 12 +
.../com/pusong/system/domain/SysNotice.java | 17 ++
.../pusong/system/domain/bo/SysNoticeBo.java | 289 ++++++++++++++++++
.../pusong/system/domain/bo/SysUserBo.java | 5 +
.../pusong/system/domain/vo/SysUserVo.java | 7 +
.../pusong/system/mapper/SysUserMapper.java | 1 +
.../system/service/ISysNoticeService.java | 1 +
.../service/impl/SysNoticeServiceImpl.java | 54 ++++
.../service/impl/SysOssServiceImpl.java | 14 +
.../service/impl/SysUserServiceImpl.java | 1 +
.../resources/mapper/system/SysUserMapper.xml | 8 +-
script/sql/after.sql | 6 +
61 files changed, 1107 insertions(+), 163 deletions(-)
create mode 100644 pusong-modules/pusong-business/src/main/java/com/pusong/business/domain/bo/PsCustomInfoWebBo.java
create mode 100644 pusong-modules/pusong-business/src/main/java/com/pusong/business/domain/vo/home/RenewalInfoVo.java
create mode 100644 pusong-modules/pusong-system/src/main/java/com/pusong/system/RoleEnum.java
diff --git a/doc/report.ftl b/doc/report.ftl
index 1fa52b5..6225958 100644
--- a/doc/report.ftl
+++ b/doc/report.ftl
@@ -268,7 +268,7 @@
乙方名称(签章): ${main.name?if_exists}
乙方纳税人识别号: ${main.customer_num?if_exists}
-
联系人: ${user.nickname?if_exists}
+
联系人: ${user.nickName?if_exists}
联系方式: ${user.phonenumber?if_exists}
签约日期: ${contract.applyDate?string('yyyy年MM月dd日')}
<#-- 年
diff --git a/pusong-admin/src/main/java/com/pusong/web/controller/AuthController.java b/pusong-admin/src/main/java/com/pusong/web/controller/AuthController.java
index 3569ce4..f02d7a3 100644
--- a/pusong-admin/src/main/java/com/pusong/web/controller/AuthController.java
+++ b/pusong-admin/src/main/java/com/pusong/web/controller/AuthController.java
@@ -19,7 +19,6 @@ import com.pusong.common.core.domain.R;
import com.pusong.common.core.domain.model.LoginBody;
import com.pusong.common.core.domain.model.RegisterBody;
import com.pusong.common.core.domain.model.SocialLoginBody;
-import com.pusong.common.core.utils.*;
import com.pusong.common.encrypt.annotation.ApiEncrypt;
import com.pusong.common.json.utils.JsonUtils;
import com.pusong.common.satoken.utils.LoginHelper;
@@ -40,7 +39,6 @@ import com.pusong.web.domain.vo.LoginTenantVo;
import com.pusong.web.domain.vo.LoginVo;
import com.pusong.web.domain.vo.TenantListVo;
import com.pusong.web.service.SysLoginService;
-import com.pusong.common.core.utils.*;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@@ -80,7 +78,7 @@ public class AuthController {
* @param body 登录信息
* @return 结果
*/
- @ApiEncrypt
+// @ApiEncrypt
@PostMapping("/login")
public R login(@RequestBody String body) {
LoginBody loginBody = JsonUtils.parseObject(body, LoginBody.class);
@@ -100,6 +98,9 @@ public class AuthController {
loginService.checkTenant(loginBody.getTenantId());
// 登录
LoginVo loginVo = IAuthStrategy.login(body, client, grantType);
+ if (loginVo.getOpenid() != null){
+ return R.ok(loginVo);
+ }
Long userId = LoginHelper.getUserId();
scheduledExecutorService.schedule(() -> {
diff --git a/pusong-admin/src/main/java/com/pusong/web/domain/vo/LoginVo.java b/pusong-admin/src/main/java/com/pusong/web/domain/vo/LoginVo.java
index 48348dc..9a0c83c 100644
--- a/pusong-admin/src/main/java/com/pusong/web/domain/vo/LoginVo.java
+++ b/pusong-admin/src/main/java/com/pusong/web/domain/vo/LoginVo.java
@@ -51,4 +51,9 @@ public class LoginVo {
*/
private String openid;
+ /**
+ * 1时需要后台开通 2需要手机号授权登录,null时登录成功
+ */
+ private Integer code;
+
}
diff --git a/pusong-admin/src/main/java/com/pusong/web/service/impl/WxAuthStrategy.java b/pusong-admin/src/main/java/com/pusong/web/service/impl/WxAuthStrategy.java
index df50132..46a27e0 100644
--- a/pusong-admin/src/main/java/com/pusong/web/service/impl/WxAuthStrategy.java
+++ b/pusong-admin/src/main/java/com/pusong/web/service/impl/WxAuthStrategy.java
@@ -11,6 +11,7 @@ import com.pusong.common.core.domain.model.LoginUser;
import com.pusong.common.core.domain.model.WxLoginBody;
import com.pusong.common.core.enums.LoginType;
import com.pusong.common.core.enums.UserStatus;
+import com.pusong.common.core.exception.ServiceException;
import com.pusong.common.core.exception.user.CaptchaExpireException;
import com.pusong.common.core.exception.user.UserException;
import com.pusong.common.core.utils.MessageUtils;
@@ -52,11 +53,17 @@ public class WxAuthStrategy implements IAuthStrategy {
WxLoginBody loginBody = JsonUtils.parseObject(body, WxLoginBody.class);
ValidatorUtils.validate(loginBody);
String tenantId = loginBody.getTenantId();
- String loginCode = loginBody.getLoginCode();
- String phoneCode = loginBody.getPhoneCode();
+// String loginCode = loginBody.getLoginCode();
+// String phoneCode = loginBody.getPhoneCode();
// 通过邮箱查找用户
SysUserVo user = loadUserByWx(tenantId, loginBody);
+ if (user.getCode() != null){
+ LoginVo loginVo = new LoginVo();
+ loginVo.setOpenid(user.getOpenid());
+ loginVo.setCode(user.getCode());
+ return loginVo;
+ }
// loginService.checkLogin(LoginType.EMAIL, tenantId, user.getUserName(), () -> !validateEmailCode(tenantId, email, emailCode));
// 此处可根据登录用户的数据不同 自行创建 loginUser 属性不够用继承扩展就行了
@@ -109,23 +116,30 @@ public class WxAuthStrategy implements IAuthStrategy {
SysUserVo user = null;
if (phoneNumber == null){
user = userMapper.selectVoOne(new LambdaQueryWrapper()
- .eq(phoneNumber == null, SysUser::getOpenid, openid));
- if (user == null){
- return null;
- }
+ .eq(SysUser::getOpenid, openid));
}else{
-
+ user = userMapper.selectVoOne(new LambdaQueryWrapper()
+ .eq(SysUser::getPhonenumber, phoneNumber));
+ if (user != null){
+ SysUser update = new SysUser();
+ update.setUserId(user.getUserId());
+ update.setOpenid(openid);
+ userMapper.updateOpenIdById(update);
+ }else{
+ SysUserVo ret = new SysUserVo();
+ ret.setCode(1);
+ return ret;
+ }
}
-
- user = userMapper.selectVoOne(new LambdaQueryWrapper()
- .eq(phoneNumber == null, SysUser::getOpenid, openid)
- .eq(phoneNumber != null, SysUser::getPhonenumber, phoneNumber))
- ;
if (ObjectUtil.isNull(user)) {
-
+ SysUserVo ret = new SysUserVo();
+ ret.setOpenid(openid);
+ ret.setCode(2);
+ return ret;
} else if (UserStatus.DISABLE.getCode().equals(user.getStatus())) {
-
+ log.info("登录用户:{} 已被停用.");
+ throw new UserException("user.blocked");
}
return user;
});
diff --git a/pusong-common/pusong-common-core/src/main/java/com/pusong/common/core/service/OssService.java b/pusong-common/pusong-common-core/src/main/java/com/pusong/common/core/service/OssService.java
index bdf7c17..2251679 100644
--- a/pusong-common/pusong-common-core/src/main/java/com/pusong/common/core/service/OssService.java
+++ b/pusong-common/pusong-common-core/src/main/java/com/pusong/common/core/service/OssService.java
@@ -26,4 +26,6 @@ public interface OssService {
* @return 列表
*/
List selectByIds(String ossIds);
+
+ OssDTO selectById(Long ossId);
}
diff --git a/pusong-common/pusong-common-doc/pom.xml b/pusong-common/pusong-common-doc/pom.xml
index f820ebb..a755269 100644
--- a/pusong-common/pusong-common-doc/pom.xml
+++ b/pusong-common/pusong-common-doc/pom.xml
@@ -78,11 +78,11 @@
com.alibaba
fastjson
-
- org.apache.tomcat.embed
- tomcat-embed-core
- 10.1.24
-
+
+
+
+
+
com.alibaba
easyexcel-support
diff --git a/pusong-common/pusong-common-doc/src/main/java/com/pusong/common/doc/util/PdfItext.java b/pusong-common/pusong-common-doc/src/main/java/com/pusong/common/doc/util/PdfItext.java
index 40bb0c5..fc4c984 100644
--- a/pusong-common/pusong-common-doc/src/main/java/com/pusong/common/doc/util/PdfItext.java
+++ b/pusong-common/pusong-common-doc/src/main/java/com/pusong/common/doc/util/PdfItext.java
@@ -4,7 +4,6 @@ import com.itextpdf.html2pdf.ConverterProperties;
import com.itextpdf.html2pdf.HtmlConverter;
import com.itextpdf.html2pdf.resolver.font.DefaultFontProvider;
import com.itextpdf.layout.font.FontProvider;
-import org.apache.tomcat.util.http.fileupload.IOUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.core.io.ClassPathResource;
@@ -19,7 +18,7 @@ import java.io.*;
* @Description:
*/
public class PdfItext {
- Logger log = LoggerFactory.getLogger(PdfItext.class);
+ static final Logger log = LoggerFactory.getLogger(PdfItext.class);
/**
* @param templatePath 模板全路径
@@ -54,8 +53,6 @@ public class PdfItext {
public static void main(String[] args) throws Exception {
//模板内容填充参数
Context context = new Context();
-// context.setVariable("name2", "晨曦话java");
-// context.setVariable("name1", "晨曦话三国");
PdfItext.htmlToPdf("C:\\Users\\Administrator\\Desktop\\aa.html", "C:\\Users\\Administrator\\Downloads\\", "temp.pdf", context);
}
@@ -110,10 +107,12 @@ public class PdfItext {
outStream.write(buffer);
return file.getAbsolutePath();
} finally {
- IOUtils.closeQuietly(inputStream);
+ if (inputStream != null){
+ inputStream.close();
+ }
}
} catch (Exception e) {
- System.out.println("FileUtil getFilePath Fail cause by:"+ e);
+ log.error("FileUtil getFilePath Fail cause by:", e);
}
return null;
}
diff --git a/pusong-common/pusong-common-websocket/src/main/java/com/pusong/common/websocket/handler/PlusWebSocketHandler.java b/pusong-common/pusong-common-websocket/src/main/java/com/pusong/common/websocket/handler/PlusWebSocketHandler.java
index a5665f9..935a845 100644
--- a/pusong-common/pusong-common-websocket/src/main/java/com/pusong/common/websocket/handler/PlusWebSocketHandler.java
+++ b/pusong-common/pusong-common-websocket/src/main/java/com/pusong/common/websocket/handler/PlusWebSocketHandler.java
@@ -48,6 +48,7 @@ public class PlusWebSocketHandler extends AbstractWebSocketHandler {
// 从WebSocket会话中获取登录用户信息
LoginUser loginUser = (LoginUser) session.getAttributes().get(WebSocketConstants.LOGIN_USER_KEY);
+
// 创建WebSocket消息DTO对象
WebSocketMessageDto webSocketMessageDto = new WebSocketMessageDto();
webSocketMessageDto.setSessionKeys(List.of(loginUser.getUserId()));
diff --git a/pusong-modules/pusong-business/src/main/java/com/pusong/business/controller/HomeController.java b/pusong-modules/pusong-business/src/main/java/com/pusong/business/controller/HomeController.java
index d022a63..cc10af9 100644
--- a/pusong-modules/pusong-business/src/main/java/com/pusong/business/controller/HomeController.java
+++ b/pusong-modules/pusong-business/src/main/java/com/pusong/business/controller/HomeController.java
@@ -20,6 +20,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
+import java.util.Collection;
import java.util.Map;
import java.util.List;
@@ -50,6 +51,14 @@ public class HomeController extends BaseController {
return R.ok(homeService.selectMakeAmount(type));
}
+ /**
+ * 本月到期续费统计
+ */
+ @SaCheckPermission("business:salary:list")
+ @GetMapping("/renewal")
+ public R renewal(@RequestParam() Integer type) {
+ return R.ok(homeService.renewal(type));
+ }
/**
* 首页大盘数据:回款情况
* @param type 1本月 2上月 3本季度 4本年 5所有
@@ -61,37 +70,7 @@ public class HomeController extends BaseController {
return R.ok(homeService.returnMoney(type));
}
- /**
- * 首页大盘数据:人员成交数据列表
- * @param type 1本月 2上月 3本季度 4本年 5所有
- * @return
- */
- @SaCheckPermission("business:salary:list")
- @GetMapping("/getUserContractAmounts")
- public R getUserContractAmounts(@RequestParam() Integer type, @RequestParam() Long deptId) {
- return R.ok(homeService.getUserContractAmountsByDeptId(type,deptId));
- }
- /**
- * 首页大盘数据:人员转介绍成交数据列表
- * @param type 1本月 2上月 3本季度 4本年 5所有
- * @return
- */
- @SaCheckPermission("business:salary:list")
- @GetMapping("/getUserContractSourceAmounts")
- public R