Merge remote-tracking branch 'origin/branch20211008' into branch20211008

This commit is contained in:
梁琦涛
2021-10-14 10:42:51 +08:00
16 changed files with 168 additions and 20 deletions
@@ -69,6 +69,7 @@ public class CompanyLoginController {
Result<JSONObject> result = new Result<>();
String phone = sysLoginModel.getUsername();
String password = sysLoginModel.getPassword();
String openId = sysLoginModel.getOpenId();
String rsaPublicKey = sysLoginModel.getRsaPublicKey();
String rsaPrivateKey = String.valueOf(redisUtil.get(rsaPublicKey));
//update-begin--Author:scott Date:20190805 for:暂时注释掉密码加密逻辑,有点问题
@@ -95,6 +96,9 @@ public class CompanyLoginController {
//解密获取密码和用户名
password = CommonUtils.decryptBtRsaPriKey(password, rsaPrivateKey);
phone = CommonUtils.decryptBtRsaPriKey(phone, rsaPrivateKey);
if (StringUtils.isNotBlank(openId)){
openId = CommonUtils.decryptBtRsaPriKey(openId, rsaPrivateKey);
}
} catch (Exception e) {
e.printStackTrace();
}
@@ -145,8 +149,23 @@ public class CompanyLoginController {
//update-begin--Author:wangshuai Date:20200714 for:登录日志没有记录人员
LoginUser loginUser = new LoginUser();
BeanUtils.copyProperties(contactsManagement, loginUser);
baseCommonService.addLog("用户名: " + phone + ",登录成功!", CommonConstant.LOG_TYPE_1, null, loginUser);
baseCommonService.addLog("手机号: " + phone + ",登录成功!", CommonConstant.LOG_TYPE_1, null, loginUser);
//update-end--Author:wangshuai Date:20200714 for:登录日志没有记录人员
//绑定微信openId
if (StringUtils.isNotBlank(openId)){
LambdaQueryWrapper<PayContactsManagement> queryWrapper1 = new LambdaQueryWrapper<>();
queryWrapper1.eq(PayContactsManagement::getOpenId, PasswordUtil.encrypt(openId));
PayContactsManagement contactsManagement1 = payContactsManagementService.getOne(queryWrapper1);
//没有绑定过就绑定
if (contactsManagement1 == null){
contactsManagement.setOpenId(PasswordUtil.encrypt(openId));
contactsManagement.setPhone(PasswordUtil.encrypt(phone));
payContactsManagementService.updateById(contactsManagement);
//绑定过就判断是否是当前用户,如果不是就报错
}else if (!Objects.equals(contactsManagement1.getPhone(),PasswordUtil.encrypt(phone))){
throw new JeroBootException("微信已经绑定过其他账号");
}
}
return result;
}
@@ -155,16 +174,15 @@ public class CompanyLoginController {
public Result<JSONObject> smsLogin(@RequestBody SysLoginModel sysLoginModel) {
Result<JSONObject> result = new Result<>();
String phone = sysLoginModel.getUsername();
String openId = sysLoginModel.getOpenId();
String rsaPublicKey = sysLoginModel.getRsaPublicKey();
String rsaPrivateKey = String.valueOf(redisUtil.get(rsaPublicKey));
//update-begin--Author:scott Date:20190805 for:暂时注释掉密码加密逻辑,有点问题
//前端密码加密,后端进行密码解密
//password = AesEncryptUtil.desEncrypt(sysLoginModel.getPassword().replaceAll("%2B", "\\+")).trim();//密码解密
//update-begin--Author:scott Date:20190805 for:暂时注释掉密码加密逻辑,有点问题
//update-begin-author:taoyan date:20190828 for:校验验证码
try {
//解密获取密码和用户名
//解密获取手机号和openId
phone = CommonUtils.decryptBtRsaPriKey(phone, rsaPrivateKey);
if (StringUtils.isNotBlank(openId)){
openId = CommonUtils.decryptBtRsaPriKey(openId, rsaPrivateKey);
}
} catch (Exception e) {
e.printStackTrace();
}
@@ -196,14 +214,65 @@ public class CompanyLoginController {
//update-begin--Author:wangshuai Date:20200714 for:登录日志没有记录人员
LoginUser loginUser = new LoginUser();
BeanUtils.copyProperties(contactsManagement, loginUser);
baseCommonService.addLog("用户名: " + phone + ",登录成功!", CommonConstant.LOG_TYPE_1, null, loginUser);
baseCommonService.addLog("手机号: " + phone + ",登录成功!", CommonConstant.LOG_TYPE_1, null, loginUser);
//update-end--Author:wangshuai Date:20200714 for:登录日志没有记录人员
//绑定微信openId
if (StringUtils.isNotBlank(openId)){
LambdaQueryWrapper<PayContactsManagement> queryWrapper1 = new LambdaQueryWrapper<>();
queryWrapper1.eq(PayContactsManagement::getOpenId, PasswordUtil.encrypt(openId));
PayContactsManagement contactsManagement1 = payContactsManagementService.getOne(queryWrapper1);
//没有绑定过就绑定
if (contactsManagement1 == null){
contactsManagement.setOpenId(PasswordUtil.encrypt(openId));
contactsManagement.setPhone(PasswordUtil.encrypt(phone));
payContactsManagementService.updateById(contactsManagement);
//绑定过就判断是否是当前用户,如果不是就报错
}else if (!Objects.equals(contactsManagement1.getPhone(),PasswordUtil.encrypt(phone))){
throw new JeroBootException("微信已经绑定过其他账号");
}
}
//如果没有密码,返回
if (Objects.isNull(contactsManagement.getPassword())){
result.setMessage("updatePassword");
}
return result;
}
@ApiOperation("微信登录接口")
@PostMapping(value = "/WCLogin")
public Result<JSONObject> WCLogin(@RequestBody SysLoginModel sysLoginModel) {
Result<JSONObject> result = new Result<>();
String openId = sysLoginModel.getOpenId();
String rsaPublicKey = sysLoginModel.getRsaPublicKey();
String rsaPrivateKey = String.valueOf(redisUtil.get(rsaPublicKey));
try {
//解密获取openId
if (StringUtils.isNotBlank(openId)){
openId = CommonUtils.decryptBtRsaPriKey(openId, rsaPrivateKey);
}
} catch (Exception e) {
e.printStackTrace();
}
//1. 校验用户是否有效
LambdaQueryWrapper<PayContactsManagement> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(PayContactsManagement::getOpenId, PasswordUtil.encrypt(openId));
PayContactsManagement contactsManagement = payContactsManagementService.getOne(queryWrapper);
if (Objects.isNull(contactsManagement)) {
throw new JeroBootException("暂未授权");
}
//用户登录信息
userInfo(contactsManagement, result);
//update-begin--Author:wangshuai Date:20200714 for:登录日志没有记录人员
LoginUser loginUser = new LoginUser();
BeanUtils.copyProperties(contactsManagement, loginUser);
baseCommonService.addLog("手机号: " + contactsManagement.getPhone() + ",登录成功!", CommonConstant.LOG_TYPE_1, null, loginUser);
//update-end--Author:wangshuai Date:20200714 for:登录日志没有记录人员
return result;
}
/**
* 退出登录
*
@@ -121,6 +121,13 @@ public class PayContactsManagement implements Serializable {
*/
@JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
private String salt;
/**
* openId
*/
@JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
private String openId;
/**
* 审核状态(1:通过,2:待审核)财务人员添加企业不需要审核默认是通过状态
*/
@@ -46,8 +46,11 @@ import com.jero.project.entity.PayWorkingGroupSubItem;
import com.jero.project.mapper.PayCommonProjectMapper;
import com.jero.project.mapper.PayWorkingGroupMapper;
import com.jero.project.mapper.PayWorkingGroupSubItemMapper;
import com.jero.temporary.entity.PayCompanyManagementTemporary;
import com.jero.temporary.service.IPayCompanyManagementTemporaryService;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@@ -96,6 +99,8 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
private PayMailBillProjectMapper payMailBillProjectMapper;
@Resource
PayCompanyManagementMapper payCompanyManagementMapper;
@Autowired
private IPayCompanyManagementTemporaryService payCompanyManagementTemporaryService;
@Override
public List<PayMailBill> selectMailBillVO(String projectId) {
@@ -131,7 +136,7 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
//票据关联项目表
List<PayMailBillProject> bmpList = payMailBill.getBmpList();
//校验不同项目是否属于同一个公司,开票金额是否大于当前欠未开票金额
//校验不同项目是否属于同一个公司,开票金额是否大于当前欠未开票金额,企业名称是否审核
String res = checkCompanyProject(bmpList);
if (!"success".equals(res)) {
return Result.error(res);
@@ -276,7 +281,7 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
}
//校验不同项目是否属于同一个公司,开票金额是否大于当前欠未开票金额
//校验不同项目是否属于同一个公司,开票金额是否大于当前欠未开票金额,企业名称是否审核
private String checkCompanyProject(List<PayMailBillProject> bmpList) {
String standardCompanyId = null;//基准公司id
@@ -398,8 +403,8 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
break;
}
PayCompanyManagement payCompanyManagement = payCompanyManagementMapper.selectById(standardCompanyId);
if(2 == payCompanyManagement.getStatus()){
PayCompanyManagementTemporary payCompanyManagement = payCompanyManagementTemporaryService.getById(standardCompanyId);
if("2".equals(payCompanyManagement.getStatus()) ){
return "企业名称未审核,需要审核后开票";
}
}
@@ -73,8 +73,12 @@ public class CommitteeMeetingSituationController extends JeroController<PayMeeti
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
HttpServletRequest req) {
QueryWrapper<PayMeetingSituation> queryWrapper = QueryGenerator.initQueryWrapper(payMeetingSituation, req.getParameterMap());
String particularYear = req.getParameter("particularYear");
if (StringUtils.isNotBlank(particularYear)){
queryWrapper.eq("DATE_FORMAT( ppr.payment_date, '%Y' )",particularYear);
}
Page<PayMeetingSituation> page = new Page<>(pageNo, pageSize);
IPage<PayMeetingSituation> pageList = payMeetingSituationService.page(page, queryWrapper);
IPage<PayMeetingSituation> pageList = payMeetingSituationService.pageListContract(page, queryWrapper);
List<PayMeetingSituation> situationList = pageList.getRecords();
for (PayMeetingSituation meetingSituation : situationList) {
Integer payMode = meetingSituation.getPayMode();
@@ -73,8 +73,12 @@ public class InternalMeetingSituationController extends JeroController<PayMeetin
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
HttpServletRequest req) {
QueryWrapper<PayMeetingSituation> queryWrapper = QueryGenerator.initQueryWrapper(payMeetingSituation, req.getParameterMap());
String particularYear = req.getParameter("particularYear");
if (StringUtils.isNotBlank(particularYear)){
queryWrapper.eq("DATE_FORMAT( ppr.payment_date, '%Y' )",particularYear);
}
Page<PayMeetingSituation> page = new Page<>(pageNo, pageSize);
IPage<PayMeetingSituation> pageList = payMeetingSituationService.page(page, queryWrapper);
IPage<PayMeetingSituation> pageList = payMeetingSituationService.pageListContract(page, queryWrapper);
List<PayMeetingSituation> situationList = pageList.getRecords();
for (PayMeetingSituation meetingSituation : situationList) {
Integer payMode = meetingSituation.getPayMode();
@@ -73,8 +73,12 @@ public class OtherMeetingSituationController extends JeroController<PayMeetingSi
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
HttpServletRequest req) {
QueryWrapper<PayMeetingSituation> queryWrapper = QueryGenerator.initQueryWrapper(payMeetingSituation, req.getParameterMap());
String particularYear = req.getParameter("particularYear");
if (StringUtils.isNotBlank(particularYear)){
queryWrapper.eq("DATE_FORMAT( ppr.payment_date, '%Y' )",particularYear);
}
Page<PayMeetingSituation> page = new Page<>(pageNo, pageSize);
IPage<PayMeetingSituation> pageList = payMeetingSituationService.page(page, queryWrapper);
IPage<PayMeetingSituation> pageList = payMeetingSituationService.pageListContract(page, queryWrapper);
List<PayMeetingSituation> situationList = pageList.getRecords();
for (PayMeetingSituation meetingSituation : situationList) {
Integer payMode = meetingSituation.getPayMode();
@@ -74,8 +74,12 @@ public class PayMeetingSituationController extends JeroController<PayMeetingSitu
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
HttpServletRequest req) {
QueryWrapper<PayMeetingSituation> queryWrapper = QueryGenerator.initQueryWrapper(payMeetingSituation, req.getParameterMap());
String particularYear = req.getParameter("particularYear");
if (StringUtils.isNotBlank(particularYear)){
queryWrapper.eq("DATE_FORMAT( ppr.payment_date, '%Y' )",particularYear);
}
Page<PayMeetingSituation> page = new Page<>(pageNo, pageSize);
IPage<PayMeetingSituation> pageList = payMeetingSituationService.page(page, queryWrapper);
IPage<PayMeetingSituation> pageList = payMeetingSituationService.pageListContract(page, queryWrapper);
List<PayMeetingSituation> situationList = pageList.getRecords();
for (PayMeetingSituation meetingSituation : situationList) {
Integer payMode = meetingSituation.getPayMode();
@@ -73,8 +73,12 @@ public class StandardsMeetingSituationController extends JeroController<PayMeeti
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
HttpServletRequest req) {
QueryWrapper<PayMeetingSituation> queryWrapper = QueryGenerator.initQueryWrapper(payMeetingSituation, req.getParameterMap());
String particularYear = req.getParameter("particularYear");
if (StringUtils.isNotBlank(particularYear)){
queryWrapper.eq("DATE_FORMAT( ppr.payment_date, '%Y' )",particularYear);
}
Page<PayMeetingSituation> page = new Page<>(pageNo, pageSize);
IPage<PayMeetingSituation> pageList = payMeetingSituationService.page(page, queryWrapper);
IPage<PayMeetingSituation> pageList = payMeetingSituationService.pageListContract(page, queryWrapper);
List<PayMeetingSituation> situationList = pageList.getRecords();
for (PayMeetingSituation meetingSituation : situationList) {
Integer payMode = meetingSituation.getPayMode();
@@ -73,8 +73,12 @@ public class WorkGroupMeetingSituationController extends JeroController<PayMeeti
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
HttpServletRequest req) {
QueryWrapper<PayMeetingSituation> queryWrapper = QueryGenerator.initQueryWrapper(payMeetingSituation, req.getParameterMap());
String particularYear = req.getParameter("particularYear");
if (StringUtils.isNotBlank(particularYear)){
queryWrapper.eq("DATE_FORMAT( ppr.payment_date, '%Y' )",particularYear);
}
Page<PayMeetingSituation> page = new Page<>(pageNo, pageSize);
IPage<PayMeetingSituation> pageList = payMeetingSituationService.page(page, queryWrapper);
IPage<PayMeetingSituation> pageList = payMeetingSituationService.pageListContract(page, queryWrapper);
List<PayMeetingSituation> situationList = pageList.getRecords();
for (PayMeetingSituation meetingSituation : situationList) {
Integer payMode = meetingSituation.getPayMode();
@@ -1,6 +1,9 @@
package com.jero.meeting.mapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jero.meeting.vo.MeetingSituationContractVO;
import org.apache.ibatis.annotations.Param;
@@ -16,4 +19,8 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
public interface PayMeetingSituationMapper extends BaseMapper<PayMeetingSituation> {
Page<MeetingSituationContractVO> contractPage(Page<MeetingSituationContractVO> page, @Param("param") MeetingSituationContractVO vo);
IPage<PayMeetingSituation> pageListContract(Page<PayMeetingSituation> page,
@Param(Constants.WRAPPER) QueryWrapper<PayMeetingSituation> queryWrapper);
}
@@ -151,4 +151,11 @@
and pica.id is null
</where>
</select>
<select id="pageListContract" resultMap="PayMeetingSituationResultMap">
select pms.*
from pay_meeting_situation pms
left JOIN pay_payment_record ppr ON ppr.project_id = pms.id
${ew.customSqlSegment}
</select>
</mapper>
@@ -1,5 +1,7 @@
package com.jero.meeting.service;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jero.meeting.entity.PayMeetingSituation;
import com.baomidou.mybatisplus.extension.service.IService;
@@ -70,4 +72,6 @@ public interface IPayMeetingSituationService extends IService<PayMeetingSituatio
PayMeetingSituation queryByMeetingIdAndContactId(String meetingId);
void editTerminal(PayMeetingSituationVO payMeetingSituationVO);
IPage<PayMeetingSituation> pageListContract(Page<PayMeetingSituation> page, QueryWrapper<PayMeetingSituation> queryWrapper);
}
@@ -6,6 +6,8 @@ import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jero.common.common.ProjectCommon;
import com.jero.common.dto.SendMessageDTO;
@@ -660,6 +662,11 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
updateById(payMeetingSituation);
}
@Override
public IPage<PayMeetingSituation> pageListContract(Page<PayMeetingSituation> page, QueryWrapper<PayMeetingSituation> queryWrapper) {
return baseMapper.pageListContract(page,queryWrapper);
}
/**
* 更新
*/
@@ -12,8 +12,8 @@ import java.math.BigDecimal;
@Data
public class CommitteeMeetingExcel {
/**分标委名称项目名称*/
@Excel(name = "分标委名称项目名称", width = 15)
/**分标委名称*/
@Excel(name = "分标委名称", width = 15)
private String caseCommitteeName;
/**会议名称*/
@@ -26,6 +26,7 @@ import com.jero.project.mapper.PayWorkingGroupSubItemMapper;
import com.jero.common.util.AuthenticationUtils;
import com.jero.project.vo.PayCommonProjectOutput;
import org.apache.commons.beanutils.PropertyUtils;
import org.apache.commons.lang3.StringUtils;
import org.jeecgframework.poi.excel.def.NormalExcelConstants;
import org.jeecgframework.poi.excel.entity.ExportParams;
import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
@@ -78,6 +79,14 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl<PayPaymentRecordMap
*/
@Override
public List<PayCommonProject> mainList(Page page, PayCommonProject payCommonProject,String projectType,String paymentDate){
//如果前端传来模糊查询的字段有%,就替换掉它
if(!StringUtils.isBlank(payCommonProject.getChargeProject())){
payCommonProject.setChargeProject(oConvertUtils.replaceAllPercent(payCommonProject.getChargeProject()));
}
if(!StringUtils.isBlank(payCommonProject.getChargeCompanyTemporaryName())){
payCommonProject.setChargeCompanyTemporaryName(oConvertUtils.replaceAllPercent(payCommonProject.getChargeCompanyTemporaryName()));
}
return payPaymentRecordMapper.mainList(page, payCommonProject,projectType, paymentDate);
}
@@ -499,6 +508,13 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl<PayPaymentRecordMap
public ModelAndView exportXls(HttpServletRequest request, PayCommonProject payCommonProject,String projectType,String paymentDate, Class<PayCommonProjectOutput> clazz, String title) {
// Step.2 获取导出数据
//如果前端传来模糊查询的字段有%,就替换掉它
if(!StringUtils.isBlank(payCommonProject.getChargeProject())){
payCommonProject.setChargeProject(oConvertUtils.replaceAllPercent(payCommonProject.getChargeProject()));
}
if(!StringUtils.isBlank(payCommonProject.getChargeCompanyTemporaryName())){
payCommonProject.setChargeCompanyTemporaryName(oConvertUtils.replaceAllPercent(payCommonProject.getChargeCompanyTemporaryName()));
}
List<PayCommonProjectOutput> pageList=payPaymentRecordMapper.mainListExportXls(payCommonProject, projectType,paymentDate);
pageList.forEach(p-> {
if (!Objects.isNull(p.getChargeUse())) {
@@ -27,4 +27,6 @@ public class SysLoginModel {
private String checkKey;
@ApiModelProperty(value = "RSA公钥")
private String rsaPublicKey;
@ApiModelProperty(value = "openId")
private String openId;
}