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)
|
public AjaxResult saveOrUpdate(@RequestBody BusiNotice busiNotice)
|
||||||
{
|
{
|
||||||
JSONObject res = new JSONObject();
|
JSONObject res = new JSONObject();
|
||||||
res.put("noticeId", busiNoticeService.saveOrUpdateVo(busiNotice));
|
try{
|
||||||
|
res.put("noticeId", busiNoticeService.saveOrUpdateVo(busiNotice));
|
||||||
|
} catch (Exception e){
|
||||||
|
return error(e.getMessage());
|
||||||
|
}
|
||||||
return success(res);
|
return success(res);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -47,7 +47,7 @@ public interface IBusiNoticeService extends IService<BusiNotice>
|
|||||||
* @param data 保存参数
|
* @param data 保存参数
|
||||||
*/
|
*/
|
||||||
void updateByIdVo(BusiNotice data);
|
void updateByIdVo(BusiNotice data);
|
||||||
String saveOrUpdateVo(BusiNotice data);
|
String saveOrUpdateVo(BusiNotice data) throws Exception;
|
||||||
void removeByIdsVo(List<String> ids);
|
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.MemberApply;
|
||||||
import com.ruoyi.member.domain.MemberUser;
|
import com.ruoyi.member.domain.MemberUser;
|
||||||
import com.ruoyi.member.service.IMemberApplyService;
|
import com.ruoyi.member.service.IMemberApplyService;
|
||||||
|
import com.ruoyi.member.service.IMemberCardService;
|
||||||
import com.ruoyi.member.service.IMemberUserService;
|
import com.ruoyi.member.service.IMemberUserService;
|
||||||
import com.ruoyi.system.service.ISysDictDataService;
|
import com.ruoyi.system.service.ISysDictDataService;
|
||||||
import com.ruoyi.system.service.ISysDictTypeService;
|
import com.ruoyi.system.service.ISysDictTypeService;
|
||||||
@ -46,6 +47,8 @@ import com.ruoyi.busi.mapper.BusiNoticeMapper;
|
|||||||
import com.ruoyi.busi.service.IBusiNoticeService;
|
import com.ruoyi.busi.service.IBusiNoticeService;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 通告Service业务层处理
|
* 通告Service业务层处理
|
||||||
*
|
*
|
||||||
@ -77,6 +80,8 @@ public class BusiNoticeServiceImpl extends ServiceImpl<BusiNoticeMapper,BusiNoti
|
|||||||
private IBusiNoticeFormService busiNoticeFormService;
|
private IBusiNoticeFormService busiNoticeFormService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private IBaseCityService cityService;
|
private IBaseCityService cityService;
|
||||||
|
@Resource
|
||||||
|
private IMemberCardService cardService;
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -191,7 +196,9 @@ public class BusiNoticeServiceImpl extends ServiceImpl<BusiNoticeMapper,BusiNoti
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Transactional
|
@Transactional
|
||||||
public String saveOrUpdateVo(BusiNotice data) {
|
public String saveOrUpdateVo(BusiNotice data) throws Exception {
|
||||||
|
//获取当前登录用户id
|
||||||
|
Long userId = SecurityUtils.getUserId();
|
||||||
if(ObjectUtil.isNotEmpty(data.getCityId())){
|
if(ObjectUtil.isNotEmpty(data.getCityId())){
|
||||||
//转换城市名称
|
//转换城市名称
|
||||||
LambdaQueryWrapper<BaseCity> queryWrapper =new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<BaseCity> queryWrapper =new LambdaQueryWrapper<>();
|
||||||
@ -209,6 +216,10 @@ public class BusiNoticeServiceImpl extends ServiceImpl<BusiNoticeMapper,BusiNoti
|
|||||||
}else {
|
}else {
|
||||||
this.saveVo(data);
|
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();
|
return data.getId();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -12,6 +12,7 @@ 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 com.ruoyi.common.utils.SecurityUtils;
|
||||||
|
import com.ruoyi.member.service.IMemberCardService;
|
||||||
import com.ruoyi.system.service.ISysUserService;
|
import com.ruoyi.system.service.ISysUserService;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
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.domain.BusiNoticeSign;
|
||||||
import com.ruoyi.busi.service.IBusiNoticeSignService;
|
import com.ruoyi.busi.service.IBusiNoticeSignService;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 通告报名Service业务层处理
|
* 通告报名Service业务层处理
|
||||||
*
|
*
|
||||||
@ -33,6 +36,8 @@ public class BusiNoticeSignServiceImpl extends ServiceImpl<BusiNoticeSignMapper,
|
|||||||
private BusiNoticeSignMapper busiNoticeSignMapper;
|
private BusiNoticeSignMapper busiNoticeSignMapper;
|
||||||
@Autowired
|
@Autowired
|
||||||
private ISysUserService userService;
|
private ISysUserService userService;
|
||||||
|
@Resource
|
||||||
|
private IMemberCardService cardService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public IPage<BusiNoticeSign> queryListPage(BusiNoticeSign pageReqVO, Page<BusiNoticeSign> page) {
|
public IPage<BusiNoticeSign> queryListPage(BusiNoticeSign pageReqVO, Page<BusiNoticeSign> page) {
|
||||||
@ -51,8 +56,8 @@ public class BusiNoticeSignServiceImpl extends ServiceImpl<BusiNoticeSignMapper,
|
|||||||
throw new Exception("请勿重复报名!");
|
throw new Exception("请勿重复报名!");
|
||||||
}
|
}
|
||||||
SysUser sysUser = userService.selectUserById(loginUser.getUserId());
|
SysUser sysUser = userService.selectUserById(loginUser.getUserId());
|
||||||
|
int i = 0;
|
||||||
for (JSONObject cardInfo : appNoticeSign.getCardList()) {
|
for (JSONObject cardInfo : appNoticeSign.getCardList()) {
|
||||||
|
|
||||||
BusiNoticeSign busiNoticeSign =new BusiNoticeSign();
|
BusiNoticeSign busiNoticeSign =new BusiNoticeSign();
|
||||||
busiNoticeSign.setNoticeId(appNoticeSign.getNoticeId());
|
busiNoticeSign.setNoticeId(appNoticeSign.getNoticeId());
|
||||||
busiNoticeSign.setUserId(loginUser.getUserId());
|
busiNoticeSign.setUserId(loginUser.getUserId());
|
||||||
@ -67,7 +72,9 @@ public class BusiNoticeSignServiceImpl extends ServiceImpl<BusiNoticeSignMapper,
|
|||||||
busiNoticeSign.setIsSuper(appNoticeSign.getIsSuper());
|
busiNoticeSign.setIsSuper(appNoticeSign.getIsSuper());
|
||||||
busiNoticeSign.setAddrId(appNoticeSign.getAddressId());
|
busiNoticeSign.setAddrId(appNoticeSign.getAddressId());
|
||||||
busiNoticeSignMapper.insert(busiNoticeSign);
|
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 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.*;
|
||||||
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;
|
||||||
@ -33,8 +26,7 @@ import com.ruoyi.common.core.page.TableDataInfo;
|
|||||||
*/
|
*/
|
||||||
@RestController
|
@RestController
|
||||||
@RequestMapping("/member/card")
|
@RequestMapping("/member/card")
|
||||||
public class MemberCardController extends BaseController
|
public class MemberCardController extends BaseController {
|
||||||
{
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private IMemberCardService memberCardService;
|
private IMemberCardService memberCardService;
|
||||||
|
|
||||||
@ -43,21 +35,43 @@ public class MemberCardController extends BaseController
|
|||||||
*/
|
*/
|
||||||
@PreAuthorize("@ss.hasPermi('member:card:list')")
|
@PreAuthorize("@ss.hasPermi('member:card:list')")
|
||||||
@GetMapping("/list")
|
@GetMapping("/list")
|
||||||
public AjaxResult list(MemberCard memberCard)
|
public AjaxResult list(MemberCard memberCard) {
|
||||||
{
|
|
||||||
|
|
||||||
List<MemberCard> list = memberCardService.list();
|
List<MemberCard> list = memberCardService.list();
|
||||||
return success(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')")
|
@PreAuthorize("@ss.hasPermi('member:card:export')")
|
||||||
@Log(title = "会员开卡记录", businessType = BusinessType.EXPORT)
|
@Log(title = "会员开卡记录", businessType = BusinessType.EXPORT)
|
||||||
@PostMapping("/export")
|
@PostMapping("/export")
|
||||||
public void export(HttpServletResponse response, MemberCard memberCard)
|
public void export(HttpServletResponse response, MemberCard memberCard) {
|
||||||
{
|
|
||||||
List<MemberCard> list = memberCardService.list();
|
List<MemberCard> list = memberCardService.list();
|
||||||
ExcelUtil<MemberCard> util = new ExcelUtil<MemberCard>(MemberCard.class);
|
ExcelUtil<MemberCard> util = new ExcelUtil<MemberCard>(MemberCard.class);
|
||||||
util.exportExcel(response, list, "会员开卡记录数据");
|
util.exportExcel(response, list, "会员开卡记录数据");
|
||||||
@ -68,8 +82,7 @@ public class MemberCardController extends BaseController
|
|||||||
*/
|
*/
|
||||||
@PreAuthorize("@ss.hasPermi('member:card:query')")
|
@PreAuthorize("@ss.hasPermi('member:card:query')")
|
||||||
@GetMapping(value = "/{id}")
|
@GetMapping(value = "/{id}")
|
||||||
public AjaxResult getInfo(@PathVariable("id") String id)
|
public AjaxResult getInfo(@PathVariable("id") String id) {
|
||||||
{
|
|
||||||
return success(memberCardService.getById(id));
|
return success(memberCardService.getById(id));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -79,8 +92,7 @@ public class MemberCardController extends BaseController
|
|||||||
@PreAuthorize("@ss.hasPermi('member:card:add')")
|
@PreAuthorize("@ss.hasPermi('member:card:add')")
|
||||||
@Log(title = "会员开卡记录", businessType = BusinessType.INSERT)
|
@Log(title = "会员开卡记录", businessType = BusinessType.INSERT)
|
||||||
@PostMapping
|
@PostMapping
|
||||||
public AjaxResult add(@RequestBody MemberCard memberCard)
|
public AjaxResult add(@RequestBody MemberCard memberCard) {
|
||||||
{
|
|
||||||
return toAjax(memberCardService.save(memberCard));
|
return toAjax(memberCardService.save(memberCard));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -90,8 +102,7 @@ public class MemberCardController extends BaseController
|
|||||||
@PreAuthorize("@ss.hasPermi('member:card:edit')")
|
@PreAuthorize("@ss.hasPermi('member:card:edit')")
|
||||||
@Log(title = "会员开卡记录", businessType = BusinessType.UPDATE)
|
@Log(title = "会员开卡记录", businessType = BusinessType.UPDATE)
|
||||||
@PutMapping
|
@PutMapping
|
||||||
public AjaxResult edit(@RequestBody MemberCard memberCard)
|
public AjaxResult edit(@RequestBody MemberCard memberCard) {
|
||||||
{
|
|
||||||
return toAjax(memberCardService.updateById(memberCard));
|
return toAjax(memberCardService.updateById(memberCard));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -100,9 +111,8 @@ public class MemberCardController extends BaseController
|
|||||||
*/
|
*/
|
||||||
@PreAuthorize("@ss.hasPermi('member:card:remove')")
|
@PreAuthorize("@ss.hasPermi('member:card: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(memberCardService.removeByIds(list));
|
return toAjax(memberCardService.removeByIds(list));
|
||||||
}
|
}
|
||||||
@ -112,9 +122,8 @@ public class MemberCardController extends BaseController
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
@GetMapping("/selectMemberRights")
|
@GetMapping("/selectMemberRights")
|
||||||
public AjaxResult selectMemberRights()
|
public AjaxResult selectMemberRights() {
|
||||||
{
|
return success(memberCardService.selectMemberRights(SecurityUtils.getUserId(), null));
|
||||||
return success( memberCardService.selectMemberRights(SecurityUtils.getUserId(),null));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -68,10 +68,10 @@ public interface IMemberCardService extends IService<MemberCard> {
|
|||||||
* @author PQZ
|
* @author PQZ
|
||||||
* @date 14:23 2025/4/17
|
* @date 14:23 2025/4/17
|
||||||
* @param userId 用户id
|
* @param userId 用户id
|
||||||
|
* @param noticeId 通告id
|
||||||
* @param rightsCode 权益编码
|
* @param rightsCode 权益编码
|
||||||
* @param deplete 扣的值
|
* @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,16 +1,25 @@
|
|||||||
package com.ruoyi.member.service;
|
package com.ruoyi.member.service;
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
import com.ruoyi.member.domain.MemberFootprint;
|
import com.ruoyi.member.domain.MemberFootprint;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 浏览足迹Service接口
|
* 浏览足迹Service接口
|
||||||
*
|
*
|
||||||
* @author vinjor-m
|
* @author vinjor-m
|
||||||
* @date 2025-03-17
|
* @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);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -37,12 +37,12 @@ public interface IMemberRightsService extends IService<MemberRights> {
|
|||||||
/**
|
/**
|
||||||
* 根据用户id,卡id,权益编码,更新剩余值
|
* 根据用户id,卡id,权益编码,更新剩余值
|
||||||
*
|
*
|
||||||
* @param userId 用户id
|
* @param userId 用户id
|
||||||
* @param cardId 卡id
|
* @param memberCards 卡集合
|
||||||
* @param rightsCode 权益编码
|
* @param rightsCode 权益编码
|
||||||
* @param deplete 消耗值
|
* @param deplete 消耗值
|
||||||
* @author PQZ
|
* @author PQZ
|
||||||
* @date 14:32 2025/4/17
|
* @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.MemberCardMapper;
|
||||||
import com.ruoyi.member.mapper.MemberRightsMapper;
|
import com.ruoyi.member.mapper.MemberRightsMapper;
|
||||||
import com.ruoyi.member.service.IMemberCardService;
|
import com.ruoyi.member.service.IMemberCardService;
|
||||||
|
import com.ruoyi.member.service.IMemberFootprintService;
|
||||||
import com.ruoyi.member.service.IMemberRightsService;
|
import com.ruoyi.member.service.IMemberRightsService;
|
||||||
import com.ruoyi.member.vo.MemberRightsVO;
|
import com.ruoyi.member.vo.MemberRightsVO;
|
||||||
import com.ruoyi.member.vo.ViewRightsVO;
|
import com.ruoyi.member.vo.ViewRightsVO;
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.BeanUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
@ -48,6 +50,8 @@ public class MemberCardServiceImpl extends ServiceImpl<MemberCardMapper, MemberC
|
|||||||
private IMemberRightsService rightsService;
|
private IMemberRightsService rightsService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private MemberRightsMapper memberRightsMapper;
|
private MemberRightsMapper memberRightsMapper;
|
||||||
|
@Resource
|
||||||
|
private IMemberFootprintService footprintService;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -244,8 +248,10 @@ public class MemberCardServiceImpl extends ServiceImpl<MemberCardMapper, MemberC
|
|||||||
//查询当前用户在当前时间有无正在服役的会员卡
|
//查询当前用户在当前时间有无正在服役的会员卡
|
||||||
Date time = new Date();
|
Date time = new Date();
|
||||||
LambdaQueryWrapper<MemberCard> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<MemberCard> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
if (StringUtils.isNotEmpty(userType)) {
|
||||||
|
lambdaQueryWrapper.eq(MemberCard::getUserType, userType);
|
||||||
|
}
|
||||||
lambdaQueryWrapper
|
lambdaQueryWrapper
|
||||||
.eq(MemberCard::getUserType, userType)
|
|
||||||
.eq(MemberCard::getUserId, userId)
|
.eq(MemberCard::getUserId, userId)
|
||||||
.eq(DlBaseEntity::getDelFlag, 0)
|
.eq(DlBaseEntity::getDelFlag, 0)
|
||||||
.lt(MemberCard::getStartDate, time)
|
.lt(MemberCard::getStartDate, time)
|
||||||
@ -257,19 +263,31 @@ public class MemberCardServiceImpl extends ServiceImpl<MemberCardMapper, MemberC
|
|||||||
/**
|
/**
|
||||||
* @param userId 用户id
|
* @param userId 用户id
|
||||||
* @param rightsCode 权益编码
|
* @param rightsCode 权益编码
|
||||||
|
* @param noticeId 通告id
|
||||||
* @param deplete 扣的值
|
* @param deplete 扣的值
|
||||||
* @author PQZ
|
* @author PQZ
|
||||||
* @date 14:23 2025/4/17
|
* @date 14:23 2025/4/17
|
||||||
**/
|
**/
|
||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@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()){
|
if (memberCards.isEmpty()){
|
||||||
throw new Exception("无正在服役的会员卡");
|
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,25 +1,42 @@
|
|||||||
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.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.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.MemberFootprintMapper;
|
import java.util.List;
|
||||||
import com.ruoyi.member.domain.MemberFootprint;
|
|
||||||
import com.ruoyi.member.service.IMemberFootprintService;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 浏览足迹Service业务层处理
|
* 浏览足迹Service业务层处理
|
||||||
*
|
*
|
||||||
* @author vinjor-m
|
* @author vinjor-m
|
||||||
* @date 2025-03-17
|
* @date 2025-03-17
|
||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
public class MemberFootprintServiceImpl extends ServiceImpl<MemberFootprintMapper,MemberFootprint> implements IMemberFootprintService
|
public class MemberFootprintServiceImpl extends ServiceImpl<MemberFootprintMapper, MemberFootprint> implements IMemberFootprintService {
|
||||||
{
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private MemberFootprintMapper memberFootprintMapper;
|
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) {
|
public Integer getReport(Long userId, String cardId) {
|
||||||
LambdaQueryWrapper<MemberRights> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<MemberRights> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||||
lambdaQueryWrapper
|
lambdaQueryWrapper
|
||||||
.eq(MemberRights::getUserId,userId)
|
.eq(MemberRights::getUserId, userId)
|
||||||
.eq(MemberRights::getCardId,cardId);
|
.eq(MemberRights::getCardId, cardId);
|
||||||
List<MemberRights> rights = list(lambdaQueryWrapper);
|
List<MemberRights> rights = list(lambdaQueryWrapper);
|
||||||
if (rights.isEmpty()){
|
if (rights.isEmpty()) {
|
||||||
return dlRightsConfig.getReport();
|
return dlRightsConfig.getReport();
|
||||||
} else {
|
} else {
|
||||||
List<MemberRights> filterRights = rights.stream()
|
List<MemberRights> filterRights = rights.stream()
|
||||||
@ -85,25 +85,32 @@ public class MemberRightsServiceImpl extends ServiceImpl<MemberRightsMapper, Mem
|
|||||||
/**
|
/**
|
||||||
* 根据用户id,卡id,权益编码,更新剩余值
|
* 根据用户id,卡id,权益编码,更新剩余值
|
||||||
*
|
*
|
||||||
* @param userId 用户id
|
* @param userId 用户id
|
||||||
* @param cardId 卡id
|
* @param memberCards 卡集合
|
||||||
* @param rightsCode 权益编码
|
* @param rightsCode 权益编码
|
||||||
* @param deplete 消耗值
|
* @param deplete 消耗值
|
||||||
* @author PQZ
|
* @author PQZ
|
||||||
* @date 14:32 2025/4/17
|
* @date 14:32 2025/4/17
|
||||||
**/
|
**/
|
||||||
@Override
|
@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<MemberRights> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||||
lambdaQueryWrapper.eq(MemberRights::getUserId,userId)
|
lambdaQueryWrapper.eq(MemberRights::getUserId, userId)
|
||||||
.eq(MemberRights::getCardId,cardId)
|
.in(MemberRights::getCardId, cardIds)
|
||||||
.eq(MemberRights::getRightsCode,rightsCode);
|
.eq(MemberRights::getRightsCode, rightsCode);
|
||||||
try{
|
try {
|
||||||
MemberRights rights = getOne(lambdaQueryWrapper);
|
MemberRights rights = getOne(lambdaQueryWrapper);
|
||||||
rights.setRemaining(rights.getRemaining()-deplete);
|
if (!("02".equals(rights.getRightsType()) && rights.getRightsValue() == 0)) {
|
||||||
updateById(rights);
|
int result = rights.getRemaining() - deplete;
|
||||||
}catch (Exception e){
|
if (result == 0) {
|
||||||
throw new Exception("根据用户id,卡id,权益编码,查询权益出现错误");
|
throw new Exception("今日次数已达上限");
|
||||||
|
}
|
||||||
|
rights.setRemaining(result);
|
||||||
|
updateById(rights);
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
throw new Exception(e.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user