feat.商城会员等级功能模块

This commit is contained in:
SUCH HAVE YOU 2024-09-21 14:45:09 +08:00
parent a70d37e7d0
commit 1359ebc285
5 changed files with 210 additions and 0 deletions

View file

@ -0,0 +1,69 @@
package com.skyeye.member_level.controller;
import com.skyeye.annotation.api.Api;
import com.skyeye.annotation.api.ApiImplicitParam;
import com.skyeye.annotation.api.ApiImplicitParams;
import com.skyeye.annotation.api.ApiOperation;
import com.skyeye.common.entity.search.CommonPageInfo;
import com.skyeye.common.object.InputObject;
import com.skyeye.common.object.OutputObject;
import com.skyeye.member_level.entity.ShopMemberLevel;
import com.skyeye.member_level.service.ShopMemberLevelService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@Api(value = "会员等级", tags = "会员等级", modelName = "会员等级")
public class ShopMemberLevelController {
@Autowired
private ShopMemberLevelService shopMemberLevelService;
@ApiOperation(id = "queryMemberLevelList", value = "获取会员等级信息", method = "POST", allUse = "2")
@ApiImplicitParams(classBean = CommonPageInfo.class)
@RequestMapping("/post/ShopMemberLevelController/queryMemberLevelList")
public void queryMemberLevelList(InputObject inputObject, OutputObject outputObject) {
shopMemberLevelService.queryPageList(inputObject, outputObject);
}
@ApiOperation(id = "writeMemberLevel", value = "添加/编辑会员等级", method = "POST", allUse = "2")
@ApiImplicitParams(classBean = ShopMemberLevel.class)
@RequestMapping("/post/ShopMemberLevelController/writeMemberLevel")
public void writeMemberLevel(InputObject inputObject, OutputObject outputObject) {
shopMemberLevelService.saveOrUpdateEntity(inputObject, outputObject);
}
@ApiOperation(id = "deleteMemberLevelById", value = "根据id删除会员级别信息", method = "DELETE", allUse = "2")
@ApiImplicitParams({@ApiImplicitParam(id = "id", name = "id", value = "主键id", required = "required")})
@RequestMapping("/post/ShopMemberLevelController/deleteMemberLevelById")
public void deleteMemberLeveById(InputObject inputObject, OutputObject outputObject) {
shopMemberLevelService.deleteById(inputObject, outputObject);
}
@ApiOperation(id = "getMemberLevel", value = "根据ID获取会员等级", method = "GET", allUse = "2")
@ApiImplicitParams({@ApiImplicitParam(id = "id", name = "id", value = "主键id", required = "required")})
@RequestMapping("/post/ShopStoreController/getMemberLevel")
public void queryStoreByIds(InputObject inputObject, OutputObject outputObject) {
shopMemberLevelService.selectById(inputObject, outputObject);
}
@ApiOperation(id = "memberLevel-list-all-simple",value = "获取精简的会员等级信息,主要用于下拉列表",method = "GET",allUse = "2")
@RequestMapping("/post/ShopMemberLevelController/memberLevel-list-all-simple")
public void streamlineMemberLevelList(InputObject inputObject, OutputObject outputObject) {
shopMemberLevelService.streamlineMemberLevelList(inputObject,outputObject);
}
@ApiOperation(id = "memberLevelList",value = "获得会员等级列表",method = "POST",allUse = "2")
@ApiImplicitParams({
@ApiImplicitParam(id = "name", name = "name", value = "等级名称"),
@ApiImplicitParam(id = "enabled", name = "enabled", value = "状态")})
@RequestMapping("/post/ShopMemberLevelController/memberLevelList")
public void memberLevelList(InputObject inputObject, OutputObject outputObject) {
shopMemberLevelService.memberLevelList(inputObject,outputObject);
}
}

View file

@ -0,0 +1,9 @@
package com.skyeye.member_level.dao;
import com.skyeye.eve.dao.SkyeyeBaseMapper;
import com.skyeye.member_level.entity.ShopMemberLevel;
public interface ShopMemberLevelDao extends SkyeyeBaseMapper<ShopMemberLevel > {
}

View file

