注册到nacos

main
lsrong 2 years ago
parent 76b64dc45b
commit 2eccb44765

@ -0,0 +1,72 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.msb.mall</groupId>
<artifactId>msb-mall</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<artifactId>mall-common</artifactId>
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<!-- 引入MyBatisPlus的依赖 -->
<!-- https://mvnrepository.com/artifact/com.baomidou/mybatis-plus -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus</artifactId>
<version>3.4.3.4</version>
</dependency>
<!-- 添加lombok的依赖 -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.22</version>
</dependency>
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
<version>2.6</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpcore</artifactId>
<version>4.4.14</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.3.1</version>
</dependency>
<!-- mysql依赖 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.11</version>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>2021.1</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
</project>

@ -0,0 +1,61 @@
/**
* Copyright (c) 2016-2019 All rights reserved.
*
* https://www.renren.io
*
*
*/
package com.msb.common.exception;
/**
*
*
* @author Mark sunlightcs@gmail.com
*/
public class RRException extends RuntimeException {
private static final long serialVersionUID = 1L;
private String msg;
private int code = 500;
public RRException(String msg) {
super(msg);
this.msg = msg;
}
public RRException(String msg, Throwable e) {
super(msg, e);
this.msg = msg;
}
public RRException(String msg, int code) {
super(msg);
this.msg = msg;
this.code = code;
}
public RRException(String msg, int code, Throwable e) {
super(msg, e);
this.msg = msg;
this.code = code;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
}

@ -0,0 +1,127 @@
/**
* Copyright (c) 2016-2019 All rights reserved.
*
* https://www.renren.io
*
*
*/
package com.msb.common.utils;
/**
*
*
* @author Mark sunlightcs@gmail.com
*/
public class Constant {
/** 超级管理员ID */
public static final int SUPER_ADMIN = 1;
/**
*
*/
public static final String PAGE = "page";
/**
*
*/
public static final String LIMIT = "limit";
/**
*
*/
public static final String ORDER_FIELD = "sidx";
/**
*
*/
public static final String ORDER = "order";
/**
*
*/
public static final String ASC = "asc";
/**
*
*
* @author chenshun
* @email sunlightcs@gmail.com
* @date 20161115 1:24:29
*/
public enum MenuType {
/**
*
*/
CATALOG(0),
/**
*
*/
MENU(1),
/**
*
*/
BUTTON(2);
private int value;
MenuType(int value) {
this.value = value;
}
public int getValue() {
return value;
}
}
/**
*
*
* @author chenshun
* @email sunlightcs@gmail.com
* @date 2016123 12:07:22
*/
public enum ScheduleStatus {
/**
*
*/
NORMAL(0),
/**
*
*/
PAUSE(1);
private int value;
ScheduleStatus(int value) {
this.value = value;
}
public int getValue() {
return value;
}
}
/**
*
*/
public enum CloudService {
/**
*
*/
QINIU(1),
/**
*
*/
ALIYUN(2),
/**
*
*/
QCLOUD(3);
private int value;
CloudService(int value) {
this.value = value;
}
public int getValue() {
return value;
}
}
}

@ -0,0 +1,110 @@
/**
* Copyright (c) 2016-2019 All rights reserved.
*
* https://www.renren.io
*
*
*/
package com.msb.common.utils;
import com.baomidou.mybatisplus.core.metadata.IPage;
import java.io.Serializable;
import java.util.List;
/**
*
*
* @author Mark sunlightcs@gmail.com
*/
public class PageUtils implements Serializable {
private static final long serialVersionUID = 1L;
/**
*
*/
private int totalCount;
/**
*
*/
private int pageSize;
/**
*
*/
private int totalPage;
/**
*
*/
private int currPage;
/**
*
*/
private List<?> list;
/**
*
* @param list
* @param totalCount
* @param pageSize
* @param currPage
*/
public PageUtils(List<?> list, int totalCount, int pageSize, int currPage) {
this.list = list;
this.totalCount = totalCount;
this.pageSize = pageSize;
this.currPage = currPage;
this.totalPage = (int)Math.ceil((double)totalCount/pageSize);
}
/**
*
*/
public PageUtils(IPage<?> page) {
this.list = page.getRecords();
this.totalCount = (int)page.getTotal();
this.pageSize = (int)page.getSize();
this.currPage = (int)page.getCurrent();
this.totalPage = (int)page.getPages();
}
public int getTotalCount() {
return totalCount;
}
public void setTotalCount(int totalCount) {
this.totalCount = totalCount;
}
public int getPageSize() {
return pageSize;
}
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
public int getTotalPage() {
return totalPage;
}
public void setTotalPage(int totalPage) {
this.totalPage = totalPage;
}
public int getCurrPage() {
return currPage;
}
public void setCurrPage(int currPage) {
this.currPage = currPage;
}
public List<?> getList() {
return list;
}
public void setList(List<?> list) {
this.list = list;
}
}

@ -0,0 +1,78 @@
/**
* Copyright (c) 2016-2019 All rights reserved.
*
* https://www.renren.io
*
*
*/
package com.msb.common.utils;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.metadata.OrderItem;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.msb.common.xss.SQLFilter;
import org.apache.commons.lang.StringUtils;
import java.util.Map;
/**
*
*
* @author Mark sunlightcs@gmail.com
*/
public class Query<T> {
public IPage<T> getPage(Map<String, Object> params) {
return this.getPage(params, null, false);
}
public IPage<T> getPage(Map<String, Object> params, String defaultOrderField, boolean isAsc) {
//分页参数
long curPage = 1;
long limit = 10;
if(params.get(Constant.PAGE) != null){
curPage = Long.parseLong((String)params.get(Constant.PAGE));
}
if(params.get(Constant.LIMIT) != null){
limit = Long.parseLong((String)params.get(Constant.LIMIT));
}
//分页对象
Page<T> page = new Page<>(curPage, limit);
//分页参数
params.put(Constant.PAGE, page);
//排序字段
//防止SQL注入因为sidx、order是通过拼接SQL实现排序的会有SQL注入风险
String orderField = SQLFilter.sqlInject((String)params.get(Constant.ORDER_FIELD));
String order = (String)params.get(Constant.ORDER);
//前端字段排序
if(StringUtils.isNotEmpty(orderField) && StringUtils.isNotEmpty(order)){
if(Constant.ASC.equalsIgnoreCase(order)) {
return page.addOrder(OrderItem.asc(orderField));
}else {
return page.addOrder(OrderItem.desc(orderField));
}
}
//没有排序字段,则不排序
if(StringUtils.isBlank(defaultOrderField)){
return page;
}
//默认排序
if(isAsc) {
page.addOrder(OrderItem.asc(defaultOrderField));
}else {
page.addOrder(OrderItem.desc(defaultOrderField));
}
return page;
}
}

@ -0,0 +1,64 @@
/**
* Copyright (c) 2016-2019 All rights reserved.
*
* https://www.renren.io
*
*
*/
package com.msb.common.utils;
import org.apache.http.HttpStatus;
import java.util.HashMap;
import java.util.Map;
/**
*
*
* @author Mark sunlightcs@gmail.com
*/
public class R extends HashMap<String, Object> {
private static final long serialVersionUID = 1L;
public R() {
put("code", 0);
put("msg", "success");
}
public static R error() {
return error(HttpStatus.SC_INTERNAL_SERVER_ERROR, "未知异常,请联系管理员");
}
public static R error(String msg) {
return error(HttpStatus.SC_INTERNAL_SERVER_ERROR, msg);
}
public static R error(int code, String msg) {
R r = new R();
r.put("code", code);
r.put("msg", msg);
return r;
}
public static R ok(String msg) {
R r = new R();
r.put("msg", msg);
return r;
}
public static R ok(Map<String, Object> map) {
R r = new R();
r.putAll(map);
return r;
}
public static R ok() {
return new R();
}
public R put(String key, Object value) {
super.put(key, value);
return this;
}
}

@ -0,0 +1,50 @@
/**
* Copyright (c) 2016-2019 All rights reserved.
*
* https://www.renren.io
*
*
*/
package com.msb.common.xss;
import com.msb.common.exception.RRException;
import org.apache.commons.lang.StringUtils;
/**
* SQL
*
* @author Mark sunlightcs@gmail.com
*/
public class SQLFilter {
/**
* SQL
* @param str
*/
public static String sqlInject(String str){
if(StringUtils.isBlank(str)){
return null;
}
//去掉'|"|;|\字符
str = StringUtils.replace(str, "'", "");
str = StringUtils.replace(str, "\"", "");
str = StringUtils.replace(str, ";", "");
str = StringUtils.replace(str, "\\", "");
//转换成小写
str = str.toLowerCase();
//非法字符
String[] keywords = {"master", "truncate", "insert", "select", "delete", "update", "declare", "alter", "drop"};
//判断是否包含非法字符
for(String keyword : keywords){
if(str.indexOf(keyword) != -1){
throw new RRException("包含非法字符");
}
}
return str;
}
}

@ -5,7 +5,7 @@
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.7.15</version>
<version>2.4.12</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.msb.mall</groupId>
@ -15,9 +15,14 @@
<description>mall-coupon</description>
<properties>
<java.version>1.8</java.version>
<spring-cloud.version>2021.0.8</spring-cloud.version>
<spring-cloud.version>2020.0.1</spring-cloud.version>
</properties>
<dependencies>
<dependency>
<groupId>com.msb.mall</groupId>
<artifactId>mall-common</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>

@ -1,4 +1,4 @@
package com.msb.mall.mallcoupon;
package com.msb.mall.coupon;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@ -0,0 +1,90 @@
package com.msb.mall.coupon.controller;
import java.util.Arrays;
import java.util.Map;
// import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
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.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.msb.mall.coupon.entity.SmsCouponEntity;
import com.msb.mall.coupon.service.SmsCouponService;
import com.msb.common.utils.PageUtils;
import com.msb.common.utils.R;
/**
* <EFBFBD>Ż<EFBFBD>ȯ<EFBFBD><EFBFBD>Ϣ
*
* @author lsrong
* @email lsrong0414@gmail.com
* @date 2023-09-25 23:25:21
*/
@RestController
@RequestMapping("coupon/smscoupon")
public class SmsCouponController {
@Autowired
private SmsCouponService smsCouponService;
/**
*
*/
@RequestMapping("/list")
// @RequiresPermissions("coupon:smscoupon:list")
public R list(@RequestParam Map<String, Object> params){
PageUtils page = smsCouponService.queryPage(params);
return R.ok().put("page", page);
}
/**
*
*/
@RequestMapping("/info/{id}")
// @RequiresPermissions("coupon:smscoupon:info")
public R info(@PathVariable("id") Long id){
SmsCouponEntity smsCoupon = smsCouponService.getById(id);
return R.ok().put("smsCoupon", smsCoupon);
}
/**
*
*/
@RequestMapping("/save")
// @RequiresPermissions("coupon:smscoupon:save")
public R save(@RequestBody SmsCouponEntity smsCoupon){
smsCouponService.save(smsCoupon);
return R.ok();
}
/**
*
*/
@RequestMapping("/update")
// @RequiresPermissions("coupon:smscoupon:update")
public R update(@RequestBody SmsCouponEntity smsCoupon){
smsCouponService.updateById(smsCoupon);
return R.ok();
}
/**
*
*/
@RequestMapping("/delete")
// @RequiresPermissions("coupon:smscoupon:delete")
public R delete(@RequestBody Long[] ids){
smsCouponService.removeByIds(Arrays.asList(ids));
return R.ok();
}
}

@ -0,0 +1,90 @@
package com.msb.mall.coupon.controller;
import java.util.Arrays;
import java.util.Map;
// import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
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.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.msb.mall.coupon.entity.SmsCouponHistoryEntity;
import com.msb.mall.coupon.service.SmsCouponHistoryService;
import com.msb.common.utils.PageUtils;
import com.msb.common.utils.R;
/**
* <EFBFBD>Ż<EFBFBD>ȯ<EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD>ʷ<EFBFBD><EFBFBD>¼
*
* @author lsrong
* @email lsrong0414@gmail.com
* @date 2023-09-25 23:25:21
*/
@RestController
@RequestMapping("coupon/smscouponhistory")
public class SmsCouponHistoryController {
@Autowired
private SmsCouponHistoryService smsCouponHistoryService;
/**
*
*/
@RequestMapping("/list")
// @RequiresPermissions("coupon:smscouponhistory:list")
public R list(@RequestParam Map<String, Object> params){
PageUtils page = smsCouponHistoryService.queryPage(params);
return R.ok().put("page", page);
}
/**
*
*/
@RequestMapping("/info/{id}")
// @RequiresPermissions("coupon:smscouponhistory:info")
public R info(@PathVariable("id") Long id){
SmsCouponHistoryEntity smsCouponHistory = smsCouponHistoryService.getById(id);
return R.ok().put("smsCouponHistory", smsCouponHistory);
}
/**
*
*/
@RequestMapping("/save")
// @RequiresPermissions("coupon:smscouponhistory:save")
public R save(@RequestBody SmsCouponHistoryEntity smsCouponHistory){
smsCouponHistoryService.save(smsCouponHistory);
return R.ok();
}
/**
*
*/
@RequestMapping("/update")
// @RequiresPermissions("coupon:smscouponhistory:update")
public R update(@RequestBody SmsCouponHistoryEntity smsCouponHistory){
smsCouponHistoryService.updateById(smsCouponHistory);
return R.ok();
}
/**
*
*/
@RequestMapping("/delete")
// @RequiresPermissions("coupon:smscouponhistory:delete")
public R delete(@RequestBody Long[] ids){
smsCouponHistoryService.removeByIds(Arrays.asList(ids));
return R.ok();
}
}

@ -0,0 +1,90 @@
package com.msb.mall.coupon.controller;
import java.util.Arrays;
import java.util.Map;
// import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
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.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.msb.mall.coupon.entity.SmsCouponSpuCategoryRelationEntity;
import com.msb.mall.coupon.service.SmsCouponSpuCategoryRelationService;
import com.msb.common.utils.PageUtils;
import com.msb.common.utils.R;
/**
* <EFBFBD>Ż<EFBFBD>ȯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*
* @author lsrong
* @email lsrong0414@gmail.com
* @date 2023-09-25 23:25:21
*/
@RestController
@RequestMapping("coupon/smscouponspucategoryrelation")
public class SmsCouponSpuCategoryRelationController {
@Autowired
private SmsCouponSpuCategoryRelationService smsCouponSpuCategoryRelationService;
/**
*
*/
@RequestMapping("/list")
// @RequiresPermissions("coupon:smscouponspucategoryrelation:list")
public R list(@RequestParam Map<String, Object> params){
PageUtils page = smsCouponSpuCategoryRelationService.queryPage(params);
return R.ok().put("page", page);
}
/**
*
*/
@RequestMapping("/info/{id}")
// @RequiresPermissions("coupon:smscouponspucategoryrelation:info")
public R info(@PathVariable("id") Long id){
SmsCouponSpuCategoryRelationEntity smsCouponSpuCategoryRelation = smsCouponSpuCategoryRelationService.getById(id);
return R.ok().put("smsCouponSpuCategoryRelation", smsCouponSpuCategoryRelation);
}
/**
*
*/
@RequestMapping("/save")
// @RequiresPermissions("coupon:smscouponspucategoryrelation:save")
public R save(@RequestBody SmsCouponSpuCategoryRelationEntity smsCouponSpuCategoryRelation){
smsCouponSpuCategoryRelationService.save(smsCouponSpuCategoryRelation);
return R.ok();
}
/**
*
*/
@RequestMapping("/update")
// @RequiresPermissions("coupon:smscouponspucategoryrelation:update")
public R update(@RequestBody SmsCouponSpuCategoryRelationEntity smsCouponSpuCategoryRelation){
smsCouponSpuCategoryRelationService.updateById(smsCouponSpuCategoryRelation);
return R.ok();
}
/**
*
*/
@RequestMapping("/delete")
// @RequiresPermissions("coupon:smscouponspucategoryrelation:delete")
public R delete(@RequestBody Long[] ids){
smsCouponSpuCategoryRelationService.removeByIds(Arrays.asList(ids));
return R.ok();
}
}

@ -0,0 +1,90 @@
package com.msb.mall.coupon.controller;
import java.util.Arrays;
import java.util.Map;
// import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
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.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.msb.mall.coupon.entity.SmsCouponSpuRelationEntity;
import com.msb.mall.coupon.service.SmsCouponSpuRelationService;
import com.msb.common.utils.PageUtils;
import com.msb.common.utils.R;
/**
* <EFBFBD>Ż<EFBFBD>ȯ<EFBFBD><EFBFBD><EFBFBD>Ʒ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*
* @author lsrong
* @email lsrong0414@gmail.com
* @date 2023-09-25 23:25:21
*/
@RestController
@RequestMapping("coupon/smscouponspurelation")
public class SmsCouponSpuRelationController {
@Autowired
private SmsCouponSpuRelationService smsCouponSpuRelationService;
/**
*
*/
@RequestMapping("/list")
// @RequiresPermissions("coupon:smscouponspurelation:list")
public R list(@RequestParam Map<String, Object> params){
PageUtils page = smsCouponSpuRelationService.queryPage(params);
return R.ok().put("page", page);
}
/**
*
*/
@RequestMapping("/info/{id}")
// @RequiresPermissions("coupon:smscouponspurelation:info")
public R info(@PathVariable("id") Long id){
SmsCouponSpuRelationEntity smsCouponSpuRelation = smsCouponSpuRelationService.getById(id);
return R.ok().put("smsCouponSpuRelation", smsCouponSpuRelation);
}
/**
*
*/
@RequestMapping("/save")
// @RequiresPermissions("coupon:smscouponspurelation:save")
public R save(@RequestBody SmsCouponSpuRelationEntity smsCouponSpuRelation){
smsCouponSpuRelationService.save(smsCouponSpuRelation);
return R.ok();
}
/**
*
*/
@RequestMapping("/update")
// @RequiresPermissions("coupon:smscouponspurelation:update")
public R update(@RequestBody SmsCouponSpuRelationEntity smsCouponSpuRelation){
smsCouponSpuRelationService.updateById(smsCouponSpuRelation);
return R.ok();
}
/**
*
*/
@RequestMapping("/delete")
// @RequiresPermissions("coupon:smscouponspurelation:delete")
public R delete(@RequestBody Long[] ids){
smsCouponSpuRelationService.removeByIds(Arrays.asList(ids));
return R.ok();
}
}

@ -0,0 +1,90 @@
package com.msb.mall.coupon.controller;
import java.util.Arrays;
import java.util.Map;
// import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
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.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.msb.mall.coupon.entity.SmsHomeAdvEntity;
import com.msb.mall.coupon.service.SmsHomeAdvService;
import com.msb.common.utils.PageUtils;
import com.msb.common.utils.R;
/**
* <EFBFBD><EFBFBD>ҳ<EFBFBD>ֲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*
* @author lsrong
* @email lsrong0414@gmail.com
* @date 2023-09-25 23:25:21
*/
@RestController
@RequestMapping("coupon/smshomeadv")
public class SmsHomeAdvController {
@Autowired
private SmsHomeAdvService smsHomeAdvService;
/**
*
*/
@RequestMapping("/list")
// @RequiresPermissions("coupon:smshomeadv:list")
public R list(@RequestParam Map<String, Object> params){
PageUtils page = smsHomeAdvService.queryPage(params);
return R.ok().put("page", page);
}
/**
*
*/
@RequestMapping("/info/{id}")
// @RequiresPermissions("coupon:smshomeadv:info")
public R info(@PathVariable("id") Long id){
SmsHomeAdvEntity smsHomeAdv = smsHomeAdvService.getById(id);
return R.ok().put("smsHomeAdv", smsHomeAdv);
}
/**
*
*/
@RequestMapping("/save")
// @RequiresPermissions("coupon:smshomeadv:save")
public R save(@RequestBody SmsHomeAdvEntity smsHomeAdv){
smsHomeAdvService.save(smsHomeAdv);
return R.ok();
}
/**
*
*/
@RequestMapping("/update")
// @RequiresPermissions("coupon:smshomeadv:update")
public R update(@RequestBody SmsHomeAdvEntity smsHomeAdv){
smsHomeAdvService.updateById(smsHomeAdv);
return R.ok();
}
/**
*
*/
@RequestMapping("/delete")
// @RequiresPermissions("coupon:smshomeadv:delete")
public R delete(@RequestBody Long[] ids){
smsHomeAdvService.removeByIds(Arrays.asList(ids));
return R.ok();
}
}

@ -0,0 +1,90 @@
package com.msb.mall.coupon.controller;
import java.util.Arrays;
import java.util.Map;
// import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
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.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.msb.mall.coupon.entity.SmsHomeSubjectEntity;
import com.msb.mall.coupon.service.SmsHomeSubjectService;
import com.msb.common.utils.PageUtils;
import com.msb.common.utils.R;
/**
* <EFBFBD><EFBFBD>ҳר<EFBFBD><EFBFBD><EFBFBD>jd<EFBFBD><EFBFBD>ҳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܶ<EFBFBD>ר<EFBFBD>ÿ<EFBFBD><EFBFBD>ר<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>µ<EFBFBD>ҳ<EFBFBD>չʾר<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʒ<EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD>
*
* @author lsrong
* @email lsrong0414@gmail.com
* @date 2023-09-25 23:25:21
*/
@RestController
@RequestMapping("coupon/smshomesubject")
public class SmsHomeSubjectController {
@Autowired
private SmsHomeSubjectService smsHomeSubjectService;
/**
*
*/
@RequestMapping("/list")
// @RequiresPermissions("coupon:smshomesubject:list")
public R list(@RequestParam Map<String, Object> params){
PageUtils page = smsHomeSubjectService.queryPage(params);
return R.ok().put("page", page);
}
/**
*
*/
@RequestMapping("/info/{id}")
// @RequiresPermissions("coupon:smshomesubject:info")
public R info(@PathVariable("id") Long id){
SmsHomeSubjectEntity smsHomeSubject = smsHomeSubjectService.getById(id);
return R.ok().put("smsHomeSubject", smsHomeSubject);
}
/**
*
*/
@RequestMapping("/save")
// @RequiresPermissions("coupon:smshomesubject:save")
public R save(@RequestBody SmsHomeSubjectEntity smsHomeSubject){
smsHomeSubjectService.save(smsHomeSubject);
return R.ok();
}
/**
*
*/
@RequestMapping("/update")
// @RequiresPermissions("coupon:smshomesubject:update")
public R update(@RequestBody SmsHomeSubjectEntity smsHomeSubject){
smsHomeSubjectService.updateById(smsHomeSubject);
return R.ok();
}
/**
*
*/
@RequestMapping("/delete")
// @RequiresPermissions("coupon:smshomesubject:delete")
public R delete(@RequestBody Long[] ids){
smsHomeSubjectService.removeByIds(Arrays.asList(ids));
return R.ok();
}
}

@ -0,0 +1,90 @@
package com.msb.mall.coupon.controller;
import java.util.Arrays;
import java.util.Map;
// import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
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.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.msb.mall.coupon.entity.SmsHomeSubjectSpuEntity;
import com.msb.mall.coupon.service.SmsHomeSubjectSpuService;
import com.msb.common.utils.PageUtils;
import com.msb.common.utils.R;
/**
* ר<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʒ
*
* @author lsrong
* @email lsrong0414@gmail.com
* @date 2023-09-25 23:25:21
*/
@RestController
@RequestMapping("coupon/smshomesubjectspu")
public class SmsHomeSubjectSpuController {
@Autowired
private SmsHomeSubjectSpuService smsHomeSubjectSpuService;
/**
*
*/
@RequestMapping("/list")
// @RequiresPermissions("coupon:smshomesubjectspu:list")
public R list(@RequestParam Map<String, Object> params){
PageUtils page = smsHomeSubjectSpuService.queryPage(params);
return R.ok().put("page", page);
}
/**
*
*/
@RequestMapping("/info/{id}")
// @RequiresPermissions("coupon:smshomesubjectspu:info")
public R info(@PathVariable("id") Long id){
SmsHomeSubjectSpuEntity smsHomeSubjectSpu = smsHomeSubjectSpuService.getById(id);
return R.ok().put("smsHomeSubjectSpu", smsHomeSubjectSpu);
}
/**
*
*/
@RequestMapping("/save")
// @RequiresPermissions("coupon:smshomesubjectspu:save")
public R save(@RequestBody SmsHomeSubjectSpuEntity smsHomeSubjectSpu){
smsHomeSubjectSpuService.save(smsHomeSubjectSpu);
return R.ok();
}
/**
*
*/
@RequestMapping("/update")
// @RequiresPermissions("coupon:smshomesubjectspu:update")
public R update(@RequestBody SmsHomeSubjectSpuEntity smsHomeSubjectSpu){
smsHomeSubjectSpuService.updateById(smsHomeSubjectSpu);
return R.ok();
}
/**
*
*/
@RequestMapping("/delete")
// @RequiresPermissions("coupon:smshomesubjectspu:delete")
public R delete(@RequestBody Long[] ids){
smsHomeSubjectSpuService.removeByIds(Arrays.asList(ids));
return R.ok();
}
}

@ -0,0 +1,90 @@
package com.msb.mall.coupon.controller;
import java.util.Arrays;
import java.util.Map;
// import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
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.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.msb.mall.coupon.entity.SmsMemberPriceEntity;
import com.msb.mall.coupon.service.SmsMemberPriceService;
import com.msb.common.utils.PageUtils;
import com.msb.common.utils.R;
/**
* <EFBFBD><EFBFBD>Ʒ<EFBFBD><EFBFBD>Ա<EFBFBD>۸<EFBFBD>
*
* @author lsrong
* @email lsrong0414@gmail.com
* @date 2023-09-25 23:25:21
*/
@RestController
@RequestMapping("coupon/smsmemberprice")
public class SmsMemberPriceController {
@Autowired
private SmsMemberPriceService smsMemberPriceService;
/**
*
*/
@RequestMapping("/list")
// @RequiresPermissions("coupon:smsmemberprice:list")
public R list(@RequestParam Map<String, Object> params){
PageUtils page = smsMemberPriceService.queryPage(params);
return R.ok().put("page", page);
}
/**
*
*/
@RequestMapping("/info/{id}")
// @RequiresPermissions("coupon:smsmemberprice:info")
public R info(@PathVariable("id") Long id){
SmsMemberPriceEntity smsMemberPrice = smsMemberPriceService.getById(id);
return R.ok().put("smsMemberPrice", smsMemberPrice);
}
/**
*
*/
@RequestMapping("/save")
// @RequiresPermissions("coupon:smsmemberprice:save")
public R save(@RequestBody SmsMemberPriceEntity smsMemberPrice){
smsMemberPriceService.save(smsMemberPrice);
return R.ok();
}
/**
*
*/
@RequestMapping("/update")
// @RequiresPermissions("coupon:smsmemberprice:update")
public R update(@RequestBody SmsMemberPriceEntity smsMemberPrice){
smsMemberPriceService.updateById(smsMemberPrice);
return R.ok();
}
/**
*
*/
@RequestMapping("/delete")
// @RequiresPermissions("coupon:smsmemberprice:delete")
public R delete(@RequestBody Long[] ids){
smsMemberPriceService.removeByIds(Arrays.asList(ids));
return R.ok();
}
}

@ -0,0 +1,90 @@
package com.msb.mall.coupon.controller;
import java.util.Arrays;
import java.util.Map;
// import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
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.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.msb.mall.coupon.entity.SmsSeckillPromotionEntity;
import com.msb.mall.coupon.service.SmsSeckillPromotionService;
import com.msb.common.utils.PageUtils;
import com.msb.common.utils.R;
/**
* <EFBFBD><EFBFBD>ɱ<EFBFBD>
*
* @author lsrong
* @email lsrong0414@gmail.com
* @date 2023-09-25 23:25:21
*/
@RestController
@RequestMapping("coupon/smsseckillpromotion")
public class SmsSeckillPromotionController {
@Autowired
private SmsSeckillPromotionService smsSeckillPromotionService;
/**
*
*/
@RequestMapping("/list")
// @RequiresPermissions("coupon:smsseckillpromotion:list")
public R list(@RequestParam Map<String, Object> params){
PageUtils page = smsSeckillPromotionService.queryPage(params);
return R.ok().put("page", page);
}
/**
*
*/
@RequestMapping("/info/{id}")
// @RequiresPermissions("coupon:smsseckillpromotion:info")
public R info(@PathVariable("id") Long id){
SmsSeckillPromotionEntity smsSeckillPromotion = smsSeckillPromotionService.getById(id);
return R.ok().put("smsSeckillPromotion", smsSeckillPromotion);
}
/**
*
*/
@RequestMapping("/save")
// @RequiresPermissions("coupon:smsseckillpromotion:save")
public R save(@RequestBody SmsSeckillPromotionEntity smsSeckillPromotion){
smsSeckillPromotionService.save(smsSeckillPromotion);
return R.ok();
}
/**
*
*/
@RequestMapping("/update")
// @RequiresPermissions("coupon:smsseckillpromotion:update")
public R update(@RequestBody SmsSeckillPromotionEntity smsSeckillPromotion){
smsSeckillPromotionService.updateById(smsSeckillPromotion);
return R.ok();
}
/**
*
*/
@RequestMapping("/delete")
// @RequiresPermissions("coupon:smsseckillpromotion:delete")
public R delete(@RequestBody Long[] ids){
smsSeckillPromotionService.removeByIds(Arrays.asList(ids));
return R.ok();
}
}

@ -0,0 +1,90 @@
package com.msb.mall.coupon.controller;
import java.util.Arrays;
import java.util.Map;
// import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
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.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.msb.mall.coupon.entity.SmsSeckillSessionEntity;
import com.msb.mall.coupon.service.SmsSeckillSessionService;
import com.msb.common.utils.PageUtils;
import com.msb.common.utils.R;
/**
* <EFBFBD><EFBFBD>ɱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*
* @author lsrong
* @email lsrong0414@gmail.com
* @date 2023-09-25 23:25:21
*/
@RestController
@RequestMapping("coupon/smsseckillsession")
public class SmsSeckillSessionController {
@Autowired
private SmsSeckillSessionService smsSeckillSessionService;
/**
*
*/
@RequestMapping("/list")
// @RequiresPermissions("coupon:smsseckillsession:list")
public R list(@RequestParam Map<String, Object> params){
PageUtils page = smsSeckillSessionService.queryPage(params);
return R.ok().put("page", page);
}
/**
*
*/
@RequestMapping("/info/{id}")
// @RequiresPermissions("coupon:smsseckillsession:info")
public R info(@PathVariable("id") Long id){
SmsSeckillSessionEntity smsSeckillSession = smsSeckillSessionService.getById(id);
return R.ok().put("smsSeckillSession", smsSeckillSession);
}
/**
*
*/
@RequestMapping("/save")
// @RequiresPermissions("coupon:smsseckillsession:save")
public R save(@RequestBody SmsSeckillSessionEntity smsSeckillSession){
smsSeckillSessionService.save(smsSeckillSession);
return R.ok();
}
/**
*
*/
@RequestMapping("/update")
// @RequiresPermissions("coupon:smsseckillsession:update")
public R update(@RequestBody SmsSeckillSessionEntity smsSeckillSession){
smsSeckillSessionService.updateById(smsSeckillSession);
return R.ok();
}
/**
*
*/
@RequestMapping("/delete")
// @RequiresPermissions("coupon:smsseckillsession:delete")
public R delete(@RequestBody Long[] ids){
smsSeckillSessionService.removeByIds(Arrays.asList(ids));
return R.ok();
}
}

@ -0,0 +1,17 @@
package com.msb.mall.coupon.dao;
import com.msb.mall.coupon.entity.SmsCouponEntity;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
/**
* <EFBFBD>Ż<EFBFBD>ȯ<EFBFBD><EFBFBD>Ϣ
*
* @author lsrong
* @email lsrong0414@gmail.com
* @date 2023-09-25 23:25:21
*/
@Mapper
public interface SmsCouponDao extends BaseMapper<SmsCouponEntity> {
}

@ -0,0 +1,17 @@
package com.msb.mall.coupon.dao;
import com.msb.mall.coupon.entity.SmsCouponHistoryEntity;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
/**
* <EFBFBD>Ż<EFBFBD>ȯ<EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD>ʷ<EFBFBD><EFBFBD>¼
*
* @author lsrong
* @email lsrong0414@gmail.com
* @date 2023-09-25 23:25:21
*/
@Mapper
public interface SmsCouponHistoryDao extends BaseMapper<SmsCouponHistoryEntity> {
}

@ -0,0 +1,17 @@
package com.msb.mall.coupon.dao;
import com.msb.mall.coupon.entity.SmsCouponSpuCategoryRelationEntity;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
/**
* <EFBFBD>Ż<EFBFBD>ȯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*
* @author lsrong
* @email lsrong0414@gmail.com
* @date 2023-09-25 23:25:21
*/
@Mapper
public interface SmsCouponSpuCategoryRelationDao extends BaseMapper<SmsCouponSpuCategoryRelationEntity> {
}

@ -0,0 +1,17 @@
package com.msb.mall.coupon.dao;
import com.msb.mall.coupon.entity.SmsCouponSpuRelationEntity;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
/**
* <EFBFBD>Ż<EFBFBD>ȯ<EFBFBD><EFBFBD><EFBFBD>Ʒ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*
* @author lsrong
* @email lsrong0414@gmail.com
* @date 2023-09-25 23:25:21
*/
@Mapper
public interface SmsCouponSpuRelationDao extends BaseMapper<SmsCouponSpuRelationEntity> {
}

@ -0,0 +1,17 @@
package com.msb.mall.coupon.dao;
import com.msb.mall.coupon.entity.SmsHomeAdvEntity;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
/**
* <EFBFBD><EFBFBD>ҳ<EFBFBD>ֲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*
* @author lsrong
* @email lsrong0414@gmail.com
* @date 2023-09-25 23:25:21
*/
@Mapper
public interface SmsHomeAdvDao extends BaseMapper<SmsHomeAdvEntity> {
}

@ -0,0 +1,17 @@
package com.msb.mall.coupon.dao;
import com.msb.mall.coupon.entity.SmsHomeSubjectEntity;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
/**
* <EFBFBD><EFBFBD>ҳר<EFBFBD><EFBFBD><EFBFBD>jd<EFBFBD><EFBFBD>ҳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܶ<EFBFBD>ר<EFBFBD>ÿ<EFBFBD><EFBFBD>ר<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>µ<EFBFBD>ҳ<EFBFBD>չʾר<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʒ<EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD>
*
* @author lsrong
* @email lsrong0414@gmail.com
* @date 2023-09-25 23:25:21
*/
@Mapper
public interface SmsHomeSubjectDao extends BaseMapper<SmsHomeSubjectEntity> {
}

@ -0,0 +1,17 @@
package com.msb.mall.coupon.dao;
import com.msb.mall.coupon.entity.SmsHomeSubjectSpuEntity;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
/**
* ר<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʒ
*
* @author lsrong
* @email lsrong0414@gmail.com
* @date 2023-09-25 23:25:21
*/
@Mapper
public interface SmsHomeSubjectSpuDao extends BaseMapper<SmsHomeSubjectSpuEntity> {
}

@ -0,0 +1,17 @@
package com.msb.mall.coupon.dao;
import com.msb.mall.coupon.entity.SmsMemberPriceEntity;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
/**
* <EFBFBD><EFBFBD>Ʒ<EFBFBD><EFBFBD>Ա<EFBFBD>۸<EFBFBD>
*
* @author lsrong
* @email lsrong0414@gmail.com
* @date 2023-09-25 23:25:21
*/
@Mapper
public interface SmsMemberPriceDao extends BaseMapper<SmsMemberPriceEntity> {
}

@ -0,0 +1,17 @@
package com.msb.mall.coupon.dao;
import com.msb.mall.coupon.entity.SmsSeckillPromotionEntity;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
/**
* <EFBFBD><EFBFBD>ɱ<EFBFBD>
*
* @author lsrong
* @email lsrong0414@gmail.com
* @date 2023-09-25 23:25:21
*/
@Mapper
public interface SmsSeckillPromotionDao extends BaseMapper<SmsSeckillPromotionEntity> {
}

@ -0,0 +1,17 @@
package com.msb.mall.coupon.dao;
import com.msb.mall.coupon.entity.SmsSeckillSessionEntity;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
/**
* <EFBFBD><EFBFBD>ɱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*
* @author lsrong
* @email lsrong0414@gmail.com
* @date 2023-09-25 23:25:21
*/
@Mapper
public interface SmsSeckillSessionDao extends BaseMapper<SmsSeckillSessionEntity> {
}

@ -0,0 +1,105 @@
package com.msb.mall.coupon.entity;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.math.BigDecimal;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
/**
* <EFBFBD>Ż<EFBFBD>ȯ<EFBFBD><EFBFBD>Ϣ
*
* @author lsrong
* @email lsrong0414@gmail.com
* @date 2023-09-25 23:25:21
*/
@Data
@TableName("sms_coupon")
public class SmsCouponEntity implements Serializable {
private static final long serialVersionUID = 1L;
/**
* id
*/
@TableId
private Long id;
/**
* <EFBFBD>Żݾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>[0->ȫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȯ<EFBFBD><EFBFBD>1-><EFBFBD><EFBFBD>Ա<EFBFBD><EFBFBD>ȯ<EFBFBD><EFBFBD>2-><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȯ<EFBFBD><EFBFBD>3->ע<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȯ]
*/
private Integer couponType;
/**
* <EFBFBD>Ż<EFBFBD>ȯͼƬ
*/
private String couponImg;
/**
* <EFBFBD>Żݾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*/
private String couponName;
/**
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*/
private Integer num;
/**
* <EFBFBD><EFBFBD><EFBFBD>
*/
private BigDecimal amount;
/**
* ÿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*/
private Integer perLimit;
/**
* ʹ<EFBFBD><EFBFBD><EFBFBD>ż<EFBFBD>
*/
private BigDecimal minPoint;
/**
* <EFBFBD><EFBFBD>ʼʱ<EFBFBD><EFBFBD>
*/
private Date startTime;
/**
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>
*/
private Date endTime;
/**
* ʹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>[0->ȫ<EFBFBD><EFBFBD>ͨ<EFBFBD>ã<EFBFBD>1->ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>2->ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʒ]
*/
private Integer useType;
/**
* <EFBFBD><EFBFBD>ע
*/
private String note;
/**
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*/
private Integer publishCount;
/**
* <EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*/
private Integer useCount;
/**
* <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*/
private Integer receiveCount;
/**
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD>Ŀ<EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*/
private Date enableStartTime;
/**
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD>Ľ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*/
private Date enableEndTime;
/**
* <EFBFBD>Ż<EFBFBD><EFBFBD><EFBFBD>
*/
private String code;
/**
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD>Ļ<EFBFBD>Ա<EFBFBD>ȼ<EFBFBD>[0-><EFBFBD><EFBFBD><EFBFBD>޵ȼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-<EFBFBD><EFBFBD>Ӧ<EFBFBD>ȼ<EFBFBD>]
*/
private Integer memberLevel;
/**
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬[0-δ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1-<EFBFBD>ѷ<EFBFBD><EFBFBD><EFBFBD>]
*/
private Integer publish;
}

@ -0,0 +1,64 @@
package com.msb.mall.coupon.entity;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
/**
* <EFBFBD>Ż<EFBFBD>ȯ<EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD>ʷ<EFBFBD><EFBFBD>¼
*
* @author lsrong
* @email lsrong0414@gmail.com
* @date 2023-09-25 23:25:21
*/
@Data
@TableName("sms_coupon_history")
public class SmsCouponHistoryEntity implements Serializable {
private static final long serialVersionUID = 1L;
/**
* id
*/
@TableId
private Long id;
/**
* <EFBFBD>Ż<EFBFBD>ȯid
*/
private Long couponId;
/**
* <EFBFBD><EFBFBD>Աid
*/
private Long memberId;
/**
* <EFBFBD><EFBFBD>Ա<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*/
private String memberNickName;
/**
* <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD>ʽ[0-><EFBFBD><EFBFBD>̨<EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD>1-><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ]
*/
private Integer getType;
/**
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>
*/
private Date createTime;
/**
* ʹ<EFBFBD><EFBFBD>״̬[0->δʹ<EFBFBD>ã<EFBFBD>1-><EFBFBD><EFBFBD>ʹ<EFBFBD>ã<EFBFBD>2-><EFBFBD>ѹ<EFBFBD><EFBFBD><EFBFBD>]
*/
private Integer useType;
/**
* ʹ<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>
*/
private Date useTime;
/**
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>id
*/
private Long orderId;
/**
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*/
private Long orderSn;
}

@ -0,0 +1,40 @@
package com.msb.mall.coupon.entity;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
/**
* <EFBFBD>Ż<EFBFBD>ȯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*
* @author lsrong
* @email lsrong0414@gmail.com
* @date 2023-09-25 23:25:21
*/
@Data
@TableName("sms_coupon_spu_category_relation")
public class SmsCouponSpuCategoryRelationEntity implements Serializable {
private static final long serialVersionUID = 1L;
/**
* id
*/
@TableId
private Long id;
/**
* <EFBFBD>Ż<EFBFBD>ȯid
*/
private Long couponId;
/**
* <EFBFBD><EFBFBD>Ʒ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>id
*/
private Long categoryId;
/**
* <EFBFBD><EFBFBD>Ʒ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*/
private String categoryName;
}

@ -0,0 +1,40 @@
package com.msb.mall.coupon.entity;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
/**
* <EFBFBD>Ż<EFBFBD>ȯ<EFBFBD><EFBFBD><EFBFBD>Ʒ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*
* @author lsrong
* @email lsrong0414@gmail.com
* @date 2023-09-25 23:25:21
*/
@Data
@TableName("sms_coupon_spu_relation")
public class SmsCouponSpuRelationEntity implements Serializable {
private static final long serialVersionUID = 1L;
/**
* id
*/
@TableId
private Long id;
/**
* <EFBFBD>Ż<EFBFBD>ȯid
*/
private Long couponId;
/**
* spu_id
*/
private Long spuId;
/**
* spu_name
*/
private String spuName;
}

@ -0,0 +1,72 @@
package com.msb.mall.coupon.entity;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
/**
* <EFBFBD><EFBFBD>ҳ<EFBFBD>ֲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*
* @author lsrong
* @email lsrong0414@gmail.com
* @date 2023-09-25 23:25:21
*/
@Data
@TableName("sms_home_adv")
public class SmsHomeAdvEntity implements Serializable {
private static final long serialVersionUID = 1L;
/**
* id
*/
@TableId
private Long id;
/**
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*/
private String name;
/**
* ͼƬ<EFBFBD><EFBFBD>ַ
*/
private String pic;
/**
* <EFBFBD><EFBFBD>ʼʱ<EFBFBD><EFBFBD>
*/
private Date startTime;
/**
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>
*/
private Date endTime;
/**
* ״̬
*/
private Integer status;
/**
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*/
private Integer clickCount;
/**
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD>ַ
*/
private String url;
/**
* <EFBFBD><EFBFBD>ע
*/
private String note;
/**
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*/
private Integer sort;
/**
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*/
private Long publisherId;
/**
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*/
private Long authId;
}

@ -0,0 +1,56 @@
package com.msb.mall.coupon.entity;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
/**
* <EFBFBD><EFBFBD>ҳר<EFBFBD><EFBFBD><EFBFBD>jd<EFBFBD><EFBFBD>ҳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܶ<EFBFBD>ר<EFBFBD>ÿ<EFBFBD><EFBFBD>ר<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>µ<EFBFBD>ҳ<EFBFBD>չʾר<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʒ<EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD>
*
* @author lsrong
* @email lsrong0414@gmail.com
* @date 2023-09-25 23:25:21
*/
@Data
@TableName("sms_home_subject")
public class SmsHomeSubjectEntity implements Serializable {
private static final long serialVersionUID = 1L;
/**
* id
*/
@TableId
private Long id;
/**
* ר<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*/
private String name;
/**
* ר<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*/
private String title;
/**
* ר<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*/
private String subTitle;
/**
* <EFBFBD><EFBFBD>ʾ״̬
*/
private Integer status;
/**
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*/
private String url;
/**
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*/
private Integer sort;
/**
* ר<EFBFBD><EFBFBD>ͼƬ<EFBFBD><EFBFBD>ַ
*/
private String img;
}

@ -0,0 +1,44 @@
package com.msb.mall.coupon.entity;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
/**
* ר<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʒ
*
* @author lsrong
* @email lsrong0414@gmail.com
* @date 2023-09-25 23:25:21
*/
@Data
@TableName("sms_home_subject_spu")
public class SmsHomeSubjectSpuEntity implements Serializable {
private static final long serialVersionUID = 1L;
/**
* id
*/
@TableId
private Long id;
/**
* ר<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*/
private String name;
/**
* ר<EFBFBD><EFBFBD>id
*/
private Long subjectId;
/**
* spu_id
*/
private Long spuId;
/**
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*/
private Integer sort;
}

@ -0,0 +1,49 @@
package com.msb.mall.coupon.entity;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.math.BigDecimal;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
/**
* <EFBFBD><EFBFBD>Ʒ<EFBFBD><EFBFBD>Ա<EFBFBD>۸<EFBFBD>
*
* @author lsrong
* @email lsrong0414@gmail.com
* @date 2023-09-25 23:25:21
*/
@Data
@TableName("sms_member_price")
public class SmsMemberPriceEntity implements Serializable {
private static final long serialVersionUID = 1L;
/**
* id
*/
@TableId
private Long id;
/**
* sku_id
*/
private Long skuId;
/**
* <EFBFBD><EFBFBD>Ա<EFBFBD>ȼ<EFBFBD>id
*/
private Long memberLevelId;
/**
* <EFBFBD><EFBFBD>Ա<EFBFBD>ȼ<EFBFBD><EFBFBD><EFBFBD>
*/
private String memberLevelName;
/**
* <EFBFBD><EFBFBD>Ա<EFBFBD><EFBFBD>Ӧ<EFBFBD>۸<EFBFBD>
*/
private BigDecimal memberPrice;
/**
* <EFBFBD>ɷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ż<EFBFBD>[0-<EFBFBD><EFBFBD><EFBFBD>ɵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Żݣ<EFBFBD>1-<EFBFBD>ɵ<EFBFBD><EFBFBD><EFBFBD>]
*/
private Integer addOther;
}

@ -0,0 +1,52 @@
package com.msb.mall.coupon.entity;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
/**
* <EFBFBD><EFBFBD>ɱ<EFBFBD>
*
* @author lsrong
* @email lsrong0414@gmail.com
* @date 2023-09-25 23:25:21
*/
@Data
@TableName("sms_seckill_promotion")
public class SmsSeckillPromotionEntity implements Serializable {
private static final long serialVersionUID = 1L;
/**
* id
*/
@TableId
private Long id;
/**
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*/
private String title;
/**
* <EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*/
private Date startTime;
/**
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*/
private Date endTime;
/**
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬
*/
private Integer status;
/**
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>
*/
private Date createTime;
/**
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*/
private Long userId;
}

@ -0,0 +1,48 @@
package com.msb.mall.coupon.entity;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
/**
* <EFBFBD><EFBFBD>ɱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*
* @author lsrong
* @email lsrong0414@gmail.com
* @date 2023-09-25 23:25:21
*/
@Data
@TableName("sms_seckill_session")
public class SmsSeckillSessionEntity implements Serializable {
private static final long serialVersionUID = 1L;
/**
* id
*/
@TableId
private Long id;
/**
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*/
private String name;
/**
* ÿ<EFBFBD>տ<EFBFBD>ʼʱ<EFBFBD><EFBFBD>
*/
private Date startTime;
/**
* ÿ<EFBFBD>ս<EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>
*/
private Date endTime;
/**
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬
*/
private Integer status;
/**
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>
*/
private Date createTime;
}

@ -0,0 +1,20 @@
package com.msb.mall.coupon.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.msb.common.utils.PageUtils;
import com.msb.mall.coupon.entity.SmsCouponHistoryEntity;
import java.util.Map;
/**
* <EFBFBD>Ż<EFBFBD>ȯ<EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD>ʷ<EFBFBD><EFBFBD>¼
*
* @author lsrong
* @email lsrong0414@gmail.com
* @date 2023-09-25 23:25:21
*/
public interface SmsCouponHistoryService extends IService<SmsCouponHistoryEntity> {
PageUtils queryPage(Map<String, Object> params);
}

@ -0,0 +1,20 @@
package com.msb.mall.coupon.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.msb.common.utils.PageUtils;
import com.msb.mall.coupon.entity.SmsCouponEntity;
import java.util.Map;
/**
* <EFBFBD>Ż<EFBFBD>ȯ<EFBFBD><EFBFBD>Ϣ
*
* @author lsrong
* @email lsrong0414@gmail.com
* @date 2023-09-25 23:25:21
*/
public interface SmsCouponService extends IService<SmsCouponEntity> {
PageUtils queryPage(Map<String, Object> params);
}

@ -0,0 +1,20 @@
package com.msb.mall.coupon.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.msb.common.utils.PageUtils;
import com.msb.mall.coupon.entity.SmsCouponSpuCategoryRelationEntity;
import java.util.Map;
/**
* <EFBFBD>Ż<EFBFBD>ȯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*
* @author lsrong
* @email lsrong0414@gmail.com
* @date 2023-09-25 23:25:21
*/
public interface SmsCouponSpuCategoryRelationService extends IService<SmsCouponSpuCategoryRelationEntity> {
PageUtils queryPage(Map<String, Object> params);
}

@ -0,0 +1,20 @@
package com.msb.mall.coupon.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.msb.common.utils.PageUtils;
import com.msb.mall.coupon.entity.SmsCouponSpuRelationEntity;
import java.util.Map;
/**
* <EFBFBD>Ż<EFBFBD>ȯ<EFBFBD><EFBFBD><EFBFBD>Ʒ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*
* @author lsrong
* @email lsrong0414@gmail.com
* @date 2023-09-25 23:25:21
*/
public interface SmsCouponSpuRelationService extends IService<SmsCouponSpuRelationEntity> {
PageUtils queryPage(Map<String, Object> params);
}

@ -0,0 +1,20 @@
package com.msb.mall.coupon.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.msb.common.utils.PageUtils;
import com.msb.mall.coupon.entity.SmsHomeAdvEntity;
import java.util.Map;
/**
* <EFBFBD><EFBFBD>ҳ<EFBFBD>ֲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*
* @author lsrong
* @email lsrong0414@gmail.com
* @date 2023-09-25 23:25:21
*/
public interface SmsHomeAdvService extends IService<SmsHomeAdvEntity> {
PageUtils queryPage(Map<String, Object> params);
}

@ -0,0 +1,20 @@
package com.msb.mall.coupon.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.msb.common.utils.PageUtils;
import com.msb.mall.coupon.entity.SmsHomeSubjectEntity;
import java.util.Map;
/**
* <EFBFBD><EFBFBD>ҳר<EFBFBD><EFBFBD><EFBFBD>jd<EFBFBD><EFBFBD>ҳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܶ<EFBFBD>ר<EFBFBD>ÿ<EFBFBD><EFBFBD>ר<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>µ<EFBFBD>ҳ<EFBFBD>չʾר<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʒ<EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD>
*
* @author lsrong
* @email lsrong0414@gmail.com
* @date 2023-09-25 23:25:21
*/
public interface SmsHomeSubjectService extends IService<SmsHomeSubjectEntity> {
PageUtils queryPage(Map<String, Object> params);
}

@ -0,0 +1,20 @@
package com.msb.mall.coupon.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.msb.common.utils.PageUtils;
import com.msb.mall.coupon.entity.SmsHomeSubjectSpuEntity;
import java.util.Map;
/**
* ר<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʒ
*
* @author lsrong
* @email lsrong0414@gmail.com
* @date 2023-09-25 23:25:21
*/
public interface SmsHomeSubjectSpuService extends IService<SmsHomeSubjectSpuEntity> {
PageUtils queryPage(Map<String, Object> params);
}

@ -0,0 +1,20 @@
package com.msb.mall.coupon.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.msb.common.utils.PageUtils;
import com.msb.mall.coupon.entity.SmsMemberPriceEntity;
import java.util.Map;
/**
* <EFBFBD><EFBFBD>Ʒ<EFBFBD><EFBFBD>Ա<EFBFBD>۸<EFBFBD>
*
* @author lsrong
* @email lsrong0414@gmail.com
* @date 2023-09-25 23:25:21
*/
public interface SmsMemberPriceService extends IService<SmsMemberPriceEntity> {
PageUtils queryPage(Map<String, Object> params);
}

@ -0,0 +1,20 @@
package com.msb.mall.coupon.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.msb.common.utils.PageUtils;
import com.msb.mall.coupon.entity.SmsSeckillPromotionEntity;
import java.util.Map;
/**
* <EFBFBD><EFBFBD>ɱ<EFBFBD>
*
* @author lsrong
* @email lsrong0414@gmail.com
* @date 2023-09-25 23:25:21
*/
public interface SmsSeckillPromotionService extends IService<SmsSeckillPromotionEntity> {
PageUtils queryPage(Map<String, Object> params);
}

@ -0,0 +1,20 @@
package com.msb.mall.coupon.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.msb.common.utils.PageUtils;
import com.msb.mall.coupon.entity.SmsSeckillSessionEntity;
import java.util.Map;
/**
* <EFBFBD><EFBFBD>ɱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*
* @author lsrong
* @email lsrong0414@gmail.com
* @date 2023-09-25 23:25:21
*/
public interface SmsSeckillSessionService extends IService<SmsSeckillSessionEntity> {
PageUtils queryPage(Map<String, Object> params);
}

@ -0,0 +1,29 @@
package com.msb.mall.coupon.service.impl;
import org.springframework.stereotype.Service;
import java.util.Map;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.msb.common.utils.PageUtils;
import com.msb.common.utils.Query;
import com.msb.mall.coupon.dao.SmsCouponHistoryDao;
import com.msb.mall.coupon.entity.SmsCouponHistoryEntity;
import com.msb.mall.coupon.service.SmsCouponHistoryService;
@Service("smsCouponHistoryService")
public class SmsCouponHistoryServiceImpl extends ServiceImpl<SmsCouponHistoryDao, SmsCouponHistoryEntity> implements SmsCouponHistoryService {
@Override
public PageUtils queryPage(Map<String, Object> params) {
IPage<SmsCouponHistoryEntity> page = this.page(
new Query<SmsCouponHistoryEntity>().getPage(params),
new QueryWrapper<SmsCouponHistoryEntity>()
);
return new PageUtils(page);
}
}

@ -0,0 +1,29 @@
package com.msb.mall.coupon.service.impl;
import org.springframework.stereotype.Service;
import java.util.Map;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.msb.common.utils.PageUtils;
import com.msb.common.utils.Query;
import com.msb.mall.coupon.dao.SmsCouponDao;
import com.msb.mall.coupon.entity.SmsCouponEntity;
import com.msb.mall.coupon.service.SmsCouponService;
@Service("smsCouponService")
public class SmsCouponServiceImpl extends ServiceImpl<SmsCouponDao, SmsCouponEntity> implements SmsCouponService {
@Override
public PageUtils queryPage(Map<String, Object> params) {
IPage<SmsCouponEntity> page = this.page(
new Query<SmsCouponEntity>().getPage(params),
new QueryWrapper<SmsCouponEntity>()
);
return new PageUtils(page);
}
}

@ -0,0 +1,29 @@
package com.msb.mall.coupon.service.impl;
import org.springframework.stereotype.Service;
import java.util.Map;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.msb.common.utils.PageUtils;
import com.msb.common.utils.Query;
import com.msb.mall.coupon.dao.SmsCouponSpuCategoryRelationDao;
import com.msb.mall.coupon.entity.SmsCouponSpuCategoryRelationEntity;
import com.msb.mall.coupon.service.SmsCouponSpuCategoryRelationService;
@Service("smsCouponSpuCategoryRelationService")
public class SmsCouponSpuCategoryRelationServiceImpl extends ServiceImpl<SmsCouponSpuCategoryRelationDao, SmsCouponSpuCategoryRelationEntity> implements SmsCouponSpuCategoryRelationService {
@Override
public PageUtils queryPage(Map<String, Object> params) {
IPage<SmsCouponSpuCategoryRelationEntity> page = this.page(
new Query<SmsCouponSpuCategoryRelationEntity>().getPage(params),
new QueryWrapper<SmsCouponSpuCategoryRelationEntity>()
);
return new PageUtils(page);
}
}

@ -0,0 +1,29 @@
package com.msb.mall.coupon.service.impl;
import org.springframework.stereotype.Service;
import java.util.Map;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.msb.common.utils.PageUtils;
import com.msb.common.utils.Query;
import com.msb.mall.coupon.dao.SmsCouponSpuRelationDao;
import com.msb.mall.coupon.entity.SmsCouponSpuRelationEntity;
import com.msb.mall.coupon.service.SmsCouponSpuRelationService;
@Service("smsCouponSpuRelationService")
public class SmsCouponSpuRelationServiceImpl extends ServiceImpl<SmsCouponSpuRelationDao, SmsCouponSpuRelationEntity> implements SmsCouponSpuRelationService {
@Override
public PageUtils queryPage(Map<String, Object> params) {
IPage<SmsCouponSpuRelationEntity> page = this.page(
new Query<SmsCouponSpuRelationEntity>().getPage(params),
new QueryWrapper<SmsCouponSpuRelationEntity>()
);
return new PageUtils(page);
}
}

@ -0,0 +1,29 @@
package com.msb.mall.coupon.service.impl;
import org.springframework.stereotype.Service;
import java.util.Map;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.msb.common.utils.PageUtils;
import com.msb.common.utils.Query;
import com.msb.mall.coupon.dao.SmsHomeAdvDao;
import com.msb.mall.coupon.entity.SmsHomeAdvEntity;
import com.msb.mall.coupon.service.SmsHomeAdvService;
@Service("smsHomeAdvService")
public class SmsHomeAdvServiceImpl extends ServiceImpl<SmsHomeAdvDao, SmsHomeAdvEntity> implements SmsHomeAdvService {
@Override
public PageUtils queryPage(Map<String, Object> params) {
IPage<SmsHomeAdvEntity> page = this.page(
new Query<SmsHomeAdvEntity>().getPage(params),
new QueryWrapper<SmsHomeAdvEntity>()
);
return new PageUtils(page);
}
}

@ -0,0 +1,29 @@
package com.msb.mall.coupon.service.impl;
import org.springframework.stereotype.Service;
import java.util.Map;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.msb.common.utils.PageUtils;
import com.msb.common.utils.Query;
import com.msb.mall.coupon.dao.SmsHomeSubjectDao;
import com.msb.mall.coupon.entity.SmsHomeSubjectEntity;
import com.msb.mall.coupon.service.SmsHomeSubjectService;
@Service("smsHomeSubjectService")
public class SmsHomeSubjectServiceImpl extends ServiceImpl<SmsHomeSubjectDao, SmsHomeSubjectEntity> implements SmsHomeSubjectService {
@Override
public PageUtils queryPage(Map<String, Object> params) {
IPage<SmsHomeSubjectEntity> page = this.page(
new Query<SmsHomeSubjectEntity>().getPage(params),
new QueryWrapper<SmsHomeSubjectEntity>()
);
return new PageUtils(page);
}
}

@ -0,0 +1,29 @@
package com.msb.mall.coupon.service.impl;
import org.springframework.stereotype.Service;
import java.util.Map;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.msb.common.utils.PageUtils;
import com.msb.common.utils.Query;
import com.msb.mall.coupon.dao.SmsHomeSubjectSpuDao;
import com.msb.mall.coupon.entity.SmsHomeSubjectSpuEntity;
import com.msb.mall.coupon.service.SmsHomeSubjectSpuService;
@Service("smsHomeSubjectSpuService")
public class SmsHomeSubjectSpuServiceImpl extends ServiceImpl<SmsHomeSubjectSpuDao, SmsHomeSubjectSpuEntity> implements SmsHomeSubjectSpuService {
@Override
public PageUtils queryPage(Map<String, Object> params) {
IPage<SmsHomeSubjectSpuEntity> page = this.page(
new Query<SmsHomeSubjectSpuEntity>().getPage(params),
new QueryWrapper<SmsHomeSubjectSpuEntity>()
);
return new PageUtils(page);
}
}

@ -0,0 +1,29 @@
package com.msb.mall.coupon.service.impl;
import org.springframework.stereotype.Service;
import java.util.Map;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.msb.common.utils.PageUtils;
import com.msb.common.utils.Query;
import com.msb.mall.coupon.dao.SmsMemberPriceDao;
import com.msb.mall.coupon.entity.SmsMemberPriceEntity;
import com.msb.mall.coupon.service.SmsMemberPriceService;
@Service("smsMemberPriceService")
public class SmsMemberPriceServiceImpl extends ServiceImpl<SmsMemberPriceDao, SmsMemberPriceEntity> implements SmsMemberPriceService {
@Override
public PageUtils queryPage(Map<String, Object> params) {
IPage<SmsMemberPriceEntity> page = this.page(
new Query<SmsMemberPriceEntity>().getPage(params),
new QueryWrapper<SmsMemberPriceEntity>()
);
return new PageUtils(page);
}
}

@ -0,0 +1,29 @@
package com.msb.mall.coupon.service.impl;
import org.springframework.stereotype.Service;
import java.util.Map;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.msb.common.utils.PageUtils;
import com.msb.common.utils.Query;
import com.msb.mall.coupon.dao.SmsSeckillPromotionDao;
import com.msb.mall.coupon.entity.SmsSeckillPromotionEntity;
import com.msb.mall.coupon.service.SmsSeckillPromotionService;
@Service("smsSeckillPromotionService")
public class SmsSeckillPromotionServiceImpl extends ServiceImpl<SmsSeckillPromotionDao, SmsSeckillPromotionEntity> implements SmsSeckillPromotionService {
@Override
public PageUtils queryPage(Map<String, Object> params) {
IPage<SmsSeckillPromotionEntity> page = this.page(
new Query<SmsSeckillPromotionEntity>().getPage(params),
new QueryWrapper<SmsSeckillPromotionEntity>()
);
return new PageUtils(page);
}
}

@ -0,0 +1,29 @@
package com.msb.mall.coupon.service.impl;
import org.springframework.stereotype.Service;
import java.util.Map;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.msb.common.utils.PageUtils;
import com.msb.common.utils.Query;
import com.msb.mall.coupon.dao.SmsSeckillSessionDao;
import com.msb.mall.coupon.entity.SmsSeckillSessionEntity;
import com.msb.mall.coupon.service.SmsSeckillSessionService;
@Service("smsSeckillSessionService")
public class SmsSeckillSessionServiceImpl extends ServiceImpl<SmsSeckillSessionDao, SmsSeckillSessionEntity> implements SmsSeckillSessionService {
@Override
public PageUtils queryPage(Map<String, Object> params) {
IPage<SmsSeckillSessionEntity> page = this.page(
new Query<SmsSeckillSessionEntity>().getPage(params),
new QueryWrapper<SmsSeckillSessionEntity>()
);
return new PageUtils(page);
}
}

@ -0,0 +1,20 @@
spring:
application:
name: mall-coupon
datasource:
username: root
password: root
url: jdbc:mysql://localhost:3306/mall-sms
driver-class-name: com.mysql.cj.jdbc.Driver
cloud:
nacos:
discovery:
server-addr: 127.0.0.1:8848
mybatis-plus:
mapper-locations: classpath*:/mapper/**/*.xml
global-config:
db-config:
id-type: auto # 主键自增
server:
port: 8060

@ -0,0 +1,31 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.msb.mall.coupon.dao.SmsCouponDao">
<!-- 可根据自己的需求,是否要使用 -->
<resultMap type="com.msb.mall.coupon.entity.SmsCouponEntity" id="smsCouponMap">
<result property="id" column="id"/>
<result property="couponType" column="coupon_type"/>
<result property="couponImg" column="coupon_img"/>
<result property="couponName" column="coupon_name"/>
<result property="num" column="num"/>
<result property="amount" column="amount"/>
<result property="perLimit" column="per_limit"/>
<result property="minPoint" column="min_point"/>
<result property="startTime" column="start_time"/>
<result property="endTime" column="end_time"/>
<result property="useType" column="use_type"/>
<result property="note" column="note"/>
<result property="publishCount" column="publish_count"/>
<result property="useCount" column="use_count"/>
<result property="receiveCount" column="receive_count"/>
<result property="enableStartTime" column="enable_start_time"/>
<result property="enableEndTime" column="enable_end_time"/>
<result property="code" column="code"/>
<result property="memberLevel" column="member_level"/>
<result property="publish" column="publish"/>
</resultMap>
</mapper>

@ -0,0 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.msb.mall.coupon.dao.SmsCouponHistoryDao">
<!-- 可根据自己的需求,是否要使用 -->
<resultMap type="com.msb.mall.coupon.entity.SmsCouponHistoryEntity" id="smsCouponHistoryMap">
<result property="id" column="id"/>
<result property="couponId" column="coupon_id"/>
<result property="memberId" column="member_id"/>
<result property="memberNickName" column="member_nick_name"/>
<result property="getType" column="get_type"/>
<result property="createTime" column="create_time"/>
<result property="useType" column="use_type"/>
<result property="useTime" column="use_time"/>
<result property="orderId" column="order_id"/>
<result property="orderSn" column="order_sn"/>
</resultMap>
</mapper>

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.msb.mall.coupon.dao.SmsCouponSpuCategoryRelationDao">
<!-- 可根据自己的需求,是否要使用 -->
<resultMap type="com.msb.mall.coupon.entity.SmsCouponSpuCategoryRelationEntity" id="smsCouponSpuCategoryRelationMap">
<result property="id" column="id"/>
<result property="couponId" column="coupon_id"/>
<result property="categoryId" column="category_id"/>
<result property="categoryName" column="category_name"/>
</resultMap>
</mapper>

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.msb.mall.coupon.dao.SmsCouponSpuRelationDao">
<!-- 可根据自己的需求,是否要使用 -->
<resultMap type="com.msb.mall.coupon.entity.SmsCouponSpuRelationEntity" id="smsCouponSpuRelationMap">
<result property="id" column="id"/>
<result property="couponId" column="coupon_id"/>
<result property="spuId" column="spu_id"/>
<result property="spuName" column="spu_name"/>
</resultMap>
</mapper>

@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.msb.mall.coupon.dao.SmsHomeAdvDao">
<!-- 可根据自己的需求,是否要使用 -->
<resultMap type="com.msb.mall.coupon.entity.SmsHomeAdvEntity" id="smsHomeAdvMap">
<result property="id" column="id"/>
<result property="name" column="name"/>
<result property="pic" column="pic"/>
<result property="startTime" column="start_time"/>
<result property="endTime" column="end_time"/>
<result property="status" column="status"/>
<result property="clickCount" column="click_count"/>
<result property="url" column="url"/>
<result property="note" column="note"/>
<result property="sort" column="sort"/>
<result property="publisherId" column="publisher_id"/>
<result property="authId" column="auth_id"/>
</resultMap>
</mapper>

@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.msb.mall.coupon.dao.SmsHomeSubjectDao">
<!-- 可根据自己的需求,是否要使用 -->
<resultMap type="com.msb.mall.coupon.entity.SmsHomeSubjectEntity" id="smsHomeSubjectMap">
<result property="id" column="id"/>
<result property="name" column="name"/>
<result property="title" column="title"/>
<result property="subTitle" column="sub_title"/>
<result property="status" column="status"/>
<result property="url" column="url"/>
<result property="sort" column="sort"/>
<result property="img" column="img"/>
</resultMap>
</mapper>

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.msb.mall.coupon.dao.SmsHomeSubjectSpuDao">
<!-- 可根据自己的需求,是否要使用 -->
<resultMap type="com.msb.mall.coupon.entity.SmsHomeSubjectSpuEntity" id="smsHomeSubjectSpuMap">
<result property="id" column="id"/>
<result property="name" column="name"/>
<result property="subjectId" column="subject_id"/>
<result property="spuId" column="spu_id"/>
<result property="sort" column="sort"/>
</resultMap>
</mapper>

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.msb.mall.coupon.dao.SmsMemberPriceDao">
<!-- 可根据自己的需求,是否要使用 -->
<resultMap type="com.msb.mall.coupon.entity.SmsMemberPriceEntity" id="smsMemberPriceMap">
<result property="id" column="id"/>
<result property="skuId" column="sku_id"/>
<result property="memberLevelId" column="member_level_id"/>
<result property="memberLevelName" column="member_level_name"/>
<result property="memberPrice" column="member_price"/>
<result property="addOther" column="add_other"/>
</resultMap>
</mapper>

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.msb.mall.coupon.dao.SmsSeckillPromotionDao">
<!-- 可根据自己的需求,是否要使用 -->
<resultMap type="com.msb.mall.coupon.entity.SmsSeckillPromotionEntity" id="smsSeckillPromotionMap">
<result property="id" column="id"/>
<result property="title" column="title"/>
<result property="startTime" column="start_time"/>
<result property="endTime" column="end_time"/>
<result property="status" column="status"/>
<result property="createTime" column="create_time"/>
<result property="userId" column="user_id"/>
</resultMap>
</mapper>

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.msb.mall.coupon.dao.SmsSeckillSessionDao">
<!-- 可根据自己的需求,是否要使用 -->
<resultMap type="com.msb.mall.coupon.entity.SmsSeckillSessionEntity" id="smsSeckillSessionMap">
<result property="id" column="id"/>
<result property="name" column="name"/>
<result property="startTime" column="start_time"/>
<result property="endTime" column="end_time"/>
<result property="status" column="status"/>
<result property="createTime" column="create_time"/>
</resultMap>
</mapper>

@ -0,0 +1,246 @@
<template>
<el-dialog
:title="!dataForm.id ? '新增' : '修改'"
:close-on-click-modal="false"
:visible.sync="visible">
<el-form :model="dataForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="dataFormSubmit()" label-width="80px">
<el-form-item label="<22>Żݾ<C5BB><DDBE><EFBFBD><EFBFBD><EFBFBD>[0->ȫ<><C8AB><EFBFBD><EFBFBD>ȯ<EFBFBD><C8AF>1-><3E><>Ա<EFBFBD><D4B1>ȯ<EFBFBD><C8AF>2-><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȯ<EFBFBD><C8AF>3->ע<><D7A2><EFBFBD><EFBFBD>ȯ]" prop="couponType">
<el-input v-model="dataForm.couponType" placeholder="<22>Żݾ<C5BB><DDBE><EFBFBD><EFBFBD><EFBFBD>[0->ȫ<><C8AB><EFBFBD><EFBFBD>ȯ<EFBFBD><C8AF>1-><3E><>Ա<EFBFBD><D4B1>ȯ<EFBFBD><C8AF>2-><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȯ<EFBFBD><C8AF>3->ע<><D7A2><EFBFBD><EFBFBD>ȯ]"></el-input>
</el-form-item>
<el-form-item label="<22>Ż<EFBFBD>ȯͼƬ" prop="couponImg">
<el-input v-model="dataForm.couponImg" placeholder="<22>Ż<EFBFBD>ȯͼƬ"></el-input>
</el-form-item>
<el-form-item label="<22>Żݾ<C5BB><DDBE><EFBFBD><EFBFBD><EFBFBD>" prop="couponName">
<el-input v-model="dataForm.couponName" placeholder="<22>Żݾ<C5BB><DDBE><EFBFBD><EFBFBD><EFBFBD>"></el-input>
</el-form-item>
<el-form-item label="<22><><EFBFBD><EFBFBD>" prop="num">
<el-input v-model="dataForm.num" placeholder="<22><><EFBFBD><EFBFBD>"></el-input>
</el-form-item>
<el-form-item label="<22><><EFBFBD>" prop="amount">
<el-input v-model="dataForm.amount" placeholder="<22><><EFBFBD>"></el-input>
</el-form-item>
<el-form-item label="ÿ<><C3BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" prop="perLimit">
<el-input v-model="dataForm.perLimit" placeholder="ÿ<><C3BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"></el-input>
</el-form-item>
<el-form-item label="ʹ<><CAB9><EFBFBD>ż<EFBFBD>" prop="minPoint">
<el-input v-model="dataForm.minPoint" placeholder="ʹ<><CAB9><EFBFBD>ż<EFBFBD>"></el-input>
</el-form-item>
<el-form-item label="<22><>ʼʱ<CABC><CAB1>" prop="startTime">
<el-input v-model="dataForm.startTime" placeholder="<22><>ʼʱ<CABC><CAB1>"></el-input>
</el-form-item>
<el-form-item label="<22><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>" prop="endTime">
<el-input v-model="dataForm.endTime" placeholder="<22><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>"></el-input>
</el-form-item>
<el-form-item label="ʹ<><CAB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>[0->ȫ<><C8AB>ͨ<EFBFBD>ã<EFBFBD>1->ָ<><D6B8><EFBFBD><EFBFBD><EFBFBD>ࣻ2->ָ<><D6B8><EFBFBD><EFBFBD>Ʒ]" prop="useType">
<el-input v-model="dataForm.useType" placeholder="ʹ<><CAB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>[0->ȫ<><C8AB>ͨ<EFBFBD>ã<EFBFBD>1->ָ<><D6B8><EFBFBD><EFBFBD><EFBFBD>ࣻ2->ָ<><D6B8><EFBFBD><EFBFBD>Ʒ]"></el-input>
</el-form-item>
<el-form-item label="<22><>ע" prop="note">
<el-input v-model="dataForm.note" placeholder="<22><>ע"></el-input>
</el-form-item>
<el-form-item label="<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" prop="publishCount">
<el-input v-model="dataForm.publishCount" placeholder="<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"></el-input>
</el-form-item>
<el-form-item label="<22><>ʹ<EFBFBD><CAB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" prop="useCount">
<el-input v-model="dataForm.useCount" placeholder="<22><>ʹ<EFBFBD><CAB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"></el-input>
</el-form-item>
<el-form-item label="<22><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>" prop="receiveCount">
<el-input v-model="dataForm.receiveCount" placeholder="<22><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>"></el-input>
</el-form-item>
<el-form-item label="<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD>Ŀ<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>" prop="enableStartTime">
<el-input v-model="dataForm.enableStartTime" placeholder="<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD>Ŀ<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>"></el-input>
</el-form-item>
<el-form-item label="<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD>Ľ<EFBFBD><C4BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" prop="enableEndTime">
<el-input v-model="dataForm.enableEndTime" placeholder="<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD>Ľ<EFBFBD><C4BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"></el-input>
</el-form-item>
<el-form-item label="<22>Ż<EFBFBD><C5BB><EFBFBD>" prop="code">
<el-input v-model="dataForm.code" placeholder="<22>Ż<EFBFBD><C5BB><EFBFBD>"></el-input>
</el-form-item>
<el-form-item label="<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD>Ļ<EFBFBD>Ա<EFBFBD>ȼ<EFBFBD>[0-><3E><><EFBFBD>޵ȼ<DEB5><C8BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-<2D><>Ӧ<EFBFBD>ȼ<EFBFBD>]" prop="memberLevel">
<el-input v-model="dataForm.memberLevel" placeholder="<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD>Ļ<EFBFBD>Ա<EFBFBD>ȼ<EFBFBD>[0-><3E><><EFBFBD>޵ȼ<DEB5><C8BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-<2D><>Ӧ<EFBFBD>ȼ<EFBFBD>]"></el-input>
</el-form-item>
<el-form-item label="<22><><EFBFBD><EFBFBD>״̬[0-δ<><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1-<2D>ѷ<EFBFBD><D1B7><EFBFBD>]" prop="publish">
<el-input v-model="dataForm.publish" placeholder="<22><><EFBFBD><EFBFBD>״̬[0-δ<><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1-<2D>ѷ<EFBFBD><D1B7><EFBFBD>]"></el-input>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="visible = false">取消</el-button>
<el-button type="primary" @click="dataFormSubmit()"></el-button>
</span>
</el-dialog>
</template>
<script>
export default {
data () {
return {
visible: false,
dataForm: {
id: 0,
couponType: '',
couponImg: '',
couponName: '',
num: '',
amount: '',
perLimit: '',
minPoint: '',
startTime: '',
endTime: '',
useType: '',
note: '',
publishCount: '',
useCount: '',
receiveCount: '',
enableStartTime: '',
enableEndTime: '',
code: '',
memberLevel: '',
publish: ''
},
dataRule: {
couponType: [
{ required: true, message: '<27>Żݾ<C5BB><DDBE><EFBFBD><EFBFBD><EFBFBD>[0->ȫ<><C8AB><EFBFBD><EFBFBD>ȯ<EFBFBD><C8AF>1-><3E><>Ա<EFBFBD><D4B1>ȯ<EFBFBD><C8AF>2-><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȯ<EFBFBD><C8AF>3->ע<><D7A2><EFBFBD><EFBFBD>ȯ]不能为空', trigger: 'blur' }
],
couponImg: [
{ required: true, message: '<27>Ż<EFBFBD>ȯͼƬ不能为空', trigger: 'blur' }
],
couponName: [
{ required: true, message: '<27>Żݾ<C5BB><DDBE><EFBFBD><EFBFBD><EFBFBD>不能为空', trigger: 'blur' }
],
num: [
{ required: true, message: '<27><><EFBFBD><EFBFBD>不能为空', trigger: 'blur' }
],
amount: [
{ required: true, message: '<27><><EFBFBD>不能为空', trigger: 'blur' }
],
perLimit: [
{ required: true, message: 'ÿ<><C3BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>不能为空', trigger: 'blur' }
],
minPoint: [
{ required: true, message: 'ʹ<><CAB9><EFBFBD>ż<EFBFBD>不能为空', trigger: 'blur' }
],
startTime: [
{ required: true, message: '<27><>ʼʱ<CABC><CAB1>不能为空', trigger: 'blur' }
],
endTime: [
{ required: true, message: '<27><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>不能为空', trigger: 'blur' }
],
useType: [
{ required: true, message: 'ʹ<><CAB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>[0->ȫ<><C8AB>ͨ<EFBFBD>ã<EFBFBD>1->ָ<><D6B8><EFBFBD><EFBFBD><EFBFBD>ࣻ2->ָ<><D6B8><EFBFBD><EFBFBD>Ʒ]不能为空', trigger: 'blur' }
],
note: [
{ required: true, message: '<27><>ע不能为空', trigger: 'blur' }
],
publishCount: [
{ required: true, message: '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>不能为空', trigger: 'blur' }
],
useCount: [
{ required: true, message: '<27><>ʹ<EFBFBD><CAB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>不能为空', trigger: 'blur' }
],
receiveCount: [
{ required: true, message: '<27><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>不能为空', trigger: 'blur' }
],
enableStartTime: [
{ required: true, message: '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD>Ŀ<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>不能为空', trigger: 'blur' }
],
enableEndTime: [
{ required: true, message: '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD>Ľ<EFBFBD><C4BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>不能为空', trigger: 'blur' }
],
code: [
{ required: true, message: '<27>Ż<EFBFBD><C5BB><EFBFBD>不能为空', trigger: 'blur' }
],
memberLevel: [
{ required: true, message: '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD>Ļ<EFBFBD>Ա<EFBFBD>ȼ<EFBFBD>[0-><3E><><EFBFBD>޵ȼ<DEB5><C8BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-<2D><>Ӧ<EFBFBD>ȼ<EFBFBD>]不能为空', trigger: 'blur' }
],
publish: [
{ required: true, message: '<27><><EFBFBD><EFBFBD>״̬[0-δ<><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1-<2D>ѷ<EFBFBD><D1B7><EFBFBD>]不能为空', trigger: 'blur' }
]
}
}
},
methods: {
init (id) {
this.dataForm.id = id || 0
this.visible = true
this.$nextTick(() => {
this.$refs['dataForm'].resetFields()
if (this.dataForm.id) {
this.$http({
url: this.$http.adornUrl(`/coupon/smscoupon/info/${this.dataForm.id}`),
method: 'get',
params: this.$http.adornParams()
}).then(({data}) => {
if (data && data.code === 0) {
this.dataForm.couponType = data.smsCoupon.couponType
this.dataForm.couponImg = data.smsCoupon.couponImg
this.dataForm.couponName = data.smsCoupon.couponName
this.dataForm.num = data.smsCoupon.num
this.dataForm.amount = data.smsCoupon.amount
this.dataForm.perLimit = data.smsCoupon.perLimit
this.dataForm.minPoint = data.smsCoupon.minPoint
this.dataForm.startTime = data.smsCoupon.startTime
this.dataForm.endTime = data.smsCoupon.endTime
this.dataForm.useType = data.smsCoupon.useType
this.dataForm.note = data.smsCoupon.note
this.dataForm.publishCount = data.smsCoupon.publishCount
this.dataForm.useCount = data.smsCoupon.useCount
this.dataForm.receiveCount = data.smsCoupon.receiveCount
this.dataForm.enableStartTime = data.smsCoupon.enableStartTime
this.dataForm.enableEndTime = data.smsCoupon.enableEndTime
this.dataForm.code = data.smsCoupon.code
this.dataForm.memberLevel = data.smsCoupon.memberLevel
this.dataForm.publish = data.smsCoupon.publish
}
})
}
})
},
//
dataFormSubmit () {
this.$refs['dataForm'].validate((valid) => {
if (valid) {
this.$http({
url: this.$http.adornUrl(`/coupon/smscoupon/${!this.dataForm.id ? 'save' : 'update'}`),
method: 'post',
data: this.$http.adornData({
'id': this.dataForm.id || undefined,
'couponType': this.dataForm.couponType,
'couponImg': this.dataForm.couponImg,
'couponName': this.dataForm.couponName,
'num': this.dataForm.num,
'amount': this.dataForm.amount,
'perLimit': this.dataForm.perLimit,
'minPoint': this.dataForm.minPoint,
'startTime': this.dataForm.startTime,
'endTime': this.dataForm.endTime,
'useType': this.dataForm.useType,
'note': this.dataForm.note,
'publishCount': this.dataForm.publishCount,
'useCount': this.dataForm.useCount,
'receiveCount': this.dataForm.receiveCount,
'enableStartTime': this.dataForm.enableStartTime,
'enableEndTime': this.dataForm.enableEndTime,
'code': this.dataForm.code,
'memberLevel': this.dataForm.memberLevel,
'publish': this.dataForm.publish
})
}).then(({data}) => {
if (data && data.code === 0) {
this.$message({
message: '操作成功',
type: 'success',
duration: 1500,
onClose: () => {
this.visible = false
this.$emit('refreshDataList')
}
})
} else {
this.$message.error(data.msg)
}
})
}
})
}
}
}
</script>

@ -0,0 +1,271 @@
<template>
<div class="mod-config">
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()">
<el-form-item>
<el-input v-model="dataForm.key" placeholder="参数名" clearable></el-input>
</el-form-item>
<el-form-item>
<el-button @click="getDataList()"></el-button>
<el-button v-if="isAuth('coupon:smscoupon:save')" type="primary" @click="addOrUpdateHandle()"></el-button>
<el-button v-if="isAuth('coupon:smscoupon:delete')" type="danger" @click="deleteHandle()" :disabled="dataListSelections.length <= 0"></el-button>
</el-form-item>
</el-form>
<el-table
:data="dataList"
border
v-loading="dataListLoading"
@selection-change="selectionChangeHandle"
style="width: 100%;">
<el-table-column
type="selection"
header-align="center"
align="center"
width="50">
</el-table-column>
<el-table-column
prop="id"
header-align="center"
align="center"
label="id">
</el-table-column>
<el-table-column
prop="couponType"
header-align="center"
align="center"
label="<22>Żݾ<C5BB><DDBE><EFBFBD><EFBFBD><EFBFBD>[0->ȫ<><C8AB><EFBFBD><EFBFBD>ȯ<EFBFBD><C8AF>1-><3E><>Ա<EFBFBD><D4B1>ȯ<EFBFBD><C8AF>2-><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȯ<EFBFBD><C8AF>3->ע<><D7A2><EFBFBD><EFBFBD>ȯ]">
</el-table-column>
<el-table-column
prop="couponImg"
header-align="center"
align="center"
label="<22>Ż<EFBFBD>ȯͼƬ">
</el-table-column>
<el-table-column
prop="couponName"
header-align="center"
align="center"
label="<22>Żݾ<C5BB><DDBE><EFBFBD><EFBFBD><EFBFBD>">
</el-table-column>
<el-table-column
prop="num"
header-align="center"
align="center"
label="<22><><EFBFBD><EFBFBD>">
</el-table-column>
<el-table-column
prop="amount"
header-align="center"
align="center"
label="<22><><EFBFBD>">
</el-table-column>
<el-table-column
prop="perLimit"
header-align="center"
align="center"
label="ÿ<><C3BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>">
</el-table-column>
<el-table-column
prop="minPoint"
header-align="center"
align="center"
label="ʹ<><CAB9><EFBFBD>ż<EFBFBD>">
</el-table-column>
<el-table-column
prop="startTime"
header-align="center"
align="center"
label="<22><>ʼʱ<CABC><CAB1>">
</el-table-column>
<el-table-column
prop="endTime"
header-align="center"
align="center"
label="<22><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>">
</el-table-column>
<el-table-column
prop="useType"
header-align="center"
align="center"
label="ʹ<><CAB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>[0->ȫ<><C8AB>ͨ<EFBFBD>ã<EFBFBD>1->ָ<><D6B8><EFBFBD><EFBFBD><EFBFBD>ࣻ2->ָ<><D6B8><EFBFBD><EFBFBD>Ʒ]">
</el-table-column>
<el-table-column
prop="note"
header-align="center"
align="center"
label="<22><>ע">
</el-table-column>
<el-table-column
prop="publishCount"
header-align="center"
align="center"
label="<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>">
</el-table-column>
<el-table-column
prop="useCount"
header-align="center"
align="center"
label="<22><>ʹ<EFBFBD><CAB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>">
</el-table-column>
<el-table-column
prop="receiveCount"
header-align="center"
align="center"
label="<22><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>">
</el-table-column>
<el-table-column
prop="enableStartTime"
header-align="center"
align="center"
label="<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD>Ŀ<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>">
</el-table-column>
<el-table-column
prop="enableEndTime"
header-align="center"
align="center"
label="<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD>Ľ<EFBFBD><C4BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>">
</el-table-column>
<el-table-column
prop="code"
header-align="center"
align="center"
label="<22>Ż<EFBFBD><C5BB><EFBFBD>">
</el-table-column>
<el-table-column
prop="memberLevel"
header-align="center"
align="center"
label="<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD>Ļ<EFBFBD>Ա<EFBFBD>ȼ<EFBFBD>[0-><3E><><EFBFBD>޵ȼ<DEB5><C8BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-<2D><>Ӧ<EFBFBD>ȼ<EFBFBD>]">
</el-table-column>
<el-table-column
prop="publish"
header-align="center"
align="center"
label="<22><><EFBFBD><EFBFBD>״̬[0-δ<><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1-<2D>ѷ<EFBFBD><D1B7><EFBFBD>]">
</el-table-column>
<el-table-column
fixed="right"
header-align="center"
align="center"
width="150"
label="操作">
<template slot-scope="scope">
<el-button type="text" size="small" @click="addOrUpdateHandle(scope.row.id)"></el-button>
<el-button type="text" size="small" @click="deleteHandle(scope.row.id)"></el-button>
</template>
</el-table-column>
</el-table>
<el-pagination
@size-change="sizeChangeHandle"
@current-change="currentChangeHandle"
:current-page="pageIndex"
:page-sizes="[10, 20, 50, 100]"
:page-size="pageSize"
:total="totalPage"
layout="total, sizes, prev, pager, next, jumper">
</el-pagination>
<!-- 弹窗, 新增 / 修改 -->
<add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getDataList"></add-or-update>
</div>
</template>
<script>
import AddOrUpdate from './smscoupon-add-or-update'
export default {
data () {
return {
dataForm: {
key: ''
},
dataList: [],
pageIndex: 1,
pageSize: 10,
totalPage: 0,
dataListLoading: false,
dataListSelections: [],
addOrUpdateVisible: false
}
},
components: {
AddOrUpdate
},
activated () {
this.getDataList()
},
methods: {
//
getDataList () {
this.dataListLoading = true
this.$http({
url: this.$http.adornUrl('/coupon/smscoupon/list'),
method: 'get',
params: this.$http.adornParams({
'page': this.pageIndex,
'limit': this.pageSize,
'key': this.dataForm.key
})
}).then(({data}) => {
if (data && data.code === 0) {
this.dataList = data.page.list
this.totalPage = data.page.totalCount
} else {
this.dataList = []
this.totalPage = 0
}
this.dataListLoading = false
})
},
//
sizeChangeHandle (val) {
this.pageSize = val
this.pageIndex = 1
this.getDataList()
},
//
currentChangeHandle (val) {
this.pageIndex = val
this.getDataList()
},
//
selectionChangeHandle (val) {
this.dataListSelections = val
},
// /
addOrUpdateHandle (id) {
this.addOrUpdateVisible = true
this.$nextTick(() => {
this.$refs.addOrUpdate.init(id)
})
},
//
deleteHandle (id) {
var ids = id ? [id] : this.dataListSelections.map(item => {
return item.id
})
this.$confirm(`确定对[id=${ids.join(',')}]进行[${id ? '删除' : '批量删除'}]操作?`, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.$http({
url: this.$http.adornUrl('/coupon/smscoupon/delete'),
method: 'post',
data: this.$http.adornData(ids, false)
}).then(({data}) => {
if (data && data.code === 0) {
this.$message({
message: '操作成功',
type: 'success',
duration: 1500,
onClose: () => {
this.getDataList()
}
})
} else {
this.$message.error(data.msg)
}
})
})
}
}
}
</script>

