手机号、邮箱加密

This commit is contained in:
梁琦涛
2021-09-02 14:25:05 +08:00
parent cc1b30616f
commit 797ec35257
16 changed files with 312 additions and 103 deletions
@@ -0,0 +1,18 @@
package com.jero.common.service;
import com.alibaba.fastjson.JSONObject;
public interface ProjectDetailService {
/**
* @Description 获取企业信息,联系人信息,到账信息,开票邮寄记录
* @Author lqt
* @Date 2021/9/2
* @Param projectId项目id
* @Param companyId 企业id
* @Param contactsId 联系人id
* @Return
* @Exception
*/
JSONObject getProjectDetail(String projectId,String companyId,String contactsId);
}
@@ -0,0 +1,54 @@
package com.jero.common.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.jero.common.exception.JeroBootException;
import com.jero.common.service.ProjectDetailService;
import com.jero.mail.entity.PayMailBill;
import com.jero.mail.service.IPayMailBillService;
import com.jero.payment.entity.PayPaymentRecord;
import com.jero.payment.service.IPayPaymentRecordService;
import com.jero.temporary.entity.PayCompanyManagementTemporary;
import com.jero.temporary.entity.PayContactsManagementTemporary;
import com.jero.temporary.service.IPayCompanyManagementTemporaryService;
import com.jero.temporary.service.IPayContactsManagementTemporaryService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class ProjectDetailServiceImpl implements ProjectDetailService {
@Autowired
IPayCompanyManagementTemporaryService payCompanyManagementTemporaryService;
@Autowired
IPayContactsManagementTemporaryService payContactsManagementTemporaryService;
@Autowired
IPayPaymentRecordService payPaymentRecordService;
@Autowired
IPayMailBillService payMailBillService;
@Override
public JSONObject getProjectDetail(String projectId, String companyId, String contactsId) {
if(StringUtils.isBlank(projectId) || StringUtils.isBlank(companyId) || StringUtils.isBlank(contactsId)){
throw new JeroBootException("项目id、企业id、联系人id不能为空!");
}
JSONObject json = new JSONObject();
// 企业信息
PayCompanyManagementTemporary payCompanyManagementTemporary = payCompanyManagementTemporaryService.getById(companyId);
json.put("company",payCompanyManagementTemporary);
// 联系人信息
PayContactsManagementTemporary payContactsManagementTemporary = payContactsManagementTemporaryService.getById(contactsId);
json.put("contacts",payContactsManagementTemporary);
// 到账信息
LambdaQueryWrapper<PayPaymentRecord> queryWrapperPayPaymentRecord = new LambdaQueryWrapper<>();
queryWrapperPayPaymentRecord.eq(PayPaymentRecord::getProjectId,projectId);
List<PayPaymentRecord> payPaymentRecordList = payPaymentRecordService.list(queryWrapperPayPaymentRecord);
json.put("paymentRecord",payPaymentRecordList);
// 开票邮寄记录
List<PayMailBill> listMailBillVO = payMailBillService.selectMailBillVO(projectId);
json.put("mailBill",listMailBillVO);
return json;
}
}
@@ -13,17 +13,25 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jero.common.api.vo.Result;
import com.jero.common.system.base.controller.JeroController;
import com.jero.common.system.query.QueryGenerator;
import com.jero.common.system.vo.LoginUser;
import com.jero.common.util.PasswordUtil;
import com.jero.common.util.ValidUtil;
import com.jero.common.util.oConvertUtils;
import com.jero.company.common.PayCompanyManagementCommon;
import com.jero.company.entity.PayCompanyManagement;
import com.jero.company.service.IPayCompanyManagementService;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import lombok.extern.slf4j.Slf4j;
import org.apache.shiro.SecurityUtils;
import org.jeecgframework.poi.excel.ExcelImportCheckUtil;
import org.jeecgframework.poi.excel.ExcelImportUtil;
import org.jeecgframework.poi.excel.def.NormalExcelConstants;
import org.jeecgframework.poi.excel.entity.ExportParams;
import org.jeecgframework.poi.excel.entity.ImportParams;
import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.env.Environment;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
@@ -44,6 +52,8 @@ import io.swagger.annotations.ApiOperation;
public class PayCompanyManagementController extends JeroController<PayCompanyManagement, IPayCompanyManagementService> {
@Autowired
private IPayCompanyManagementService payCompanyManagementService;
@Autowired
private Environment env;
/**
* 分页列表查询
@@ -66,6 +76,19 @@ public class PayCompanyManagementController extends JeroController<PayCompanyMan
QueryWrapper<PayCompanyManagement> queryWrapper = QueryGenerator.initQueryWrapper(payCompanyManagement, req.getParameterMap());
Page<PayCompanyManagement> page = new Page<PayCompanyManagement>(pageNo, pageSize);
IPage<PayCompanyManagement> pageList = payCompanyManagementService.page(page, queryWrapper);
List<PayCompanyManagement> listPayCompanyManagement = pageList.getRecords();
if(!CollectionUtils.isEmpty(listPayCompanyManagement)){
try {
listPayCompanyManagement.forEach(p->{
if (!StringUtils.isBlank(p.getCompanyPhone())){
p.setCompanyPhone(PasswordUtil.decrypt(p.getCompanyPhone()));
}
});
pageList.setRecords(listPayCompanyManagement);
}catch (Exception e){
log.error("公司电话解密异常!",e);
}
}
return Result.OK(pageList);
}
@@ -105,6 +128,13 @@ public class PayCompanyManagementController extends JeroController<PayCompanyMan
}
return Result.error("该企业名称已存在!");
}
if(!StringUtils.isBlank(payCompanyManagement.getCompanyPhone())){
try {
payCompanyManagement.setCompanyPhone(PasswordUtil.encrypt(payCompanyManagement.getCompanyPhone()));
}catch (Exception e){
log.error("公司电话加密异常!",e);
}
}
payCompanyManagementService.save(payCompanyManagement);
return Result.OK("添加成功!");
}
@@ -135,6 +165,13 @@ public class PayCompanyManagementController extends JeroController<PayCompanyMan
log.info("企业管理-编辑异常",e);
return Result.error("企业名称已存在!");
}
if(!StringUtils.isBlank(payCompanyManagement.getCompanyPhone())){
try {
payCompanyManagement.setCompanyPhone(PasswordUtil.encrypt(payCompanyManagement.getCompanyPhone()));
}catch (Exception e){
log.error("公司电话加密异常!",e);
}
}
payCompanyManagementService.updateById(payCompanyManagement);
return Result.OK("编辑成功!");
}
@@ -233,7 +270,40 @@ public class PayCompanyManagementController extends JeroController<PayCompanyMan
@ApiOperation(value="企业管理-导出excel", notes="企业管理-导出excel")
@GetMapping(value = "/exportXls")
public ModelAndView exportXls(HttpServletRequest request, PayCompanyManagement payCompanyManagement) {
return super.exportXls(request, payCompanyManagement, PayCompanyManagement.class, "企业信息");
// Step.1 组装查询条件
QueryWrapper<PayCompanyManagement> queryWrapper = QueryGenerator.initQueryWrapper(payCompanyManagement, request.getParameterMap());
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
// Step.2 获取导出数据
List<PayCompanyManagement> pageList = payCompanyManagementService.list(queryWrapper);
List<PayCompanyManagement> exportList = null;
// 过滤选中数据
String selections = request.getParameter("selections");
if (oConvertUtils.isNotEmpty(selections)) {
List<String> selectionList = Arrays.asList(selections.split(","));
exportList = pageList.stream().filter(item -> selectionList.contains(item.getId())).collect(Collectors.toList());
} else {
exportList = pageList;
}
if(!CollectionUtils.isEmpty(exportList)){
exportList.forEach(p->{
if (!StringUtils.isBlank(p.getCompanyPhone())){
p.setCompanyPhone(PasswordUtil.decrypt(p.getCompanyPhone()));
}
});
}
// Step.3 AutoPoi 导出Excel
ModelAndView mv = new ModelAndView(new JeecgEntityExcelView());
mv.addObject(NormalExcelConstants.FILE_NAME, "企业信息"); //此处设置的filename无效 ,前端会重更新设置一下
mv.addObject(NormalExcelConstants.CLASS, PayCompanyManagement.class);
//update-begin--Author:liusq Date:20210126 for:图片导出报错,ImageBasePath未设置--------------------
ExportParams exportParams=new ExportParams("企业信息", "企业信息");
exportParams.setImageBasePath(env.getProperty("jero.path.upload"));
//update-end--Author:liusq Date:20210126 for:图片导出报错,ImageBasePath未设置----------------------
mv.addObject(NormalExcelConstants.PARAMS,exportParams);
mv.addObject(NormalExcelConstants.DATA_LIST, exportList);
return mv;
}
/**
@@ -309,6 +379,9 @@ public class PayCompanyManagementController extends JeroController<PayCompanyMan
msg.append("第").append(count + 3).append("行:企业名称已经存在,请修改。</br>");
}
}
if (!StringUtils.isBlank(p.getCompanyPhone())){
p.setCompanyPhone(PasswordUtil.encrypt(p.getCompanyPhone()));
}
});
if(!StringUtils.isBlank(msg)){
return Result.error(msg.toString());
@@ -16,7 +16,10 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jero.common.api.vo.Result;
import com.jero.common.system.base.controller.JeroController;
import com.jero.common.system.query.QueryGenerator;
import com.jero.common.system.vo.LoginUser;
import com.jero.common.util.PasswordUtil;
import com.jero.common.util.ValidUtil;
import com.jero.common.util.oConvertUtils;
import com.jero.company.common.PayCompanyManagementCommon;
import com.jero.company.common.PayContactsManagementCommon;
import com.jero.company.entity.PayCompanyManagement;
@@ -26,11 +29,16 @@ import com.jero.company.service.IPayContactsManagementService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.SecurityUtils;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.jeecgframework.poi.excel.ExcelImportCheckUtil;
import org.jeecgframework.poi.excel.ExcelImportUtil;
import org.jeecgframework.poi.excel.def.NormalExcelConstants;
import org.jeecgframework.poi.excel.entity.ExportParams;
import org.jeecgframework.poi.excel.entity.ImportParams;
import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.env.Environment;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
@@ -53,6 +61,8 @@ public class PayContactsManagementController extends JeroController<PayContactsM
private IPayContactsManagementService payContactsManagementService;
@Autowired
private IPayCompanyManagementService payCompanyManagementService;
@Autowired
private Environment env;
// todo 缺少联系人加入到用户表,可以登录
@@ -82,6 +92,22 @@ public class PayContactsManagementController extends JeroController<PayContactsM
}
Page<PayContactsManagement> page = new Page<PayContactsManagement>(pageNo, pageSize);
IPage<PayContactsManagement> pageList = payContactsManagementService.queryPageList(page, payContactsManagement);
List<PayContactsManagement> listPayContactsManagement = pageList.getRecords();
if(!CollectionUtils.isEmpty(listPayContactsManagement)){
try {
listPayContactsManagement.forEach(p->{
if (!StringUtils.isBlank(p.getPhone())){
p.setPhone(PasswordUtil.decrypt(p.getPhone()));
}
if (!StringUtils.isBlank(p.getEmail())){
p.setEmail(PasswordUtil.decrypt(p.getEmail()));
}
});
pageList.setRecords(listPayContactsManagement);
}catch (Exception e){
log.error("手机号、邮箱解密异常!",e);
}
}
return Result.OK(pageList);
}
@@ -98,9 +124,14 @@ public class PayContactsManagementController extends JeroController<PayContactsM
if(!StringUtils.isBlank(msg)){
return Result.error(msg.toString());
}
PayCompanyManagement payCompanyManagement = payCompanyManagementService.getById(payContactsManagement.getCompanyId());
if(Objects.isNull(payCompanyManagement)){
return Result.error("企业不存在!");
}
payContactsManagement.setCompanyName(payCompanyManagement.getCompanyName());
PayContactsManagement payContactsManagementNew = null;
try {
// 新增企业前在次校验企业名称是否存在
// 新增联系人前在次校验手机号是否存在
LambdaQueryWrapper<PayContactsManagement> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(PayContactsManagement::getPhone,payContactsManagement.getPhone());
payContactsManagementNew = payContactsManagementService.getOne(queryWrapper);
@@ -121,6 +152,16 @@ public class PayContactsManagementController extends JeroController<PayContactsM
}
return Result.error("手机号已存在!");
}
try {
if (!StringUtils.isBlank(payContactsManagement.getPhone())){
payContactsManagement.setPhone(PasswordUtil.encrypt(payContactsManagement.getPhone()));
}
if (!StringUtils.isBlank(payContactsManagement.getEmail())){
payContactsManagement.setEmail(PasswordUtil.encrypt(payContactsManagement.getEmail()));
}
}catch (Exception e){
log.error("手机号、邮箱加密异常!",e);
}
payContactsManagementService.save(payContactsManagement);
return Result.OK("添加成功!");
}
@@ -138,12 +179,17 @@ public class PayContactsManagementController extends JeroController<PayContactsM
if(!StringUtils.isBlank(msg)){
return Result.error(msg.toString());
}
PayCompanyManagement payCompanyManagement = payCompanyManagementService.getById(payContactsManagement.getCompanyId());
if(Objects.isNull(payCompanyManagement)){
return Result.error("企业不存在!");
}
payContactsManagement.setCompanyName(payCompanyManagement.getCompanyName());
try {
// 编辑保存企业前再次校验企业名称是否存在
// 编辑保存联系人前再次校验手机号是否存在
LambdaQueryWrapper<PayContactsManagement> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(PayContactsManagement::getPhone,payContactsManagement.getPhone());
PayContactsManagement payContactsManagementNew = payContactsManagementService.getOne(queryWrapper);
// 企业名称存在,并且编辑id与查询不同,则校验不通过
// 手机号存在,并且编辑id与查询不同,则校验不通过
if(!Objects.isNull(payContactsManagementNew) && !Objects.equals(payContactsManagementNew.getId(),payContactsManagement.getId())) {
return Result.error("手机号已存在!");
}
@@ -151,6 +197,16 @@ public class PayContactsManagementController extends JeroController<PayContactsM
log.info("联系人管理-编辑异常",e);
return Result.error("手机号已存在!");
}
try {
if (!StringUtils.isBlank(payContactsManagement.getPhone())){
payContactsManagement.setPhone(PasswordUtil.encrypt(payContactsManagement.getPhone()));
}
if (!StringUtils.isBlank(payContactsManagement.getEmail())){
payContactsManagement.setEmail(PasswordUtil.encrypt(payContactsManagement.getEmail()));
}
}catch (Exception e){
log.error("手机号、邮箱加密异常!",e);
}
payContactsManagementService.updateById(payContactsManagement);
return Result.OK("编辑成功!");
}
@@ -266,7 +322,44 @@ public class PayContactsManagementController extends JeroController<PayContactsM
@ApiOperation(value="联系人管理-导出excel", notes="联系人管理-导出excel")
@GetMapping(value = "/exportXls")
public ModelAndView exportXls(HttpServletRequest request, PayContactsManagement payContactsManagement) {
return super.exportXls(request, payContactsManagement, PayContactsManagement.class, "联系人信息");
// Step.1 组装查询条件
QueryWrapper<PayContactsManagement> queryWrapper = QueryGenerator.initQueryWrapper(payContactsManagement, request.getParameterMap());
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
// Step.2 获取导出数据
List<PayContactsManagement> pageList = payContactsManagementService.list(queryWrapper);
List<PayContactsManagement> exportList = null;
// 过滤选中数据
String selections = request.getParameter("selections");
if (oConvertUtils.isNotEmpty(selections)) {
List<String> selectionList = Arrays.asList(selections.split(","));
exportList = pageList.stream().filter(item -> selectionList.contains(item.getId())).collect(Collectors.toList());
} else {
exportList = pageList;
}
if(!CollectionUtils.isEmpty(exportList)){
exportList.forEach(p->{
if (!StringUtils.isBlank(p.getPhone())){
p.setPhone(PasswordUtil.decrypt(p.getPhone()));
}
if (!StringUtils.isBlank(p.getEmail())){
p.setEmail(PasswordUtil.decrypt(p.getEmail()));
}
});
}
// Step.3 AutoPoi 导出Excel
ModelAndView mv = new ModelAndView(new JeecgEntityExcelView());
mv.addObject(NormalExcelConstants.FILE_NAME, "联系人信息"); //此处设置的filename无效 ,前端会重更新设置一下
mv.addObject(NormalExcelConstants.CLASS, PayContactsManagement.class);
//update-begin--Author:liusq Date:20210126 for:图片导出报错,ImageBasePath未设置--------------------
ExportParams exportParams=new ExportParams("联系人信息", "联系人信息");
exportParams.setImageBasePath(env.getProperty("jero.path.upload"));
//update-end--Author:liusq Date:20210126 for:图片导出报错,ImageBasePath未设置----------------------
mv.addObject(NormalExcelConstants.PARAMS,exportParams);
mv.addObject(NormalExcelConstants.DATA_LIST, exportList);
return mv;
}
/**
@@ -353,6 +446,12 @@ public class PayContactsManagementController extends JeroController<PayContactsM
msg.append("第").append(count + 3).append("行:手机号已经存在,请修改。</br>");
}
}
if (!StringUtils.isBlank(p.getPhone())){
p.setPhone(PasswordUtil.encrypt(p.getPhone()));
}
if (!StringUtils.isBlank(p.getEmail())){
p.setEmail(PasswordUtil.encrypt(p.getEmail()));
}
});
if(!StringUtils.isBlank(msg)){
return Result.error(msg.toString());
@@ -38,43 +38,51 @@ public class PayCompanyManagement implements Serializable {
@Excel(name = "企业名称", width = 15)
@ApiModelProperty(value = "企业名称")
@NotEmpty(message = "企业名称不能为空!")
@Size(max = 50, message = "企业名称长度不能大于50个字符")
private String companyName;
/**公司地址*/
@Excel(name = "公司地址", width = 15)
@ApiModelProperty(value = "公司地址")
@NotEmpty(message = "公司地址不能为空!")
@Size(max = 200, message = "公司地址长度不能大于200个字符")
private String companyAddress;
/**公司电话*/
@Excel(name = "公司电话", width = 15)
@ApiModelProperty(value = "公司电话")
@NotEmpty(message = "公司电话不能为空!")
@Size(max = 15, message = "公司电话长度不能大于15个字符")
@Pattern(regexp = "^(([0-9]{3,4}-)?[0-9]{7,8})|(((13[0-9])|(14[579])|(15([0-3]|[5-9]))|(17[0135678])|(18[0-9])|(19[8|9])|(16[6]))\\d{8})$",message = "公司电话格式错误")
private String companyPhone;
/**邮编*/
@Excel(name = "邮编", width = 15)
@ApiModelProperty(value = "邮编")
@NotEmpty(message = "邮编不能为空!")
@Size(min=6,max = 6,message = "邮编长度必须为6个字符")
@Pattern(regexp = "^[0-9]\\d{5}$",message = "邮编格式错误")
private String postalCode;
/**银行户名*/
@Excel(name = "银行户名", width = 15)
@ApiModelProperty(value = "银行户名")
@NotEmpty(message = "银行户名不能为空!")
@Size(max = 50,message = "银行户名长度不能大于50个字符")
private String bankAccountName;
/**开户行*/
@Excel(name = "开户行", width = 15)
@ApiModelProperty(value = "开户行")
@NotEmpty(message = "开户行不能为空!")
@Size(max = 50, message = "开户行长度不能大于50个字符")
private String openingBank;
/**银行账号*/
@Excel(name = "银行账号", width = 15)
@ApiModelProperty(value = "银行账号")
@NotEmpty(message = "银行账号不能为空!")
@Size(max = 50, message = "银行账号长度不能大于50个字符")
@Pattern(regexp = "^[0-9]*$",message = "银行账号格式错误")
private String bankAccount;
/**税号*/
@Excel(name = "税号", width = 15)
@ApiModelProperty(value = "税号")
@NotEmpty(message = "税号不能为空!")
@Size(max = 50, message = "税号长度不能大于50个字符")
@Pattern(regexp = "^[A-Z0-9]{15}$|^[A-Z0-9]{17}$|^[A-Z0-9]{18}$|^[A-Z0-9]{20}$",message = "税号格式错误")
private String dutyCode;
@@ -37,11 +37,11 @@ public class PayContactsManagement implements Serializable {
private String id;
/**企业id*/
@ApiModelProperty(value = "企业id")
@Size(max = 32, message = "企业id长度不能大于32个字符")
private String companyId;
/**企业名称*/
@Excel(name = "企业名称", width = 15)
@ApiModelProperty(value = "企业名称")
@NotEmpty(message = "企业名称不能为空!")
@Size(max = 200, message = "企业名称长度不能大于200个字符")
private String companyName;
/**姓名*/
@@ -1,20 +0,0 @@
package com.jero.mail.common;
public class MailBillCommon {
/**
* 普通项目
*/
public final static String PROJECT_TYPE1 = "1";
/**
*
*/
public final static String PROJECT_TYPE2 = "2";
/**
*
*/
public final static String PROJECT_TYPE3 = "3";
/**
*
*/
public final static String PROJECT_TYPE4 = "4";
}
@@ -18,9 +18,8 @@ public interface IPayMailBillService extends IService<PayMailBill> {
* @Author lqt
* @Date 2021/8/31
* @Param projectId 项目id
* @Param projectType 项目类型
* @Return
* @Exception
*/
List<PayMailBill> selectMailBillVO(String projectId, String projectType);
List<PayMailBill> selectMailBillVO(String projectId);
}
@@ -1,15 +1,20 @@
package com.jero.mail.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.mail.common.MailBillCommon;
import com.jero.common.exception.JeroBootException;
import com.jero.mail.entity.PayMailBill;
import com.jero.mail.entity.PayMailBillProject;
import com.jero.mail.mapper.PayMailBillMapper;
import com.jero.mail.service.IPayMailBillProjectService;
import com.jero.mail.service.IPayMailBillService;
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;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
/**
* @Description: pay_mail_bill
@@ -19,18 +24,25 @@ import java.util.List;
*/
@Service
public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMailBill> implements IPayMailBillService {
@Resource
private PayMailBillMapper payMailBillMapper;
@Autowired
private IPayMailBillService payMailBillService;
@Autowired
private IPayMailBillProjectService payMailBillProjectService;
@Override
public List<PayMailBill> selectMailBillVO(String projectId, String projectType) {
public List<PayMailBill> selectMailBillVO(String projectId) {
if(StringUtils.isBlank(projectId)){
throw new JeroBootException("项目id不能为空!");
}
List<PayMailBill> list = new ArrayList<>();
switch (projectType){
case MailBillCommon.PROJECT_TYPE1: list = payMailBillMapper.selectCommonProjectMailBillVO(projectId);break;
case MailBillCommon.PROJECT_TYPE2:break;
case MailBillCommon.PROJECT_TYPE3:break;
case MailBillCommon.PROJECT_TYPE4:break;
default:break;
LambdaQueryWrapper<PayMailBillProject> queryMailBillProject = new LambdaQueryWrapper<>();
queryMailBillProject.eq(PayMailBillProject::getProjectId,projectId);
List<PayMailBillProject> listPayMailBillProject = payMailBillProjectService.list();
if(!CollectionUtils.isEmpty(listPayMailBillProject)){
List<String> listBill = listPayMailBillProject.stream().map(PayMailBillProject::getBillId).collect(Collectors.toList());
LambdaQueryWrapper<PayMailBill> queryPayMailBill = new LambdaQueryWrapper<>();
queryPayMailBill.in(PayMailBill::getId,listBill);
list = payMailBillService.list(queryPayMailBill);
}
return list;
}
@@ -10,6 +10,7 @@ import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.jero.common.api.vo.Result;
import com.jero.common.exception.JeroBootException;
import com.jero.common.service.ProjectDetailService;
import com.jero.common.system.base.controller.JeroController;
import com.jero.common.util.ValidUtil;
import com.jero.mail.entity.PayMailBill;
@@ -57,9 +58,7 @@ public class PayCommonProjectController extends JeroController<PayCommonProject,
@Autowired
private IPayContactsManagementTemporaryService payContactsManagementTemporaryService;
@Autowired
private IPayPaymentRecordService payPaymentRecordService;
@Autowired
private IPayMailBillService payMailBillService;
private ProjectDetailService projectDetailService;
/**
* 分页列表查询
*
@@ -256,22 +255,11 @@ public class PayCommonProjectController extends JeroController<PayCommonProject,
if(payCommonProject==null) {
return Result.error("未找到对应数据");
}
JSONObject json = new JSONObject();
JSONObject json = projectDetailService.getProjectDetail(payCommonProject.getId(),payCommonProject.getChargeCompanyTemporaryId(),payCommonProject.getContactsTemporaryId());
if(Objects.isNull(json)){
json = new JSONObject();
}
json.put("project",payCommonProject);
// 企业信息
PayCompanyManagementTemporary payCompanyManagementTemporary = payCompanyManagementTemporaryService.getById(payCommonProject.getChargeCompanyTemporaryId());
json.put("company",payCompanyManagementTemporary);
// 联系人信息c
PayContactsManagementTemporary payContactsManagementTemporary = payContactsManagementTemporaryService.getById(payCommonProject.getContactsTemporaryId());
json.put("contacts",payContactsManagementTemporary);
// 到账信息
LambdaQueryWrapper<PayPaymentRecord> queryWrapperPayPaymentRecord = new LambdaQueryWrapper<>();
queryWrapperPayPaymentRecord.eq(PayPaymentRecord::getProjectId,payCommonProject.getId());
List<PayPaymentRecord> payPaymentRecordList = payPaymentRecordService.list(queryWrapperPayPaymentRecord);
json.put("payPaymentRecord",payPaymentRecordList);
// 开票邮寄记录
List<PayMailBill> listMailBillVO = payMailBillService.selectMailBillVO(payCommonProject.getId(),PayProjectCommon.PROJECT_TYPE1);
json.put("mailBill",listMailBillVO);
return Result.OK(json);
}
@@ -7,20 +7,16 @@ import java.util.stream.Collectors;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.jero.common.api.vo.Result;
import com.jero.common.exception.JeroBootException;
import com.jero.common.system.base.controller.JeroController;
import com.jero.common.system.query.QueryGenerator;
import com.jero.common.util.ValidUtil;
import com.jero.project.VO.PayWorkingGroupPayment;
import com.jero.project.VO.PayWorkingGroupVO;
import com.jero.project.vo.PayWorkingGroupPayment;
import com.jero.project.vo.PayWorkingGroupVO;
import com.jero.project.entity.PayWorkingGroupSubItem;
import com.jero.project.service.IPayWorkingGroupService;
import com.jero.project.entity.PayWorkingGroup;
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.modules.system.entity.SysUser;
@@ -1,22 +1,17 @@
package com.jero.project.controller;
import java.util.Arrays;
import java.util.List;
import java.util.Objects;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.jero.common.api.vo.Result;
import com.jero.common.exception.JeroBootException;
import com.jero.common.service.ProjectDetailService;
import com.jero.common.system.base.controller.JeroController;
import com.jero.common.system.query.QueryGenerator;
import com.jero.common.util.ValidUtil;
import com.jero.mail.entity.PayMailBill;
import com.jero.mail.service.IPayMailBillService;
import com.jero.payment.entity.PayPaymentRecord;
import com.jero.payment.service.IPayPaymentRecordService;
import com.jero.project.common.PayProjectCommon;
import com.jero.project.entity.PayWorkingGroup;
import com.jero.project.entity.PayWorkingGroupSubItem;
@@ -49,17 +44,15 @@ import io.swagger.annotations.ApiOperation;
@Slf4j
public class PayWorkingGroupSubItemController extends JeroController<PayWorkingGroupSubItem, IPayWorkingGroupSubItemService> {
@Autowired
private IPayWorkingGroupSubItemService payWorkingGroupSubitemService;
private IPayWorkingGroupSubItemService payWorkingGroupSubItemService;
@Autowired
private IPayCompanyManagementTemporaryService payCompanyManagementTemporaryService;
@Autowired
private IPayContactsManagementTemporaryService payContactsManagementTemporaryService;
@Autowired
private IPayPaymentRecordService payPaymentRecordService;
@Autowired
private IPayMailBillService payMailBillService;
@Autowired
private IPayWorkingGroupService payWorkingGroupService;
@Autowired
private ProjectDetailService projectDetailService;
/**
* 分页列表查询
@@ -82,7 +75,7 @@ public class PayWorkingGroupSubItemController extends JeroController<PayWorkingG
// todo 缺少到账,开票,邮寄记录查询
QueryWrapper<PayWorkingGroupSubItem> queryWrapper = QueryGenerator.initQueryWrapper(payWorkingGroupSubitem, req.getParameterMap());
Page<PayWorkingGroupSubItem> page = new Page<PayWorkingGroupSubItem>(pageNo, pageSize);
IPage<PayWorkingGroupSubItem> pageList = payWorkingGroupSubitemService.page(page, queryWrapper);
IPage<PayWorkingGroupSubItem> pageList = payWorkingGroupSubItemService.page(page, queryWrapper);
return Result.OK(pageList);
}
@@ -105,7 +98,7 @@ public class PayWorkingGroupSubItemController extends JeroController<PayWorkingG
LambdaQueryWrapper<PayWorkingGroupSubItem> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(PayWorkingGroupSubItem::getChargeCompanyId,payWorkingGroupSubItem.getChargeCompanyId());
queryWrapper.eq(PayWorkingGroupSubItem::getContactsIdOne,payWorkingGroupSubItem.getContactsIdOne());
PayWorkingGroupSubItem payWorkingGroupSubItemNew = payWorkingGroupSubitemService.getOne(queryWrapper);
PayWorkingGroupSubItem payWorkingGroupSubItemNew = payWorkingGroupSubItemService.getOne(queryWrapper);
// 企业和联系人同时存在,则校验不通过
if(!Objects.isNull(payWorkingGroupSubItemNew)) {
return Result.error("工作组成员已存在!");
@@ -124,7 +117,7 @@ public class PayWorkingGroupSubItemController extends JeroController<PayWorkingG
payWorkingGroupSubItem.setInAccount(PayProjectCommon.IN_ACCOUNT0);
payWorkingGroupSubItem.setMakeInvoice(PayProjectCommon.MAKE_INVOICE0);
payWorkingGroupSubItem.setMail(PayProjectCommon.MAIL0);
payWorkingGroupSubitemService.save(payWorkingGroupSubItem);
payWorkingGroupSubItemService.save(payWorkingGroupSubItem);
return Result.OK("添加成功!");
}
@@ -146,7 +139,7 @@ public class PayWorkingGroupSubItemController extends JeroController<PayWorkingG
LambdaQueryWrapper<PayWorkingGroupSubItem> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(PayWorkingGroupSubItem::getChargeCompanyId,payWorkingGroupSubItem.getChargeCompanyId());
queryWrapper.eq(PayWorkingGroupSubItem::getContactsIdOne,payWorkingGroupSubItem.getContactsIdOne());
PayWorkingGroupSubItem payWorkingGroupSubItemNew = payWorkingGroupSubitemService.getOne(queryWrapper);
PayWorkingGroupSubItem payWorkingGroupSubItemNew = payWorkingGroupSubItemService.getOne(queryWrapper);
// 来款项目存在,并且编辑id与查询不同,则校验不通过
if(!Objects.isNull(payWorkingGroupSubItemNew)
&& !Objects.equals(payWorkingGroupSubItemNew.getId(),payWorkingGroupSubItem.getId())) {
@@ -161,7 +154,7 @@ public class PayWorkingGroupSubItemController extends JeroController<PayWorkingG
return Result.error("工作组不存在!");
}
payWorkingGroupSubItem = setPayWorkingGroupSubItem(payWorkingGroupSubItem);
payWorkingGroupSubitemService.updateById(payWorkingGroupSubItem);
payWorkingGroupSubItemService.updateById(payWorkingGroupSubItem);
return Result.OK("编辑成功!");
}
@@ -228,7 +221,7 @@ public class PayWorkingGroupSubItemController extends JeroController<PayWorkingG
if(StringUtils.isBlank(id)){
return Result.error("id不能为空!");
}
payWorkingGroupSubitemService.removeById(id);
payWorkingGroupSubItemService.removeById(id);
return Result.OK("删除成功!");
}
@@ -250,7 +243,7 @@ public class PayWorkingGroupSubItemController extends JeroController<PayWorkingG
return Result.error("id不能为空!");
}
}
this.payWorkingGroupSubitemService.removeByIds(Arrays.asList(ids.split(",")));
this.payWorkingGroupSubItemService.removeByIds(Arrays.asList(ids.split(",")));
return Result.OK("批量删除成功!");
}
@@ -263,27 +256,16 @@ public class PayWorkingGroupSubItemController extends JeroController<PayWorkingG
@ApiOperation(value="工作组成员-通过id查询", notes="工作组成员-通过id查询")
@GetMapping(value = "/queryById")
public Result<?> queryById(@RequestParam(name="id",required=true) String id) {
PayWorkingGroupSubItem payWorkingGroupSubitem = payWorkingGroupSubitemService.getById(id);
PayWorkingGroupSubItem payWorkingGroupSubitem = payWorkingGroupSubItemService.getById(id);
if(payWorkingGroupSubitem==null) {
return Result.error("未找到对应数据");
}
JSONObject json = new JSONObject();
JSONObject json = projectDetailService.getProjectDetail(payWorkingGroupSubitem.getId(),payWorkingGroupSubitem.getChargeCompanyTemporaryId(),payWorkingGroupSubitem.getContactsTemporaryIdOne());
if(Objects.isNull(json)){
json = new JSONObject();
}
json.put("project",payWorkingGroupSubitem);
// 企业信息
PayCompanyManagementTemporary payCompanyManagementTemporary = payCompanyManagementTemporaryService.getById(payWorkingGroupSubitem.getChargeCompanyTemporaryId());
json.put("company",payCompanyManagementTemporary);
// 联系人信息c
PayContactsManagementTemporary payContactsManagementTemporary = payContactsManagementTemporaryService.getById(payWorkingGroupSubitem.getContactsTemporaryIdOne());
json.put("contacts",payContactsManagementTemporary);
// 到账信息
LambdaQueryWrapper<PayPaymentRecord> queryWrapperPayPaymentRecord = new LambdaQueryWrapper<>();
queryWrapperPayPaymentRecord.eq(PayPaymentRecord::getProjectId,payWorkingGroupSubitem.getId());
List<PayPaymentRecord> payPaymentRecordList = payPaymentRecordService.list(queryWrapperPayPaymentRecord);
json.put("payPaymentRecord",payPaymentRecordList);
// 开票邮寄记录
List<PayMailBill> listMailBillVO = payMailBillService.selectMailBillVO(payWorkingGroupSubitem.getId(), PayProjectCommon.PROJECT_TYPE2);
json.put("mailBill",listMailBillVO);
return Result.OK(payWorkingGroupSubitem);
return Result.OK(json);
}
/**
@@ -2,7 +2,7 @@ package com.jero.project.mapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jero.project.VO.PayWorkingGroupVO;
import com.jero.project.vo.PayWorkingGroupVO;
import com.jero.project.entity.PayWorkingGroup;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
@@ -1,7 +1,7 @@
<?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.jero.project.mapper.PayWorkingGroupMapper">
<select id="queryPageList" resultType="com.jero.project.VO.PayWorkingGroupVO">
<select id="queryPageList" resultType="com.jero.project.vo.PayWorkingGroupVO">
SELECT
id,
working_group_project AS workingGroupProject,
@@ -2,7 +2,7 @@ package com.jero.project.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jero.project.VO.PayWorkingGroupVO;
import com.jero.project.vo.PayWorkingGroupVO;
import com.jero.project.entity.PayWorkingGroup;
import com.baomidou.mybatisplus.extension.service.IService;
@@ -2,7 +2,7 @@ package com.jero.project.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jero.project.VO.PayWorkingGroupVO;
import com.jero.project.vo.PayWorkingGroupVO;
import com.jero.project.service.IPayWorkingGroupService;
import com.jero.project.entity.PayWorkingGroup;
import com.jero.project.mapper.PayWorkingGroupMapper;