@ -0,0 +1,52 @@
package com.skyeye.member_level.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.skyeye.annotation.api.ApiModel;
import com.skyeye.annotation.api.ApiModelProperty;
import com.skyeye.annotation.cache.RedisCacheField;
import com.skyeye.annotation.unique.UniqueField;
import com.skyeye.common.constans.CacheConstants;
import com.skyeye.common.entity.features.OperatorUserInfo;
import lombok.Data;
@Data
@UniqueField
//@RedisCacheField(name = CacheConstants.SHOP_STORE_CACHE_KEY)
@TableName(value = "shop_member_level")
@ApiModel("会员级别实体类")
public class ShopMemberLevel extends OperatorUserInfo {
@TableId("id")
@ApiModelProperty(value = "主键id。为空时新增不为空时编辑")
private String id;
@TableField(value = "`name`")
@ApiModelProperty(value = "等级名称", required = "required")
private String name;
@TableField(value = "`level`")
@ApiModelProperty(value = "等级", required = "required")
private Integer level;
@TableField(value = "`experience`")
@ApiModelProperty(value = "升级经验", required = "required")
private Integer experience;
@TableField(value = "`discount_percent`")
@ApiModelProperty(value = "享受折扣")
private String discountPercent;
@TableField(value = "`icon`")
@ApiModelProperty(value = "等级图标", required = "required")
private String icon;
@TableField(value = "`background_url`")
@ApiModelProperty(value = "等级背景图", required = "required")
private String backgroundUrl;
@TableField(value = "`enabled`")
@ApiModelProperty(value = "状态", required = "required")
private Integer enabled;
}

View file

@ -0,0 +1,15 @@
package com.skyeye.member_level.service;
import com.skyeye.base.business.service.SkyeyeBusinessService;
import com.skyeye.common.object.InputObject;
import com.skyeye.common.object.OutputObject;
import com.skyeye.member_level.entity.ShopMemberLevel;
public interface ShopMemberLevelService extends SkyeyeBusinessService<ShopMemberLevel> {
void streamlineMemberLevelList(InputObject inputObject, OutputObject outputObject);
void memberLevelList(InputObject inputObject, OutputObject outputObject);
}

View file

@ -0,0 +1,65 @@
package com.skyeye.member_level.service.impl;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.skyeye.annotation.service.SkyeyeService;
import com.skyeye.base.business.service.impl.SkyeyeBusinessServiceImpl;
import com.skyeye.common.object.InputObject;
import com.skyeye.common.object.OutputObject;
import com.skyeye.common.util.mybatisplus.MybatisPlusUtil;
import com.skyeye.member_level.dao.ShopMemberLevelDao;
import com.skyeye.member_level.entity.ShopMemberLevel;
import com.skyeye.member_level.service.ShopMemberLevelService;
import com.skyeye.store.entity.ShopStore;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
@Service
@SkyeyeService(name = "会员等级", groupName = "会员等级")
public class ShopMemberLevelServiceImpl extends SkyeyeBusinessServiceImpl<ShopMemberLevelDao , ShopMemberLevel > implements ShopMemberLevelService {
@Autowired
private ShopMemberLevelDao shopMemberLevelDao;
/**
* 获取会员等级前端下拉列表信息
*
* @param inputObject 入参以及用户信息等获取对象
* @param outputObject 出参以及提示信息的返回值对象
*/
@Override
public void streamlineMemberLevelList(InputObject inputObject, OutputObject outputObject) {
QueryWrapper<ShopMemberLevel> queryWrapper = new QueryWrapper<>();
// 添加查询条件 enabled = "2"
queryWrapper.eq("enabled", "2");
List<ShopMemberLevel> list = shopMemberLevelDao.selectList(queryWrapper);
outputObject.setBeans(list);
outputObject.settotal(list.size());
}
/**
* 获取会员等级列表
*
* @param inputObject 入参以及用户信息等获取对象
* @param outputObject 出参以及提示信息的返回值对象
*/
@Override
public void memberLevelList(InputObject inputObject, OutputObject outputObject) {
Map<String, Object> map = inputObject.getParams();
QueryWrapper<ShopMemberLevel > queryWrapper = new QueryWrapper<>();
String nameValue = map.get("name").toString();
if (StrUtil.isNotEmpty(nameValue)) {
queryWrapper.eq(MybatisPlusUtil.toColumns(ShopMemberLevel::getName), nameValue);
}
String enabledValue = map.get("enabled").toString();
if (StrUtil.isNotEmpty(enabledValue)) {
queryWrapper.eq(MybatisPlusUtil.toColumns(ShopMemberLevel::getEnabled), enabledValue);
}
List<ShopMemberLevel> memberLevels = shopMemberLevelDao.selectList(queryWrapper);
outputObject.setBeans(memberLevels);
outputObject.settotal(memberLevels.size());
}
}