积分变动记录
This commit is contained in:
parent
cde077cf73
commit
bfca023285
@ -4,16 +4,13 @@ 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.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
import com.ruoyi.member.vo.MemberUserVO;
|
||||||
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.*;
|
||||||
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 com.ruoyi.common.annotation.Log;
|
import com.ruoyi.common.annotation.Log;
|
||||||
import com.ruoyi.common.core.controller.BaseController;
|
import com.ruoyi.common.core.controller.BaseController;
|
||||||
import com.ruoyi.common.core.domain.AjaxResult;
|
import com.ruoyi.common.core.domain.AjaxResult;
|
||||||
@ -31,55 +28,43 @@ import com.ruoyi.common.core.page.TableDataInfo;
|
|||||||
*/
|
*/
|
||||||
@RestController
|
@RestController
|
||||||
@RequestMapping("/member/points")
|
@RequestMapping("/member/points")
|
||||||
public class MemberPointsController extends BaseController
|
public class MemberPointsController extends BaseController {
|
||||||
{
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private IMemberPointsService memberPointsService;
|
private IMemberPointsService memberPointsService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询博主积分变动明细列表
|
* 分页查询积分变动明细
|
||||||
*/
|
*
|
||||||
@PreAuthorize("@ss.hasPermi('member:points:list')")
|
* @param userId 用户id
|
||||||
|
* @param pageNum 分页参数
|
||||||
|
* @param pageSize 分页参数
|
||||||
|
* @return com.ruoyi.common.core.domain.AjaxResult
|
||||||
|
* @author PQZ
|
||||||
|
* @date 15:24 2025/3/29
|
||||||
|
**/
|
||||||
@GetMapping("/list")
|
@GetMapping("/list")
|
||||||
public AjaxResult list(MemberPoints memberPoints)
|
public AjaxResult list(@RequestParam(name = "userId") Long userId,
|
||||||
{
|
@RequestParam(name = "pageNum", defaultValue = "1") Integer pageNum,
|
||||||
|
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) {
|
||||||
List<MemberPoints> list = memberPointsService.list();
|
Page<MemberPoints> page = new Page<>(pageNum, pageSize);
|
||||||
|
IPage<MemberPoints> list = memberPointsService.queryListPage(userId, page);
|
||||||
return success(list);
|
return success(list);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 导出博主积分变动明细列表
|
|
||||||
*/
|
|
||||||
@PreAuthorize("@ss.hasPermi('member:points:export')")
|
|
||||||
@Log(title = "博主积分变动明细", businessType = BusinessType.EXPORT)
|
|
||||||
@PostMapping("/export")
|
|
||||||
public void export(HttpServletResponse response, MemberPoints memberPoints)
|
|
||||||
{
|
|
||||||
List<MemberPoints> list = memberPointsService.list();
|
|
||||||
ExcelUtil<MemberPoints> util = new ExcelUtil<MemberPoints>(MemberPoints.class);
|
|
||||||
util.exportExcel(response, list, "博主积分变动明细数据");
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取博主积分变动明细详细信息
|
* 新增博主积分变动记录
|
||||||
*/
|
*
|
||||||
@PreAuthorize("@ss.hasPermi('member:points:query')")
|
* @param memberPoints {@link MemberPoints}
|
||||||
@GetMapping(value = "/{id}")
|
* @return com.ruoyi.common.core.domain.AjaxResult
|
||||||
public AjaxResult getInfo(@PathVariable("id") String id)
|
* @author PQZ
|
||||||
{
|
* @date 15:29 2025/3/29
|
||||||
return success(memberPointsService.getById(id));
|
**/
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 新增博主积分变动明细
|
|
||||||
*/
|
|
||||||
@PreAuthorize("@ss.hasPermi('member:points:add')")
|
|
||||||
@Log(title = "博主积分变动明细", businessType = BusinessType.INSERT)
|
@Log(title = "博主积分变动明细", businessType = BusinessType.INSERT)
|
||||||
@PostMapping
|
@PostMapping
|
||||||
public AjaxResult add(@RequestBody MemberPoints memberPoints)
|
public AjaxResult add(@RequestBody MemberPoints memberPoints) {
|
||||||
{
|
memberPointsService.savePoints(memberPoints);
|
||||||
return toAjax(memberPointsService.save(memberPoints));
|
return success();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -88,8 +73,7 @@ public class MemberPointsController extends BaseController
|
|||||||
@PreAuthorize("@ss.hasPermi('member:points:edit')")
|
@PreAuthorize("@ss.hasPermi('member:points:edit')")
|
||||||
@Log(title = "博主积分变动明细", businessType = BusinessType.UPDATE)
|
@Log(title = "博主积分变动明细", businessType = BusinessType.UPDATE)
|
||||||
@PutMapping
|
@PutMapping
|
||||||
public AjaxResult edit(@RequestBody MemberPoints memberPoints)
|
public AjaxResult edit(@RequestBody MemberPoints memberPoints) {
|
||||||
{
|
|
||||||
return toAjax(memberPointsService.updateById(memberPoints));
|
return toAjax(memberPointsService.updateById(memberPoints));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -98,9 +82,8 @@ public class MemberPointsController extends BaseController
|
|||||||
*/
|
*/
|
||||||
@PreAuthorize("@ss.hasPermi('member:points:remove')")
|
@PreAuthorize("@ss.hasPermi('member:points:remove')")
|
||||||
@Log(title = "博主积分变动明细", businessType = BusinessType.DELETE)
|
@Log(title = "博主积分变动明细", businessType = BusinessType.DELETE)
|
||||||
@DeleteMapping("/{ids}")
|
@DeleteMapping("/{ids}")
|
||||||
public AjaxResult remove(@PathVariable String[] ids)
|
public AjaxResult remove(@PathVariable String[] ids) {
|
||||||
{
|
|
||||||
List<String> list = new ArrayList<>(Arrays.asList(ids));
|
List<String> list = new ArrayList<>(Arrays.asList(ids));
|
||||||
return toAjax(memberPointsService.removeByIds(list));
|
return toAjax(memberPointsService.removeByIds(list));
|
||||||
}
|
}
|
||||||
|
@ -50,7 +50,7 @@ public class MemberPoints extends DlBaseEntity
|
|||||||
|
|
||||||
/** 剩余 */
|
/** 剩余 */
|
||||||
@Excel(name = "剩余")
|
@Excel(name = "剩余")
|
||||||
private Long balance;
|
private Integer balance;
|
||||||
|
|
||||||
/** 备注 */
|
/** 备注 */
|
||||||
@Excel(name = "备注")
|
@Excel(name = "备注")
|
||||||
|
@ -1,8 +1,9 @@
|
|||||||
package com.ruoyi.member.mapper;
|
package com.ruoyi.member.mapper;
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
import com.ruoyi.member.domain.MemberPoints;
|
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
import com.ruoyi.member.domain.MemberPoints;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -12,7 +13,16 @@ import org.apache.ibatis.annotations.Mapper;
|
|||||||
* @date 2025-03-17
|
* @date 2025-03-17
|
||||||
*/
|
*/
|
||||||
@Mapper
|
@Mapper
|
||||||
public interface MemberPointsMapper extends BaseMapper<MemberPoints>
|
public interface MemberPointsMapper extends BaseMapper<MemberPoints> {
|
||||||
{
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据用户id查询积分变动明细
|
||||||
|
*
|
||||||
|
* @param userId 用户id
|
||||||
|
* @param page 分页参数
|
||||||
|
* @return com.baomidou.mybatisplus.core.metadata.IPage<com.ruoyi.member.domain.MemberPoints>
|
||||||
|
* @author PQZ
|
||||||
|
* @date 15:25 2025/3/29
|
||||||
|
**/
|
||||||
|
IPage<MemberPoints> queryListPage(Long userId, Page<MemberPoints> page);
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
package com.ruoyi.member.service;
|
package com.ruoyi.member.service;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
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.member.domain.MemberPoints;
|
import com.ruoyi.member.domain.MemberPoints;
|
||||||
|
|
||||||
@ -13,5 +15,22 @@ import java.util.List;
|
|||||||
*/
|
*/
|
||||||
public interface IMemberPointsService extends IService<MemberPoints> {
|
public interface IMemberPointsService extends IService<MemberPoints> {
|
||||||
|
|
||||||
// void dealMemberPoints(Long userId);
|
/**
|
||||||
|
* 分页查询积分变动明细
|
||||||
|
*
|
||||||
|
* @param userId 用户id
|
||||||
|
* @param page 分页参数
|
||||||
|
* @return com.baomidou.mybatisplus.core.metadata.IPage<com.ruoyi.member.domain.MemberPoints>
|
||||||
|
* @author PQZ
|
||||||
|
* @date 15:24 2025/3/29
|
||||||
|
**/
|
||||||
|
IPage<MemberPoints> queryListPage(Long userId, Page<MemberPoints> page);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增积分变动记录
|
||||||
|
* @author PQZ
|
||||||
|
* @date 15:29 2025/3/29
|
||||||
|
* @param memberPoints {@link MemberPoints}
|
||||||
|
**/
|
||||||
|
void savePoints(MemberPoints memberPoints);
|
||||||
}
|
}
|
||||||
|
@ -1,13 +1,18 @@
|
|||||||
package com.ruoyi.member.service.impl;
|
package com.ruoyi.member.service.impl;
|
||||||
|
|
||||||
import java.util.List;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.ruoyi.common.utils.DateUtils;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import com.ruoyi.common.core.domain.DlBaseEntity;
|
||||||
|
import com.ruoyi.member.domain.MemberPoints;
|
||||||
|
import com.ruoyi.member.mapper.MemberPointsMapper;
|
||||||
|
import com.ruoyi.member.service.IMemberPointsService;
|
||||||
|
import io.lettuce.core.LMoveArgs;
|
||||||
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.ruoyi.member.mapper.MemberPointsMapper;
|
import java.util.List;
|
||||||
import com.ruoyi.member.domain.MemberPoints;
|
|
||||||
import com.ruoyi.member.service.IMemberPointsService;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 博主积分变动明细Service业务层处理
|
* 博主积分变动明细Service业务层处理
|
||||||
@ -16,10 +21,54 @@ import com.ruoyi.member.service.IMemberPointsService;
|
|||||||
* @date 2025-03-17
|
* @date 2025-03-17
|
||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
public class MemberPointsServiceImpl extends ServiceImpl<MemberPointsMapper,MemberPoints> implements IMemberPointsService
|
public class MemberPointsServiceImpl extends ServiceImpl<MemberPointsMapper, MemberPoints> implements IMemberPointsService {
|
||||||
{
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private MemberPointsMapper memberPointsMapper;
|
private MemberPointsMapper memberPointsMapper;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分页查询积分变动明细
|
||||||
|
*
|
||||||
|
* @param userId 用户id
|
||||||
|
* @param page 分页参数
|
||||||
|
* @return com.baomidou.mybatisplus.core.metadata.IPage<com.ruoyi.member.domain.MemberPoints>
|
||||||
|
* @author PQZ
|
||||||
|
* @date 15:24 2025/3/29
|
||||||
|
**/
|
||||||
|
@Override
|
||||||
|
public IPage<MemberPoints> queryListPage(Long userId, Page<MemberPoints> page) {
|
||||||
|
return memberPointsMapper.queryListPage(userId,page);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增积分变动记录
|
||||||
|
*
|
||||||
|
* @param memberPoints {@link MemberPoints}
|
||||||
|
* @author PQZ
|
||||||
|
* @date 15:29 2025/3/29
|
||||||
|
**/
|
||||||
|
@Override
|
||||||
|
public void savePoints(MemberPoints memberPoints) {
|
||||||
|
//查询当前用户最近变动记录
|
||||||
|
LambdaQueryWrapper<MemberPoints> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
lambdaQueryWrapper.eq(DlBaseEntity::getDelFlag,0)
|
||||||
|
.eq(MemberPoints::getUserId,memberPoints.getUserId())
|
||||||
|
.orderByDesc(DlBaseEntity::getCreateTime);
|
||||||
|
List<MemberPoints> list = list(lambdaQueryWrapper);
|
||||||
|
//如果没有记录则为初始新增
|
||||||
|
if (list.isEmpty()) {
|
||||||
|
memberPoints.setBalance(memberPoints.getPoints());
|
||||||
|
} else {
|
||||||
|
//如果有记录则取最新记录中的剩余值进行计算后得出新值
|
||||||
|
Integer oldBalance = list.get(0).getBalance();
|
||||||
|
Integer newBalance;
|
||||||
|
if ("1".equals(memberPoints.getType())) {
|
||||||
|
newBalance = oldBalance + memberPoints.getPoints();
|
||||||
|
} else {
|
||||||
|
newBalance = oldBalance - memberPoints.getPoints();
|
||||||
|
}
|
||||||
|
memberPoints.setBalance(newBalance);
|
||||||
|
}
|
||||||
|
save(memberPoints);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -16,6 +16,7 @@ import com.ruoyi.constant.DictConstants;
|
|||||||
import com.ruoyi.framework.web.service.TokenService;
|
import com.ruoyi.framework.web.service.TokenService;
|
||||||
import com.ruoyi.member.domain.MemberUser;
|
import com.ruoyi.member.domain.MemberUser;
|
||||||
import com.ruoyi.member.mapper.MemberUserMapper;
|
import com.ruoyi.member.mapper.MemberUserMapper;
|
||||||
|
import com.ruoyi.member.service.IMemberAddressService;
|
||||||
import com.ruoyi.member.service.IMemberBusiCardService;
|
import com.ruoyi.member.service.IMemberBusiCardService;
|
||||||
import com.ruoyi.member.service.IMemberCardService;
|
import com.ruoyi.member.service.IMemberCardService;
|
||||||
import com.ruoyi.member.service.IMemberUserService;
|
import com.ruoyi.member.service.IMemberUserService;
|
||||||
@ -51,6 +52,8 @@ public class MemberUserServiceImpl extends ServiceImpl<MemberUserMapper, MemberU
|
|||||||
private SysUserMapper userMapper;
|
private SysUserMapper userMapper;
|
||||||
@Autowired
|
@Autowired
|
||||||
private DlRightsConfig dlRightsConfig;
|
private DlRightsConfig dlRightsConfig;
|
||||||
|
@Resource
|
||||||
|
private IMemberAddressService addressService;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -102,6 +105,10 @@ public class MemberUserServiceImpl extends ServiceImpl<MemberUserMapper, MemberU
|
|||||||
MemberUserVO result = memberUserMapper.queryByUserId(userId, "02");
|
MemberUserVO result = memberUserMapper.queryByUserId(userId, "02");
|
||||||
//名片信息
|
//名片信息
|
||||||
result.setBusiCards(busiCardService.queryListByUserId(userId));
|
result.setBusiCards(busiCardService.queryListByUserId(userId));
|
||||||
|
//地址信息
|
||||||
|
result.setAddresses(addressService.listByUserId(userId));
|
||||||
|
//会员开通记录
|
||||||
|
result.setCards(cardService.listByUserId(userId, "02"));
|
||||||
//报名的通告
|
//报名的通告
|
||||||
// result.setNoticeVos(noticeService.queryListByUserId(userId));
|
// result.setNoticeVos(noticeService.queryListByUserId(userId));
|
||||||
return result;
|
return result;
|
||||||
|
@ -4,6 +4,7 @@ import com.ruoyi.busi.domain.BusiEvaluate;
|
|||||||
import com.ruoyi.busi.domain.BusiNotice;
|
import com.ruoyi.busi.domain.BusiNotice;
|
||||||
import com.ruoyi.busi.vo.BusiEvaluateVO;
|
import com.ruoyi.busi.vo.BusiEvaluateVO;
|
||||||
import com.ruoyi.busi.vo.BusiNoticeVo;
|
import com.ruoyi.busi.vo.BusiNoticeVo;
|
||||||
|
import com.ruoyi.member.domain.MemberAddress;
|
||||||
import com.ruoyi.member.domain.MemberBusiCard;
|
import com.ruoyi.member.domain.MemberBusiCard;
|
||||||
import com.ruoyi.member.domain.MemberCard;
|
import com.ruoyi.member.domain.MemberCard;
|
||||||
import com.ruoyi.member.domain.MemberUser;
|
import com.ruoyi.member.domain.MemberUser;
|
||||||
@ -33,4 +34,6 @@ public class MemberUserVO extends MemberUser {
|
|||||||
List<BusiNoticeVo> noticeVos;
|
List<BusiNoticeVo> noticeVos;
|
||||||
/**名片信息*/
|
/**名片信息*/
|
||||||
List<MemberBusiCard> busiCards;
|
List<MemberBusiCard> busiCards;
|
||||||
|
/**地址信息*/
|
||||||
|
List<MemberAddress> addresses;
|
||||||
}
|
}
|
||||||
|
@ -24,5 +24,10 @@
|
|||||||
select id, user_id, from_code, type, title, points, balance, remark, creator, create_time, updater, update_time, del_flag from dl_member_points
|
select id, user_id, from_code, type, title, points, balance, remark, creator, create_time, updater, update_time, del_flag from dl_member_points
|
||||||
</sql>
|
</sql>
|
||||||
|
|
||||||
|
<select id="queryListPage" parameterType="MemberPoints" resultMap="MemberPointsResult">
|
||||||
|
<include refid="selectMemberPointsVo"/>
|
||||||
|
<where>
|
||||||
|
<if test="entity.userId != null"> and user_id = #{entity.userId}</if>
|
||||||
|
</where>
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
Loading…
Reference in New Issue
Block a user