@ -0,0 +1,156 @@
<template>
<el-dialog
:title="!dataForm.id ? '新增' : '修改'"
:close-on-click-modal="false"
:visible.sync="visible">
<el-form :model="dataForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="dataFormSubmit()" label-width="80px">
<el-form-item label="<22>Ż<EFBFBD>ȯid" prop="couponId">
<el-input v-model="dataForm.couponId" placeholder="<22>Ż<EFBFBD>ȯid"></el-input>
</el-form-item>
<el-form-item label="<22><>Աid" prop="memberId">
<el-input v-model="dataForm.memberId" placeholder="<22><>Աid"></el-input>
</el-form-item>
<el-form-item label="<22><>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD>" prop="memberNickName">
<el-input v-model="dataForm.memberNickName" placeholder="<22><>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD>"></el-input>
</el-form-item>
<el-form-item label="<22><>ȡ<EFBFBD><C8A1>ʽ[0-><3E><>̨<EFBFBD><CCA8><EFBFBD>ͣ<EFBFBD>1-><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ]" prop="getType">
<el-input v-model="dataForm.getType" placeholder="<22><>ȡ<EFBFBD><C8A1>ʽ[0-><3E><>̨<EFBFBD><CCA8><EFBFBD>ͣ<EFBFBD>1-><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ]"></el-input>
</el-form-item>
<el-form-item label="<22><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>" prop="createTime">
<el-input v-model="dataForm.createTime" placeholder="<22><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>"></el-input>
</el-form-item>
<el-form-item label="ʹ<><CAB9>״̬[0->δʹ<CEB4>ã<EFBFBD>1-><3E><>ʹ<EFBFBD>ã<EFBFBD>2-><3E>ѹ<EFBFBD><D1B9><EFBFBD>]" prop="useType">
<el-input v-model="dataForm.useType" placeholder="ʹ<><CAB9>״̬[0->δʹ<CEB4>ã<EFBFBD>1-><3E><>ʹ<EFBFBD>ã<EFBFBD>2-><3E>ѹ<EFBFBD><D1B9><EFBFBD>]"></el-input>
</el-form-item>
<el-form-item label="ʹ<><CAB9>ʱ<EFBFBD><CAB1>" prop="useTime">
<el-input v-model="dataForm.useTime" placeholder="ʹ<><CAB9>ʱ<EFBFBD><CAB1>"></el-input>
</el-form-item>
<el-form-item label="<22><><EFBFBD><EFBFBD>id" prop="orderId">
<el-input v-model="dataForm.orderId" placeholder="<22><><EFBFBD><EFBFBD>id"></el-input>
</el-form-item>
<el-form-item label="<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" prop="orderSn">
<el-input v-model="dataForm.orderSn" placeholder="<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"></el-input>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="visible = false">取消</el-button>
<el-button type="primary" @click="dataFormSubmit()"></el-button>
</span>
</el-dialog>
</template>
<script>
export default {
data () {
return {
visible: false,
dataForm: {
id: 0,
couponId: '',
memberId: '',
memberNickName: '',
getType: '',
createTime: '',
useType: '',
useTime: '',
orderId: '',
orderSn: ''
},
dataRule: {
couponId: [
{ required: true, message: '<27>Ż<EFBFBD>ȯid不能为空', trigger: 'blur' }
],
memberId: [
{ required: true, message: '<27><>Աid不能为空', trigger: 'blur' }
],
memberNickName: [
{ required: true, message: '<27><>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD>不能为空', trigger: 'blur' }
],
getType: [
{ required: true, message: '<27><>ȡ<EFBFBD><C8A1>ʽ[0-><3E><>̨<EFBFBD><CCA8><EFBFBD>ͣ<EFBFBD>1-><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ]不能为空', trigger: 'blur' }
],
createTime: [
{ required: true, message: '<27><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>不能为空', trigger: 'blur' }
],
useType: [
{ required: true, message: 'ʹ<><CAB9>״̬[0->δʹ<CEB4>ã<EFBFBD>1-><3E><>ʹ<EFBFBD>ã<EFBFBD>2-><3E>ѹ<EFBFBD><D1B9><EFBFBD>]不能为空', trigger: 'blur' }
],
useTime: [
{ required: true, message: 'ʹ<><CAB9>ʱ<EFBFBD><CAB1>不能为空', trigger: 'blur' }
],
orderId: [
{ required: true, message: '<27><><EFBFBD><EFBFBD>id不能为空', trigger: 'blur' }
],
orderSn: [
{ required: true, message: '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>不能为空', trigger: 'blur' }
]
}
}
},
methods: {
init (id) {
this.dataForm.id = id || 0
this.visible = true
this.$nextTick(() => {
this.$refs['dataForm'].resetFields()
if (this.dataForm.id) {
this.$http({
url: this.$http.adornUrl(`/coupon/smscouponhistory/info/${this.dataForm.id}`),
method: 'get',
params: this.$http.adornParams()
}).then(({data}) => {
if (data && data.code === 0) {
this.dataForm.couponId = data.smsCouponHistory.couponId
this.dataForm.memberId = data.smsCouponHistory.memberId
this.dataForm.memberNickName = data.smsCouponHistory.memberNickName
this.dataForm.getType = data.smsCouponHistory.getType
this.dataForm.createTime = data.smsCouponHistory.createTime
this.dataForm.useType = data.smsCouponHistory.useType
this.dataForm.useTime = data.smsCouponHistory.useTime
this.dataForm.orderId = data.smsCouponHistory.orderId
this.dataForm.orderSn = data.smsCouponHistory.orderSn
}
})
}
})
},
//
dataFormSubmit () {
this.$refs['dataForm'].validate((valid) => {
if (valid) {
this.$http({
url: this.$http.adornUrl(`/coupon/smscouponhistory/${!this.dataForm.id ? 'save' : 'update'}`),
method: 'post',
data: this.$http.adornData({
'id': this.dataForm.id || undefined,
'couponId': this.dataForm.couponId,
'memberId': this.dataForm.memberId,
'memberNickName': this.dataForm.memberNickName,
'getType': this.dataForm.getType,
'createTime': this.dataForm.createTime,
'useType': this.dataForm.useType,
'useTime': this.dataForm.useTime,
'orderId': this.dataForm.orderId,
'orderSn': this.dataForm.orderSn
})
}).then(({data}) => {
if (data && data.code === 0) {
this.$message({
message: '操作成功',
type: 'success',
duration: 1500,
onClose: () => {
this.visible = false
this.$emit('refreshDataList')
}
})
} else {
this.$message.error(data.msg)
}
})
}
})
}
}
}
</script>

