一、功能描述
營運會根據使用者的消費程度對使用者進行等級劃分,不同等級的使用者推送不一樣的消費内容
二、源碼
關注+私信擷取
如需遠端支撐部署運作,問題答疑請關注+私信
三、界面路徑
右側菜單->使用者管理
四、資料庫存儲表結構
CREATE TABLE `yx_system_user_level` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`mer_id` int(11) NOT NULL DEFAULT '0' COMMENT '商戶id',
`name` varchar(255) NOT NULL DEFAULT '' COMMENT '會員名稱',
`money` decimal(8,2) NOT NULL DEFAULT '0.00' COMMENT '購買金額',
`valid_date` int(11) NOT NULL DEFAULT '0' COMMENT '有效時間',
`is_forever` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否為永久會員',
`is_pay` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否購買,1=購買,0=不購買',
`is_show` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否顯示 1=顯示,0=隐藏',
`grade` int(11) NOT NULL DEFAULT '0' COMMENT '會員等級',
`discount` decimal(8,2) NOT NULL DEFAULT '0.00' COMMENT '享受折扣',
`image` varchar(255) NOT NULL DEFAULT '' COMMENT '會員卡背景',
`icon` varchar(255) NOT NULL DEFAULT '' COMMENT '會員圖示',
`explain` text NOT NULL COMMENT '說明',
`create_time` datetime NOT NULL COMMENT '添加時間',
`update_time` datetime DEFAULT NULL,
`is_del` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否删除.1=删除,0=未删除',
PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='設定使用者等級表';
如上述第2行,mer_id是關聯使用者基礎表
五、前端界面邏輯
<div class="head-container">
<!-- 新增 -->
<div style="display: inline-block;margin: 0px 2px;">
<el-button
v-permission="['admin','YXSYSTEMUSERLEVEL_ALL','YXSYSTEMUSERLEVEL_CREATE']"
class="filter-item"
size="mini"
type="primary"
icon="el-icon-plus"
@click="add"
>新增</el-button>
</div>
</div>
如上述為新增按鈕,綁定事件函數是add
beforeInit() {
this.url = 'api/yxSystemUserLevel'
const sort = 'id,desc'
this.params = { page: this.page, size: this.size, sort: sort }
return true
},
頁面加載初始化函數,查詢url位址是this.url = 'api/yxSystemUserLevel'
六、後端增删改查代碼
@Log("查詢")
@ApiOperation(value = "查詢")
@GetMapping(value = "/yxSystemUserLevel")
@PreAuthorize("hasAnyRole('admin','YXSYSTEMUSERLEVEL_ALL','YXSYSTEMUSERLEVEL_SELECT')")
public ResponseEntity getYxSystemUserLevels(YxSystemUserLevelQueryCriteria criteria, Pageable pageable){
return new ResponseEntity<>(yxSystemUserLevelService.queryAll(criteria,pageable),HttpStatus.OK);
}
@ForbidSubmit
@Log("新增")
@ApiOperation(value = "新增")
@PostMapping(value = "/yxSystemUserLevel")
@PreAuthorize("hasAnyRole('admin','YXSYSTEMUSERLEVEL_ALL','YXSYSTEMUSERLEVEL_CREATE')")
public ResponseEntity create(@Validated @RequestBody YxSystemUserLevel resources){
return new ResponseEntity<>(yxSystemUserLevelService.save(resources),HttpStatus.CREATED);
}
@ForbidSubmit
@Log("修改")
@ApiOperation(value = "修改")
@PutMapping(value = "/yxSystemUserLevel")
@PreAuthorize("hasAnyRole('admin','YXSYSTEMUSERLEVEL_ALL','YXSYSTEMUSERLEVEL_EDIT')")
public ResponseEntity update(@Validated @RequestBody YxSystemUserLevel resources){
yxSystemUserLevelService.saveOrUpdate(resources);
return new ResponseEntity(HttpStatus.NO_CONTENT);
}
@ForbidSubmit
@Log("删除")
@ApiOperation(value = "删除")
@DeleteMapping(value = "/yxSystemUserLevel/{id}")
@PreAuthorize("hasAnyRole('admin','YXSYSTEMUSERLEVEL_ALL','YXSYSTEMUSERLEVEL_DELETE')")
public ResponseEntity delete(@PathVariable Integer id){
yxSystemUserLevelService.removeById(id);
return new ResponseEntity(HttpStatus.OK);
}