From 5e9a1a931194b0d9eba759774dcad39fef1dba0b Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Wed, 16 Aug 2023 16:00:29 +0800
Subject: [PATCH] 后台修改
---
src/main/java/cc/mrbird/febs/dapp/dto/AddMallGoodsDto.java | 2
src/main/java/cc/mrbird/febs/dapp/entity/MallGoods.java | 5 +
src/main/resources/templates/febs/views/goods/goodsAddNew.html | 71 ++++++++++++++
src/main/java/cc/mrbird/febs/dapp/dto/MallGoodsUpdateDto.java | 2
src/main/java/cc/mrbird/febs/dapp/entity/MallGoodsImages.java | 20 ++++
src/main/java/cc/mrbird/febs/dapp/service/impl/AdminMallGoodsService.java | 36 +++++++
src/main/resources/mapper/dapp/MallGoodsImagesMapper.xml | 16 +++
src/main/resources/templates/febs/views/goods/goodsUpdateNew.html | 85 +++++++++++++++++
src/main/java/cc/mrbird/febs/dapp/mapper/MallGoodsImagesMapper.java | 20 ++++
9 files changed, 257 insertions(+), 0 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/dapp/dto/AddMallGoodsDto.java b/src/main/java/cc/mrbird/febs/dapp/dto/AddMallGoodsDto.java
index d1a104a..9794a0a 100644
--- a/src/main/java/cc/mrbird/febs/dapp/dto/AddMallGoodsDto.java
+++ b/src/main/java/cc/mrbird/febs/dapp/dto/AddMallGoodsDto.java
@@ -24,6 +24,8 @@
@NotBlank(message = "参数不能为空")
private String thumb;
+ private String thumbs;
+
//商品参数
@NotBlank(message = "参数不能为空")
private String goodsParameter;
diff --git a/src/main/java/cc/mrbird/febs/dapp/dto/MallGoodsUpdateDto.java b/src/main/java/cc/mrbird/febs/dapp/dto/MallGoodsUpdateDto.java
index 0dce066..2bdf395 100644
--- a/src/main/java/cc/mrbird/febs/dapp/dto/MallGoodsUpdateDto.java
+++ b/src/main/java/cc/mrbird/febs/dapp/dto/MallGoodsUpdateDto.java
@@ -23,6 +23,8 @@
@NotBlank(message = "参数不能为空")
private String thumb;
+ private String thumbs;
+
//商品参数
@NotBlank(message = "参数不能为空")
private String goodsParameter;
diff --git a/src/main/java/cc/mrbird/febs/dapp/entity/MallGoods.java b/src/main/java/cc/mrbird/febs/dapp/entity/MallGoods.java
index b434c21..a2c0cbf 100644
--- a/src/main/java/cc/mrbird/febs/dapp/entity/MallGoods.java
+++ b/src/main/java/cc/mrbird/febs/dapp/entity/MallGoods.java
@@ -5,6 +5,8 @@
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
+import java.util.List;
+
@Data
@TableName("mall_goods")
public class MallGoods extends BaseEntity {
@@ -51,4 +53,7 @@
@TableField(exist = false)
private String categoryName;
+ @TableField(exist = false)
+ private List<String> images;
+
}
diff --git a/src/main/java/cc/mrbird/febs/dapp/entity/MallGoodsImages.java b/src/main/java/cc/mrbird/febs/dapp/entity/MallGoodsImages.java
new file mode 100644
index 0000000..7145305
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/dapp/entity/MallGoodsImages.java
@@ -0,0 +1,20 @@
+package cc.mrbird.febs.dapp.entity;
+
+import cc.mrbird.febs.common.entity.BaseEntity;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+/**
+ * @author wzy
+ * @date 2021-09-17
+ **/
+@Data
+@TableName("mall_goods_images")
+public class MallGoodsImages extends BaseEntity {
+
+ private String imageUrl;
+
+ private Integer seq;
+
+ private Long goodsId;
+}
diff --git a/src/main/java/cc/mrbird/febs/dapp/mapper/MallGoodsImagesMapper.java b/src/main/java/cc/mrbird/febs/dapp/mapper/MallGoodsImagesMapper.java
new file mode 100644
index 0000000..4c82b84
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/dapp/mapper/MallGoodsImagesMapper.java
@@ -0,0 +1,20 @@
+package cc.mrbird.febs.dapp.mapper;
+
+import cc.mrbird.febs.dapp.entity.MallGoodsImages;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * @author wzy
+ * @date 2021-09-17
+ **/
+public interface MallGoodsImagesMapper extends BaseMapper<MallGoodsImages> {
+
+ List<String> selectGoodsImagesByGoodsId(@Param("goodsId") Long goodsId);
+
+ List<String> selectByGoodId(@Param("goodsId") long id);
+
+ void deleteByGoodsId(@Param("goodsId")Long id);
+}
diff --git a/src/main/java/cc/mrbird/febs/dapp/service/impl/AdminMallGoodsService.java b/src/main/java/cc/mrbird/febs/dapp/service/impl/AdminMallGoodsService.java
index 90aa716..6e8a935 100644
--- a/src/main/java/cc/mrbird/febs/dapp/service/impl/AdminMallGoodsService.java
+++ b/src/main/java/cc/mrbird/febs/dapp/service/impl/AdminMallGoodsService.java
@@ -44,6 +44,7 @@
private final MallGoodsCategoryMapper mallGoodsCategoryMapper;
private final PlatformBannerMapper platformBannerMapper;
+ private final MallGoodsImagesMapper mallGoodsImagesMapper;
@Override
public IPage<MallGoods> getCategoryListInPage(MallGoods mallGoods, QueryRequest request) {
@@ -70,6 +71,22 @@
BeanUtil.copyProperties(addMallGoodsDto, mallGoods);
mallGoods.setIsSale(MallGoods.ISSALE_STATUS_DISABLED);
mallGoodsMapper.insert(mallGoods);
+
+ String thumbs = addMallGoodsDto.getThumbs();
+ if (StrUtil.isNotEmpty(thumbs)) {
+ List<String> imgs = StrUtil.splitTrim(thumbs, ",");
+ if (CollUtil.isNotEmpty(imgs)) {
+ int i = 1;
+ for (String img : imgs) {
+ MallGoodsImages mallGoodsImages = new MallGoodsImages();
+ mallGoodsImages.setGoodsId(mallGoods.getId());
+ mallGoodsImages.setImageUrl(img);
+ mallGoodsImages.setSeq(i);
+ mallGoodsImagesMapper.insert(mallGoodsImages);
+ i++;
+ }
+ }
+ }
return new FebsResponse().success().message("操作成功");
}
@@ -114,6 +131,8 @@
@Override
public MallGoods selectGoodsById(long id) {
MallGoods mallGoods = mallGoodsMapper.selectById(id);
+ List<String> thumbs = mallGoodsImagesMapper.selectByGoodId(mallGoods.getId());
+ mallGoods.setImages(thumbs);
return mallGoods;
}
@@ -137,6 +156,23 @@
BeanUtil.copyProperties(mallGoodsUpdateDto, mallGoods);
mallGoodsMapper.updateById(mallGoods);
+ mallGoodsImagesMapper.deleteByGoodsId(mallGoodsUpdateDto.getId());
+ String thumbs = mallGoodsUpdateDto.getThumbs();
+ if (StrUtil.isNotEmpty(thumbs)) {
+ List<String> imgs = StrUtil.splitTrim(thumbs, ",");
+ if (CollUtil.isNotEmpty(imgs)) {
+ int i = 1;
+ for (String img : imgs) {
+ MallGoodsImages mallGoodsImages = new MallGoodsImages();
+ mallGoodsImages.setGoodsId(mallGoods.getId());
+ mallGoodsImages.setImageUrl(img);
+ mallGoodsImages.setSeq(i);
+ mallGoodsImagesMapper.insert(mallGoodsImages);
+ i++;
+ }
+ }
+ }
+
return new FebsResponse().success().message("操作成功");
}
diff --git a/src/main/resources/mapper/dapp/MallGoodsImagesMapper.xml b/src/main/resources/mapper/dapp/MallGoodsImagesMapper.xml
new file mode 100644
index 0000000..19db18c
--- /dev/null
+++ b/src/main/resources/mapper/dapp/MallGoodsImagesMapper.xml
@@ -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="cc.mrbird.febs.dapp.mapper.MallGoodsImagesMapper">
+
+ <select id="selectGoodsImagesByGoodsId" resultType="java.lang.String">
+ select image_url from mall_goods_images where goods_id=#{goodsId}
+ </select>
+
+ <select id="selectByGoodId" resultType="java.lang.String">
+ select image_url from mall_goods_images where goods_id = #{goodsId}
+ </select>
+
+ <delete id="deleteByGoodsId">
+ delete from mall_goods_images where goods_id = #{goodsId}
+ </delete>
+</mapper>
\ No newline at end of file
diff --git a/src/main/resources/templates/febs/views/goods/goodsAddNew.html b/src/main/resources/templates/febs/views/goods/goodsAddNew.html
index fbce517..316a8b8 100644
--- a/src/main/resources/templates/febs/views/goods/goodsAddNew.html
+++ b/src/main/resources/templates/febs/views/goods/goodsAddNew.html
@@ -77,6 +77,26 @@
</div>
</div>
+ <div class="layui-form-item">
+ <label class="layui-form-label febs-form-item-require">轮播图:</label>
+ <div class="layui-input-block">
+ <div class="layui-upload">
+ <button type="button" class="layui-btn layui-btn-normal layui-btn" id="thumbsBanner">上传</button>
+ <blockquote class="layui-elem-quote layui-quote-nm" style="margin-top: 10px;">
+ <div class="layui-upload-list" id="thumbsBanners"></div>
+ </blockquote>
+ <div class="layui-word-aux">双击图片删除</div>
+ </div>
+ </div>
+ </div>
+
+ <div class="layui-form-item febs-hide">
+ <label class="layui-form-label">缩略图链接:</label>
+ <div class="layui-input-block">
+ <input type="text" id="thumbs" lay-verify="required" name="thumbs" autocomplete="off" class="layui-input" readonly>
+ </div>
+ </div>
+
<div class="layui-form-item febs-hide">
<label class="layui-form-label">商品图链接:</label>
<div class="layui-input-block">
@@ -212,6 +232,57 @@
})
}
+ //多图片上传
+ upload.render({
+ elem: '#thumbsBanner'
+ ,url: ctx + 'admin/goods/uploadFileBase64' //改成您自己的上传接口
+ ,multiple: true
+ ,before: function(obj){
+ //预读本地文件示例,不支持ie8
+ obj.preview(function(index, file, result){
+ $('#thumbsBanners').append('<img src="'+ result +'" alt="'+ file.name +'" class="layui-upload-img multi-images" style="width: 130px">')
+ });
+ }
+ ,done: function(res){
+ var thumbs = $("#thumbs").val();
+ if(thumbs == ''){
+ $("#thumbs").val(res.data.src);
+ }else{
+ $("#thumbs").val(thumbs + ',' + res.data.src);
+ }
+
+ imgUnBind(".multi-images");
+ imgMultiBind();
+ }
+ });
+
+ function imgUnBind(className) {
+ $(className).each(function() {
+ $(this).unbind('dblclick');
+ })
+ }
+
+ function imgMultiBind() {
+ $(".multi-images").each(function(index, element) {
+ $(this).on("dblclick", function() {
+ var imgThumb = $(".multi-images")[index];
+ $(imgThumb).remove();
+
+ var images = $("#thumbs").val();
+ var imagesArr;
+ if (images) {
+ imagesArr = images.split(",");
+ imagesArr.splice(index, 1);
+ images = imagesArr.join(",");
+ }
+ $("#thumbs").val(images);
+
+ imgUnBind(".multi-images");
+ imgMultiBind();
+ });
+ })
+ }
+
//图片上传
upload.render({
elem: '#test2'
diff --git a/src/main/resources/templates/febs/views/goods/goodsUpdateNew.html b/src/main/resources/templates/febs/views/goods/goodsUpdateNew.html
index a896684..6f4fdea 100644
--- a/src/main/resources/templates/febs/views/goods/goodsUpdateNew.html
+++ b/src/main/resources/templates/febs/views/goods/goodsUpdateNew.html
@@ -94,6 +94,32 @@
</div>
</div>
+
+ <div class="layui-form-item">
+ <label class="layui-form-label febs-form-item-require">轮播图:</label>
+ <div class="layui-input-block">
+ <div class="layui-upload">
+ <button type="button"
+ class="layui-btn layui-btn-normal layui-btn"
+ id="thumbsBanner">上传
+ </button>
+ <blockquote class="layui-elem-quote layui-quote-nm"
+ style="margin-top: 10px;">
+ <div class="layui-upload-list" id="thumbsBanners"></div>
+ </blockquote>
+ <div class="layui-word-aux">双击图片删除</div>
+ </div>
+ </div>
+ </div>
+
+ <div class="layui-form-item febs-hide">
+ <label class="layui-form-label">缩略图链接:</label>
+ <div class="layui-input-block">
+ <input type="text" id="thumbs" lay-verify="required" name="thumbs"
+ autoComplete="off" class="layui-input" readOnly>
+ </div>
+ </div>
+
<div class="layui-form-item">
<label class="layui-form-label">商品参数:</label>
<div class="layui-input-block">
@@ -204,6 +230,56 @@
insertFn(res.data.src, res.data.title, '')
},
}
+ //多图片上传
+ upload.render({
+ elem: '#thumbsBanner'
+ ,url: ctx + 'admin/goods/uploadFileBase64' //改成您自己的上传接口
+ ,multiple: true
+ ,before: function(obj){
+ //预读本地文件示例,不支持ie8
+ obj.preview(function(index, file, result){
+ $('#thumbsBanners').append('<img src="'+ result +'" alt="'+ file.name +'" class="layui-upload-img multi-images" style="width: 130px">')
+ });
+ }
+ ,done: function(res){
+ var thumbs = $("#thumbs").val();
+ if(thumbs == ''){
+ $("#thumbs").val(res.data.src);
+ }else{
+ $("#thumbs").val(thumbs + ',' + res.data.src);
+ }
+
+ imgUnBind(".multi-images");
+ imgMultiBind();
+ }
+ });
+
+ function imgUnBind(className) {
+ $(className).each(function() {
+ $(this).unbind('dblclick');
+ })
+ }
+
+ function imgMultiBind() {
+ $(".multi-images").each(function(index, element) {
+ $(this).on("dblclick", function() {
+ var imgThumb = $(".multi-images")[index];
+ $(imgThumb).remove();
+
+ var images = $("#thumbs").val();
+ var imagesArr;
+ if (images) {
+ imagesArr = images.split(",");
+ imagesArr.splice(index, 1);
+ images = imagesArr.join(",");
+ }
+ $("#thumbs").val(images);
+
+ imgUnBind(".multi-images");
+ imgMultiBind();
+ });
+ })
+ }
//图片上传
upload.render({
@@ -264,6 +340,8 @@
initGoodsValue();
function initGoodsValue() {
+ var images = goodsInfo.images;
+ var thumbs = images.join(",");
form.val("goods-update-form", {
"id": goodsInfo.id,
"goodsName": goodsInfo.goodsName,
@@ -276,11 +354,18 @@
"presentPrice": goodsInfo.presentPrice,
"thumb": goodsInfo.thumb,
"sortCnt": goodsInfo.sortCnt,
+ "thumbs": thumbs
});
$('#demo2').append('<img src="' + goodsInfo.thumb + '" alt="" class="layui-upload-img single-image" style="width: 130px">')
+ for (let i = 0; i < images.length; i++) {
+ $('#thumbsBanners').append('<img src="' + images[i] + '" alt="" class="layui-upload-img multi-images" style="width: 130px">')
+ }
+
imgSingleBind();
+ imgMultiBind();
+
window.editor = E.createEditor({
html: goodsInfo.goodsDetails,
selector: '#editor-container',
--
Gitblit v1.9.1