Compare commits
2 Commits
90b2145b28
...
9deca7721a
Author | SHA1 | Date | |
---|---|---|---|
![]() |
9deca7721a | ||
![]() |
a1b8ce6ff3 |
@ -6,6 +6,7 @@ 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 com.ruoyi.base.vo.CardRightsVO;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
@ -69,44 +70,21 @@ public class BaseCardRightsController extends BaseController
|
||||
/**
|
||||
* 获取会员卡权益详细信息
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('base:cardRights:query')")
|
||||
@GetMapping(value = "/{id}")
|
||||
public AjaxResult getInfo(@PathVariable("id") String id)
|
||||
@GetMapping(value = "/getByCardId")
|
||||
public AjaxResult getInfo(String id,String userType)
|
||||
{
|
||||
return success(baseCardRightsService.getById(id));
|
||||
return success(baseCardRightsService.getByIdAndType(id,userType));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增会员卡权益
|
||||
* 保存会员卡权益配置
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('base:cardRights:add')")
|
||||
@Log(title = "会员卡权益", businessType = BusinessType.INSERT)
|
||||
@PostMapping
|
||||
public AjaxResult add(@RequestBody BaseCardRights baseCardRights)
|
||||
@PostMapping(value = "/saveAndUpdate")
|
||||
public AjaxResult saveAndUpdate(@RequestBody List<CardRightsVO> cardRightsVOS)
|
||||
{
|
||||
return toAjax(baseCardRightsService.save(baseCardRights));
|
||||
baseCardRightsService.saveAndUpdate(cardRightsVOS);
|
||||
return success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改会员卡权益
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('base:cardRights:edit')")
|
||||
@Log(title = "会员卡权益", businessType = BusinessType.UPDATE)
|
||||
@PutMapping
|
||||
public AjaxResult edit(@RequestBody BaseCardRights baseCardRights)
|
||||
{
|
||||
return toAjax(baseCardRightsService.updateById(baseCardRights));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除会员卡权益
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('base:cardRights:remove')")
|
||||
@Log(title = "会员卡权益", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{ids}")
|
||||
public AjaxResult remove(@PathVariable String[] ids)
|
||||
{
|
||||
List<String> list = new ArrayList<>(Arrays.asList(ids));
|
||||
return toAjax(baseCardRightsService.removeByIds(list));
|
||||
}
|
||||
}
|
||||
|
@ -38,6 +38,6 @@ public class BaseCardRights extends DlBaseEntity
|
||||
|
||||
/** 权益值 */
|
||||
@Excel(name = "权益值")
|
||||
private Long rightsValue;
|
||||
private Integer rightsValue;
|
||||
|
||||
}
|
||||
|
@ -4,6 +4,7 @@ import java.util.List;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.ruoyi.base.domain.BaseCardRights;
|
||||
import com.ruoyi.base.vo.CardRightsVO;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
@ -18,4 +19,16 @@ import org.apache.ibatis.annotations.Mapper;
|
||||
public interface BaseCardRightsMapper extends BaseMapper<BaseCardRights>
|
||||
{
|
||||
IPage<BaseCardRights> queryListPage(@Param("entity") BaseCardRights entity, Page<BaseCardRights> page);
|
||||
|
||||
/**
|
||||
* 查询会员卡权益
|
||||
* @author vinjor-M
|
||||
* @date 15:24 2025/3/18
|
||||
* @param cardId 会员卡id
|
||||
* @param userType 用户类型
|
||||
* @return java.util.List<com.ruoyi.base.domain.BaseCardRights>
|
||||
**/
|
||||
List<CardRightsVO> getByIdAndType(@Param("cardId") String cardId, @Param("userType") String userType);
|
||||
|
||||
int removeByCardId(@Param("cardId") String cardId);
|
||||
}
|
||||
|
@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.ruoyi.base.domain.BaseCardRights;
|
||||
import com.ruoyi.base.vo.CardRightsVO;
|
||||
|
||||
/**
|
||||
* 会员卡权益Service接口
|
||||
@ -15,4 +16,22 @@ import com.ruoyi.base.domain.BaseCardRights;
|
||||
public interface IBaseCardRightsService extends IService<BaseCardRights>
|
||||
{
|
||||
IPage<BaseCardRights> queryListPage(BaseCardRights pageReqVO, Page<BaseCardRights> page);
|
||||
|
||||
/**
|
||||
* 查询会员卡权益
|
||||
* @author vinjor-M
|
||||
* @date 15:23 2025/3/18
|
||||
* @param id 会员卡id
|
||||
* @param userType 用户类型()
|
||||
* @return java.util.List<com.ruoyi.base.domain.BaseCardRights>
|
||||
**/
|
||||
List<CardRightsVO> getByIdAndType(String id, String userType);
|
||||
|
||||
/**
|
||||
* 保存会员卡权益
|
||||
* @author vinjor-M
|
||||
* @date 16:09 2025/3/18
|
||||
* @param cardRightsVOS TODO
|
||||
**/
|
||||
void saveAndUpdate(List<CardRightsVO> cardRightsVOS);
|
||||
}
|
||||
|
@ -1,9 +1,14 @@
|
||||
package com.ruoyi.base.service.impl;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import com.ruoyi.base.vo.CardRightsVO;
|
||||
import com.ruoyi.common.utils.DateUtils;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.ruoyi.constant.DictConstants;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
@ -27,4 +32,49 @@ public class BaseCardRightsServiceImpl extends ServiceImpl<BaseCardRightsMapper,
|
||||
public IPage<BaseCardRights> queryListPage(BaseCardRights pageReqVO, Page<BaseCardRights> page) {
|
||||
return baseCardRightsMapper.queryListPage(pageReqVO, page);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询会员卡权益
|
||||
*
|
||||
* @param id 会员卡id
|
||||
* @param userType 用户类型()
|
||||
* @return java.util.List<com.ruoyi.base.domain.BaseCardRights>
|
||||
* @author vinjor-M
|
||||
* @date 15:23 2025/3/18
|
||||
**/
|
||||
@Override
|
||||
public List<CardRightsVO> getByIdAndType(String id, String userType) {
|
||||
List<CardRightsVO> list = baseCardRightsMapper.getByIdAndType(id, userType);
|
||||
list.forEach(item->{
|
||||
item.setCardId(id);
|
||||
if(DictConstants.RIGHTS_TYPE_NUMBER.equals(item.getRightsType()) && null==item.getRightsValue()){
|
||||
//数量限制
|
||||
item.setRightsValue(0);
|
||||
}
|
||||
});
|
||||
return list;
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存会员卡权益
|
||||
*
|
||||
* @param cardRightsVOS
|
||||
* @author vinjor-M
|
||||
* @date 16:09 2025/3/18
|
||||
**/
|
||||
@Override
|
||||
public void saveAndUpdate(List<CardRightsVO> cardRightsVOS) {
|
||||
//先删除原会员权益
|
||||
baseCardRightsMapper.removeByCardId(cardRightsVOS.get(0).getCardId());
|
||||
//保存新权益
|
||||
List<BaseCardRights> insertList = new ArrayList<>();
|
||||
cardRightsVOS.forEach(item->{
|
||||
BaseCardRights cardRights = new BaseCardRights();
|
||||
cardRights.setCardId(item.getCardId());
|
||||
cardRights.setRightsId(item.getId());
|
||||
cardRights.setRightsValue(item.getRightsValue());
|
||||
insertList.add(cardRights);
|
||||
});
|
||||
this.saveBatch(insertList);
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,21 @@
|
||||
package com.ruoyi.base.vo;
|
||||
|
||||
import com.ruoyi.base.domain.BaseCardRights;
|
||||
import com.ruoyi.base.domain.BaseRights;
|
||||
import com.ruoyi.common.annotation.Excel;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
/**
|
||||
* 会员卡权益扩展VO
|
||||
* @author vinjor-M
|
||||
* @date 15:29 2025/3/18
|
||||
**/
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
public class CardRightsVO extends BaseRights {
|
||||
/** 会员卡id */
|
||||
private String cardId;
|
||||
/** 权益值 */
|
||||
private Integer rightsValue;
|
||||
}
|
@ -0,0 +1,25 @@
|
||||
package com.ruoyi.constant;
|
||||
|
||||
import io.jsonwebtoken.Claims;
|
||||
|
||||
import java.util.Locale;
|
||||
|
||||
/**
|
||||
* 通用常量信息
|
||||
*
|
||||
* @author ruoyi
|
||||
*/
|
||||
public class DictConstants
|
||||
{
|
||||
/**
|
||||
* 权益类型字典--是否支持
|
||||
*/
|
||||
public static final String RIGHTS_TYPE_IF = "01";
|
||||
/**
|
||||
* 权益类型字典--数量限制
|
||||
*/
|
||||
public static final String RIGHTS_TYPE_NUMBER = "02";
|
||||
|
||||
|
||||
|
||||
}
|
@ -31,9 +31,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<select id="queryListPage" parameterType="BaseCard" resultMap="BaseCardResult">
|
||||
<include refid="selectBaseCardVo"/>
|
||||
<where>
|
||||
del_flag=0
|
||||
<if test="entity.cardName != null and entity.cardName != ''"> and card_name like concat('%', #{entity.cardName}, '%')</if>
|
||||
<if test="entity.userType != null and entity.userType != ''"> and user_type = #{entity.userType}</if>
|
||||
<if test="entity.isSystem != null "> and is_system = #{entity.isSystem}</if>
|
||||
</where>
|
||||
order by user_type,sort asc,create_time desc
|
||||
</select>
|
||||
</mapper>
|
@ -19,6 +19,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<sql id="selectBaseCardRightsVo">
|
||||
select id, card_id, rights_id, rights_value, creator, create_time, updater, update_time, del_flag from dl_base_card_rights
|
||||
</sql>
|
||||
<update id="removeByCardId">
|
||||
UPDATE dl_base_card_rights
|
||||
SET del_flag = 1
|
||||
WHERE
|
||||
card_id = #{cardId}
|
||||
</update>
|
||||
|
||||
<select id="queryListPage" parameterType="BaseCardRights" resultMap="BaseCardRightsResult">
|
||||
<include refid="selectBaseCardRightsVo"/>
|
||||
@ -26,4 +32,21 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<if test="entity.rightsId != null and entity.rightsId != ''"> and rights_id = #{entity.rightsId}</if>
|
||||
</where>
|
||||
</select>
|
||||
<select id="getByIdAndType" resultType="com.ruoyi.base.vo.CardRightsVO">
|
||||
SELECT
|
||||
dbr.*,
|
||||
dbcr.card_id,
|
||||
dbcr.rights_value
|
||||
FROM
|
||||
dl_base_rights dbr
|
||||
LEFT JOIN dl_base_card_rights dbcr ON dbr.id = dbcr.rights_id
|
||||
AND dbcr.del_flag = 0
|
||||
AND dbcr.card_id = #{cardId}
|
||||
WHERE
|
||||
dbr.del_flag = 0
|
||||
AND dbr.user_type = #{userType}
|
||||
AND dbr.id IS NOT NULL
|
||||
ORDER BY dbr.sort,dbr.create_time
|
||||
</select>
|
||||
|
||||
</mapper>
|
Loading…
Reference in New Issue
Block a user