add 会员系统新增会议时,来款系统和会员系统的交互接口

This commit is contained in:
lijiarao
2021-09-15 21:19:42 +08:00
parent 42471c905b
commit 3238694eb7
7 changed files with 246 additions and 213 deletions
@@ -57,6 +57,8 @@ public class AuthenticationUtils {
* @return
*/
public void check(String token,String publicKey) {
token = token.replace(" ","+");
publicKey = publicKey.replace(" ","+");
//从redis拿到私钥
String privateKey = String.valueOf(redisUtil.get(publicKey));
RSA rsa = new RSA(privateKey,null);
@@ -92,6 +92,10 @@ public class ShiroConfig {
filterChainDefinitionMap.put("/sys/common/pdf/**", "anon");//pdf预览
filterChainDefinitionMap.put("/generic/**", "anon");//pdf预览需要文件
filterChainDefinitionMap.put("/paymentRecord/payPaymentRecord/standardsAddAR", "anon");//标协会员添加来款
//和会员系统交互的接口
filterChainDefinitionMap.put("/meeting/payMeeting/addStandards","anon");//会员系统推送会议
filterChainDefinitionMap.put("/meeting/payMeeting/addStandardsFile","anon");//会员系统推送文件
filterChainDefinitionMap.put("/meeting/payMeetingSituation/page2","anon");//查询参会人
filterChainDefinitionMap.put("/", "anon");
filterChainDefinitionMap.put("/doc.html", "anon");
@@ -136,6 +140,8 @@ public class ShiroConfig {
//性能监控 TODO 存在安全漏洞泄露TOEKN(durid连接池也有)
filterChainDefinitionMap.put("/actuator/**", "anon");
// 添加自己的过滤器并且取名为jwt
Map<String, Filter> filterMap = new HashMap<String, Filter>(1);
//如果cloudServer为空 则说明是单体 需要加载跨域配置
@@ -13,6 +13,7 @@ import com.jero.common.api.vo.Result;
import com.jero.common.system.api.ISysBaseAPI;
import com.jero.common.system.query.QueryGenerator;
import com.jero.common.system.vo.LoginUser;
import com.jero.common.util.AuthenticationUtils;
import com.jero.common.util.PasswordUtil;
import com.jero.common.util.ValidUtil;
import com.jero.common.util.oConvertUtils;
@@ -28,6 +29,8 @@ import com.jero.meeting.vo.PayMeetingVO;
import com.jero.meeting.vo.PublishReminderVO;
import com.jero.meeting.vo.UploadFileVO;
import com.jero.meeting.vo.WorkingGroupMeetingExel;
import com.jero.modules.oss.entity.OSSFile;
import com.jero.modules.oss.service.IOSSFileService;
import com.jero.modules.system.volid.group.UpdateGroup;
import com.jero.project.entity.PayWorkingGroup;
import com.jero.project.service.IPayWorkingGroupService;
@@ -62,7 +65,10 @@ public class PayMeetingController extends JeroController<PayMeeting, IPayMeeting
private IPayMeetingHotelContactsService meetingHotelContactsService;
@Resource
private IPayWorkingGroupService payWorkingGroupService;
@Resource
private AuthenticationUtils authenticationUtils;
@Resource
private IOSSFileService iossFileService;
/**
* 分页列表查询
*/
@@ -338,4 +344,33 @@ public class PayMeetingController extends JeroController<PayMeeting, IPayMeeting
return Result.OK(QrcodeUtil.create(contact));
}
/**
* 新增标协会议
*/
@ApiOperation(value = "新增标协会议", notes = "新增标协会议")
@PostMapping(value = "/addStandards")
public Result<?> addStandards(@RequestBody PayMeeting payMeeting, HttpServletRequest request) {
String publicKey = request.getParameter("publicKey");
String token = request.getParameter("token");
authenticationUtils.check(token,publicKey);
payMeetingService.addStandards(payMeeting);
return Result.OK("合并开票成功!");
}
/**
* 新增会议文件
*/
@ApiOperation(value = "新增会议文件", notes = "新增会议文件")
@PostMapping(value = "/addStandardsFile")
public Result<?> addStandardsFile(@RequestBody List<OSSFile> ossFileList, HttpServletRequest request) {
String publicKey = request.getParameter("publicKey");
String token = request.getParameter("token");
authenticationUtils.check(token,publicKey);
for (OSSFile ossFile : ossFileList) {
iossFileService.save(ossFile);
}
return Result.OK("新增会议文件成功!");
}
}
@@ -7,8 +7,10 @@ import javax.servlet.http.HttpServletRequest;
import com.jero.common.api.vo.Result;
import com.jero.common.system.query.QueryGenerator;
import com.jero.common.util.AuthenticationUtils;
import com.jero.common.util.ValidUtil;
import com.jero.meeting.common.MeetingSubitemCommon;
import com.jero.meeting.entity.PayMeeting;
import com.jero.meeting.entity.PayMeetingSituation;
import com.jero.meeting.service.IPayMeetingSituationService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -24,176 +26,196 @@ import io.swagger.annotations.ApiOperation;
import com.jero.common.aspect.annotation.AutoLog;
/**
/**
* @description: 参会人员信息
* @author: jero-boot
* @date: 2021-09-02
* @date: 2021-09-02
* @version: V1.0
*/
@Api(tags="参会人员信息")
@Api(tags = "参会人员信息")
@RestController
@RequestMapping("/meeting/payMeetingSituation")
@Slf4j
public class PayMeetingSituationController extends JeroController<PayMeetingSituation, IPayMeetingSituationService> {
@Resource
private IPayMeetingSituationService payMeetingSituationService;
/**
* 分页列表查询
*/
@AutoLog(value = "参会人员信息-分页列表查询")
@ApiOperation(value="参会人员信息-分页列表查询", notes="参会人员信息-分页列表查询")
@GetMapping(value = "/page")
public Result<?> queryPageList(PayMeetingSituation payMeetingSituation,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
QueryWrapper<PayMeetingSituation> queryWrapper = QueryGenerator.initQueryWrapper(payMeetingSituation, req.getParameterMap());
Page<PayMeetingSituation> page = new Page<>(pageNo, pageSize);
IPage<PayMeetingSituation> pageList = payMeetingSituationService.page(page, queryWrapper);
return Result.OK(pageList);
}
/**
* 分页列表查询
*/
@AutoLog(value = "报名信息-分页列表查询")
@ApiOperation(value="报名信息-分页列表查询", notes="报名信息-分页列表查询")
@GetMapping(value = "/signUpPage")
public Result<?> signUpPage(PayMeetingSituation payMeetingSituation,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
QueryWrapper<PayMeetingSituation> queryWrapper = QueryGenerator.initQueryWrapper(payMeetingSituation, req.getParameterMap());
queryWrapper.ne("status",MeetingSubitemCommon.STATUS_3);
Page<PayMeetingSituation> page = new Page<>(pageNo, pageSize);
IPage<PayMeetingSituation> pageList = payMeetingSituationService.page(page, queryWrapper);
return Result.OK(pageList);
}
@Resource
private IPayMeetingSituationService payMeetingSituationService;
@Resource
private AuthenticationUtils authenticationUtils;
/**
* 分页列表查询
*/
@AutoLog(value = "参会人员信息-分页列表查询")
@ApiOperation(value = "参会人员信息-分页列表查询", notes = "参会人员信息-分页列表查询")
@GetMapping(value = "/page")
public Result<?> queryPageList(PayMeetingSituation payMeetingSituation,
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
HttpServletRequest req) {
QueryWrapper<PayMeetingSituation> queryWrapper = QueryGenerator.initQueryWrapper(payMeetingSituation, req.getParameterMap());
Page<PayMeetingSituation> page = new Page<>(pageNo, pageSize);
IPage<PayMeetingSituation> pageList = payMeetingSituationService.page(page, queryWrapper);
return Result.OK(pageList);
}
/**
* 列表查询
*/
@AutoLog(value = "参会人员信息-列表查询")
@ApiOperation(value="参会人员信息-列表查询", notes="参会人员信息-列表查询")
@GetMapping(value = "/list")
public Result<List<PayMeetingSituation>> queryList() {
* 分页列表查询
*/
@AutoLog(value = "参会人员信息-分页列表查询")
@ApiOperation(value = "参会人员信息-分页列表查询", notes = "参会人员信息-分页列表查询")
@GetMapping(value = "/page2")
public Result<?> queryPageList2(PayMeetingSituation payMeetingSituation,
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
HttpServletRequest req) {
String publicKey = req.getParameter("publicKey");
String token = req.getParameter("token");
authenticationUtils.check(token,publicKey);
QueryWrapper<PayMeetingSituation> queryWrapper = QueryGenerator.initQueryWrapper(payMeetingSituation, req.getParameterMap());
Page<PayMeetingSituation> page = new Page<>(pageNo, pageSize);
IPage<PayMeetingSituation> pageList = payMeetingSituationService.page(page, queryWrapper);
return Result.OK(pageList);
}
/**
* 分页列表查询
*/
@AutoLog(value = "报名信息-分页列表查询")
@ApiOperation(value = "报名信息-分页列表查询", notes = "报名信息-分页列表查询")
@GetMapping(value = "/signUpPage")
public Result<?> signUpPage(PayMeetingSituation payMeetingSituation,
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
HttpServletRequest req) {
QueryWrapper<PayMeetingSituation> queryWrapper = QueryGenerator.initQueryWrapper(payMeetingSituation, req.getParameterMap());
queryWrapper.ne("status", MeetingSubitemCommon.STATUS_3);
Page<PayMeetingSituation> page = new Page<>(pageNo, pageSize);
IPage<PayMeetingSituation> pageList = payMeetingSituationService.page(page, queryWrapper);
return Result.OK(pageList);
}
/**
* 列表查询
*/
@AutoLog(value = "参会人员信息-列表查询")
@ApiOperation(value = "参会人员信息-列表查询", notes = "参会人员信息-列表查询")
@GetMapping(value = "/list")
public Result<List<PayMeetingSituation>> queryList() {
List<PayMeetingSituation> list = payMeetingSituationService.queryList();
return Result.OK(list);
}
/**
* 添加参会人
*/
@AutoLog(value = "参会人员信息-添加参会人")
@ApiOperation(value="参会人员信息-添加参会人", notes="参会人员信息-添加参会人")
@PostMapping(value = "/add")
public Result<?> add(@RequestBody PayMeetingSituation payMeetingSituation) {
payMeetingSituationService.add(payMeetingSituation);
return Result.OK("添加成功!");
}
/**
* 报名
*/
@AutoLog(value = "报名信息-报名")
@ApiOperation(value="报名信息-报名", notes="报名信息-报名")
@PostMapping(value = "/signUp")
public Result<?> signUp(@RequestBody PayMeetingSituation payMeetingSituation) {
payMeetingSituationService.signUp(payMeetingSituation);
return Result.OK("添加成功!");
}
/**
* 编辑
*/
@AutoLog(value = "参会人员信息-编辑")
@ApiOperation(value="参会人员信息-编辑", notes="参会人员信息-编辑")
@PostMapping(value = "/edit")
public Result<?> edit(@RequestBody PayMeetingSituationVO payMeetingSituationVO) {
payMeetingSituationService.editById(payMeetingSituationVO);
return Result.OK("编辑成功!");
}
/**
* 通过id删除
*/
@AutoLog(value = "参会人员信息-通过id删除")
@ApiOperation(value="参会人员信息-通过id删除", notes="参会人员信息-通过id删除")
@GetMapping(value = "/delete")
public Result<?> delete(@RequestParam(name="id") String id) {
payMeetingSituationService.deleteById(id);
return Result.OK("删除成功!");
}
/**
* 批量删除
*/
@AutoLog(value = "参会人员信息-批量删除")
@ApiOperation(value="参会人员信息-批量删除", notes="参会人员信息-批量删除")
@GetMapping(value = "/deleteBatch")
public Result<?> deleteBatch(@RequestParam(name="ids") String ids) {
this.payMeetingSituationService.deleteByIds(Arrays.asList(ids.split(",")));
return Result.OK("批量删除成功!");
}
/**
* 通过id查询
*/
@AutoLog(value = "参会人员信息-通过id查询")
@ApiOperation(value="参会人员信息-通过id查询", notes="参会人员信息-通过id查询")
@GetMapping(value = "/queryById")
public Result<?> queryById(@RequestParam(name="id") String id) {
PayMeetingSituation payMeetingSituation = payMeetingSituationService.queryById(id);
if(payMeetingSituation==null) {
return Result.error("未找到对应数据");
}
return Result.OK(payMeetingSituation);
}
}
/**
* 导出excel
*/
* 添加参会人
*/
@AutoLog(value = "参会人员信息-添加参会人")
@ApiOperation(value = "参会人员信息-添加参会人", notes = "参会人员信息-添加参会人")
@PostMapping(value = "/add")
public Result<?> add(@RequestBody PayMeetingSituation payMeetingSituation) {
payMeetingSituationService.add(payMeetingSituation);
return Result.OK("添加成功!");
}
/**
* 报名
*/
@AutoLog(value = "报名信息-报名")
@ApiOperation(value = "报名信息-报名", notes = "报名信息-报名")
@PostMapping(value = "/signUp")
public Result<?> signUp(@RequestBody PayMeetingSituation payMeetingSituation) {
payMeetingSituationService.signUp(payMeetingSituation);
return Result.OK("添加成功!");
}
/**
* 编辑
*/
@AutoLog(value = "参会人员信息-编辑")
@ApiOperation(value = "参会人员信息-编辑", notes = "参会人员信息-编辑")
@PostMapping(value = "/edit")
public Result<?> edit(@RequestBody PayMeetingSituationVO payMeetingSituationVO) {
payMeetingSituationService.editById(payMeetingSituationVO);
return Result.OK("编辑成功!");
}
/**
* 通过id删除
*/
@AutoLog(value = "参会人员信息-通过id删除")
@ApiOperation(value = "参会人员信息-通过id删除", notes = "参会人员信息-通过id删除")
@GetMapping(value = "/delete")
public Result<?> delete(@RequestParam(name = "id") String id) {
payMeetingSituationService.deleteById(id);
return Result.OK("删除成功!");
}
/**
* 批量删除
*/
@AutoLog(value = "参会人员信息-批量删除")
@ApiOperation(value = "参会人员信息-批量删除", notes = "参会人员信息-批量删除")
@GetMapping(value = "/deleteBatch")
public Result<?> deleteBatch(@RequestParam(name = "ids") String ids) {
this.payMeetingSituationService.deleteByIds(Arrays.asList(ids.split(",")));
return Result.OK("批量删除成功!");
}
/**
* 通过id查询
*/
@AutoLog(value = "参会人员信息-通过id查询")
@ApiOperation(value = "参会人员信息-通过id查询", notes = "参会人员信息-通过id查询")
@GetMapping(value = "/queryById")
public Result<?> queryById(@RequestParam(name = "id") String id) {
PayMeetingSituation payMeetingSituation = payMeetingSituationService.queryById(id);
if (payMeetingSituation == null) {
return Result.error("未找到对应数据");
}
return Result.OK(payMeetingSituation);
}
/**
* 导出excel
*/
@GetMapping(value = "/exportXls")
public ModelAndView exportXls(HttpServletRequest request, PayMeetingSituation payMeetingSituation) {
return super.exportXls(request, payMeetingSituation, PayMeetingSituation.class, "参会人员信息");
}
/**
* 设置对接人
*/
@AutoLog(value = "设置对接人")
@ApiOperation(value="设置对接人", notes="设置对接人")
@PostMapping(value = "/addDock")
public Result<?> addDock(@RequestBody AddDockVO addDockVO) {
payMeetingSituationService.addDock(addDockVO);
return Result.OK("设置对接人成功!");
}
/**
* 设置对接人
*/
@AutoLog(value = "设置对接人")
@ApiOperation(value = "设置对接人", notes = "设置对接人")
@PostMapping(value = "/addDock")
public Result<?> addDock(@RequestBody AddDockVO addDockVO) {
payMeetingSituationService.addDock(addDockVO);
return Result.OK("设置对接人成功!");
}
/**
* 审核
*/
@AutoLog(value = "审核")
@ApiOperation(value="审核", notes="审核")
@PostMapping(value = "/check")
public Result<?> check(@RequestBody CheckVO checkVO) {
payMeetingSituationService.check(checkVO);
return Result.OK("审核成功!");
}
/**
* 审核
*/
@AutoLog(value = "审核")
@ApiOperation(value = "审核", notes = "审核")
@PostMapping(value = "/check")
public Result<?> check(@RequestBody CheckVO checkVO) {
payMeetingSituationService.check(checkVO);
return Result.OK("审核成功!");
}
/**
* 合并开票
*/
@AutoLog(value = "合并开票")
@ApiOperation(value="合并开票", notes="合并开票")
@PostMapping(value = "/batchPayBill")
public Result<?> mergePayBill(@RequestBody MergePayBillVO mergePayBillVO) {
ValidUtil.validate(mergePayBillVO);
payMeetingSituationService.mergePayBill(mergePayBillVO);
return Result.OK("合并开票成功!");
}
/**
* 合并开票
*/
@AutoLog(value = "合并开票")
@ApiOperation(value = "合并开票", notes = "合并开票")
@PostMapping(value = "/batchPayBill")
public Result<?> mergePayBill(@RequestBody MergePayBillVO mergePayBillVO) {
ValidUtil.validate(mergePayBillVO);
payMeetingSituationService.mergePayBill(mergePayBillVO);
return Result.OK("合并开票成功!");
}
}
@@ -21,7 +21,13 @@ public interface IPayMeetingService extends IService<PayMeeting> {
void add(PayMeetingVO payMeetingVO);
/**
* 新增会议
* 新增标协会议
* @param payMeeting
*/
void addStandards(PayMeeting payMeeting);
/**
* 编辑会议
*/
void editById(PayMeetingVO payMeeting);
@@ -47,8 +53,10 @@ public interface IPayMeetingService extends IService<PayMeeting> {
/**
* 发布提醒
* @param meetingId
* @param meetingIds
* @param subitemIds
*/
void publishReminder(List<String> meetingIds, List<String> subitemIds);
}
@@ -19,6 +19,7 @@ import com.jero.meeting.valid.group.InternationalMeeting;
import com.jero.meeting.valid.group.StandardMeeting;
import com.jero.meeting.valid.group.WorkingGroupMeeting;
import com.jero.meeting.vo.PayMeetingVO;
import com.jero.modules.oss.service.IOSSFileService;
import com.jero.project.entity.PayWorkingGroup;
import com.jero.project.entity.PayWorkingGroupSubItem;
import com.jero.project.service.IPayWorkingGroupService;
@@ -86,6 +87,24 @@ public class PayMeetingServiceImpl extends ServiceImpl<PayMeetingMapper, PayMeet
}
}
@Override
public void addStandards(PayMeeting payMeeting) {
saveOrUpdate(payMeeting);
List<PayMeetingHotelContacts> hotelContactsList = payMeeting.getHotelContactsList();
//如果酒店联系人列表不为空,就新增
if (!CollectionUtils.isEmpty(hotelContactsList)){
String meetingId = payMeeting.getId();
//先删除原先的酒店联系人,在添加新的
LambdaQueryWrapper<PayMeetingHotelContacts> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(PayMeetingHotelContacts::getMeetingId,meetingId);
meetingHotelContactsService.remove(queryWrapper);
hotelContactsList.forEach(hotelContacts ->
hotelContacts.setMeetingId(meetingId)
);
meetingHotelContactsService.saveBatch(hotelContactsList);
}
}
/**
* 更新
*/
@@ -60,7 +60,7 @@ public class StableCrossTrainingServiceImpl extends ServiceImpl<StableCrossTrain
StableCrossTraining stableCrossTraining = new StableCrossTraining();
stableCrossTraining.setId(payMeeting.getId());
stableCrossTraining.setName(payMeeting.getMeetingName());
stableCrossTraining.setMeetingType(payMeeting.getMeetingType());
stableCrossTraining.setMeetingType(payMeeting.getTbMeetingType());
stableCrossTraining.setYear(payMeeting.getParticularYear());
Date startTime = payMeeting.getStartTime();
Date endTime = payMeeting.getEndTime();
@@ -69,7 +69,8 @@ public class StableCrossTrainingServiceImpl extends ServiceImpl<StableCrossTrain
stableCrossTraining.setConvokeEndTime(endTime);
stableCrossTraining.setConvokeLocale(payMeeting.getConvokeLocale());
stableCrossTraining.setPlaceName(payMeeting.getVenue());
stableCrossTraining.setMeetingFiles(payMeeting.getMeetingFiles());
stableCrossTraining.setMeetingFiles(payMeeting.getMeetingData());
stableCrossTraining.setMeetingNotifyFiles(payMeeting.getMeetingFiles());
stableCrossTraining.setMeetingDescription(payMeeting.getMeetingContent());
stableCrossTraining.setRemark(payMeeting.getRemark());
Date startSignInTime = payMeeting.getStartSignInTime();
@@ -123,66 +124,6 @@ public class StableCrossTrainingServiceImpl extends ServiceImpl<StableCrossTrain
return resFlag;
}
//判空
public void ifEntityIsEmpty(StableCrossTraining stableCrossTraining) {
if (StringUtils.isBlank(stableCrossTraining.getName())) {
throw new JeroBootException(Result.NULL_NAME);
} else {
if (stableCrossTraining.getName().length() > 50) {
throw new JeroBootException("会议名称输入超过限定长度!");
}
}
if (StringUtils.isBlank(stableCrossTraining.getMeetingApply())) {
throw new JeroBootException("请核实会议报名是否存在!");
} else {
if (stableCrossTraining.getMeetingApply().length() > 500) {
throw new JeroBootException("会议报名输入超过限定长度!");
}
if (!Assert.iswebsit(stableCrossTraining.getMeetingApply())) {
throw new JeroBootException("报名链接请输入网址格式");
}
}
if (null == stableCrossTraining.getMeetingType()) {
throw new JeroBootException("请核实培训类型是否存在!");
}
if (StringUtils.isBlank(stableCrossTraining.getYear())) {
throw new JeroBootException("请核实年份是否存在!");
}
if (StringUtils.isBlank(stableCrossTraining.getConvokeTime())) {
throw new JeroBootException("请核实培训召开时间是否存在!");
}
if (StringUtils.isBlank(stableCrossTraining.getConvokeLocale())) {
throw new JeroBootException("请核实培训召开地点是否存在!");
}
if (StringUtils.isBlank(stableCrossTraining.getPlaceName())) {
throw new JeroBootException("请核实省市名称是否存在!");
}
if (StringUtils.isNotBlank(stableCrossTraining.getRemark())) {
if (stableCrossTraining.getRemark().length() > 500) {
throw new JeroBootException("备注输入超过限定长度!");
}
}
if (StringUtils.isBlank(stableCrossTraining.getSignInTime())) {
throw new JeroBootException("请核实注册签到是否存在!");
} else {
if (stableCrossTraining.getSignInTime().length() > 50) {
throw new JeroBootException("注册签到输入超过限定长度!");
}
}
if (StringUtils.isNotBlank(stableCrossTraining.getMeetingFiles())) {
List<String> newsReportList = Arrays.asList(stableCrossTraining.getMeetingFiles().split(","));
if (newsReportList.size() > 10) {
throw new JeroBootException("会议文件最多为10个");
}
}
if (StringUtils.isNotBlank(stableCrossTraining.getMeetingNotifyFiles())) {
List<String> newsReportList = Arrays.asList(stableCrossTraining.getMeetingNotifyFiles().split(","));
if (newsReportList.size() > 10) {
throw new JeroBootException("会议通知文件最多为10个");
}
}
}
//判断培训状态
public StableCrossTraining isTrainingState(StableCrossTraining stableCrossTraining) {