报名功能

This commit is contained in:
13405411873 2025-04-10 09:36:40 +08:00
parent 251fb2cb6c
commit d9396c7efb
6 changed files with 106 additions and 6 deletions

View File

@ -6,6 +6,7 @@ import java.util.List;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.busi.query.AppNoticeSign;
import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@ -109,4 +110,16 @@ public class BusiNoticeSignController extends BaseController
List<String> list = new ArrayList<>(Arrays.asList(ids)); List<String> list = new ArrayList<>(Arrays.asList(ids));
return toAjax(busiNoticeSignService.removeByIds(list)); return toAjax(busiNoticeSignService.removeByIds(list));
} }
/**
* 用户通告报名
*/
@PostMapping("/userSign")
public AjaxResult userSign(@RequestBody AppNoticeSign appNoticeSign)
{
busiNoticeSignService.userSign(appNoticeSign);
return success();
}
} }

View File

@ -7,6 +7,8 @@ import com.baomidou.mybatisplus.annotation.TableName;
import lombok.*; import lombok.*;
import com.ruoyi.common.core.domain.DlBaseEntity; import com.ruoyi.common.core.domain.DlBaseEntity;
import java.math.BigDecimal;
/** /**
* 通告报名对象 dl_busi_notice_sign * 通告报名对象 dl_busi_notice_sign
* *
@ -74,8 +76,16 @@ public class BusiNoticeSign extends DlBaseEntity
*/ */
private String formData; private String formData;
/** 备注 */ /** 附言 */
@Excel(name = "备注") @Excel(name = "附言")
private String remark; private String remark;
/**
* 报名卡片
*/
private String cardId;
/**
* 报价
*/
private BigDecimal price;
} }

View File

@ -0,0 +1,31 @@
package com.ruoyi.busi.query;
import com.alibaba.fastjson2.JSONArray;
import com.alibaba.fastjson2.JSONObject;
import com.ruoyi.common.annotation.Excel;
import lombok.Data;
import java.util.List;
@Data
public class AppNoticeSign {
/**
* 通告id
*/
private String noticeId;
/**
* 动态表单json
*/
private JSONArray customForm;
/**
* cardIds
*/
private List<JSONObject> cardList;
/**
* 收货地址id
*/
private String addressId;
/** 是否超级报名 */
private String isSuper;
}

View File

@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.busi.domain.BusiNoticeSign; import com.ruoyi.busi.domain.BusiNoticeSign;
import com.ruoyi.busi.query.AppNoticeSign;
/** /**
* 通告报名Service接口 * 通告报名Service接口
@ -15,4 +16,5 @@ import com.ruoyi.busi.domain.BusiNoticeSign;
public interface IBusiNoticeSignService extends IService<BusiNoticeSign> public interface IBusiNoticeSignService extends IService<BusiNoticeSign>
{ {
IPage<BusiNoticeSign> queryListPage(BusiNoticeSign pageReqVO, Page<BusiNoticeSign> page); IPage<BusiNoticeSign> queryListPage(BusiNoticeSign pageReqVO, Page<BusiNoticeSign> page);
void userSign(AppNoticeSign appNoticeSign);
} }

View File

@ -1,9 +1,15 @@
package com.ruoyi.busi.service.impl; package com.ruoyi.busi.service.impl;
import java.util.List; import java.util.List;
import com.alibaba.fastjson2.JSONArray;
import com.alibaba.fastjson2.JSONObject;
import com.ruoyi.busi.query.AppNoticeSign;
import com.ruoyi.common.core.domain.model.LoginUser;
import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.DateUtils;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.utils.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@ -27,4 +33,29 @@ public class BusiNoticeSignServiceImpl extends ServiceImpl<BusiNoticeSignMapper,
public IPage<BusiNoticeSign> queryListPage(BusiNoticeSign pageReqVO, Page<BusiNoticeSign> page) { public IPage<BusiNoticeSign> queryListPage(BusiNoticeSign pageReqVO, Page<BusiNoticeSign> page) {
return busiNoticeSignMapper.queryListPage(pageReqVO, page); return busiNoticeSignMapper.queryListPage(pageReqVO, page);
} }
/**
* 用户报名
* @param appNoticeSign 报名实体
*/
@Override
public void userSign(AppNoticeSign appNoticeSign) {
LoginUser loginUser = SecurityUtils.getLoginUser();
for (JSONObject cardInfo : appNoticeSign.getCardList()) {
BusiNoticeSign busiNoticeSign =new BusiNoticeSign();
busiNoticeSign.setNoticeId(appNoticeSign.getNoticeId());
busiNoticeSign.setUserId(loginUser.getUserId());
busiNoticeSign.setNickname(loginUser.getUser().getNickName());
busiNoticeSign.setAvatar(loginUser.getUser().getAvatar());
busiNoticeSign.setStatus("0");
busiNoticeSign.setFormData(JSONArray.toJSONString(appNoticeSign.getCustomForm()));
busiNoticeSign.setCardId(cardInfo.getString("id"));
busiNoticeSign.setPrice(cardInfo.getBigDecimal("price"));
busiNoticeSign.setRemark(cardInfo.getString("remark"));
busiNoticeSign.setTel(cardInfo.getString("tel"));
busiNoticeSign.setIsSuper(appNoticeSign.getIsSuper());
busiNoticeSign.setAddrId(appNoticeSign.getAddressId());
busiNoticeSignMapper.insert(busiNoticeSign);
}
}
} }

View File

@ -4,6 +4,8 @@ import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import com.ruoyi.common.utils.SecurityUtils;
import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
@ -104,4 +106,15 @@ public class MemberCardController extends BaseController
List<String> list = new ArrayList<>(Arrays.asList(ids)); List<String> list = new ArrayList<>(Arrays.asList(ids));
return toAjax(memberCardService.removeByIds(list)); return toAjax(memberCardService.removeByIds(list));
} }
/**
* 查询当前用户的权益信息
*/
@GetMapping("/selectMemberRights")
public AjaxResult selectMemberRights()
{
return success( memberCardService.selectMemberRights(SecurityUtils.getUserId(),null));
}
} }