记得上下班打卡 | git大法好,push需谨慎

Commit c49f0f9a authored by jiangxiulong's avatar jiangxiulong

快递模版admin 接口

parent a069696e
...@@ -62,4 +62,6 @@ public class KylinRedisConst { ...@@ -62,4 +62,6 @@ public class KylinRedisConst {
public static final String ADMIN_UPUSH_LIST_ANDROID = "basicServices:upushList:Android"; public static final String ADMIN_UPUSH_LIST_ANDROID = "basicServices:upushList:Android";
public static final String ADMIN_BANNER_LIST = "kylin:bannerList"; public static final String ADMIN_BANNER_LIST = "kylin:bannerList";
public static final String KYLIN_EXPRESS_MODULES = "kylin:express:modules";
} }
package com.liquidnet.service.kylin.dto.param.admin;
import com.liquidnet.service.kylin.entity.KylinExpressModule;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* <p>
* ExpressModuleFromParam
* </p>
*
* @author jiangxiulong
* @since 2021-11-15
*/
@Data
@ApiModel(value = "ExpressModuleFromParam", description = "快递模版创建、编辑入参")
public class ExpressModuleFromParam implements Serializable, Cloneable {
private static final long serialVersionUID = -5031042101093959654L;
@ApiModelProperty(value = "快递模版id[创建不传] 编辑必须要传", example = "429803743878963206506461")
private String moduleId;
@ApiModelProperty(value = "快件产品名称", example = "标快")
@NotBlank(message = "快件产品名称不能为空")
private String title;
@ApiModelProperty(value = "产品编码", example = "255")
@NotNull(message = "产品编码不能为空")
private Integer productCode;
@ApiModelProperty(value = "时效类型", example = "T4")
@NotBlank(message = "时效类型不能为空")
private String agingType;
@ApiModelProperty(value = "快递预估价格", example = "10")
@NotNull(message = "快递预估价格不能为空mim")
private BigDecimal estimatePriceMin;
@ApiModelProperty(value = "快递预估价格", example = "30")
@NotNull(message = "快递预估价格不能为空max")
private BigDecimal estimatePriceMax;
@ApiModelProperty(value = "支持的付款方式 多个逗号分割 1寄付 2到付", example = "1,2")
@NotNull(message = "支持的付款方式不能为空")
private String supportPayType;
@ApiModelProperty(value = "是否上线 1未上线 2已上线", example = "429803743878963206506461")
@NotNull(message = "是否上线不能为空") @Min(value = 1, message = "isOnline无效") @Max(value = 2, message = "isOnline无效")
private Integer isOnline;
private static final ExpressModuleFromParam obj = new ExpressModuleFromParam();
public static ExpressModuleFromParam getNew() {
try {
return (ExpressModuleFromParam) obj.clone();
} catch (CloneNotSupportedException e) {
return new ExpressModuleFromParam();
}
}
public KylinExpressModule copy(ExpressModuleFromParam source) {
KylinExpressModule expressModule = KylinExpressModule.getNew();
if (null == source) return null;
expressModule.setTitle(source.getTitle());
expressModule.setProductCode(source.getProductCode());
expressModule.setAgingType(source.getAgingType());
expressModule.setEstimatePriceMin(source.getEstimatePriceMin());
expressModule.setEstimatePriceMax(source.getEstimatePriceMax());
expressModule.setSupportPayType(source.getSupportPayType());
expressModule.setIsOnline(source.getIsOnline());
return expressModule;
}
}
\ No newline at end of file
package com.liquidnet.service.kylin.dto.vo;
import com.liquidnet.service.kylin.entity.KylinExpressModule;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* <p>
* 快递模版vo
* </p>
*
* @author jiangxiulong
* @since 2021-11-15
*/
@Data
@ApiModel
public class KylinExpressModuleVo implements Serializable {
private static final long serialVersionUID = 2171590423135769848L;
@ApiModelProperty(value = "快递模版id")
private String moduleId;
@ApiModelProperty(value = "快件产品名称")
private String title;
@ApiModelProperty(value = "产品编码")
private Integer productCode;
@ApiModelProperty(value = "时效类型")
private String agingType;
@ApiModelProperty(value = "快递预估价格小")
private BigDecimal estimatePriceMin;
@ApiModelProperty(value = "快递预估价格大")
private BigDecimal estimatePriceMax;
@ApiModelProperty(value = "支持的付款方式 1寄付 2到付 多个逗号分割")
private String supportPayType;
@ApiModelProperty(value = "是否上线 1未上线 2已上线")
private Integer isOnline;
@ApiModelProperty(value = "创建时间")
private LocalDateTime createdAt;
@ApiModelProperty(value = "更新时间")
private LocalDateTime updatedAt;
private static final KylinExpressModuleVo obj = new KylinExpressModuleVo();
public static KylinExpressModuleVo getNew() {
try {
return (KylinExpressModuleVo) obj.clone();
} catch (CloneNotSupportedException e) {
return new KylinExpressModuleVo();
}
}
public KylinExpressModuleVo copy(KylinExpressModule source) {
KylinExpressModuleVo expressModuleVo = KylinExpressModuleVo.getNew();
if (null == source) return null;
expressModuleVo.setModuleId(source.getModuleId());
expressModuleVo.setTitle(source.getTitle());
expressModuleVo.setProductCode(source.getProductCode());
expressModuleVo.setAgingType(source.getAgingType());
expressModuleVo.setEstimatePriceMin(source.getEstimatePriceMin());
expressModuleVo.setEstimatePriceMax(source.getEstimatePriceMax());
expressModuleVo.setSupportPayType(source.getSupportPayType());
expressModuleVo.setIsOnline(source.getIsOnline());
expressModuleVo.setCreatedAt(source.getCreatedAt());
expressModuleVo.setUpdatedAt(source.getUpdatedAt());
return expressModuleVo;
}
}
package com.liquidnet.service.kylin.service;
import com.liquidnet.service.kylin.entity.KylinExpressModule;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 快递模板表 服务类
* </p>
*
* @author jiangxiulong
* @since 2021-11-15
*/
public interface IKylinExpressModuleService extends IService<KylinExpressModule> {
}
package com.liquidnet.client.admin.web.controller.zhengzai.kylin;
import com.github.pagehelper.PageInfo;
import com.liquidnet.client.admin.common.annotation.Log;
import com.liquidnet.client.admin.common.core.controller.BaseController;
import com.liquidnet.client.admin.common.core.domain.AjaxResult;
import com.liquidnet.client.admin.common.core.page.TableDataInfo;
import com.liquidnet.client.admin.common.enums.BusinessType;
import com.liquidnet.client.admin.zhengzai.kylin.service.IKylinExpressModuleService;
import com.liquidnet.service.kylin.dto.param.admin.ExpressModuleFromParam;
import com.liquidnet.service.kylin.entity.KylinExpressModule;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
/**
* <p>
* 快递模板表 前端控制器
* </p>
*
* @author jiangxiulong
* @since 2021-11-15
*/
@Api(tags = "快递模板管理")
@Validated
@RestController
@RequestMapping("/kylin/expressModule")
public class KylinExpressModuleController extends BaseController {
private String prefix = "zhengzai/kylin/expressModule";
@Autowired
private IKylinExpressModuleService expressModuleService;
@Log(title = "快递模版创建", businessType = BusinessType.INSERT)
@RequiresPermissions("kylin:expressModule:create")
@PostMapping("create")
@ApiOperation(value = "快递模版创建")
@ResponseBody
public AjaxResult create(@Valid @RequestBody ExpressModuleFromParam param) {
Integer result = expressModuleService.createForm(param);
if (result > 0) {
return success("操作成功");
} else {
return error("操作失败");
}
}
@Log(title = "快递模版编辑", businessType = BusinessType.UPDATE)
@RequiresPermissions("kylin:expressModule:update")
@PutMapping("update")
@ApiOperation(value = "快递模版编辑")
@ResponseBody
public AjaxResult update(@Valid @RequestBody ExpressModuleFromParam param) {
Integer result = expressModuleService.updateForm(param);
if (result > 0) {
return success("操作成功");
} else {
return error("操作失败");
}
}
@Log(title = "快递模版上下线", businessType = BusinessType.UPDATE)
@RequiresPermissions("kylin:expressModule:isOnline")
@ApiOperation(value = "快递模版上下线")
@PutMapping("isOnline")
@ResponseBody
@ApiImplicitParams({
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "moduleId", value = "快递模版id"),
@ApiImplicitParam(type = "form", required = true, dataType = "Integer", name = "isOnline", value = "是否上线 1下线 2上线"),
})
public AjaxResult isOnline(
@RequestParam("moduleId") @NotEmpty(message = "moduleId不能为空") String moduleId,
@RequestParam("isOnline") @NotNull(message = "isOnline不能为空") @Min(value = 1, message = "isOnline无效") @Max(value = 2, message = "isOnline无效") Integer isOnline
) {
Integer result = expressModuleService.isOnline(moduleId, isOnline);
if (result > 0) {
return success("操作成功");
} else {
return error("操作失败");
}
}
@Log(title = "快递模版详情", businessType = BusinessType.DETAIL)
@GetMapping("details")
@ApiOperation(value = "快递模版详情")
@ResponseBody
@ApiImplicitParams({
@ApiImplicitParam(type = "query", required = true, dataType = "String", name = "moduleId", value = "快递模版id"),
})
public AjaxResult details(@RequestParam("moduleId") String moduleId) {
KylinExpressModule result = expressModuleService.detail(moduleId);
return AjaxResult.success(result);
}
@Log(title = "快递模版列表数据", businessType = BusinessType.LIST)
@RequiresPermissions("kylin:expressModule:list")
@ApiOperation(value = "快递模版列表数据")
@PostMapping("list")
@ResponseBody
public TableDataInfo list() {
PageInfo<KylinExpressModule> result = expressModuleService.expressList();
return getDataTable(result.getList());
}
@GetMapping("listView")
@ApiOperation(value = "快递模版列表view")
public String listView() {
return prefix + "/list";
}
@GetMapping("formView")
@ApiOperation(value = "快递模版添加编辑view")
public String formView() {
return prefix + "/form";
}
}
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
<head>
<th:block th:include="include :: header('积分活动列表')"/>
</head>
<body class="gray-bg">
<div class="container-div">
<div class="row">
<div class="col-sm-12 search-collapse">
<form id="formId">
<div class="select-list">
<ul>
<li>
<label>活动名称:</label>
<input type="text" name="activityTitle"/>
</li>
<li>
<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i
class="fa fa-search"></i>&nbsp;搜索</a>
<a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i
class="fa fa-refresh"></i>&nbsp;重置</a>
</li>
</ul>
</div>
</form>
</div>
<div class="btn-group-sm" id="toolbar" role="group">
<a class="btn btn-success" onclick="$.operate.addTab(1)" shiro:hasPermission="sweet:integralActivity:create">
<i class="fa fa-plus"></i> 添加
</a>
</div>
<div class="col-sm-12 select-table table-bordered">
<table id="bootstrap-table"></table>
</div>
</div>
</div>
<th:block th:include="include :: footer"/>
<script th:inline="javascript">
var updateFlag = [[${@permission.hasPermi('sweet:integralActivity:create')}]];
var isOnlineFlag = [[${@permission.hasPermi('sweet:integralActivity:isOnline')}]];
var drawListFlag = [[${@permission.hasPermi('sweet:integralActivityDraw:list')}]];
var exportExcelFlag = [[${@permission.hasPermi('sweet:integralActivityDraw:export')}]];
var prefix = ctx + "sweet/integralActivity";
function exportExcel(integralActivityId) {
var data = {"ids": integralActivityId};
$.table.exportExcel("", data)
}
$(function () {
var options = {
url: prefix + "/list",
updateUrl: prefix + "/formView?id={id}", // /update/{id}
createUrl: prefix + "/formView",
detailUrl: "/sweet/IntegralActivityDraw/listView/{id}",
exportUrl: "/sweet/IntegralActivityDraw/export",
modalName: "积分活动",
columns: [{
checkbox: true
},
{
field: 'activityTitle',
title: '活动名称'
},
{
field: 'activityImg',
title: '活动图片',
formatter: function (value, row, index) {
return $.table.imageView(value, "300", "600");
}
},
{
field: 'activityType',
title: '活动类型',
formatter: function (value, row) {
var activityType = row.activityType;
if (row.activityType == 1) {
activityType = "转盘";
} else {
activityType = "未知";
}
return activityType;
}
},
{
field: 'prizeNum',
title: '奖品数量'
},
{
field: 'drawNum',
title: '已发出'
},
{
field: '',
title: '奖品剩余',
formatter: function (value, row) {
var prizeNum = row.prizeNum;
var drawNum = row.drawNum;
return prizeNum - drawNum;
}
},
{
field: 'isOnline',
title: '活动状态',
formatter: function (value, row) {
var isOnline = row.isOnline;
if (row.isOnline == 1) {
isOnline = "未上线";
} else {
isOnline = "已上线";
}
return isOnline;
}
},
{
field: 'createdAt',
title: '创建时间'
},
{
title: '操作',
align: 'center',
formatter: function (value, row, index) {
var actions = [];
actions.push('<a class="btn btn-success btn-xs ' + drawListFlag + '" href="javascript:void(0)" onclick="$.operate.detailTab(\'' + row.integralActivityId + '\')"><i class="fa fa-edit"></i>查看抽奖名单</a> ');
actions.push('<a class="btn btn-success btn-xs ' + updateFlag + '" href="javascript:void(0)" onclick="$.operate.editTab(\'' + row.integralActivityId + '\')"></i>编辑</a> ');
actions.push(`<a class="btn btn-danger btn-xs ${isOnlineFlag}" href="javascript:void(0)" onclick="openModal('${row.integralActivityId}','${row.isOnline}')"></i>上下线</a> `);
actions.push('<a class="btn btn-warning btn-xs ' + exportExcelFlag + '" href="javascript:void(0)" onclick="exportExcel(\'' + row.integralActivityId + '\')"></i>导出抽奖信息</a> ');
return actions.join('');
}
}]
};
$.table.init(options);
});
function openModal(id, data) {
console.log(id, data, 'dhsa')
let title = '';
let lineId = null;
if (data == 1) {
title = '上线';
lineId = 2
} else {
title = '下线';
lineId = 1
}
$.modal.confirm(`确定要${title}此活动吗`, function() {
$.ajax({
type: 'put',
url: '/sweet/integralActivity/isOnline',
data: {integralActivityId: id, isOnline: lineId},
success:function(e) {
console.log(e)
$("button[name=refresh]").click();
}
})
});
}
</script>
</body>
</html>
\ No newline at end of file
package com.liquidnet.client.admin.zhengzai.kylin.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.github.pagehelper.PageInfo;
import com.liquidnet.service.kylin.dto.param.admin.ExpressModuleFromParam;
import com.liquidnet.service.kylin.entity.KylinExpressModule;
/**
* <p>
* 快递模板表 服务类
* </p>
*
* @author jiangxiulong
* @since 2021-11-15
*/
public interface IKylinExpressModuleService extends IService<KylinExpressModule> {
Integer createForm(ExpressModuleFromParam param);
Integer updateForm(ExpressModuleFromParam param);
Integer isOnline(String moduleId, Integer isOnline);
KylinExpressModule detail(String moduleId);
PageInfo<KylinExpressModule> expressList();
}
package com.liquidnet.client.admin.zhengzai.kylin.service.impl;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.pagehelper.PageInfo;
import com.liquidnet.client.admin.zhengzai.kylin.service.IKylinExpressModuleService;
import com.liquidnet.client.admin.zhengzai.kylin.utils.DataUtils;
import com.liquidnet.commons.lang.util.IDGenerator;
import com.liquidnet.service.kylin.dto.param.admin.ExpressModuleFromParam;
import com.liquidnet.service.kylin.dto.vo.KylinExpressModuleVo;
import com.liquidnet.service.kylin.entity.KylinExpressModule;
import com.liquidnet.service.kylin.mapper.KylinExpressModuleMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
/**
* <p>
* 快递模板表 服务实现类
* </p>
*
* @author jiangxiulong
* @since 2021-11-15
*/
@Service
public class KylinExpressModuleServiceImpl extends ServiceImpl<KylinExpressModuleMapper, KylinExpressModule> implements IKylinExpressModuleService {
@Autowired
private KylinExpressModuleMapper moduleMapper;
@Autowired
private DataUtils dataUtils;
@Override
public Integer createForm(ExpressModuleFromParam param) {
try {
KylinExpressModule expressModule = ExpressModuleFromParam.getNew().copy(param);
String moduleId = IDGenerator.nextSnowId();
expressModule.setModuleId(moduleId);
int insert = moduleMapper.insert(expressModule);
// redis处理
this.expressModuleList();
return insert;
} catch (Exception e) {
log.error("创建失败 [e:{}]", e);
return 0;
}
}
@Override
public Integer updateForm(ExpressModuleFromParam param) {
try {
KylinExpressModule expressModule = ExpressModuleFromParam.getNew().copy(param);
expressModule.setUpdatedAt(LocalDateTime.now());
String moduleId = param.getModuleId();
int update = moduleMapper.update(
expressModule,
Wrappers.lambdaUpdate(KylinExpressModule.class).eq(KylinExpressModule::getModuleId, moduleId)
);
// redis处理
this.expressModuleList();
return update;
} catch (Exception e) {
log.error("编辑失败 [e:{}]", e);
return 0;
}
}
@Override
public Integer isOnline(String moduleId, Integer isOnline) {
KylinExpressModule expressModule = KylinExpressModule.getNew();
expressModule.setIsOnline(isOnline);
expressModule.setUpdatedAt(LocalDateTime.now());
int update = moduleMapper.update(
expressModule,
Wrappers.lambdaUpdate(KylinExpressModule.class).eq(KylinExpressModule::getModuleId, moduleId)
);
// redis处理
this.expressModuleList();
return update;
}
@Override
public KylinExpressModule detail(String getModuleId) {
KylinExpressModule expressModule = moduleMapper.selectOne(
Wrappers.lambdaQuery(KylinExpressModule.class).eq(KylinExpressModule::getModuleId, getModuleId)
);
return expressModule;
}
@Override
public PageInfo<KylinExpressModule> expressList() {
List<KylinExpressModule> kylinExpressModules = moduleMapper.selectList(Wrappers.lambdaQuery());
return new PageInfo(kylinExpressModules);
}
private void expressModuleList() {
// 列表
List<KylinExpressModule> kylinExpressModules = moduleMapper.selectList(
Wrappers.lambdaQuery(KylinExpressModule.class).eq(KylinExpressModule::getIsOnline, 2)
);
List<KylinExpressModuleVo> voList = new ArrayList<>();
kylinExpressModules.forEach(r -> {
KylinExpressModuleVo copy = KylinExpressModuleVo.getNew().copy(r);
voList.add(copy);
});
dataUtils.setkylinExpressModules(voList);
}
}
package com.liquidnet.client.admin.zhengzai.kylin.utils; package com.liquidnet.client.admin.zhengzai.kylin.utils;
import com.liquidnet.service.kylin.dto.vo.KylinExpressModuleVo;
import com.liquidnet.service.kylin.dto.vo.admin.OrderRefundAddress; import com.liquidnet.service.kylin.dto.vo.admin.OrderRefundAddress;
import com.liquidnet.service.kylin.dto.vo.admin.OrderRefundPoundage; import com.liquidnet.service.kylin.dto.vo.admin.OrderRefundPoundage;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
...@@ -428,4 +429,9 @@ public class DataUtils { ...@@ -428,4 +429,9 @@ public class DataUtils {
return (PageInfo<OrderOutLineVo>) obj; return (PageInfo<OrderOutLineVo>) obj;
} }
} }
public void setkylinExpressModules(List<KylinExpressModuleVo> voList) {
String redisKey = KylinRedisConst.KYLIN_EXPRESS_MODULES;
redisUtil.set(redisKey, voList);
}
} }
package com.liquidnet.service.kylin.entity;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* <p>
* 快递模板表
* </p>
*
* @author jiangxiulong
* @since 2021-11-15
*/
@Data
@EqualsAndHashCode(callSuper = false)
public class KylinExpressModule implements Serializable {
private static final long serialVersionUID = -5081186584071376123L;
@TableId(value = "mid", type = IdType.AUTO)
private Long mid;
/**
* module_id
*/
private String moduleId;
/**
* 快件产品名称
*/
private String title;
/**
* 产品编码
*/
private Integer productCode;
/**
* 时效类型
*/
private String agingType;
/**
* 快递价格(预估)
*/
private BigDecimal estimatePriceMin;
/**
* 快递价格(预估)
*/
private BigDecimal estimatePriceMax;
/**
* 支持的付款方式逗号分割 1寄付 2到付
*/
private String supportPayType;
/**
* 是否上线 1未上线 2已上线
*/
private Integer isOnline;
/**
* 创建时间
*/
private LocalDateTime createdAt;
/**
* 更新时间
*/
private LocalDateTime updatedAt;
private static final KylinExpressModule obj = new KylinExpressModule();
public static KylinExpressModule getNew() {
try {
return (KylinExpressModule) obj.clone();
} catch (CloneNotSupportedException e) {
return new KylinExpressModule();
}
}
}
package com.liquidnet.service.kylin.mapper;
import com.liquidnet.service.kylin.entity.KylinExpressModule;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* 快递模板表 Mapper 接口
* </p>
*
* @author jiangxiulong
* @since 2021-11-15
*/
public interface KylinExpressModuleMapper extends BaseMapper<KylinExpressModule> {
}
<?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.liquidnet.service.kylin.mapper.KylinExpressModuleMapper">
</mapper>
-- 快递模板表
drop TABLE if exists `kylin_express_module`;
CREATE TABLE `kylin_express_module`
(
`mid` bigint unsigned NOT NULL AUTO_INCREMENT,
`module_id` varchar(255) NOT NULL DEFAULT '' COMMENT 'module_id',
`title` varchar(255) NOT NULL DEFAULT '' COMMENT '快件产品名称',
`product_code` smallint NOT NULL DEFAULT 0 COMMENT '产品编码',
`aging_type` varchar(255) NOT NULL DEFAULT '' COMMENT '时效类型',
`estimate_price_min` decimal(10, 2) NOT NULL DEFAULT 0 COMMENT '快递价格(预估)',
`estimate_price_max` decimal(10, 2) NOT NULL DEFAULT 0 COMMENT '快递价格(预估)',
`support_pay_type` varchar(255) NOT NULL DEFAULT 0 COMMENT '支持的付款方式逗号分割 1寄付 2到付',
`is_online` tinyint NOT NULL DEFAULT 0 COMMENT '是否上线 1未上线 2已上线',
`created_at` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`updated_at` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`mid`),
KEY `idx_kylin_module_id` (`module_id`)
) ENGINE = InnoDB
DEFAULT CHARSET utf8mb4
COLLATE utf8mb4_unicode_ci
ROW_FORMAT = DYNAMIC COMMENT '快递模板表';
\ No newline at end of file
package com.liquidnet.service.kylin.controller;
import io.swagger.annotations.Api;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 快递模板表 前端控制器
* </p>
*
* @author jiangxiulong
* @since 2021-11-15
*/
@Api(tags = "快递模板")
@RestController
@RequestMapping("expressModule")
@Slf4j
public class KylinExpressModuleController {
}
package com.liquidnet.service.kylin.service.impl;
import com.liquidnet.service.kylin.entity.KylinExpressModule;
import com.liquidnet.service.kylin.mapper.KylinExpressModuleMapper;
import com.liquidnet.service.kylin.service.IKylinExpressModuleService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* <p>
* 快递模板表 服务实现类
* </p>
*
* @author jiangxiulong
* @since 2021-11-15
*/
@Service
public class KylinExpressModuleServiceImpl extends ServiceImpl<KylinExpressModuleMapper, KylinExpressModule> implements IKylinExpressModuleService {
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment