1
This commit is contained in:
parent
9a6b8574ac
commit
35a13a527b
@ -137,7 +137,11 @@ public class BusiNoticeController extends BaseController
|
||||
public AjaxResult saveOrUpdate(@RequestBody BusiNotice busiNotice)
|
||||
{
|
||||
JSONObject res = new JSONObject();
|
||||
try{
|
||||
res.put("noticeId", busiNoticeService.saveOrUpdateVo(busiNotice));
|
||||
} catch (Exception e){
|
||||
return error(e.getMessage());
|
||||
}
|
||||
return success(res);
|
||||
}
|
||||
|
||||
|
||||
@ -47,7 +47,7 @@ public interface IBusiNoticeService extends IService<BusiNotice>
|
||||
* @param data 保存参数
|
||||
*/
|
||||
void updateByIdVo(BusiNotice data);
|
||||
String saveOrUpdateVo(BusiNotice data);
|
||||
String saveOrUpdateVo(BusiNotice data) throws Exception;
|
||||
void removeByIdsVo(List<String> ids);
|
||||
|
||||
/**
|
||||
|
||||
@ -35,6 +35,7 @@ import com.ruoyi.constant.DictConstants;
|
||||
import com.ruoyi.member.domain.MemberApply;
|
||||
import com.ruoyi.member.domain.MemberUser;
|
||||
import com.ruoyi.member.service.IMemberApplyService;
|
||||
import com.ruoyi.member.service.IMemberCardService;
|
||||
import com.ruoyi.member.service.IMemberUserService;
|
||||
import com.ruoyi.system.service.ISysDictDataService;
|
||||
import com.ruoyi.system.service.ISysDictTypeService;
|
||||
@ -46,6 +47,8 @@ import com.ruoyi.busi.mapper.BusiNoticeMapper;
|
||||
import com.ruoyi.busi.service.IBusiNoticeService;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
/**
|
||||
* 通告Service业务层处理
|
||||
*
|
||||
@ -77,6 +80,8 @@ public class BusiNoticeServiceImpl extends ServiceImpl<BusiNoticeMapper,BusiNoti
|
||||
private IBusiNoticeFormService busiNoticeFormService;
|
||||
@Autowired
|
||||
private IBaseCityService cityService;
|
||||
@Resource
|
||||
private IMemberCardService cardService;
|
||||
|
||||
|
||||
@Override
|
||||
@ -191,7 +196,9 @@ public class BusiNoticeServiceImpl extends ServiceImpl<BusiNoticeMapper,BusiNoti
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public String saveOrUpdateVo(BusiNotice data) {
|
||||
public String saveOrUpdateVo(BusiNotice data) throws Exception {
|
||||
//获取当前登录用户id
|
||||
Long userId = SecurityUtils.getUserId();
|
||||
if(ObjectUtil.isNotEmpty(data.getCityId())){
|
||||
//转换城市名称
|
||||
LambdaQueryWrapper<BaseCity> queryWrapper =new LambdaQueryWrapper<>();
|
||||
@ -209,6 +216,10 @@ public class BusiNoticeServiceImpl extends ServiceImpl<BusiNoticeMapper,BusiNoti
|
||||
}else {
|
||||
this.saveVo(data);
|
||||
}
|
||||
cardService.dealMemberRights(userId,null,"add_notice",1);
|
||||
if (CollectionUtil.isNotEmpty(data.getCustomForm())) {
|
||||
cardService.dealMemberRights(userId,null,"report_info_collect",1);
|
||||
}
|
||||
return data.getId();
|
||||
}
|
||||
|
||||
|
||||
@ -12,6 +12,7 @@ import com.ruoyi.common.utils.DateUtils;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.ruoyi.common.utils.SecurityUtils;
|
||||
import com.ruoyi.member.service.IMemberCardService;
|
||||
import com.ruoyi.system.service.ISysUserService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
@ -20,6 +21,8 @@ import com.ruoyi.busi.mapper.BusiNoticeSignMapper;
|
||||
import com.ruoyi.busi.domain.BusiNoticeSign;
|
||||
import com.ruoyi.busi.service.IBusiNoticeSignService;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
/**
|
||||
* 通告报名Service业务层处理
|
||||
*
|
||||
@ -33,6 +36,8 @@ public class BusiNoticeSignServiceImpl extends ServiceImpl<BusiNoticeSignMapper,
|
||||
private BusiNoticeSignMapper busiNoticeSignMapper;
|
||||
@Autowired
|
||||
private ISysUserService userService;
|
||||
@Resource
|
||||
private IMemberCardService cardService;
|
||||
|
||||
@Override
|
||||
public IPage<BusiNoticeSign> queryListPage(BusiNoticeSign pageReqVO, Page<BusiNoticeSign> page) {
|
||||
@ -51,8 +56,8 @@ public class BusiNoticeSignServiceImpl extends ServiceImpl<BusiNoticeSignMapper,
|
||||
throw new Exception("请勿重复报名!");
|
||||
}
|
||||
SysUser sysUser = userService.selectUserById(loginUser.getUserId());
|
||||
int i = 0;
|
||||
for (JSONObject cardInfo : appNoticeSign.getCardList()) {
|
||||
|
||||
BusiNoticeSign busiNoticeSign =new BusiNoticeSign();
|
||||
busiNoticeSign.setNoticeId(appNoticeSign.getNoticeId());
|
||||
busiNoticeSign.setUserId(loginUser.getUserId());
|
||||
@ -67,7 +72,9 @@ public class BusiNoticeSignServiceImpl extends ServiceImpl<BusiNoticeSignMapper,
|
||||
busiNoticeSign.setIsSuper(appNoticeSign.getIsSuper());
|
||||
busiNoticeSign.setAddrId(appNoticeSign.getAddressId());
|
||||
busiNoticeSignMapper.insert(busiNoticeSign);
|
||||
i++;
|
||||
}
|
||||
cardService.dealMemberRights(loginUser.getUserId(),null,"report",i);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@ -8,14 +8,7 @@ import javax.servlet.http.HttpServletResponse;
|
||||
import com.ruoyi.common.utils.SecurityUtils;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.PutMapping;
|
||||
import org.springframework.web.bind.annotation.DeleteMapping;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import com.ruoyi.common.annotation.Log;
|
||||
import com.ruoyi.common.core.controller.BaseController;
|
||||
import com.ruoyi.common.core.domain.AjaxResult;
|
||||
@ -33,8 +26,7 @@ import com.ruoyi.common.core.page.TableDataInfo;
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/member/card")
|
||||
public class MemberCardController extends BaseController
|
||||
{
|
||||
public class MemberCardController extends BaseController {
|
||||
@Autowired
|
||||
private IMemberCardService memberCardService;
|
||||
|
||||
@ -43,21 +35,43 @@ public class MemberCardController extends BaseController
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('member:card:list')")
|
||||
@GetMapping("/list")
|
||||
public AjaxResult list(MemberCard memberCard)
|
||||
{
|
||||
public AjaxResult list(MemberCard memberCard) {
|
||||
|
||||
List<MemberCard> list = memberCardService.list();
|
||||
return success(list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 通用权益值扣除接口
|
||||
*
|
||||
* @param userId 用户id
|
||||
* @param rightsCode 权益code
|
||||
* @param deplete 消耗值
|
||||
* @return com.ruoyi.common.core.domain.AjaxResult
|
||||
* @author PQZ
|
||||
* @date 15:10 2025/4/18
|
||||
**/
|
||||
@GetMapping("/dealMemberRights")
|
||||
public AjaxResult list(@RequestParam("userId") Long userId,
|
||||
@RequestParam("rightsCode") String rightsCode,
|
||||
@RequestParam("deplete") Integer deplete,
|
||||
@RequestParam(value = "noticeId", required = false) String noticeId) {
|
||||
try {
|
||||
memberCardService.dealMemberRights(userId, noticeId, rightsCode, deplete);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
return error(e.getMessage());
|
||||
}
|
||||
return success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出会员开卡记录列表
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('member:card:export')")
|
||||
@Log(title = "会员开卡记录", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/export")
|
||||
public void export(HttpServletResponse response, MemberCard memberCard)
|
||||
{
|
||||
public void export(HttpServletResponse response, MemberCard memberCard) {
|
||||
List<MemberCard> list = memberCardService.list();
|
||||
ExcelUtil<MemberCard> util = new ExcelUtil<MemberCard>(MemberCard.class);
|
||||
util.exportExcel(response, list, "会员开卡记录数据");
|
||||
@ -68,8 +82,7 @@ public class MemberCardController extends BaseController
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('member:card:query')")
|
||||
@GetMapping(value = "/{id}")
|
||||
public AjaxResult getInfo(@PathVariable("id") String id)
|
||||
{
|
||||
public AjaxResult getInfo(@PathVariable("id") String id) {
|
||||
return success(memberCardService.getById(id));
|
||||
}
|
||||
|
||||
@ -79,8 +92,7 @@ public class MemberCardController extends BaseController
|
||||
@PreAuthorize("@ss.hasPermi('member:card:add')")
|
||||
@Log(title = "会员开卡记录", businessType = BusinessType.INSERT)
|
||||
@PostMapping
|
||||
public AjaxResult add(@RequestBody MemberCard memberCard)
|
||||
{
|
||||
public AjaxResult add(@RequestBody MemberCard memberCard) {
|
||||
return toAjax(memberCardService.save(memberCard));
|
||||
}
|
||||
|
||||
@ -90,8 +102,7 @@ public class MemberCardController extends BaseController
|
||||
@PreAuthorize("@ss.hasPermi('member:card:edit')")
|
||||
@Log(title = "会员开卡记录", businessType = BusinessType.UPDATE)
|
||||
@PutMapping
|
||||
public AjaxResult edit(@RequestBody MemberCard memberCard)
|
||||
{
|
||||
public AjaxResult edit(@RequestBody MemberCard memberCard) {
|
||||
return toAjax(memberCardService.updateById(memberCard));
|
||||
}
|
||||
|
||||
@ -101,8 +112,7 @@ public class MemberCardController extends BaseController
|
||||
@PreAuthorize("@ss.hasPermi('member:card:remove')")
|
||||
@Log(title = "会员开卡记录", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{ids}")
|
||||
public AjaxResult remove(@PathVariable String[] ids)
|
||||
{
|
||||
public AjaxResult remove(@PathVariable String[] ids) {
|
||||
List<String> list = new ArrayList<>(Arrays.asList(ids));
|
||||
return toAjax(memberCardService.removeByIds(list));
|
||||
}
|
||||
@ -112,9 +122,8 @@ public class MemberCardController extends BaseController
|
||||
*/
|
||||
|
||||
@GetMapping("/selectMemberRights")
|
||||
public AjaxResult selectMemberRights()
|
||||
{
|
||||
return success( memberCardService.selectMemberRights(SecurityUtils.getUserId(),null));
|
||||
public AjaxResult selectMemberRights() {
|
||||
return success(memberCardService.selectMemberRights(SecurityUtils.getUserId(), null));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -68,10 +68,10 @@ public interface IMemberCardService extends IService<MemberCard> {
|
||||
* @author PQZ
|
||||
* @date 14:23 2025/4/17
|
||||
* @param userId 用户id
|
||||
* @param noticeId 通告id
|
||||
* @param rightsCode 权益编码
|
||||
* @param deplete 扣的值
|
||||
* @return void
|
||||
**/
|
||||
void dealMemberRights(Long userId,String rightsCode,Integer deplete) throws Exception;
|
||||
void dealMemberRights(Long userId,String noticeId,String rightsCode,Integer deplete) throws Exception;
|
||||
|
||||
}
|
||||
|
||||
@ -1,6 +1,5 @@
|
||||
package com.ruoyi.member.service;
|
||||
|
||||
import java.util.List;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.ruoyi.member.domain.MemberFootprint;
|
||||
|
||||
@ -10,7 +9,17 @@ import com.ruoyi.member.domain.MemberFootprint;
|
||||
* @author vinjor-m
|
||||
* @date 2025-03-17
|
||||
*/
|
||||
public interface IMemberFootprintService extends IService<MemberFootprint>
|
||||
{
|
||||
public interface IMemberFootprintService extends IService<MemberFootprint> {
|
||||
|
||||
/**
|
||||
* 校验用户是否解锁过当前通告
|
||||
*
|
||||
* @param noticeId 通告id
|
||||
* @param userId 用户id
|
||||
* @return java.lang.Boolean
|
||||
* @author PQZ
|
||||
* @date 15:21 2025/4/18
|
||||
**/
|
||||
Boolean checkFoot(String noticeId, Long userId);
|
||||
|
||||
}
|
||||
|
||||
@ -38,11 +38,11 @@ public interface IMemberRightsService extends IService<MemberRights> {
|
||||
* 根据用户id,卡id,权益编码,更新剩余值
|
||||
*
|
||||
* @param userId 用户id
|
||||
* @param cardId 卡id
|
||||
* @param memberCards 卡集合
|
||||
* @param rightsCode 权益编码
|
||||
* @param deplete 消耗值
|
||||
* @author PQZ
|
||||
* @date 14:32 2025/4/17
|
||||
**/
|
||||
void dealMemberRights(Long userId, String cardId, String rightsCode, Integer deplete) throws Exception;
|
||||
void dealMemberRights(Long userId, List<MemberCard> memberCards, String rightsCode, Integer deplete) throws Exception;
|
||||
}
|
||||
|
||||
@ -17,9 +17,11 @@ import com.ruoyi.member.domain.MemberRights;
|
||||
import com.ruoyi.member.mapper.MemberCardMapper;
|
||||
import com.ruoyi.member.mapper.MemberRightsMapper;
|
||||
import com.ruoyi.member.service.IMemberCardService;
|
||||
import com.ruoyi.member.service.IMemberFootprintService;
|
||||
import com.ruoyi.member.service.IMemberRightsService;
|
||||
import com.ruoyi.member.vo.MemberRightsVO;
|
||||
import com.ruoyi.member.vo.ViewRightsVO;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
@ -48,6 +50,8 @@ public class MemberCardServiceImpl extends ServiceImpl<MemberCardMapper, MemberC
|
||||
private IMemberRightsService rightsService;
|
||||
@Autowired
|
||||
private MemberRightsMapper memberRightsMapper;
|
||||
@Resource
|
||||
private IMemberFootprintService footprintService;
|
||||
|
||||
|
||||
/**
|
||||
@ -244,8 +248,10 @@ public class MemberCardServiceImpl extends ServiceImpl<MemberCardMapper, MemberC
|
||||
//查询当前用户在当前时间有无正在服役的会员卡
|
||||
Date time = new Date();
|
||||
LambdaQueryWrapper<MemberCard> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
if (StringUtils.isNotEmpty(userType)) {
|
||||
lambdaQueryWrapper.eq(MemberCard::getUserType, userType);
|
||||
}
|
||||
lambdaQueryWrapper
|
||||
.eq(MemberCard::getUserType, userType)
|
||||
.eq(MemberCard::getUserId, userId)
|
||||
.eq(DlBaseEntity::getDelFlag, 0)
|
||||
.lt(MemberCard::getStartDate, time)
|
||||
@ -257,19 +263,31 @@ public class MemberCardServiceImpl extends ServiceImpl<MemberCardMapper, MemberC
|
||||
/**
|
||||
* @param userId 用户id
|
||||
* @param rightsCode 权益编码
|
||||
* @param noticeId 通告id
|
||||
* @param deplete 扣的值
|
||||
* @author PQZ
|
||||
* @date 14:23 2025/4/17
|
||||
**/
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void dealMemberRights(Long userId, String rightsCode, Integer deplete) throws Exception {
|
||||
public void dealMemberRights(Long userId,String noticeId, String rightsCode, Integer deplete) throws Exception {
|
||||
//查询当前用户有无正在服役的通告主卡
|
||||
List<MemberCard> memberCards = getMemberCards(userId, "01");
|
||||
List<MemberCard> memberCards = getMemberCards(userId,null);
|
||||
if (memberCards.isEmpty()){
|
||||
throw new Exception("无正在服役的会员卡");
|
||||
}
|
||||
rightsService.dealMemberRights(userId,memberCards.get(0).getCardId(),rightsCode,deplete);
|
||||
if ("unlock_notice".equals(rightsCode)) {
|
||||
if (noticeId == null){
|
||||
throw new Exception("无法识别当前通告");
|
||||
}
|
||||
//true表示有浏览记录,false表示没有浏览记录;如果当前用户在足迹表中未发现该通告。
|
||||
if (footprintService.checkFoot(noticeId,userId)){
|
||||
rightsService.dealMemberRights(userId,memberCards,rightsCode,deplete);
|
||||
}
|
||||
} else {
|
||||
rightsService.dealMemberRights(userId,memberCards,rightsCode,deplete);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@ -1,13 +1,14 @@
|
||||
package com.ruoyi.member.service.impl;
|
||||
|
||||
import java.util.List;
|
||||
import com.ruoyi.common.utils.DateUtils;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.ruoyi.member.domain.MemberFootprint;
|
||||
import com.ruoyi.member.mapper.MemberFootprintMapper;
|
||||
import com.ruoyi.member.service.IMemberFootprintService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.ruoyi.member.mapper.MemberFootprintMapper;
|
||||
import com.ruoyi.member.domain.MemberFootprint;
|
||||
import com.ruoyi.member.service.IMemberFootprintService;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 浏览足迹Service业务层处理
|
||||
@ -16,10 +17,26 @@ import com.ruoyi.member.service.IMemberFootprintService;
|
||||
* @date 2025-03-17
|
||||
*/
|
||||
@Service
|
||||
public class MemberFootprintServiceImpl extends ServiceImpl<MemberFootprintMapper,MemberFootprint> implements IMemberFootprintService
|
||||
{
|
||||
public class MemberFootprintServiceImpl extends ServiceImpl<MemberFootprintMapper, MemberFootprint> implements IMemberFootprintService {
|
||||
@Autowired
|
||||
private MemberFootprintMapper memberFootprintMapper;
|
||||
|
||||
|
||||
/**
|
||||
* 校验用户是否解锁过当前通告
|
||||
*
|
||||
* @param noticeId 通告id
|
||||
* @param userId 用户id
|
||||
* @return java.lang.Boolean
|
||||
* @author PQZ
|
||||
* @date 15:21 2025/4/18
|
||||
**/
|
||||
@Override
|
||||
public Boolean checkFoot(String noticeId, Long userId) {
|
||||
LambdaQueryWrapper<MemberFootprint> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper.eq(MemberFootprint::getNoticeId, noticeId)
|
||||
.eq(MemberFootprint::getUserId, userId);
|
||||
List<MemberFootprint> list = list(lambdaQueryWrapper);
|
||||
return list.isEmpty();
|
||||
}
|
||||
}
|
||||
|
||||
@ -69,10 +69,10 @@ public class MemberRightsServiceImpl extends ServiceImpl<MemberRightsMapper, Mem
|
||||
public Integer getReport(Long userId, String cardId) {
|
||||
LambdaQueryWrapper<MemberRights> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper
|
||||
.eq(MemberRights::getUserId,userId)
|
||||
.eq(MemberRights::getCardId,cardId);
|
||||
.eq(MemberRights::getUserId, userId)
|
||||
.eq(MemberRights::getCardId, cardId);
|
||||
List<MemberRights> rights = list(lambdaQueryWrapper);
|
||||
if (rights.isEmpty()){
|
||||
if (rights.isEmpty()) {
|
||||
return dlRightsConfig.getReport();
|
||||
} else {
|
||||
List<MemberRights> filterRights = rights.stream()
|
||||
@ -86,24 +86,31 @@ public class MemberRightsServiceImpl extends ServiceImpl<MemberRightsMapper, Mem
|
||||
* 根据用户id,卡id,权益编码,更新剩余值
|
||||
*
|
||||
* @param userId 用户id
|
||||
* @param cardId 卡id
|
||||
* @param memberCards 卡集合
|
||||
* @param rightsCode 权益编码
|
||||
* @param deplete 消耗值
|
||||
* @author PQZ
|
||||
* @date 14:32 2025/4/17
|
||||
**/
|
||||
@Override
|
||||
public void dealMemberRights(Long userId, String cardId, String rightsCode, Integer deplete) throws Exception {
|
||||
public void dealMemberRights(Long userId, List<MemberCard> memberCards, String rightsCode, Integer deplete) throws Exception {
|
||||
List<String> cardIds = memberCards.stream().map(MemberCard::getCardId).collect(Collectors.toList());
|
||||
LambdaQueryWrapper<MemberRights> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper.eq(MemberRights::getUserId,userId)
|
||||
.eq(MemberRights::getCardId,cardId)
|
||||
.eq(MemberRights::getRightsCode,rightsCode);
|
||||
try{
|
||||
lambdaQueryWrapper.eq(MemberRights::getUserId, userId)
|
||||
.in(MemberRights::getCardId, cardIds)
|
||||
.eq(MemberRights::getRightsCode, rightsCode);
|
||||
try {
|
||||
MemberRights rights = getOne(lambdaQueryWrapper);
|
||||
rights.setRemaining(rights.getRemaining()-deplete);
|
||||
if (!("02".equals(rights.getRightsType()) && rights.getRightsValue() == 0)) {
|
||||
int result = rights.getRemaining() - deplete;
|
||||
if (result == 0) {
|
||||
throw new Exception("今日次数已达上限");
|
||||
}
|
||||
rights.setRemaining(result);
|
||||
updateById(rights);
|
||||
}catch (Exception e){
|
||||
throw new Exception("根据用户id,卡id,权益编码,查询权益出现错误");
|
||||
}
|
||||
} catch (Exception e) {
|
||||
throw new Exception(e.getMessage());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user