@ -0,0 +1,211 @@
<template>
<div class="mod-config">
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()">
<el-form-item>
<el-input v-model="dataForm.key" placeholder="参数名" clearable></el-input>
</el-form-item>
<el-form-item>
<el-button @click="getDataList()"></el-button>
<el-button v-if="isAuth('coupon:smscouponhistory:save')" type="primary" @click="addOrUpdateHandle()"></el-button>
<el-button v-if="isAuth('coupon:smscouponhistory:delete')" type="danger" @click="deleteHandle()" :disabled="dataListSelections.length <= 0"></el-button>
</el-form-item>
</el-form>
<el-table
:data="dataList"
border
v-loading="dataListLoading"
@selection-change="selectionChangeHandle"
style="width: 100%;">
<el-table-column
type="selection"
header-align="center"
align="center"
width="50">
</el-table-column>
<el-table-column
prop="id"
header-align="center"
align="center"
label="id">
</el-table-column>
<el-table-column
prop="couponId"
header-align="center"
align="center"
label="<22>Ż<EFBFBD>ȯid">
</el-table-column>
<el-table-column
prop="memberId"
header-align="center"
align="center"
label="<22><>Աid">
</el-table-column>
<el-table-column
prop="memberNickName"
header-align="center"
align="center"
label="<22><>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD>">
</el-table-column>
<el-table-column
prop="getType"
header-align="center"
align="center"
label="<22><>ȡ<EFBFBD><C8A1>ʽ[0-><3E><>̨<EFBFBD><CCA8><EFBFBD>ͣ<EFBFBD>1-><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ]">
</el-table-column>
<el-table-column
prop="createTime"
header-align="center"
align="center"
label="<22><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>">
</el-table-column>
<el-table-column
prop="useType"
header-align="center"
align="center"
label="ʹ<><CAB9>״̬[0->δʹ<CEB4>ã<EFBFBD>1-><3E><>ʹ<EFBFBD>ã<EFBFBD>2-><3E>ѹ<EFBFBD><D1B9><EFBFBD>]">
</el-table-column>
<el-table-column
prop="useTime"
header-align="center"
align="center"
label="ʹ<><CAB9>ʱ<EFBFBD><CAB1>">
</el-table-column>
<el-table-column
prop="orderId"
header-align="center"
align="center"
label="<22><><EFBFBD><EFBFBD>id">
</el-table-column>
<el-table-column
prop="orderSn"
header-align="center"
align="center"
label="<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>">
</el-table-column>
<el-table-column
fixed="right"
header-align="center"
align="center"
width="150"
label="操作">
<template slot-scope="scope">
<el-button type="text" size="small" @click="addOrUpdateHandle(scope.row.id)"></el-button>
<el-button type="text" size="small" @click="deleteHandle(scope.row.id)"></el-button>
</template>
</el-table-column>
</el-table>
<el-pagination
@size-change="sizeChangeHandle"
@current-change="currentChangeHandle"
:current-page="pageIndex"
:page-sizes="[10, 20, 50, 100]"
:page-size="pageSize"
:total="totalPage"
layout="total, sizes, prev, pager, next, jumper">
</el-pagination>
<!-- 弹窗, 新增 / 修改 -->
<add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getDataList"></add-or-update>
</div>
</template>
<script>
import AddOrUpdate from './smscouponhistory-add-or-update'
export default {
data () {
return {
dataForm: {
key: ''
},
dataList: [],
pageIndex: 1,
pageSize: 10,
totalPage: 0,
dataListLoading: false,
dataListSelections: [],
addOrUpdateVisible: false
}
},
components: {
AddOrUpdate
},
activated () {
this.getDataList()
},
methods: {
//
getDataList () {
this.dataListLoading = true
this.$http({
url: this.$http.adornUrl('/coupon/smscouponhistory/list'),
method: 'get',
params: this.$http.adornParams({
'page': this.pageIndex,
'limit': this.pageSize,
'key': this.dataForm.key
})
}).then(({data}) => {
if (data && data.code === 0) {
this.dataList = data.page.list
this.totalPage = data.page.totalCount
} else {
this.dataList = []
this.totalPage = 0
}
this.dataListLoading = false
})
},
//
sizeChangeHandle (val) {
this.pageSize = val
this.pageIndex = 1
this.getDataList()
},
//
currentChangeHandle (val) {
this.pageIndex = val
this.getDataList()
},
//
selectionChangeHandle (val) {
this.dataListSelections = val
},
// /
addOrUpdateHandle (id) {
this.addOrUpdateVisible = true
this.$nextTick(() => {
this.$refs.addOrUpdate.init(id)
})
},
//
deleteHandle (id) {
var ids = id ? [id] : this.dataListSelections.map(item => {
return item.id
})
this.$confirm(`确定对[id=${ids.join(',')}]进行[${id ? '删除' : '批量删除'}]操作?`, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.$http({
url: this.$http.adornUrl('/coupon/smscouponhistory/delete'),
method: 'post',
data: this.$http.adornData(ids, false)
}).then(({data}) => {
if (data && data.code === 0) {
this.$message({
message: '操作成功',
type: 'success',
duration: 1500,
onClose: () => {
this.getDataList()
}
})
} else {
this.$message.error(data.msg)
}
})
})
}
}
}
</script>

