通告券

This commit is contained in:
PQZ 2025-04-11 15:35:49 +08:00
parent dcd3420743
commit 2d54c21bb7
10 changed files with 104 additions and 40 deletions

View File

@ -4,6 +4,7 @@ import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.springframework.security.access.prepost.PreAuthorize;
@ -28,14 +29,13 @@ import com.ruoyi.common.core.page.TableDataInfo;
/**
* 通告券Controller
*
*
* @author vinjor-m
* @date 2025-03-17
*/
@RestController
@RequestMapping("/base/coupon")
public class BaseCouponController extends BaseController
{
public class BaseCouponController extends BaseController {
@Autowired
private IBaseCouponService baseCouponService;
@ -45,22 +45,31 @@ public class BaseCouponController extends BaseController
@PreAuthorize("@ss.hasPermi('base:coupon:list')")
@GetMapping("/list")
public AjaxResult list(BaseCoupon baseCoupon,
@RequestParam(name = "pageNum", defaultValue = "1") Integer pageNum,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize)
{
@RequestParam(name = "pageNum", defaultValue = "1") Integer pageNum,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) {
Page<BaseCoupon> page = new Page<>(pageNum, pageSize);
IPage<BaseCoupon> list = baseCouponService.queryListPage(baseCoupon,page);
IPage<BaseCoupon> list = baseCouponService.queryListPage(baseCoupon, page);
return success(list);
}
/**
* 通告券列表不分页查询
* @author PQZ
* @date 13:56 2025/4/11
* @return com.ruoyi.common.core.domain.AjaxResult
**/
@GetMapping("/uniCouponList")
public AjaxResult uniCouponList() {
return success(baseCouponService.couponList());
}
/**
* 导出通告券列表
*/
@PreAuthorize("@ss.hasPermi('base:coupon:export')")
@Log(title = "通告券", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, BaseCoupon baseCoupon)
{
public void export(HttpServletResponse response, BaseCoupon baseCoupon) {
List<BaseCoupon> list = baseCouponService.list();
ExcelUtil<BaseCoupon> util = new ExcelUtil<BaseCoupon>(BaseCoupon.class);
util.exportExcel(response, list, "通告券数据");
@ -71,8 +80,7 @@ public class BaseCouponController extends BaseController
*/
@PreAuthorize("@ss.hasPermi('base:coupon:query')")
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") String id)
{
public AjaxResult getInfo(@PathVariable("id") String id) {
return success(baseCouponService.getById(id));
}
@ -82,8 +90,7 @@ public class BaseCouponController extends BaseController
@PreAuthorize("@ss.hasPermi('base:coupon:add')")
@Log(title = "通告券", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody BaseCoupon baseCoupon)
{
public AjaxResult add(@RequestBody BaseCoupon baseCoupon) {
return toAjax(baseCouponService.save(baseCoupon));
}
@ -93,8 +100,7 @@ public class BaseCouponController extends BaseController
@PreAuthorize("@ss.hasPermi('base:coupon:edit')")
@Log(title = "通告券", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody BaseCoupon baseCoupon)
{
public AjaxResult edit(@RequestBody BaseCoupon baseCoupon) {
return toAjax(baseCouponService.updateById(baseCoupon));
}
@ -103,9 +109,8 @@ public class BaseCouponController extends BaseController
*/
@PreAuthorize("@ss.hasPermi('base:coupon:remove')")
@Log(title = "通告券", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable String[] ids)
{
@DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable String[] ids) {
List<String> list = new ArrayList<>(Arrays.asList(ids));
return toAjax(baseCouponService.removeByIds(list));
}

View File

@ -1,6 +1,7 @@
package com.ruoyi.base.service;
import java.util.List;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
@ -8,11 +9,18 @@ import com.ruoyi.base.domain.BaseCoupon;
/**
* 通告券Service接口
*
*
* @author vinjor-m
* @date 2025-03-17
*/
public interface IBaseCouponService extends IService<BaseCoupon>
{
public interface IBaseCouponService extends IService<BaseCoupon> {
IPage<BaseCoupon> queryListPage(BaseCoupon pageReqVO, Page<BaseCoupon> page);
/**
* 不分页查询基础通告券列表
* @author PQZ
* @date 13:54 2025/4/11
* @return java.util.List<com.ruoyi.base.domain.BaseCoupon>
**/
List<BaseCoupon> couponList();
}

View File

@ -1,6 +1,9 @@
package com.ruoyi.base.service.impl;
import java.util.List;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.ruoyi.common.core.domain.DlBaseEntity;
import com.ruoyi.common.utils.DateUtils;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@ -27,4 +30,20 @@ public class BaseCouponServiceImpl extends ServiceImpl<BaseCouponMapper,BaseCoup
public IPage<BaseCoupon> queryListPage(BaseCoupon pageReqVO, Page<BaseCoupon> page) {
return baseCouponMapper.queryListPage(pageReqVO, page);
}
/**
* 不分页查询基础通告券列表
*
* @return java.util.List<com.ruoyi.base.domain.BaseCoupon>
* @author PQZ
* @date 13:54 2025/4/11
**/
@Override
public List<BaseCoupon> couponList() {
LambdaQueryWrapper<BaseCoupon> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.eq(DlBaseEntity::getDelFlag,0)
.eq(BaseCoupon::getIsShow,1)
.orderByDesc(DlBaseEntity::getCreateTime);
return list(lambdaQueryWrapper);
}
}

View File

@ -4,6 +4,7 @@ import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
@ -25,14 +26,13 @@ import com.ruoyi.common.core.page.TableDataInfo;
/**
* 用户通告券变动记录Controller
*
*
* @author vinjor-m
* @date 2025-03-17
*/
@RestController
@RequestMapping("/member/coupon")
public class MemberCouponController extends BaseController
{
public class MemberCouponController extends BaseController {
@Autowired
private IMemberCouponService memberCouponService;
@ -41,8 +41,7 @@ public class MemberCouponController extends BaseController
*/
@PreAuthorize("@ss.hasPermi('member:coupon:list')")
@GetMapping("/list")
public AjaxResult list(MemberCoupon memberCoupon)
{
public AjaxResult list(MemberCoupon memberCoupon) {
List<MemberCoupon> list = memberCouponService.list();
return success(list);
@ -54,8 +53,7 @@ public class MemberCouponController extends BaseController
@PreAuthorize("@ss.hasPermi('member:coupon:export')")
@Log(title = "用户通告券变动记录", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, MemberCoupon memberCoupon)
{
public void export(HttpServletResponse response, MemberCoupon memberCoupon) {
List<MemberCoupon> list = memberCouponService.list();
ExcelUtil<MemberCoupon> util = new ExcelUtil<MemberCoupon>(MemberCoupon.class);
util.exportExcel(response, list, "用户通告券变动记录数据");
@ -66,8 +64,7 @@ public class MemberCouponController extends BaseController
*/
@PreAuthorize("@ss.hasPermi('member:coupon:query')")
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") String id)
{
public AjaxResult getInfo(@PathVariable("id") String id) {
return success(memberCouponService.getById(id));
}
@ -77,8 +74,7 @@ public class MemberCouponController extends BaseController
@PreAuthorize("@ss.hasPermi('member:coupon:add')")
@Log(title = "用户通告券变动记录", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody MemberCoupon memberCoupon)
{
public AjaxResult add(@RequestBody MemberCoupon memberCoupon) {
return toAjax(memberCouponService.save(memberCoupon));
}
@ -88,8 +84,7 @@ public class MemberCouponController extends BaseController
@PreAuthorize("@ss.hasPermi('member:coupon:edit')")
@Log(title = "用户通告券变动记录", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody MemberCoupon memberCoupon)
{
public AjaxResult edit(@RequestBody MemberCoupon memberCoupon) {
return toAjax(memberCouponService.updateById(memberCoupon));
}
@ -98,9 +93,8 @@ public class MemberCouponController extends BaseController
*/
@PreAuthorize("@ss.hasPermi('member:coupon:remove')")
@Log(title = "用户通告券变动记录", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable String[] ids)
{
@DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable String[] ids) {
List<String> list = new ArrayList<>(Arrays.asList(ids));
return toAjax(memberCouponService.removeByIds(list));
}

View File

@ -31,4 +31,14 @@ public interface IMemberCouponService extends IService<MemberCoupon> {
**/
void saveCoupon(Long userId, String type, String noticeId, Integer couponNum);
/**
* 查询剩余通告券
*
* @param userId 用户id
* @return java.lang.Integer
* @author PQZ
* @date 13:37 2025/4/11
**/
Integer getCoupon(Long userId);
}

View File

@ -36,8 +36,7 @@ public class MemberCouponServiceImpl extends ServiceImpl<MemberCouponMapper,Memb
**/
@Override
public void dealMemberCoupon(MemberOrder order) {
BaseCoupon coupon = baseCouponService.getById(order.getGoodsId());
saveCoupon(order.getUserId(), "2",null,coupon.getCouponNum());
saveCoupon(order.getUserId(), "2",null,order.getGoodsNum());
}
/**
@ -82,5 +81,27 @@ public class MemberCouponServiceImpl extends ServiceImpl<MemberCouponMapper,Memb
}
/**
* 查询剩余通告券
*
* @param userId 用户id
* @return java.lang.Integer
* @author PQZ
* @date 13:37 2025/4/11
**/
@Override
public Integer getCoupon(Long userId) {
LambdaQueryWrapper<MemberCoupon> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.eq(DlBaseEntity::getDelFlag,0)
.eq(MemberCoupon::getUserId,userId)
.orderByDesc(DlBaseEntity::getCreateTime);
List<MemberCoupon> list = list(lambdaQueryWrapper);
if (list.isEmpty()){
return 0;
} else {
return list.get(0).getBalance();
}
}
}

View File

@ -61,6 +61,8 @@ public class MemberUserServiceImpl extends ServiceImpl<MemberUserMapper, MemberU
private IMemberPointsService pointsService;
@Autowired
private ISysUserService userService;
@Resource
private IMemberCouponService couponService;
/**
@ -139,6 +141,8 @@ public class MemberUserServiceImpl extends ServiceImpl<MemberUserMapper, MemberU
result.setPointsBalance(pointsService.getBloggerBalance(userId));
//报名
result.setReport(cardService.getCardReport(userId,"02"));
} else {
result.setCoupon(couponService.getCoupon(userId));
}
return result;
}

View File

@ -38,6 +38,8 @@ public class MemberUserVO extends MemberUser {
int pointsBalance;
/**报名次数*/
int report;
/**剩余通告券*/
int coupon;
/**用户名*/
String userName;
}

View File

@ -39,7 +39,7 @@
<if test="entity.approvalStatus != null and entity.approvalStatus != '' and entity.approvalStatus != 10"> and approval_status = #{entity.approvalStatus}</if>
</where>
<if test="entity.approvalStatus == 10">
order by approval_time desc
order by approval_time desc
</if>
</select>

View File

@ -48,6 +48,7 @@
<if test="entity.refundWay != null and entity.refundWay != ''"> and refund_way = #{entity.refundWay}</if>
<if test="entity.isPay != null "> and is_pay = #{entity.isPay}</if>
<if test="entity.isRefund != null "> and is_refund = #{entity.isRefund}</if>
<if test="entity.userId != null "> and user_id = #{entity.userId}</if>
</where>
order by create_time desc
</select>