diff --git a/hope-winery/src/main/java/com/ruoyi/winery/controller/AppActivityController.java b/hope-winery/src/main/java/com/ruoyi/winery/controller/AppActivityController.java new file mode 100644 index 000000000..a4218a5b1 --- /dev/null +++ b/hope-winery/src/main/java/com/ruoyi/winery/controller/AppActivityController.java @@ -0,0 +1,119 @@ +package com.ruoyi.winery.controller; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; + +import java.util.List; +import java.util.Arrays; + +import com.ruoyi.common.utils.StringUtils; +import lombok.RequiredArgsConstructor; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.DeleteMapping; +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.RestController; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.winery.domain.AppActivity; +import com.ruoyi.winery.service.IAppActivityService; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.common.core.page.TableDataInfo; + +/** + * 活动Controller + * + * @author ruoyi + * @date 2021-01-20 + */ +@RequiredArgsConstructor(onConstructor_ = @Autowired) +@RestController +@RequestMapping("/winery/activity" ) +public class AppActivityController extends BaseController { + + private final IAppActivityService iAppActivityService; + + /** + * 查询活动列表 + */ + @PreAuthorize("@ss.hasPermi('winery:activity:list')") + @GetMapping("/list") + public TableDataInfo list(AppActivity appActivity) + { + startPage(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(appActivity); + if (StringUtils.isNotBlank(appActivity.getUrl())){ + lqw.eq(AppActivity::getUrl ,appActivity.getUrl()); + } + if (appActivity.getType() != null){ + lqw.eq(AppActivity::getType ,appActivity.getType()); + } + if (StringUtils.isNotBlank(appActivity.getImage())){ + lqw.eq(AppActivity::getImage ,appActivity.getImage()); + } + if (appActivity.getImageHeight() != null){ + lqw.eq(AppActivity::getImageHeight ,appActivity.getImageHeight()); + } + List list = iAppActivityService.list(lqw); + return getDataTable(list); + } + + /** + * 导出活动列表 + */ + @PreAuthorize("@ss.hasPermi('winery:activity:export')" ) + @Log(title = "活动" , businessType = BusinessType.EXPORT) + @GetMapping("/export" ) + public AjaxResult export(AppActivity appActivity) { + LambdaQueryWrapper lqw = new LambdaQueryWrapper(appActivity); + List list = iAppActivityService.list(lqw); + ExcelUtil util = new ExcelUtil(AppActivity. class); + return util.exportExcel(list, "activity" ); + } + + /** + * 获取活动详细信息 + */ + @PreAuthorize("@ss.hasPermi('winery:activity:query')" ) + @GetMapping(value = "/{id}" ) + public AjaxResult getInfo(@PathVariable("id" ) Long id) { + return AjaxResult.success(iAppActivityService.getById(id)); + } + + /** + * 新增活动 + */ + @PreAuthorize("@ss.hasPermi('winery:activity:add')" ) + @Log(title = "活动" , businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody AppActivity appActivity) { + return toAjax(iAppActivityService.save(appActivity) ? 1 : 0); + } + + /** + * 修改活动 + */ + @PreAuthorize("@ss.hasPermi('winery:activity:edit')" ) + @Log(title = "活动" , businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody AppActivity appActivity) { + return toAjax(iAppActivityService.updateById(appActivity) ? 1 : 0); + } + + /** + * 删除活动 + */ + @PreAuthorize("@ss.hasPermi('winery:activity:remove')" ) + @Log(title = "活动" , businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}" ) + public AjaxResult remove(@PathVariable Long[] ids) { + return toAjax(iAppActivityService.removeByIds(Arrays.asList(ids)) ? 1 : 0); + } +} diff --git a/hope-winery/src/main/java/com/ruoyi/winery/domain/AppActivity.java b/hope-winery/src/main/java/com/ruoyi/winery/domain/AppActivity.java new file mode 100644 index 000000000..0cf1cbab8 --- /dev/null +++ b/hope-winery/src/main/java/com/ruoyi/winery/domain/AppActivity.java @@ -0,0 +1,66 @@ +package com.ruoyi.winery.domain; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.ToString; +import lombok.experimental.Accessors; +import com.ruoyi.common.annotation.Excel; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.IdType; +import java.io.Serializable; +import java.util.Date; +import java.math.BigDecimal; +import com.ruoyi.common.core.domain.BaseEntity; + +/** + * 活动对象 app_activity + * + * @author ruoyi + * @date 2021-01-20 + */ +@Data +@ToString +@EqualsAndHashCode +@NoArgsConstructor +@Accessors(chain = true) +@TableName("app_activity") +public class AppActivity implements Serializable { + +private static final long serialVersionUID=1L; + + + /** ID */ + @TableId(value = "id", type = IdType.ASSIGN_UUID) + private String id; + + /** 链接 */ + @Excel(name = "链接") + private String url; + + /** 1每日精选2热门活动 */ + @Excel(name = "1每日精选2热门活动") + private Integer type; + + /** 图片 */ + @Excel(name = "图片") + private String image; + + /** 高度 */ + @Excel(name = "高度") + private Integer imageHeight; + + /** 创建者 */ + private String createBy; + + /** 创建时间 */ + private Date createTime; + + /** 更新者 */ + private String updateBy; + + /** 更新时间 */ + private Date updateTime; +} diff --git a/hope-winery/src/main/java/com/ruoyi/winery/mapper/AppActivityMapper.java b/hope-winery/src/main/java/com/ruoyi/winery/mapper/AppActivityMapper.java new file mode 100644 index 000000000..bcfc5861f --- /dev/null +++ b/hope-winery/src/main/java/com/ruoyi/winery/mapper/AppActivityMapper.java @@ -0,0 +1,14 @@ +package com.ruoyi.winery.mapper; + +import com.ruoyi.winery.domain.AppActivity; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * 活动Mapper接口 + * + * @author ruoyi + * @date 2021-01-20 + */ +public interface AppActivityMapper extends BaseMapper { + +} diff --git a/hope-winery/src/main/java/com/ruoyi/winery/service/IAppActivityService.java b/hope-winery/src/main/java/com/ruoyi/winery/service/IAppActivityService.java new file mode 100644 index 000000000..14741dd8a --- /dev/null +++ b/hope-winery/src/main/java/com/ruoyi/winery/service/IAppActivityService.java @@ -0,0 +1,14 @@ +package com.ruoyi.winery.service; + +import com.ruoyi.winery.domain.AppActivity; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * 活动Service接口 + * + * @author ruoyi + * @date 2021-01-20 + */ +public interface IAppActivityService extends IService { + +} diff --git a/hope-winery/src/main/java/com/ruoyi/winery/service/impl/AppActivityServiceImpl.java b/hope-winery/src/main/java/com/ruoyi/winery/service/impl/AppActivityServiceImpl.java new file mode 100644 index 000000000..1276587fa --- /dev/null +++ b/hope-winery/src/main/java/com/ruoyi/winery/service/impl/AppActivityServiceImpl.java @@ -0,0 +1,18 @@ +package com.ruoyi.winery.service.impl; + +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.winery.mapper.AppActivityMapper; +import com.ruoyi.winery.domain.AppActivity; +import com.ruoyi.winery.service.IAppActivityService; + +/** + * 活动Service业务层处理 + * + * @author ruoyi + * @date 2021-01-20 + */ +@Service +public class AppActivityServiceImpl extends ServiceImpl implements IAppActivityService { + +} diff --git a/hope-winery/src/main/resources/mapper/winery/AppActivityMapper.xml b/hope-winery/src/main/resources/mapper/winery/AppActivityMapper.xml new file mode 100644 index 000000000..af49d5a9c --- /dev/null +++ b/hope-winery/src/main/resources/mapper/winery/AppActivityMapper.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ruoyi-ui/src/api/winery/activity.js b/ruoyi-ui/src/api/winery/activity.js new file mode 100644 index 000000000..9d313e50d --- /dev/null +++ b/ruoyi-ui/src/api/winery/activity.js @@ -0,0 +1,53 @@ +import request from '@/utils/request' + +// 查询活动列表 +export function listActivity(query) { + return request({ + url: '/winery/activity/list', + method: 'get', + params: query + }) +} + +// 查询活动详细 +export function getActivity(id) { + return request({ + url: '/winery/activity/' + id, + method: 'get' + }) +} + +// 新增活动 +export function addActivity(data) { + return request({ + url: '/winery/activity', + method: 'post', + data: data + }) +} + +// 修改活动 +export function updateActivity(data) { + return request({ + url: '/winery/activity', + method: 'put', + data: data + }) +} + +// 删除活动 +export function delActivity(id) { + return request({ + url: '/winery/activity/' + id, + method: 'delete' + }) +} + +// 导出活动 +export function exportActivity(query) { + return request({ + url: '/winery/activity/export', + method: 'get', + params: query + }) +} \ No newline at end of file diff --git a/ruoyi-ui/src/views/winery/activity/index.vue b/ruoyi-ui/src/views/winery/activity/index.vue new file mode 100644 index 000000000..2f62b66de --- /dev/null +++ b/ruoyi-ui/src/views/winery/activity/index.vue @@ -0,0 +1,328 @@ + + +