@ -0,0 +1,102 @@
<template>
<el-dialog
:title="!dataForm.id ? '新增' : '修改'"
:close-on-click-modal="false"
:visible.sync="visible">
<el-form :model="dataForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="dataFormSubmit()" label-width="80px">
<el-form-item label="<22>Ż<EFBFBD>ȯid" prop="couponId">
<el-input v-model="dataForm.couponId" placeholder="<22>Ż<EFBFBD>ȯid"></el-input>
</el-form-item>
<el-form-item label="<22><>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD>id" prop="categoryId">
<el-input v-model="dataForm.categoryId" placeholder="<22><>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD>id"></el-input>
</el-form-item>
<el-form-item label="<22><>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" prop="categoryName">
<el-input v-model="dataForm.categoryName" placeholder="<22><>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"></el-input>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="visible = false">取消</el-button>
<el-button type="primary" @click="dataFormSubmit()"></el-button>
</span>
</el-dialog>
</template>
<script>
export default {
data () {
return {
visible: false,
dataForm: {
id: 0,
couponId: '',
categoryId: '',
categoryName: ''
},
dataRule: {
couponId: [
{ required: true, message: '<27>Ż<EFBFBD>ȯid不能为空', trigger: 'blur' }
],
categoryId: [
{ required: true, message: '<27><>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD>id不能为空', trigger: 'blur' }
],
categoryName: [
{ required: true, message: '<27><>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>不能为空', trigger: 'blur' }
]
}
}
},
methods: {
init (id) {
this.dataForm.id = id || 0
this.visible = true
this.$nextTick(() => {
this.$refs['dataForm'].resetFields()
if (this.dataForm.id) {
this.$http({
url: this.$http.adornUrl(`/coupon/smscouponspucategoryrelation/info/${this.dataForm.id}`),
method: 'get',
params: this.$http.adornParams()
}).then(({data}) => {
if (data && data.code === 0) {
this.dataForm.couponId = data.smsCouponSpuCategoryRelation.couponId
this.dataForm.categoryId = data.smsCouponSpuCategoryRelation.categoryId
this.dataForm.categoryName = data.smsCouponSpuCategoryRelation.categoryName
}
})
}
})
},
//
dataFormSubmit () {
this.$refs['dataForm'].validate((valid) => {
if (valid) {
this.$http({
url: this.$http.adornUrl(`/coupon/smscouponspucategoryrelation/${!this.dataForm.id ? 'save' : 'update'}`),
method: 'post',
data: this.$http.adornData({
'id': this.dataForm.id || undefined,
'couponId': this.dataForm.couponId,
'categoryId': this.dataForm.categoryId,
'categoryName': this.dataForm.categoryName
})
}).then(({data}) => {
if (data && data.code === 0) {
this.$message({
message: '操作成功',
type: 'success',
duration: 1500,
onClose: () => {
this.visible = false
this.$emit('refreshDataList')
}
})
} else {
this.$message.error(data.msg)
}
})
}
})
}
}
}
</script>

@ -0,0 +1,175 @@
<template>
<div class="mod-config">
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()">
<el-form-item>
<el-input v-model="dataForm.key" placeholder="参数名" clearable></el-input>
</el-form-item>
<el-form-item>
<el-button @click="getDataList()"></el-button>
<el-button v-if="isAuth('coupon:smscouponspucategoryrelation:save')" type="primary" @click="addOrUpdateHandle()"></el-button>
<el-button v-if="isAuth('coupon:smscouponspucategoryrelation:delete')" type="danger" @click="deleteHandle()" :disabled="dataListSelections.length <= 0"></el-button>
</el-form-item>
</el-form>
<el-table
:data="dataList"
border
v-loading="dataListLoading"
@selection-change="selectionChangeHandle"
style="width: 100%;">
<el-table-column
type="selection"
header-align="center"
align="center"
width="50">
</el-table-column>
<el-table-column
prop="id"
header-align="center"
align="center"
label="id">
</el-table-column>
<el-table-column
prop="couponId"
header-align="center"
align="center"
label="<22>Ż<EFBFBD>ȯid">
</el-table-column>
<el-table-column
prop="categoryId"
header-align="center"
align="center"
label="<22><>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD>id">
</el-table-column>
<el-table-column
prop="categoryName"
header-align="center"
align="center"
label="<22><>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>">
</el-table-column>
<el-table-column
fixed="right"
header-align="center"
align="center"
width="150"
label="操作">
<template slot-scope="scope">
<el-button type="text" size="small" @click="addOrUpdateHandle(scope.row.id)"></el-button>
<el-button type="text" size="small" @click="deleteHandle(scope.row.id)"></el-button>
</template>
</el-table-column>
</el-table>
<el-pagination
@size-change="sizeChangeHandle"
@current-change="currentChangeHandle"
:current-page="pageIndex"
:page-sizes="[10, 20, 50, 100]"
:page-size="pageSize"
:total="totalPage"
layout="total, sizes, prev, pager, next, jumper">
</el-pagination>
<!-- 弹窗, 新增 / 修改 -->
<add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getDataList"></add-or-update>
</div>
</template>
<script>
import AddOrUpdate from './smscouponspucategoryrelation-add-or-update'
export default {
data () {
return {
dataForm: {
key: ''
},
dataList: [],
pageIndex: 1,
pageSize: 10,
totalPage: 0,
dataListLoading: false,
dataListSelections: [],
addOrUpdateVisible: false
}
},
components: {
AddOrUpdate
},
activated () {
this.getDataList()
},
methods: {
//
getDataList () {
this.dataListLoading = true
this.$http({
url: this.$http.adornUrl('/coupon/smscouponspucategoryrelation/list'),
method: 'get',
params: this.$http.adornParams({
'page': this.pageIndex,
'limit': this.pageSize,
'key': this.dataForm.key
})
}).then(({data}) => {
if (data && data.code === 0) {
this.dataList = data.page.list
this.totalPage = data.page.totalCount
} else {
this.dataList = []
this.totalPage = 0
}
this.dataListLoading = false
})
},
//
sizeChangeHandle (val) {
this.pageSize = val
this.pageIndex = 1
this.getDataList()
},
//
currentChangeHandle (val) {
this.pageIndex = val
this.getDataList()
},
//
selectionChangeHandle (val) {
this.dataListSelections = val
},
// /
addOrUpdateHandle (id) {
this.addOrUpdateVisible = true
this.$nextTick(() => {
this.$refs.addOrUpdate.init(id)
})
},
//
deleteHandle (id) {
var ids = id ? [id] : this.dataListSelections.map(item => {
return item.id
})
this.$confirm(`确定对[id=${ids.join(',')}]进行[${id ? '删除' : '批量删除'}]操作?`, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.$http({
url: this.$http.adornUrl('/coupon/smscouponspucategoryrelation/delete'),
method: 'post',
data: this.$http.adornData(ids, false)
}).then(({data}) => {
if (data && data.code === 0) {
this.$message({
message: '操作成功',
type: 'success',
duration: 1500,
onClose: () => {
this.getDataList()
}
})
} else {
this.$message.error(data.msg)
}
})
})
}
}
}
</script>

@ -0,0 +1,102 @@
<template>
<el-dialog
:title="!dataForm.id ? '新增' : '修改'"
:close-on-click-modal="false"
:visible.sync="visible">
<el-form :model="dataForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="dataFormSubmit()" label-width="80px">
<el-form-item label="<22>Ż<EFBFBD>ȯid" prop="couponId">
<el-input v-model="dataForm.couponId" placeholder="<22>Ż<EFBFBD>ȯid"></el-input>
</el-form-item>
<el-form-item label="spu_id" prop="spuId">
<el-input v-model="dataForm.spuId" placeholder="spu_id"></el-input>
</el-form-item>
<el-form-item label="spu_name" prop="spuName">
<el-input v-model="dataForm.spuName" placeholder="spu_name"></el-input>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="visible = false">取消</el-button>
<el-button type="primary" @click="dataFormSubmit()"></el-button>
</span>
</el-dialog>
</template>
<script>
export default {
data () {
return {
visible: false,
dataForm: {
id: 0,
couponId: '',
spuId: '',
spuName: ''
},
dataRule: {
couponId: [
{ required: true, message: '<27>Ż<EFBFBD>ȯid不能为空', trigger: 'blur' }
],
spuId: [
{ required: true, message: 'spu_id不能为空', trigger: 'blur' }
],
spuName: [
{ required: true, message: 'spu_name不能为空', trigger: 'blur' }
]
}
}
},
methods: {
init (id) {
this.dataForm.id = id || 0
this.visible = true
this.$nextTick(() => {
this.$refs['dataForm'].resetFields()
if (this.dataForm.id) {
this.$http({
url: this.$http.adornUrl(`/coupon/smscouponspurelation/info/${this.dataForm.id}`),
method: 'get',
params: this.$http.adornParams()
}).then(({data}) => {
if (data && data.code === 0) {
this.dataForm.couponId = data.smsCouponSpuRelation.couponId
this.dataForm.spuId = data.smsCouponSpuRelation.spuId
this.dataForm.spuName = data.smsCouponSpuRelation.spuName
}
})
}
})
},
//
dataFormSubmit () {
this.$refs['dataForm'].validate((valid) => {
if (valid) {
this.$http({
url: this.$http.adornUrl(`/coupon/smscouponspurelation/${!this.dataForm.id ? 'save' : 'update'}`),
method: 'post',
data: this.$http.adornData({
'id': this.dataForm.id || undefined,
'couponId': this.dataForm.couponId,
'spuId': this.dataForm.spuId,
'spuName': this.dataForm.spuName
})
}).then(({data}) => {
if (data && data.code === 0) {
this.$message({
message: '操作成功',
type: 'success',
duration: 1500,
onClose: () => {
this.visible = false
this.$emit('refreshDataList')
}
})
} else {
this.$message.error(data.msg)
}
})
}
})
}
}
}
</script>

@ -0,0 +1,175 @@
<template>
<div class="mod-config">
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()">
<el-form-item>
<el-input v-model="dataForm.key" placeholder="参数名" clearable></el-input>
</el-form-item>
<el-form-item>
<el-button @click="getDataList()"></el-button>
<el-button v-if="isAuth('coupon:smscouponspurelation:save')" type="primary" @click="addOrUpdateHandle()"></el-button>
<el-button v-if="isAuth('coupon:smscouponspurelation:delete')" type="danger" @click="deleteHandle()" :disabled="dataListSelections.length <= 0"></el-button>
</el-form-item>
</el-form>
<el-table
:data="dataList"
border
v-loading="dataListLoading"
@selection-change="selectionChangeHandle"
style="width: 100%;">
<el-table-column
type="selection"
header-align="center"
align="center"
width="50">
</el-table-column>
<el-table-column
prop="id"
header-align="center"
align="center"
label="id">
</el-table-column>
<el-table-column
prop="couponId"
header-align="center"
align="center"
label="<22>Ż<EFBFBD>ȯid">
</el-table-column>
<el-table-column
prop="spuId"
header-align="center"
align="center"
label="spu_id">
</el-table-column>
<el-table-column
prop="spuName"
header-align="center"
align="center"
label="spu_name">
</el-table-column>
<el-table-column
fixed="right"
header-align="center"
align="center"
width="150"
label="操作">
<template slot-scope="scope">
<el-button type="text" size="small" @click="addOrUpdateHandle(scope.row.id)"></el-button>
<el-button type="text" size="small" @click="deleteHandle(scope.row.id)"></el-button>
</template>
</el-table-column>
</el-table>
<el-pagination
@size-change="sizeChangeHandle"
@current-change="currentChangeHandle"
:current-page="pageIndex"
:page-sizes="[10, 20, 50, 100]"
:page-size="pageSize"
:total="totalPage"
layout="total, sizes, prev, pager, next, jumper">
</el-pagination>
<!-- 弹窗, 新增 / 修改 -->
<add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getDataList"></add-or-update>
</div>
</template>
<script>
import AddOrUpdate from './smscouponspurelation-add-or-update'
export default {
data () {
return {
dataForm: {
key: ''
},
dataList: [],
pageIndex: 1,
pageSize: 10,
totalPage: 0,
dataListLoading: false,
dataListSelections: [],
addOrUpdateVisible: false
}
},
components: {
AddOrUpdate
},
activated () {
this.getDataList()
},
methods: {
//
getDataList () {
this.dataListLoading = true
this.$http({
url: this.$http.adornUrl('/coupon/smscouponspurelation/list'),
method: 'get',
params: this.$http.adornParams({
'page': this.pageIndex,
'limit': this.pageSize,
'key': this.dataForm.key
})
}).then(({data}) => {
if (data && data.code === 0) {
this.dataList = data.page.list
this.totalPage = data.page.totalCount
} else {
this.dataList = []
this.totalPage = 0
}
this.dataListLoading = false
})
},
//
sizeChangeHandle (val) {
this.pageSize = val
this.pageIndex = 1
this.getDataList()
},
//
currentChangeHandle (val) {
this.pageIndex = val
this.getDataList()
},
//
selectionChangeHandle (val) {
this.dataListSelections = val
},
// /
addOrUpdateHandle (id) {
this.addOrUpdateVisible = true
this.$nextTick(() => {
this.$refs.addOrUpdate.init(id)
})
},
//
deleteHandle (id) {
var ids = id ? [id] : this.dataListSelections.map(item => {
return item.id
})
this.$confirm(`确定对[id=${ids.join(',')}]进行[${id ? '删除' : '批量删除'}]操作?`, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.$http({
url: this.$http.adornUrl('/coupon/smscouponspurelation/delete'),
method: 'post',
data: this.$http.adornData(ids, false)
}).then(({data}) => {
if (data && data.code === 0) {
this.$message({
message: '操作成功',
type: 'success',
duration: 1500,
onClose: () => {
this.getDataList()
}
})
} else {
this.$message.error(data.msg)
}
})
})
}
}
}
</script>

@ -0,0 +1,174 @@
<template>
<el-dialog
:title="!dataForm.id ? '新增' : '修改'"
:close-on-click-modal="false"
:visible.sync="visible">
<el-form :model="dataForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="dataFormSubmit()" label-width="80px">
<el-form-item label="<22><><EFBFBD><EFBFBD>" prop="name">
<el-input v-model="dataForm.name" placeholder="<22><><EFBFBD><EFBFBD>"></el-input>
</el-form-item>
<el-form-item label="ͼƬ<CDBC><C6AC>ַ" prop="pic">
<el-input v-model="dataForm.pic" placeholder="ͼƬ<CDBC><C6AC>ַ"></el-input>
</el-form-item>
<el-form-item label="<22><>ʼʱ<CABC><CAB1>" prop="startTime">
<el-input v-model="dataForm.startTime" placeholder="<22><>ʼʱ<CABC><CAB1>"></el-input>
</el-form-item>
<el-form-item label="<22><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>" prop="endTime">
<el-input v-model="dataForm.endTime" placeholder="<22><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>"></el-input>
</el-form-item>
<el-form-item label="״̬" prop="status">
<el-input v-model="dataForm.status" placeholder="״̬"></el-input>
</el-form-item>
<el-form-item label="<22><><EFBFBD><EFBFBD><EFBFBD>" prop="clickCount">
<el-input v-model="dataForm.clickCount" placeholder="<22><><EFBFBD><EFBFBD><EFBFBD>"></el-input>
</el-form-item>
<el-form-item label="<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD>ַ" prop="url">
<el-input v-model="dataForm.url" placeholder="<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD>ַ"></el-input>
</el-form-item>
<el-form-item label="<22><>ע" prop="note">
<el-input v-model="dataForm.note" placeholder="<22><>ע"></el-input>
</el-form-item>
<el-form-item label="<22><><EFBFBD><EFBFBD>" prop="sort">
<el-input v-model="dataForm.sort" placeholder="<22><><EFBFBD><EFBFBD>"></el-input>
</el-form-item>
<el-form-item label="<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" prop="publisherId">
<el-input v-model="dataForm.publisherId" placeholder="<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"></el-input>
</el-form-item>
<el-form-item label="<22><><EFBFBD><EFBFBD><EFBFBD>" prop="authId">
<el-input v-model="dataForm.authId" placeholder="<22><><EFBFBD><EFBFBD><EFBFBD>"></el-input>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="visible = false">取消</el-button>
<el-button type="primary" @click="dataFormSubmit()"></el-button>
</span>
</el-dialog>
</template>
<script>
export default {
data () {
return {
visible: false,
dataForm: {
id: 0,
name: '',
pic: '',
startTime: '',
endTime: '',
status: '',
clickCount: '',
url: '',
note: '',
sort: '',
publisherId: '',
authId: ''
},
dataRule: {
name: [
{ required: true, message: '<27><><EFBFBD><EFBFBD>不能为空', trigger: 'blur' }
],
pic: [
{ required: true, message: 'ͼƬ<CDBC><C6AC>ַ不能为空', trigger: 'blur' }
],
startTime: [
{ required: true, message: '<27><>ʼʱ<CABC><CAB1>不能为空', trigger: 'blur' }
],
endTime: [
{ required: true, message: '<27><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>不能为空', trigger: 'blur' }
],
status: [
{ required: true, message: '״̬不能为空', trigger: 'blur' }
],
clickCount: [
{ required: true, message: '<27><><EFBFBD><EFBFBD><EFBFBD>不能为空', trigger: 'blur' }
],
url: [
{ required: true, message: '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD>ַ不能为空', trigger: 'blur' }
],
note: [
{ required: true, message: '<27><>ע不能为空', trigger: 'blur' }
],
sort: [
{ required: true, message: '<27><><EFBFBD><EFBFBD>不能为空', trigger: 'blur' }
],
publisherId: [
{ required: true, message: '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>不能为空', trigger: 'blur' }
],
authId: [
{ required: true, message: '<27><><EFBFBD><EFBFBD><EFBFBD>不能为空', trigger: 'blur' }
]
}
}
},
methods: {
init (id) {
this.dataForm.id = id || 0
this.visible = true
this.$nextTick(() => {
this.$refs['dataForm'].resetFields()
if (this.dataForm.id) {
this.$http({
url: this.$http.adornUrl(`/coupon/smshomeadv/info/${this.dataForm.id}`),
method: 'get',
params: this.$http.adornParams()
}).then(({data}) => {
if (data && data.code === 0) {
this.dataForm.name = data.smsHomeAdv.name
this.dataForm.pic = data.smsHomeAdv.pic
this.dataForm.startTime = data.smsHomeAdv.startTime
this.dataForm.endTime = data.smsHomeAdv.endTime
this.dataForm.status = data.smsHomeAdv.status
this.dataForm.clickCount = data.smsHomeAdv.clickCount
this.dataForm.url = data.smsHomeAdv.url
this.dataForm.note = data.smsHomeAdv.note
this.dataForm.sort = data.smsHomeAdv.sort
this.dataForm.publisherId = data.smsHomeAdv.publisherId
this.dataForm.authId = data.smsHomeAdv.authId
}
})
}
})
},
//
dataFormSubmit () {
this.$refs['dataForm'].validate((valid) => {
if (valid) {
this.$http({
url: this.$http.adornUrl(`/coupon/smshomeadv/${!this.dataForm.id ? 'save' : 'update'}`),
method: 'post',
data: this.$http.adornData({
'id': this.dataForm.id || undefined,
'name': this.dataForm.name,
'pic': this.dataForm.pic,
'startTime': this.dataForm.startTime,
'endTime': this.dataForm.endTime,
'status': this.dataForm.status,
'clickCount': this.dataForm.clickCount,
'url': this.dataForm.url,
'note': this.dataForm.note,
'sort': this.dataForm.sort,
'publisherId': this.dataForm.publisherId,
'authId': this.dataForm.authId
})
}).then(({data}) => {
if (data && data.code === 0) {
this.$message({
message: '操作成功',
type: 'success',
duration: 1500,
onClose: () => {
this.visible = false
this.$emit('refreshDataList')
}
})
} else {
this.$message.error(data.msg)
}
})
}
})
}
}
}
</script>

@ -0,0 +1,223 @@
<template>
<div class="mod-config">
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()">
<el-form-item>
<el-input v-model="dataForm.key" placeholder="参数名" clearable></el-input>
</el-form-item>
<el-form-item>
<el-button @click="getDataList()"></el-button>
<el-button v-if="isAuth('coupon:smshomeadv:save')" type="primary" @click="addOrUpdateHandle()"></el-button>
<el-button v-if="isAuth('coupon:smshomeadv:delete')" type="danger" @click="deleteHandle()" :disabled="dataListSelections.length <= 0"></el-button>
</el-form-item>
</el-form>
<el-table
:data="dataList"
border
v-loading="dataListLoading"
@selection-change="selectionChangeHandle"
style="width: 100%;">
<el-table-column
type="selection"
header-align="center"
align="center"
width="50">
</el-table-column>
<el-table-column
prop="id"
header-align="center"
align="center"
label="id">
</el-table-column>
<el-table-column
prop="name"
header-align="center"
align="center"
label="<22><><EFBFBD><EFBFBD>">
</el-table-column>
<el-table-column
prop="pic"
header-align="center"
align="center"
label="ͼƬ<CDBC><C6AC>ַ">
</el-table-column>
<el-table-column
prop="startTime"
header-align="center"
align="center"
label="<22><>ʼʱ<CABC><CAB1>">
</el-table-column>
<el-table-column
prop="endTime"
header-align="center"
align="center"
label="<22><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>">
</el-table-column>
<el-table-column
prop="status"
header-align="center"
align="center"
label="״̬">
</el-table-column>
<el-table-column
prop="clickCount"
header-align="center"
align="center"
label="<22><><EFBFBD><EFBFBD><EFBFBD>">
</el-table-column>
<el-table-column
prop="url"
header-align="center"
align="center"
label="<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD>ַ">
</el-table-column>
<el-table-column
prop="note"
header-align="center"
align="center"
label="<22><>ע">
</el-table-column>
<el-table-column
prop="sort"
header-align="center"
align="center"
label="<22><><EFBFBD><EFBFBD>">
</el-table-column>
<el-table-column
prop="publisherId"
header-align="center"
align="center"
label="<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>">
</el-table-column>
<el-table-column
prop="authId"
header-align="center"
align="center"
label="<22><><EFBFBD><EFBFBD><EFBFBD>">
</el-table-column>
<el-table-column
fixed="right"
header-align="center"
align="center"
width="150"
label="操作">
<template slot-scope="scope">
<el-button type="text" size="small" @click="addOrUpdateHandle(scope.row.id)"></el-button>
<el-button type="text" size="small" @click="deleteHandle(scope.row.id)"></el-button>
</template>
</el-table-column>
</el-table>
<el-pagination
@size-change="sizeChangeHandle"
@current-change="currentChangeHandle"
:current-page="pageIndex"
:page-sizes="[10, 20, 50, 100]"
:page-size="pageSize"
:total="totalPage"
layout="total, sizes, prev, pager, next, jumper">
</el-pagination>
<!-- 弹窗, 新增 / 修改 -->
<add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getDataList"></add-or-update>
</div>
</template>
<script>
import AddOrUpdate from './smshomeadv-add-or-update'
export default {
data () {
return {
dataForm: {
key: ''
},
dataList: [],
pageIndex: 1,
pageSize: 10,
totalPage: 0,
dataListLoading: false,
dataListSelections: [],
addOrUpdateVisible: false
}
},
components: {
AddOrUpdate
},
activated () {
this.getDataList()
},
methods: {
//
getDataList () {
this.dataListLoading = true
this.$http({
url: this.$http.adornUrl('/coupon/smshomeadv/list'),
method: 'get',
params: this.$http.adornParams({
'page': this.pageIndex,
'limit': this.pageSize,
'key': this.dataForm.key
})
}).then(({data}) => {
if (data && data.code === 0) {
this.dataList = data.page.list
this.totalPage = data.page.totalCount
} else {
this.dataList = []
this.totalPage = 0
}
this.dataListLoading = false
})
},
//
sizeChangeHandle (val) {
this.pageSize = val
this.pageIndex = 1
this.getDataList()
},
//
currentChangeHandle (val) {
this.pageIndex = val
this.getDataList()
},
//
selectionChangeHandle (val) {
this.dataListSelections = val
},
// /
addOrUpdateHandle (id) {
this.addOrUpdateVisible = true
this.$nextTick(() => {
this.$refs.addOrUpdate.init(id)
})
},
//
deleteHandle (id) {
var ids = id ? [id] : this.dataListSelections.map(item => {
return item.id
})
this.$confirm(`确定对[id=${ids.join(',')}]进行[${id ? '删除' : '批量删除'}]操作?`, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.$http({
url: this.$http.adornUrl('/coupon/smshomeadv/delete'),
method: 'post',
data: this.$http.adornData(ids, false)
}).then(({data}) => {
if (data && data.code === 0) {
this.$message({
message: '操作成功',
type: 'success',
duration: 1500,
onClose: () => {
this.getDataList()
}
})
} else {
this.$message.error(data.msg)
}
})
})
}
}
}
</script>

@ -0,0 +1,138 @@
<template>
<el-dialog
:title="!dataForm.id ? '新增' : '修改'"
:close-on-click-modal="false"
:visible.sync="visible">
<el-form :model="dataForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="dataFormSubmit()" label-width="80px">
<el-form-item label=<><D7A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" prop="name">
<el-input v-model="dataForm.name" placeholder="ר<><D7A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"></el-input>
</el-form-item>
<el-form-item label=<><D7A8><EFBFBD><EFBFBD><EFBFBD>" prop="title">
<el-input v-model="dataForm.title" placeholder="ר<><D7A8><EFBFBD><EFBFBD><EFBFBD>"></el-input>
</el-form-item>
<el-form-item label=<><EFBFBD><E2B8B1><EFBFBD><EFBFBD>" prop="subTitle">
<el-input v-model="dataForm.subTitle" placeholder="ר<><EFBFBD><E2B8B1><EFBFBD><EFBFBD>"></el-input>
</el-form-item>
<el-form-item label="<22><>ʾ״̬" prop="status">
<el-input v-model="dataForm.status" placeholder="<22><>ʾ״̬"></el-input>
</el-form-item>
<el-form-item label="<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" prop="url">
<el-input v-model="dataForm.url" placeholder="<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"></el-input>
</el-form-item>
<el-form-item label="<22><><EFBFBD><EFBFBD>" prop="sort">
<el-input v-model="dataForm.sort" placeholder="<22><><EFBFBD><EFBFBD>"></el-input>
</el-form-item>
<el-form-item label=<><D7A8>ͼƬ<CDBC><C6AC>ַ" prop="img">
<el-input v-model="dataForm.img" placeholder="ר<><D7A8>ͼƬ<CDBC><C6AC>ַ"></el-input>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="visible = false">取消</el-button>
<el-button type="primary" @click="dataFormSubmit()"></el-button>
</span>
</el-dialog>
</template>
<script>
export default {
data () {
return {
visible: false,
dataForm: {
id: 0,
name: '',
title: '',
subTitle: '',
status: '',
url: '',
sort: '',
img: ''
},
dataRule: {
name: [
{ required: true, message: <><D7A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>不能为空', trigger: 'blur' }
],
title: [
{ required: true, message: <><D7A8><EFBFBD><EFBFBD><EFBFBD>不能为空', trigger: 'blur' }
],
subTitle: [
{ required: true, message: <><EFBFBD><E2B8B1><EFBFBD><EFBFBD>不能为空', trigger: 'blur' }
],
status: [
{ required: true, message: '<27><>ʾ״̬不能为空', trigger: 'blur' }
],
url: [
{ required: true, message: '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>不能为空', trigger: 'blur' }
],
sort: [
{ required: true, message: '<27><><EFBFBD><EFBFBD>不能为空', trigger: 'blur' }
],
img: [
{ required: true, message: <><D7A8>ͼƬ<CDBC><C6AC>ַ不能为空', trigger: 'blur' }
]
}
}
},
methods: {
init (id) {
this.dataForm.id = id || 0
this.visible = true
this.$nextTick(() => {
this.$refs['dataForm'].resetFields()
if (this.dataForm.id) {
this.$http({
url: this.$http.adornUrl(`/coupon/smshomesubject/info/${this.dataForm.id}`),
method: 'get',
params: this.$http.adornParams()
}).then(({data}) => {
if (data && data.code === 0) {
this.dataForm.name = data.smsHomeSubject.name
this.dataForm.title = data.smsHomeSubject.title
this.dataForm.subTitle = data.smsHomeSubject.subTitle
this.dataForm.status = data.smsHomeSubject.status
this.dataForm.url = data.smsHomeSubject.url
this.dataForm.sort = data.smsHomeSubject.sort
this.dataForm.img = data.smsHomeSubject.img
}
})
}
})
},
//
dataFormSubmit () {
this.$refs['dataForm'].validate((valid) => {
if (valid) {
this.$http({
url: this.$http.adornUrl(`/coupon/smshomesubject/${!this.dataForm.id ? 'save' : 'update'}`),
method: 'post',
data: this.$http.adornData({
'id': this.dataForm.id || undefined,
'name': this.dataForm.name,
'title': this.dataForm.title,
'subTitle': this.dataForm.subTitle,
'status': this.dataForm.status,
'url': this.dataForm.url,
'sort': this.dataForm.sort,
'img': this.dataForm.img
})
}).then(({data}) => {
if (data && data.code === 0) {
this.$message({
message: '操作成功',
type: 'success',
duration: 1500,
onClose: () => {
this.visible = false
this.$emit('refreshDataList')
}
})
} else {
this.$message.error(data.msg)
}
})
}
})
}
}
}
</script>

@ -0,0 +1,199 @@
<template>
<div class="mod-config">
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()">
<el-form-item>
<el-input v-model="dataForm.key" placeholder="参数名" clearable></el-input>
</el-form-item>
<el-form-item>
<el-button @click="getDataList()"></el-button>
<el-button v-if="isAuth('coupon:smshomesubject:save')" type="primary" @click="addOrUpdateHandle()"></el-button>
<el-button v-if="isAuth('coupon:smshomesubject:delete')" type="danger" @click="deleteHandle()" :disabled="dataListSelections.length <= 0"></el-button>
</el-form-item>
</el-form>
<el-table
:data="dataList"
border
v-loading="dataListLoading"
@selection-change="selectionChangeHandle"
style="width: 100%;">
<el-table-column
type="selection"
header-align="center"
align="center"
width="50">
</el-table-column>
<el-table-column
prop="id"
header-align="center"
align="center"
label="id">
</el-table-column>
<el-table-column
prop="name"
header-align="center"
align="center"
label=<><D7A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>">
</el-table-column>
<el-table-column
prop="title"
header-align="center"
align="center"
label=<><D7A8><EFBFBD><EFBFBD><EFBFBD>">
</el-table-column>
<el-table-column
prop="subTitle"
header-align="center"
align="center"
label=<><EFBFBD><E2B8B1><EFBFBD><EFBFBD>">
</el-table-column>
<el-table-column
prop="status"
header-align="center"
align="center"
label="<22><>ʾ״̬">
</el-table-column>
<el-table-column
prop="url"
header-align="center"
align="center"
label="<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>">
</el-table-column>
<el-table-column
prop="sort"
header-align="center"
align="center"
label="<22><><EFBFBD><EFBFBD>">
</el-table-column>
<el-table-column
prop="img"
header-align="center"
align="center"
label=<><D7A8>ͼƬ<CDBC><C6AC>ַ">
</el-table-column>
<el-table-column
fixed="right"
header-align="center"
align="center"
width="150"
label="操作">
<template slot-scope="scope">
<el-button type="text" size="small" @click="addOrUpdateHandle(scope.row.id)"></el-button>
<el-button type="text" size="small" @click="deleteHandle(scope.row.id)"></el-button>
</template>
</el-table-column>
</el-table>
<el-pagination
@size-change="sizeChangeHandle"
@current-change="currentChangeHandle"
:current-page="pageIndex"
:page-sizes="[10, 20, 50, 100]"
:page-size="pageSize"
:total="totalPage"
layout="total, sizes, prev, pager, next, jumper">
</el-pagination>
<!-- 弹窗, 新增 / 修改 -->
<add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getDataList"></add-or-update>
</div>
</template>
<script>
import AddOrUpdate from './smshomesubject-add-or-update'
export default {
data () {
return {
dataForm: {
key: ''
},
dataList: [],
pageIndex: 1,
pageSize: 10,
totalPage: 0,
dataListLoading: false,
dataListSelections: [],
addOrUpdateVisible: false
}
},
components: {
AddOrUpdate
},
activated () {
this.getDataList()
},
methods: {
//
getDataList () {
this.dataListLoading = true
this.$http({
url: this.$http.adornUrl('/coupon/smshomesubject/list'),
method: 'get',
params: this.$http.adornParams({
'page': this.pageIndex,
'limit': this.pageSize,
'key': this.dataForm.key
})
}).then(({data}) => {
if (data && data.code === 0) {
this.dataList = data.page.list
this.totalPage = data.page.totalCount
} else {
this.dataList = []
this.totalPage = 0
}
this.dataListLoading = false
})
},
//
sizeChangeHandle (val) {
this.pageSize = val
this.pageIndex = 1
this.getDataList()
},
//
currentChangeHandle (val) {
this.pageIndex = val
this.getDataList()
},
//
selectionChangeHandle (val) {
this.dataListSelections = val
},
// /
addOrUpdateHandle (id) {
this.addOrUpdateVisible = true
this.$nextTick(() => {
this.$refs.addOrUpdate.init(id)
})
},
//
deleteHandle (id) {
var ids = id ? [id] : this.dataListSelections.map(item => {
return item.id
})
this.$confirm(`确定对[id=${ids.join(',')}]进行[${id ? '删除' : '批量删除'}]操作?`, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.$http({
url: this.$http.adornUrl('/coupon/smshomesubject/delete'),
method: 'post',
data: this.$http.adornData(ids, false)
}).then(({data}) => {
if (data && data.code === 0) {
this.$message({
message: '操作成功',
type: 'success',
duration: 1500,
onClose: () => {
this.getDataList()
}
})
} else {
this.$message.error(data.msg)
}
})
})
}
}
}
</script>

@ -0,0 +1,111 @@
<template>
<el-dialog
:title="!dataForm.id ? '新增' : '修改'"
:close-on-click-modal="false"
:visible.sync="visible">
<el-form :model="dataForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="dataFormSubmit()" label-width="80px">
<el-form-item label=<><D7A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" prop="name">
<el-input v-model="dataForm.name" placeholder="ר<><D7A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"></el-input>
</el-form-item>
<el-form-item label=<><D7A8>id" prop="subjectId">
<el-input v-model="dataForm.subjectId" placeholder="ר<><D7A8>id"></el-input>
</el-form-item>
<el-form-item label="spu_id" prop="spuId">
<el-input v-model="dataForm.spuId" placeholder="spu_id"></el-input>
</el-form-item>
<el-form-item label="<22><><EFBFBD><EFBFBD>" prop="sort">
<el-input v-model="dataForm.sort" placeholder="<22><><EFBFBD><EFBFBD>"></el-input>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="visible = false">取消</el-button>
<el-button type="primary" @click="dataFormSubmit()"></el-button>
</span>
</el-dialog>
</template>
<script>
export default {
data () {
return {
visible: false,
dataForm: {
id: 0,
name: '',
subjectId: '',
spuId: '',
sort: ''
},
dataRule: {
name: [
{ required: true, message: <><D7A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>不能为空', trigger: 'blur' }
],
subjectId: [
{ required: true, message: <><D7A8>id不能为空', trigger: 'blur' }
],
spuId: [
{ required: true, message: 'spu_id不能为空', trigger: 'blur' }
],
sort: [
{ required: true, message: '<27><><EFBFBD><EFBFBD>不能为空', trigger: 'blur' }
]
}
}
},
methods: {
init (id) {
this.dataForm.id = id || 0
this.visible = true
this.$nextTick(() => {
this.$refs['dataForm'].resetFields()
if (this.dataForm.id) {
this.$http({
url: this.$http.adornUrl(`/coupon/smshomesubjectspu/info/${this.dataForm.id}`),
method: 'get',
params: this.$http.adornParams()
}).then(({data}) => {
if (data && data.code === 0) {
this.dataForm.name = data.smsHomeSubjectSpu.name
this.dataForm.subjectId = data.smsHomeSubjectSpu.subjectId
this.dataForm.spuId = data.smsHomeSubjectSpu.spuId
this.dataForm.sort = data.smsHomeSubjectSpu.sort
}
})
}
})
},
//
dataFormSubmit () {
this.$refs['dataForm'].validate((valid) => {
if (valid) {
this.$http({
url: this.$http.adornUrl(`/coupon/smshomesubjectspu/${!this.dataForm.id ? 'save' : 'update'}`),
method: 'post',
data: this.$http.adornData({
'id': this.dataForm.id || undefined,
'name': this.dataForm.name,
'subjectId': this.dataForm.subjectId,
'spuId': this.dataForm.spuId,
'sort': this.dataForm.sort
})
}).then(({data}) => {
if (data && data.code === 0) {
this.$message({
message: '操作成功',
type: 'success',
duration: 1500,
onClose: () => {
this.visible = false
this.$emit('refreshDataList')
}
})
} else {
this.$message.error(data.msg)
}
})
}
})
}
}
}
</script>

@ -0,0 +1,181 @@
<template>
<div class="mod-config">
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()">
<el-form-item>
<el-input v-model="dataForm.key" placeholder="参数名" clearable></el-input>
</el-form-item>
<el-form-item>
<el-button @click="getDataList()"></el-button>
<el-button v-if="isAuth('coupon:smshomesubjectspu:save')" type="primary" @click="addOrUpdateHandle()"></el-button>
<el-button v-if="isAuth('coupon:smshomesubjectspu:delete')" type="danger" @click="deleteHandle()" :disabled="dataListSelections.length <= 0"></el-button>
</el-form-item>
</el-form>
<el-table
:data="dataList"
border
v-loading="dataListLoading"
@selection-change="selectionChangeHandle"
style="width: 100%;">
<el-table-column
type="selection"
header-align="center"
align="center"
width="50">
</el-table-column>
<el-table-column
prop="id"
header-align="center"
align="center"
label="id">
</el-table-column>
<el-table-column
prop="name"
header-align="center"
align="center"
label=<><D7A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>">
</el-table-column>
<el-table-column
prop="subjectId"
header-align="center"
align="center"
label=<><D7A8>id">
</el-table-column>
<el-table-column
prop="spuId"
header-align="center"
align="center"
label="spu_id">
</el-table-column>
<el-table-column
prop="sort"
header-align="center"
align="center"
label="<22><><EFBFBD><EFBFBD>">
</el-table-column>
<el-table-column
fixed="right"
header-align="center"
align="center"
width="150"
label="操作">
<template slot-scope="scope">
<el-button type="text" size="small" @click="addOrUpdateHandle(scope.row.id)"></el-button>
<el-button type="text" size="small" @click="deleteHandle(scope.row.id)"></el-button>
</template>
</el-table-column>
</el-table>
<el-pagination
@size-change="sizeChangeHandle"
@current-change="currentChangeHandle"
:current-page="pageIndex"
:page-sizes="[10, 20, 50, 100]"
:page-size="pageSize"
:total="totalPage"
layout="total, sizes, prev, pager, next, jumper">
</el-pagination>
<!-- 弹窗, 新增 / 修改 -->
<add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getDataList"></add-or-update>
</div>
</template>
<script>
import AddOrUpdate from './smshomesubjectspu-add-or-update'
export default {
data () {
return {
dataForm: {
key: ''
},
dataList: [],
pageIndex: 1,
pageSize: 10,
totalPage: 0,
dataListLoading: false,
dataListSelections: [],
addOrUpdateVisible: false
}
},
components: {
AddOrUpdate
},
activated () {
this.getDataList()
},
methods: {
//
getDataList () {
this.dataListLoading = true
this.$http({
url: this.$http.adornUrl('/coupon/smshomesubjectspu/list'),
method: 'get',
params: this.$http.adornParams({
'page': this.pageIndex,
'limit': this.pageSize,
'key': this.dataForm.key
})
}).then(({data}) => {
if (data && data.code === 0) {
this.dataList = data.page.list
this.totalPage = data.page.totalCount
} else {
this.dataList = []
this.totalPage = 0
}
this.dataListLoading = false
})
},
//
sizeChangeHandle (val) {
this.pageSize = val
this.pageIndex = 1
this.getDataList()
},
//
currentChangeHandle (val) {
this.pageIndex = val
this.getDataList()
},
//
selectionChangeHandle (val) {
this.dataListSelections = val
},
// /
addOrUpdateHandle (id) {
this.addOrUpdateVisible = true
this.$nextTick(() => {
this.$refs.addOrUpdate.init(id)
})
},
//
deleteHandle (id) {
var ids = id ? [id] : this.dataListSelections.map(item => {
return item.id
})
this.$confirm(`确定对[id=${ids.join(',')}]进行[${id ? '删除' : '批量删除'}]操作?`, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.$http({
url: this.$http.adornUrl('/coupon/smshomesubjectspu/delete'),
method: 'post',
data: this.$http.adornData(ids, false)
}).then(({data}) => {
if (data && data.code === 0) {
this.$message({
message: '操作成功',
type: 'success',
duration: 1500,
onClose: () => {
this.getDataList()
}
})
} else {
this.$message.error(data.msg)
}
})
})
}
}
}
</script>

@ -0,0 +1,120 @@
<template>
<el-dialog
:title="!dataForm.id ? '新增' : '修改'"
:close-on-click-modal="false"
:visible.sync="visible">
<el-form :model="dataForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="dataFormSubmit()" label-width="80px">
<el-form-item label="sku_id" prop="skuId">
<el-input v-model="dataForm.skuId" placeholder="sku_id"></el-input>
</el-form-item>
<el-form-item label="<22><>Ա<EFBFBD>ȼ<EFBFBD>id" prop="memberLevelId">
<el-input v-model="dataForm.memberLevelId" placeholder="<22><>Ա<EFBFBD>ȼ<EFBFBD>id"></el-input>
</el-form-item>
<el-form-item label="<22><>Ա<EFBFBD>ȼ<EFBFBD><C8BC><EFBFBD>" prop="memberLevelName">
<el-input v-model="dataForm.memberLevelName" placeholder="<22><>Ա<EFBFBD>ȼ<EFBFBD><C8BC><EFBFBD>"></el-input>
</el-form-item>
<el-form-item label="<22><>Ա<EFBFBD><D4B1>Ӧ<EFBFBD>۸<EFBFBD>" prop="memberPrice">
<el-input v-model="dataForm.memberPrice" placeholder="<22><>Ա<EFBFBD><D4B1>Ӧ<EFBFBD>۸<EFBFBD>"></el-input>
</el-form-item>
<el-form-item label="<22>ɷ<EFBFBD><C9B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ż<EFBFBD>[0-<2D><><EFBFBD>ɵ<EFBFBD><C9B5><EFBFBD><EFBFBD>Żݣ<C5BB>1-<2D>ɵ<EFBFBD><C9B5><EFBFBD>]" prop="addOther">
<el-input v-model="dataForm.addOther" placeholder="<22>ɷ<EFBFBD><C9B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ż<EFBFBD>[0-<2D><><EFBFBD>ɵ<EFBFBD><C9B5><EFBFBD><EFBFBD>Żݣ<C5BB>1-<2D>ɵ<EFBFBD><C9B5><EFBFBD>]"></el-input>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="visible = false">取消</el-button>
<el-button type="primary" @click="dataFormSubmit()"></el-button>
</span>
</el-dialog>
</template>
<script>
export default {
data () {
return {
visible: false,
dataForm: {
id: 0,
skuId: '',
memberLevelId: '',
memberLevelName: '',
memberPrice: '',
addOther: ''
},
dataRule: {
skuId: [
{ required: true, message: 'sku_id不能为空', trigger: 'blur' }
],
memberLevelId: [
{ required: true, message: '<27><>Ա<EFBFBD>ȼ<EFBFBD>id不能为空', trigger: 'blur' }
],
memberLevelName: [
{ required: true, message: '<27><>Ա<EFBFBD>ȼ<EFBFBD><C8BC><EFBFBD>不能为空', trigger: 'blur' }
],
memberPrice: [
{ required: true, message: '<27><>Ա<EFBFBD><D4B1>Ӧ<EFBFBD>۸<EFBFBD>不能为空', trigger: 'blur' }
],
addOther: [
{ required: true, message: '<27>ɷ<EFBFBD><C9B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ż<EFBFBD>[0-<2D><><EFBFBD>ɵ<EFBFBD><C9B5><EFBFBD><EFBFBD>Żݣ<C5BB>1-<2D>ɵ<EFBFBD><C9B5><EFBFBD>]不能为空', trigger: 'blur' }
]
}
}
},
methods: {
init (id) {
this.dataForm.id = id || 0
this.visible = true
this.$nextTick(() => {
this.$refs['dataForm'].resetFields()
if (this.dataForm.id) {
this.$http({
url: this.$http.adornUrl(`/coupon/smsmemberprice/info/${this.dataForm.id}`),
method: 'get',
params: this.$http.adornParams()
}).then(({data}) => {
if (data && data.code === 0) {
this.dataForm.skuId = data.smsMemberPrice.skuId
this.dataForm.memberLevelId = data.smsMemberPrice.memberLevelId
this.dataForm.memberLevelName = data.smsMemberPrice.memberLevelName
this.dataForm.memberPrice = data.smsMemberPrice.memberPrice
this.dataForm.addOther = data.smsMemberPrice.addOther
}
})
}
})
},
//
dataFormSubmit () {
this.$refs['dataForm'].validate((valid) => {
if (valid) {
this.$http({
url: this.$http.adornUrl(`/coupon/smsmemberprice/${!this.dataForm.id ? 'save' : 'update'}`),
method: 'post',
data: this.$http.adornData({
'id': this.dataForm.id || undefined,
'skuId': this.dataForm.skuId,
'memberLevelId': this.dataForm.memberLevelId,
'memberLevelName': this.dataForm.memberLevelName,
'memberPrice': this.dataForm.memberPrice,
'addOther': this.dataForm.addOther
})
}).then(({data}) => {
if (data && data.code === 0) {
this.$message({
message: '操作成功',
type: 'success',
duration: 1500,
onClose: () => {
this.visible = false
this.$emit('refreshDataList')
}
})
} else {
this.$message.error(data.msg)
}
})
}
})
}
}
}
</script>

@ -0,0 +1,187 @@
<template>
<div class="mod-config">
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()">
<el-form-item>
<el-input v-model="dataForm.key" placeholder="参数名" clearable></el-input>
</el-form-item>
<el-form-item>
<el-button @click="getDataList()"></el-button>
<el-button v-if="isAuth('coupon:smsmemberprice:save')" type="primary" @click="addOrUpdateHandle()"></el-button>
<el-button v-if="isAuth('coupon:smsmemberprice:delete')" type="danger" @click="deleteHandle()" :disabled="dataListSelections.length <= 0"></el-button>
</el-form-item>
</el-form>
<el-table
:data="dataList"
border
v-loading="dataListLoading"
@selection-change="selectionChangeHandle"
style="width: 100%;">
<el-table-column
type="selection"
header-align="center"
align="center"
width="50">
</el-table-column>
<el-table-column
prop="id"
header-align="center"
align="center"
label="id">
</el-table-column>
<el-table-column
prop="skuId"
header-align="center"
align="center"
label="sku_id">
</el-table-column>
<el-table-column
prop="memberLevelId"
header-align="center"
align="center"
label="<22><>Ա<EFBFBD>ȼ<EFBFBD>id">
</el-table-column>
<el-table-column
prop="memberLevelName"
header-align="center"
align="center"
label="<22><>Ա<EFBFBD>ȼ<EFBFBD><C8BC><EFBFBD>">
</el-table-column>
<el-table-column
prop="memberPrice"
header-align="center"
align="center"
label="<22><>Ա<EFBFBD><D4B1>Ӧ<EFBFBD>۸<EFBFBD>">
</el-table-column>
<el-table-column
prop="addOther"
header-align="center"
align="center"
label="<22>ɷ<EFBFBD><C9B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ż<EFBFBD>[0-<2D><><EFBFBD>ɵ<EFBFBD><C9B5><EFBFBD><EFBFBD>Żݣ<C5BB>1-<2D>ɵ<EFBFBD><C9B5><EFBFBD>]">
</el-table-column>
<el-table-column
fixed="right"
header-align="center"
align="center"
width="150"
label="操作">
<template slot-scope="scope">
<el-button type="text" size="small" @click="addOrUpdateHandle(scope.row.id)"></el-button>
<el-button type="text" size="small" @click="deleteHandle(scope.row.id)"></el-button>
</template>
</el-table-column>
</el-table>
<el-pagination
@size-change="sizeChangeHandle"
@current-change="currentChangeHandle"
:current-page="pageIndex"
:page-sizes="[10, 20, 50, 100]"
:page-size="pageSize"
:total="totalPage"
layout="total, sizes, prev, pager, next, jumper">
</el-pagination>
<!-- 弹窗, 新增 / 修改 -->
<add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getDataList"></add-or-update>
</div>
</template>
<script>
import AddOrUpdate from './smsmemberprice-add-or-update'
export default {
data () {
return {
dataForm: {
key: ''
},
dataList: [],
pageIndex: 1,
pageSize: 10,
totalPage: 0,
dataListLoading: false,
dataListSelections: [],
addOrUpdateVisible: false
}
},
components: {
AddOrUpdate
},
activated () {
this.getDataList()
},
methods: {
//
getDataList () {
this.dataListLoading = true
this.$http({
url: this.$http.adornUrl('/coupon/smsmemberprice/list'),
method: 'get',
params: this.$http.adornParams({
'page': this.pageIndex,
'limit': this.pageSize,
'key': this.dataForm.key
})
}).then(({data}) => {
if (data && data.code === 0) {
this.dataList = data.page.list
this.totalPage = data.page.totalCount
} else {
this.dataList = []
this.totalPage = 0
}
this.dataListLoading = false
})
},
//
sizeChangeHandle (val) {
this.pageSize = val
this.pageIndex = 1
this.getDataList()
},
//
currentChangeHandle (val) {
this.pageIndex = val
this.getDataList()
},
//
selectionChangeHandle (val) {
this.dataListSelections = val
},
// /
addOrUpdateHandle (id) {
this.addOrUpdateVisible = true
this.$nextTick(() => {
this.$refs.addOrUpdate.init(id)
})
},
//
deleteHandle (id) {
var ids = id ? [id] : this.dataListSelections.map(item => {
return item.id
})
this.$confirm(`确定对[id=${ids.join(',')}]进行[${id ? '删除' : '批量删除'}]操作?`, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.$http({
url: this.$http.adornUrl('/coupon/smsmemberprice/delete'),
method: 'post',
data: this.$http.adornData(ids, false)
}).then(({data}) => {
if (data && data.code === 0) {
this.$message({
message: '操作成功',
type: 'success',
duration: 1500,
onClose: () => {
this.getDataList()
}
})
} else {
this.$message.error(data.msg)
}
})
})
}
}
}
</script>

@ -0,0 +1,129 @@
<template>
<el-dialog
:title="!dataForm.id ? '新增' : '修改'"
:close-on-click-modal="false"
:visible.sync="visible">
<el-form :model="dataForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="dataFormSubmit()" label-width="80px">
<el-form-item label="<22><EFBFBD><EEB6AF><EFBFBD><EFBFBD>" prop="title">
<el-input v-model="dataForm.title" placeholder="<22><EFBFBD><EEB6AF><EFBFBD><EFBFBD>"></el-input>
</el-form-item>
<el-form-item label="<22><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>" prop="startTime">
<el-input v-model="dataForm.startTime" placeholder="<22><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>"></el-input>
</el-form-item>
<el-form-item label="<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" prop="endTime">
<el-input v-model="dataForm.endTime" placeholder="<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"></el-input>
</el-form-item>
<el-form-item label="<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬" prop="status">
<el-input v-model="dataForm.status" placeholder="<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬"></el-input>
</el-form-item>
<el-form-item label="<22><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>" prop="createTime">
<el-input v-model="dataForm.createTime" placeholder="<22><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>"></el-input>
</el-form-item>
<el-form-item label="<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" prop="userId">
<el-input v-model="dataForm.userId" placeholder="<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"></el-input>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="visible = false">取消</el-button>
<el-button type="primary" @click="dataFormSubmit()"></el-button>
</span>
</el-dialog>
</template>
<script>
export default {
data () {
return {
visible: false,
dataForm: {
id: 0,
title: '',
startTime: '',
endTime: '',
status: '',
createTime: '',
userId: ''
},
dataRule: {
title: [
{ required: true, message: '<27><EFBFBD><EEB6AF><EFBFBD><EFBFBD>不能为空', trigger: 'blur' }
],
startTime: [
{ required: true, message: '<27><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>不能为空', trigger: 'blur' }
],
endTime: [
{ required: true, message: '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>不能为空', trigger: 'blur' }
],
status: [
{ required: true, message: '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬不能为空', trigger: 'blur' }
],
createTime: [
{ required: true, message: '<27><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>不能为空', trigger: 'blur' }
],
userId: [
{ required: true, message: '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>不能为空', trigger: 'blur' }
]
}
}
},
methods: {
init (id) {
this.dataForm.id = id || 0
this.visible = true
this.$nextTick(() => {
this.$refs['dataForm'].resetFields()
if (this.dataForm.id) {
this.$http({
url: this.$http.adornUrl(`/coupon/smsseckillpromotion/info/${this.dataForm.id}`),
method: 'get',
params: this.$http.adornParams()
}).then(({data}) => {
if (data && data.code === 0) {
this.dataForm.title = data.smsSeckillPromotion.title
this.dataForm.startTime = data.smsSeckillPromotion.startTime
this.dataForm.endTime = data.smsSeckillPromotion.endTime
this.dataForm.status = data.smsSeckillPromotion.status
this.dataForm.createTime = data.smsSeckillPromotion.createTime
this.dataForm.userId = data.smsSeckillPromotion.userId
}
})
}
})
},
//
dataFormSubmit () {
this.$refs['dataForm'].validate((valid) => {
if (valid) {
this.$http({
url: this.$http.adornUrl(`/coupon/smsseckillpromotion/${!this.dataForm.id ? 'save' : 'update'}`),
method: 'post',
data: this.$http.adornData({
'id': this.dataForm.id || undefined,
'title': this.dataForm.title,
'startTime': this.dataForm.startTime,
'endTime': this.dataForm.endTime,
'status': this.dataForm.status,
'createTime': this.dataForm.createTime,
'userId': this.dataForm.userId
})
}).then(({data}) => {
if (data && data.code === 0) {
this.$message({
message: '操作成功',
type: 'success',
duration: 1500,
onClose: () => {
this.visible = false
this.$emit('refreshDataList')
}
})
} else {
this.$message.error(data.msg)
}
})
}
})
}
}
}
</script>

@ -0,0 +1,193 @@
<template>
<div class="mod-config">
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()">
<el-form-item>
<el-input v-model="dataForm.key" placeholder="参数名" clearable></el-input>
</el-form-item>
<el-form-item>
<el-button @click="getDataList()"></el-button>
<el-button v-if="isAuth('coupon:smsseckillpromotion:save')" type="primary" @click="addOrUpdateHandle()"></el-button>
<el-button v-if="isAuth('coupon:smsseckillpromotion:delete')" type="danger" @click="deleteHandle()" :disabled="dataListSelections.length <= 0"></el-button>
</el-form-item>
</el-form>
<el-table
:data="dataList"
border
v-loading="dataListLoading"
@selection-change="selectionChangeHandle"
style="width: 100%;">
<el-table-column
type="selection"
header-align="center"
align="center"
width="50">
</el-table-column>
<el-table-column
prop="id"
header-align="center"
align="center"
label="id">
</el-table-column>
<el-table-column
prop="title"
header-align="center"
align="center"
label="<22><EFBFBD><EEB6AF><EFBFBD><EFBFBD>">
</el-table-column>
<el-table-column
prop="startTime"
header-align="center"
align="center"
label="<22><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>">
</el-table-column>
<el-table-column
prop="endTime"
header-align="center"
align="center"
label="<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>">
</el-table-column>
<el-table-column
prop="status"
header-align="center"
align="center"
label="<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬">
</el-table-column>
<el-table-column
prop="createTime"
header-align="center"
align="center"
label="<22><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>">
</el-table-column>
<el-table-column
prop="userId"
header-align="center"
align="center"
label="<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>">
</el-table-column>
<el-table-column
fixed="right"
header-align="center"
align="center"
width="150"
label="操作">
<template slot-scope="scope">
<el-button type="text" size="small" @click="addOrUpdateHandle(scope.row.id)"></el-button>
<el-button type="text" size="small" @click="deleteHandle(scope.row.id)"></el-button>
</template>
</el-table-column>
</el-table>
<el-pagination
@size-change="sizeChangeHandle"
@current-change="currentChangeHandle"
:current-page="pageIndex"
:page-sizes="[10, 20, 50, 100]"
:page-size="pageSize"
:total="totalPage"
layout="total, sizes, prev, pager, next, jumper">
</el-pagination>
<!-- 弹窗, 新增 / 修改 -->
<add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getDataList"></add-or-update>
</div>
</template>
<script>
import AddOrUpdate from './smsseckillpromotion-add-or-update'
export default {
data () {
return {
dataForm: {
key: ''
},
dataList: [],
pageIndex: 1,
pageSize: 10,
totalPage: 0,
dataListLoading: false,
dataListSelections: [],
addOrUpdateVisible: false
}
},
components: {
AddOrUpdate
},
activated () {
this.getDataList()
},
methods: {
//
getDataList () {
this.dataListLoading = true
this.$http({
url: this.$http.adornUrl('/coupon/smsseckillpromotion/list'),
method: 'get',
params: this.$http.adornParams({
'page': this.pageIndex,
'limit': this.pageSize,
'key': this.dataForm.key
})
}).then(({data}) => {
if (data && data.code === 0) {
this.dataList = data.page.list
this.totalPage = data.page.totalCount
} else {
this.dataList = []
this.totalPage = 0
}
this.dataListLoading = false
})
},
//
sizeChangeHandle (val) {
this.pageSize = val
this.pageIndex = 1
this.getDataList()
},
//
currentChangeHandle (val) {
this.pageIndex = val
this.getDataList()
},
//
selectionChangeHandle (val) {
this.dataListSelections = val
},
// /
addOrUpdateHandle (id) {
this.addOrUpdateVisible = true
this.$nextTick(() => {
this.$refs.addOrUpdate.init(id)
})
},
//
deleteHandle (id) {
var ids = id ? [id] : this.dataListSelections.map(item => {
return item.id
})
this.$confirm(`确定对[id=${ids.join(',')}]进行[${id ? '删除' : '批量删除'}]操作?`, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.$http({
url: this.$http.adornUrl('/coupon/smsseckillpromotion/delete'),
method: 'post',
data: this.$http.adornData(ids, false)
}).then(({data}) => {
if (data && data.code === 0) {
this.$message({
message: '操作成功',
type: 'success',
duration: 1500,
onClose: () => {
this.getDataList()
}
})
} else {
this.$message.error(data.msg)
}
})
})
}
}
}
</script>

@ -0,0 +1,120 @@
<template>
<el-dialog
:title="!dataForm.id ? '新增' : '修改'"
:close-on-click-modal="false"
:visible.sync="visible">
<el-form :model="dataForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="dataFormSubmit()" label-width="80px">
<el-form-item label="<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" prop="name">
<el-input v-model="dataForm.name" placeholder="<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"></el-input>
</el-form-item>
<el-form-item label="ÿ<>տ<EFBFBD>ʼʱ<CABC><CAB1>" prop="startTime">
<el-input v-model="dataForm.startTime" placeholder="ÿ<>տ<EFBFBD>ʼʱ<CABC><CAB1>"></el-input>
</el-form-item>
<el-form-item label="ÿ<>ս<EFBFBD><D5BD><EFBFBD>ʱ<EFBFBD><CAB1>" prop="endTime">
<el-input v-model="dataForm.endTime" placeholder="ÿ<>ս<EFBFBD><D5BD><EFBFBD>ʱ<EFBFBD><CAB1>"></el-input>
</el-form-item>
<el-form-item label="<22><><EFBFBD><EFBFBD>״̬" prop="status">
<el-input v-model="dataForm.status" placeholder="<22><><EFBFBD><EFBFBD>״̬"></el-input>
</el-form-item>
<el-form-item label="<22><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>" prop="createTime">
<el-input v-model="dataForm.createTime" placeholder="<22><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>"></el-input>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="visible = false">取消</el-button>
<el-button type="primary" @click="dataFormSubmit()"></el-button>
</span>
</el-dialog>
</template>
<script>
export default {
data () {
return {
visible: false,
dataForm: {
id: 0,
name: '',
startTime: '',
endTime: '',
status: '',
createTime: ''
},
dataRule: {
name: [
{ required: true, message: '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>不能为空', trigger: 'blur' }
],
startTime: [
{ required: true, message: 'ÿ<>տ<EFBFBD>ʼʱ<CABC><CAB1>不能为空', trigger: 'blur' }
],
endTime: [
{ required: true, message: 'ÿ<>ս<EFBFBD><D5BD><EFBFBD>ʱ<EFBFBD><CAB1>不能为空', trigger: 'blur' }
],
status: [
{ required: true, message: '<27><><EFBFBD><EFBFBD>״̬不能为空', trigger: 'blur' }
],
createTime: [
{ required: true, message: '<27><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>不能为空', trigger: 'blur' }
]
}
}
},
methods: {
init (id) {
this.dataForm.id = id || 0
this.visible = true
this.$nextTick(() => {
this.$refs['dataForm'].resetFields()
if (this.dataForm.id) {
this.$http({
url: this.$http.adornUrl(`/coupon/smsseckillsession/info/${this.dataForm.id}`),
method: 'get',
params: this.$http.adornParams()
}).then(({data}) => {
if (data && data.code === 0) {
this.dataForm.name = data.smsSeckillSession.name
this.dataForm.startTime = data.smsSeckillSession.startTime
this.dataForm.endTime = data.smsSeckillSession.endTime
this.dataForm.status = data.smsSeckillSession.status
this.dataForm.createTime = data.smsSeckillSession.createTime
}
})
}
})
},
//
dataFormSubmit () {
this.$refs['dataForm'].validate((valid) => {
if (valid) {
this.$http({
url: this.$http.adornUrl(`/coupon/smsseckillsession/${!this.dataForm.id ? 'save' : 'update'}`),
method: 'post',
data: this.$http.adornData({
'id': this.dataForm.id || undefined,
'name': this.dataForm.name,
'startTime': this.dataForm.startTime,
'endTime': this.dataForm.endTime,
'status': this.dataForm.status,
'createTime': this.dataForm.createTime
})
}).then(({data}) => {
if (data && data.code === 0) {
this.$message({
message: '操作成功',
type: 'success',
duration: 1500,
onClose: () => {
this.visible = false
this.$emit('refreshDataList')
}
})
} else {
this.$message.error(data.msg)
}
})
}
})
}
}
}
</script>

@ -0,0 +1,187 @@
<template>
<div class="mod-config">
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()">
<el-form-item>
<el-input v-model="dataForm.key" placeholder="参数名" clearable></el-input>
</el-form-item>
<el-form-item>
<el-button @click="getDataList()"></el-button>
<el-button v-if="isAuth('coupon:smsseckillsession:save')" type="primary" @click="addOrUpdateHandle()"></el-button>
<el-button v-if="isAuth('coupon:smsseckillsession:delete')" type="danger" @click="deleteHandle()" :disabled="dataListSelections.length <= 0"></el-button>
</el-form-item>
</el-form>
<el-table
:data="dataList"
border
v-loading="dataListLoading"
@selection-change="selectionChangeHandle"
style="width: 100%;">
<el-table-column
type="selection"
header-align="center"
align="center"
width="50">
</el-table-column>
<el-table-column
prop="id"
header-align="center"
align="center"
label="id">
</el-table-column>
<el-table-column
prop="name"
header-align="center"
align="center"
label="<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>">
</el-table-column>
<el-table-column
prop="startTime"
header-align="center"
align="center"
label="ÿ<>տ<EFBFBD>ʼʱ<CABC><CAB1>">
</el-table-column>
<el-table-column
prop="endTime"
header-align="center"
align="center"
label="ÿ<>ս<EFBFBD><D5BD><EFBFBD>ʱ<EFBFBD><CAB1>">
</el-table-column>
<el-table-column
prop="status"
header-align="center"
align="center"
label="<22><><EFBFBD><EFBFBD>״̬">
</el-table-column>
<el-table-column
prop="createTime"
header-align="center"
align="center"
label="<22><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>">
</el-table-column>
<el-table-column
fixed="right"
header-align="center"
align="center"
width="150"
label="操作">
<template slot-scope="scope">
<el-button type="text" size="small" @click="addOrUpdateHandle(scope.row.id)"></el-button>
<el-button type="text" size="small" @click="deleteHandle(scope.row.id)"></el-button>
</template>
</el-table-column>
</el-table>
<el-pagination
@size-change="sizeChangeHandle"
@current-change="currentChangeHandle"
:current-page="pageIndex"
:page-sizes="[10, 20, 50, 100]"
:page-size="pageSize"
:total="totalPage"
layout="total, sizes, prev, pager, next, jumper">
</el-pagination>
<!-- 弹窗, 新增 / 修改 -->
<add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getDataList"></add-or-update>
</div>
</template>
<script>
import AddOrUpdate from './smsseckillsession-add-or-update'
export default {
data () {
return {
dataForm: {
key: ''
},
dataList: [],
pageIndex: 1,
pageSize: 10,
totalPage: 0,
dataListLoading: false,
dataListSelections: [],
addOrUpdateVisible: false
}
},
components: {
AddOrUpdate
},
activated () {
this.getDataList()
},
methods: {
//
getDataList () {
this.dataListLoading = true
this.$http({
url: this.$http.adornUrl('/coupon/smsseckillsession/list'),
method: 'get',
params: this.$http.adornParams({
'page': this.pageIndex,
'limit': this.pageSize,
'key': this.dataForm.key
})
}).then(({data}) => {
if (data && data.code === 0) {
this.dataList = data.page.list
this.totalPage = data.page.totalCount
} else {
this.dataList = []
this.totalPage = 0
}
this.dataListLoading = false
})
},
//
sizeChangeHandle (val) {
this.pageSize = val
this.pageIndex = 1
this.getDataList()
},
//
currentChangeHandle (val) {
this.pageIndex = val
this.getDataList()
},
//
selectionChangeHandle (val) {
this.dataListSelections = val
},
// /
addOrUpdateHandle (id) {
this.addOrUpdateVisible = true
this.$nextTick(() => {
this.$refs.addOrUpdate.init(id)
})
},
//
deleteHandle (id) {
var ids = id ? [id] : this.dataListSelections.map(item => {
return item.id
})
this.$confirm(`确定对[id=${ids.join(',')}]进行[${id ? '删除' : '批量删除'}]操作?`, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.$http({
url: this.$http.adornUrl('/coupon/smsseckillsession/delete'),
method: 'post',
data: this.$http.adornData(ids, false)
}).then(({data}) => {
if (data && data.code === 0) {
this.$message({
message: '操作成功',
type: 'success',
duration: 1500,
onClose: () => {
this.getDataList()
}
})
} else {
this.$message.error(data.msg)
}
})
})
}
}
}
</script>

@ -1,4 +1,4 @@
package com.msb.mall.mallcoupon;
package com.msb.mall.coupon;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;

@ -5,7 +5,7 @@
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.7.15</version>
<version>2.4.12</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.msb.mall</groupId>
@ -15,9 +15,14 @@
<description>mall-member</description>
<properties>
<java.version>1.8</java.version>
<spring-cloud.version>2021.0.8</spring-cloud.version>
<spring-cloud.version>2020.0.1</spring-cloud.version>
</properties>
<dependencies>
<dependency>
<groupId>com.msb.mall</groupId>
<artifactId>mall-common</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>

@ -0,0 +1,90 @@
package com.msb.mall.member.controller;
import java.util.Arrays;
import java.util.Map;
// import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
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.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.msb.mall.member.entity.UmsGrowthChangeHistoryEntity;
import com.msb.mall.member.service.UmsGrowthChangeHistoryService;
import com.msb.common.utils.PageUtils;
import com.msb.common.utils.R;
/**
* <EFBFBD>ɳ<EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD>ʷ<EFBFBD><EFBFBD>¼
*
* @author lsrong
* @email lsrong0414@gmail.com
* @date 2023-09-25 23:27:46
*/
@RestController
@RequestMapping("member/umsgrowthchangehistory")
public class UmsGrowthChangeHistoryController {
@Autowired
private UmsGrowthChangeHistoryService umsGrowthChangeHistoryService;
/**
*
*/
@RequestMapping("/list")
// @RequiresPermissions("member:umsgrowthchangehistory:list")
public R list(@RequestParam Map<String, Object> params){
PageUtils page = umsGrowthChangeHistoryService.queryPage(params);
return R.ok().put("page", page);
}
/**
*
*/
@RequestMapping("/info/{id}")
// @RequiresPermissions("member:umsgrowthchangehistory:info")
public R info(@PathVariable("id") Long id){
UmsGrowthChangeHistoryEntity umsGrowthChangeHistory = umsGrowthChangeHistoryService.getById(id);
return R.ok().put("umsGrowthChangeHistory", umsGrowthChangeHistory);
}
/**
*
*/
@RequestMapping("/save")
// @RequiresPermissions("member:umsgrowthchangehistory:save")
public R save(@RequestBody UmsGrowthChangeHistoryEntity umsGrowthChangeHistory){
umsGrowthChangeHistoryService.save(umsGrowthChangeHistory);
return R.ok();
}
/**
*
*/
@RequestMapping("/update")
// @RequiresPermissions("member:umsgrowthchangehistory:update")
public R update(@RequestBody UmsGrowthChangeHistoryEntity umsGrowthChangeHistory){
umsGrowthChangeHistoryService.updateById(umsGrowthChangeHistory);
return R.ok();
}
/**
*
*/
@RequestMapping("/delete")
// @RequiresPermissions("member:umsgrowthchangehistory:delete")
public R delete(@RequestBody Long[] ids){
umsGrowthChangeHistoryService.removeByIds(Arrays.asList(ids));
return R.ok();
}
}

@ -0,0 +1,90 @@
package com.msb.mall.member.controller;
import java.util.Arrays;
import java.util.Map;
// import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
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.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.msb.mall.member.entity.UmsIntegrationChangeHistoryEntity;
import com.msb.mall.member.service.UmsIntegrationChangeHistoryService;
import com.msb.common.utils.PageUtils;
import com.msb.common.utils.R;
/**
* <EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD><EFBFBD>ʷ<EFBFBD><EFBFBD>¼
*
* @author lsrong
* @email lsrong0414@gmail.com
* @date 2023-09-25 23:27:46
*/
@RestController
@RequestMapping("member/umsintegrationchangehistory")
public class UmsIntegrationChangeHistoryController {
@Autowired
private UmsIntegrationChangeHistoryService umsIntegrationChangeHistoryService;
/**
*
*/
@RequestMapping("/list")
// @RequiresPermissions("member:umsintegrationchangehistory:list")
public R list(@RequestParam Map<String, Object> params){
PageUtils page = umsIntegrationChangeHistoryService.queryPage(params);
return R.ok().put("page", page);
}
/**
*
*/
@RequestMapping("/info/{id}")
// @RequiresPermissions("member:umsintegrationchangehistory:info")
public R info(@PathVariable("id") Long id){
UmsIntegrationChangeHistoryEntity umsIntegrationChangeHistory = umsIntegrationChangeHistoryService.getById(id);
return R.ok().put("umsIntegrationChangeHistory", umsIntegrationChangeHistory);
}
/**
*
*/
@RequestMapping("/save")
// @RequiresPermissions("member:umsintegrationchangehistory:save")
public R save(@RequestBody UmsIntegrationChangeHistoryEntity umsIntegrationChangeHistory){
umsIntegrationChangeHistoryService.save(umsIntegrationChangeHistory);
return R.ok();
}
/**
*
*/
@RequestMapping("/update")
// @RequiresPermissions("member:umsintegrationchangehistory:update")
public R update(@RequestBody UmsIntegrationChangeHistoryEntity umsIntegrationChangeHistory){
umsIntegrationChangeHistoryService.updateById(umsIntegrationChangeHistory);
return R.ok();
}
/**
*
*/
@RequestMapping("/delete")
// @RequiresPermissions("member:umsintegrationchangehistory:delete")
public R delete(@RequestBody Long[] ids){
umsIntegrationChangeHistoryService.removeByIds(Arrays.asList(ids));
return R.ok();
}
}

@ -0,0 +1,90 @@
package com.msb.mall.member.controller;
import java.util.Arrays;
import java.util.Map;
// import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
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.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.msb.mall.member.entity.UmsMemberCollectSpuEntity;
import com.msb.mall.member.service.UmsMemberCollectSpuService;
import com.msb.common.utils.PageUtils;
import com.msb.common.utils.R;
/**
* <EFBFBD><EFBFBD>Ա<EFBFBD>ղص<EFBFBD><EFBFBD><EFBFBD>Ʒ
*
* @author lsrong
* @email lsrong0414@gmail.com
* @date 2023-09-25 23:27:46
*/
@RestController
@RequestMapping("member/umsmembercollectspu")
public class UmsMemberCollectSpuController {
@Autowired
private UmsMemberCollectSpuService umsMemberCollectSpuService;
/**
*
*/
@RequestMapping("/list")
// @RequiresPermissions("member:umsmembercollectspu:list")
public R list(@RequestParam Map<String, Object> params){
PageUtils page = umsMemberCollectSpuService.queryPage(params);
return R.ok().put("page", page);
}
/**
*
*/
@RequestMapping("/info/{id}")
// @RequiresPermissions("member:umsmembercollectspu:info")
public R info(@PathVariable("id") Long id){
UmsMemberCollectSpuEntity umsMemberCollectSpu = umsMemberCollectSpuService.getById(id);
return R.ok().put("umsMemberCollectSpu", umsMemberCollectSpu);
}
/**
*
*/
@RequestMapping("/save")
// @RequiresPermissions("member:umsmembercollectspu:save")
public R save(@RequestBody UmsMemberCollectSpuEntity umsMemberCollectSpu){
umsMemberCollectSpuService.save(umsMemberCollectSpu);
return R.ok();
}
/**
*
*/
@RequestMapping("/update")
// @RequiresPermissions("member:umsmembercollectspu:update")
public R update(@RequestBody UmsMemberCollectSpuEntity umsMemberCollectSpu){
umsMemberCollectSpuService.updateById(umsMemberCollectSpu);
return R.ok();
}
/**
*
*/
@RequestMapping("/delete")
// @RequiresPermissions("member:umsmembercollectspu:delete")
public R delete(@RequestBody Long[] ids){
umsMemberCollectSpuService.removeByIds(Arrays.asList(ids));
return R.ok();
}
}

@ -0,0 +1,90 @@
package com.msb.mall.member.controller;
import java.util.Arrays;
import java.util.Map;
// import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
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.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.msb.mall.member.entity.UmsMemberCollectSubjectEntity;
import com.msb.mall.member.service.UmsMemberCollectSubjectService;
import com.msb.common.utils.PageUtils;
import com.msb.common.utils.R;
/**
* <EFBFBD><EFBFBD>Ա<EFBFBD>ղص<EFBFBD>ר<EFBFBD><EFBFBD>
*
* @author lsrong
* @email lsrong0414@gmail.com
* @date 2023-09-25 23:27:47
*/
@RestController
@RequestMapping("member/umsmembercollectsubject")
public class UmsMemberCollectSubjectController {
@Autowired
private UmsMemberCollectSubjectService umsMemberCollectSubjectService;
/**
*
*/
@RequestMapping("/list")
// @RequiresPermissions("member:umsmembercollectsubject:list")
public R list(@RequestParam Map<String, Object> params){
PageUtils page = umsMemberCollectSubjectService.queryPage(params);
return R.ok().put("page", page);
}
/**
*
*/
@RequestMapping("/info/{id}")
// @RequiresPermissions("member:umsmembercollectsubject:info")
public R info(@PathVariable("id") Long id){
UmsMemberCollectSubjectEntity umsMemberCollectSubject = umsMemberCollectSubjectService.getById(id);
return R.ok().put("umsMemberCollectSubject", umsMemberCollectSubject);
}
/**
*
*/
@RequestMapping("/save")
// @RequiresPermissions("member:umsmembercollectsubject:save")
public R save(@RequestBody UmsMemberCollectSubjectEntity umsMemberCollectSubject){
umsMemberCollectSubjectService.save(umsMemberCollectSubject);
return R.ok();
}
/**
*
*/
@RequestMapping("/update")
// @RequiresPermissions("member:umsmembercollectsubject:update")
public R update(@RequestBody UmsMemberCollectSubjectEntity umsMemberCollectSubject){
umsMemberCollectSubjectService.updateById(umsMemberCollectSubject);
return R.ok();
}
/**
*
*/
@RequestMapping("/delete")
// @RequiresPermissions("member:umsmembercollectsubject:delete")
public R delete(@RequestBody Long[] ids){
umsMemberCollectSubjectService.removeByIds(Arrays.asList(ids));
return R.ok();
}
}

@ -0,0 +1,90 @@
package com.msb.mall.member.controller;
import java.util.Arrays;
import java.util.Map;
// import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
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.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.msb.mall.member.entity.UmsMemberEntity;
import com.msb.mall.member.service.UmsMemberService;
import com.msb.common.utils.PageUtils;
import com.msb.common.utils.R;
/**
* <EFBFBD><EFBFBD>Ա
*
* @author lsrong
* @email lsrong0414@gmail.com
* @date 2023-09-25 23:27:46
*/
@RestController
@RequestMapping("member/umsmember")
public class UmsMemberController {
@Autowired
private UmsMemberService umsMemberService;
/**
*
*/
@RequestMapping("/list")
// @RequiresPermissions("member:umsmember:list")
public R list(@RequestParam Map<String, Object> params){
PageUtils page = umsMemberService.queryPage(params);
return R.ok().put("page", page);
}
/**
*
*/
@RequestMapping("/info/{id}")
// @RequiresPermissions("member:umsmember:info")
public R info(@PathVariable("id") Long id){
UmsMemberEntity umsMember = umsMemberService.getById(id);
return R.ok().put("umsMember", umsMember);
}
/**
*
*/
@RequestMapping("/save")
// @RequiresPermissions("member:umsmember:save")
public R save(@RequestBody UmsMemberEntity umsMember){
umsMemberService.save(umsMember);
return R.ok();
}
/**
*
*/
@RequestMapping("/update")
// @RequiresPermissions("member:umsmember:update")
public R update(@RequestBody UmsMemberEntity umsMember){
umsMemberService.updateById(umsMember);
return R.ok();
}
/**
*
*/
@RequestMapping("/delete")
// @RequiresPermissions("member:umsmember:delete")
public R delete(@RequestBody Long[] ids){
umsMemberService.removeByIds(Arrays.asList(ids));
return R.ok();
}
}

@ -0,0 +1,90 @@
package com.msb.mall.member.controller;
import java.util.Arrays;
import java.util.Map;
// import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
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.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.msb.mall.member.entity.UmsMemberLevelEntity;
import com.msb.mall.member.service.UmsMemberLevelService;
import com.msb.common.utils.PageUtils;
import com.msb.common.utils.R;
/**
* <EFBFBD><EFBFBD>Ա<EFBFBD>ȼ<EFBFBD>
*
* @author lsrong
* @email lsrong0414@gmail.com
* @date 2023-09-25 23:27:47
*/
@RestController
@RequestMapping("member/umsmemberlevel")
public class UmsMemberLevelController {
@Autowired
private UmsMemberLevelService umsMemberLevelService;
/**
*
*/
@RequestMapping("/list")
// @RequiresPermissions("member:umsmemberlevel:list")
public R list(@RequestParam Map<String, Object> params){
PageUtils page = umsMemberLevelService.queryPage(params);
return R.ok().put("page", page);
}
/**
*
*/
@RequestMapping("/info/{id}")
// @RequiresPermissions("member:umsmemberlevel:info")
public R info(@PathVariable("id") Long id){
UmsMemberLevelEntity umsMemberLevel = umsMemberLevelService.getById(id);
return R.ok().put("umsMemberLevel", umsMemberLevel);
}
/**
*
*/
@RequestMapping("/save")
// @RequiresPermissions("member:umsmemberlevel:save")
public R save(@RequestBody UmsMemberLevelEntity umsMemberLevel){
umsMemberLevelService.save(umsMemberLevel);
return R.ok();
}
/**
*
*/
@RequestMapping("/update")
// @RequiresPermissions("member:umsmemberlevel:update")
public R update(@RequestBody UmsMemberLevelEntity umsMemberLevel){
umsMemberLevelService.updateById(umsMemberLevel);
return R.ok();
}
/**
*
*/
@RequestMapping("/delete")
// @RequiresPermissions("member:umsmemberlevel:delete")
public R delete(@RequestBody Long[] ids){
umsMemberLevelService.removeByIds(Arrays.asList(ids));
return R.ok();
}
}

@ -0,0 +1,90 @@
package com.msb.mall.member.controller;
import java.util.Arrays;
import java.util.Map;
// import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
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.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.msb.mall.member.entity.UmsMemberLoginLogEntity;
import com.msb.mall.member.service.UmsMemberLoginLogService;
import com.msb.common.utils.PageUtils;
import com.msb.common.utils.R;
/**
* <EFBFBD><EFBFBD>Ա<EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD>¼
*
* @author lsrong
* @email lsrong0414@gmail.com
* @date 2023-09-25 23:27:47
*/
@RestController
@RequestMapping("member/umsmemberloginlog")
public class UmsMemberLoginLogController {
@Autowired
private UmsMemberLoginLogService umsMemberLoginLogService;
/**
*
*/
@RequestMapping("/list")
// @RequiresPermissions("member:umsmemberloginlog:list")
public R list(@RequestParam Map<String, Object> params){
PageUtils page = umsMemberLoginLogService.queryPage(params);
return R.ok().put("page", page);
}
/**
*
*/
@RequestMapping("/info/{id}")
// @RequiresPermissions("member:umsmemberloginlog:info")
public R info(@PathVariable("id") Long id){
UmsMemberLoginLogEntity umsMemberLoginLog = umsMemberLoginLogService.getById(id);
return R.ok().put("umsMemberLoginLog", umsMemberLoginLog);
}
/**
*
*/
@RequestMapping("/save")
// @RequiresPermissions("member:umsmemberloginlog:save")
public R save(@RequestBody UmsMemberLoginLogEntity umsMemberLoginLog){
umsMemberLoginLogService.save(umsMemberLoginLog);
return R.ok();
}
/**
*
*/
@RequestMapping("/update")
// @RequiresPermissions("member:umsmemberloginlog:update")
public R update(@RequestBody UmsMemberLoginLogEntity umsMemberLoginLog){
umsMemberLoginLogService.updateById(umsMemberLoginLog);
return R.ok();
}
/**
*
*/
@RequestMapping("/delete")
// @RequiresPermissions("member:umsmemberloginlog:delete")
public R delete(@RequestBody Long[] ids){
umsMemberLoginLogService.removeByIds(Arrays.asList(ids));
return R.ok();
}
}

@ -0,0 +1,90 @@
package com.msb.mall.member.controller;
import java.util.Arrays;
import java.util.Map;
// import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
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.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.msb.mall.member.entity.UmsMemberReceiveAddressEntity;
import com.msb.mall.member.service.UmsMemberReceiveAddressService;
import com.msb.common.utils.PageUtils;
import com.msb.common.utils.R;
/**
* <EFBFBD><EFBFBD>Ա<EFBFBD>ջ<EFBFBD><EFBFBD><EFBFBD>ַ
*
* @author lsrong
* @email lsrong0414@gmail.com
* @date 2023-09-25 23:27:47
*/
@RestController
@RequestMapping("member/umsmemberreceiveaddress")
public class UmsMemberReceiveAddressController {
@Autowired
private UmsMemberReceiveAddressService umsMemberReceiveAddressService;
/**
*
*/
@RequestMapping("/list")
// @RequiresPermissions("member:umsmemberreceiveaddress:list")
public R list(@RequestParam Map<String, Object> params){
PageUtils page = umsMemberReceiveAddressService.queryPage(params);
return R.ok().put("page", page);
}
/**
*
*/
@RequestMapping("/info/{id}")
// @RequiresPermissions("member:umsmemberreceiveaddress:info")
public R info(@PathVariable("id") Long id){
UmsMemberReceiveAddressEntity umsMemberReceiveAddress = umsMemberReceiveAddressService.getById(id);
return R.ok().put("umsMemberReceiveAddress", umsMemberReceiveAddress);
}
/**
*
*/
@RequestMapping("/save")
// @RequiresPermissions("member:umsmemberreceiveaddress:save")
public R save(@RequestBody UmsMemberReceiveAddressEntity umsMemberReceiveAddress){
umsMemberReceiveAddressService.save(umsMemberReceiveAddress);
return R.ok();
}
/**
*
*/
@RequestMapping("/update")
// @RequiresPermissions("member:umsmemberreceiveaddress:update")
public R update(@RequestBody UmsMemberReceiveAddressEntity umsMemberReceiveAddress){
umsMemberReceiveAddressService.updateById(umsMemberReceiveAddress);
return R.ok();
}
/**
*
*/
@RequestMapping("/delete")
// @RequiresPermissions("member:umsmemberreceiveaddress:delete")
public R delete(@RequestBody Long[] ids){
umsMemberReceiveAddressService.removeByIds(Arrays.asList(ids));
return R.ok();
}
}

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save