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

Commit 030de286 authored by 张国柄's avatar 张国柄

Merge remote-tracking branch 'origin/dev_goblin' into dev_goblin

parents 471ba942 736de09f
package com.liquidnet.service.goblin.param;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* <p>
* 商品信息
* </p>
*
* @author liquidnet
* @since 2021-12-27
*/
@Data
@EqualsAndHashCode(callSuper = false)
public class GoblinGoodsParam implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "mid", type = IdType.AUTO)
private Long mid;
/**
* 商品id
*/
private String spuId;
/**
* 商品编码
*/
private String spuNo;
/**
* 商品名称
*/
private String name;
/**
* 商品副标题
*/
private String subtitle;
/**
* 销售价-原价
*/
private BigDecimal sellPrice;
/**
* 价格区间MIN
*/
private BigDecimal priceGe;
/**
* 价格区间MAX
*/
private BigDecimal priceLe;
/**
* 商品简介
*/
private String intro;
/**
* 详情
*/
private String details;
/**
* 封面图片地址
*/
private String coverPic;
/**
* 商品视频地址
*/
private String video;
/**
* 规格展现方式[1-常规|2-组合]
*/
private String specMode;
/**
* 商品的店铺id,如果是平台的则为0
*/
private String storeId;
/**
* 平台一级分类id
*/
private String cateFid;
/**
* 平台二级分类id
*/
private String cateSid;
/**
* 平台三级分类id
*/
private String cateTid;
/**
* 店铺一级分类id
*/
private String storeCateFid;
/**
* 店铺二级分类id
*/
private String storeCateSid;
/**
* 店铺三级分类id
*/
private String storeCateTid;
/**
* 品牌id
*/
private String brandId;
/**
* 上架处理方式[1-等待手动上架|2-直接上架售卖|3-预约定时上架]
*/
private String shelvesHandle;
/**
* 上架处理方式为3-预约定时上架时需要指定]
*/
private LocalDateTime shelvesTime;
/**
* 商品有效期
*/
private LocalDateTime spuValidity;
/**
* 是否虚拟商品[0-否|1-是]
*/
private String virtualFlg;
/**
* 审核状态[0-编辑中|1-审核中|2-审核不通过|3-审核通过]
*/
private String status;
/**
* 审核拒绝原因
*/
private String reason;
/**
* 商品上架状态[0-待上架|1-下架|2-违规|3-上架]
*/
private String shelvesStatus;
/**
* 自定义展示[0-默认展示|1-隐藏不可购买]
*/
private String spuAppear;
/**
* 删除标记[0-未删除|1-删除]
*/
private String delFlg;
/**
* 上架时间
*/
private LocalDateTime shelvesAt;
private String createdBy;
private LocalDateTime createdAt;
private String updatedBy;
private LocalDateTime updatedAt;
private String deletedBy;
private LocalDateTime deletedAt;
/**
* 物流模版id
*/
private String logisticsTemplate;
private String comment;
}
...@@ -23,7 +23,7 @@ public interface GoblinFrontService { ...@@ -23,7 +23,7 @@ public interface GoblinFrontService {
* @Description:获取热词 * @Description:获取热词
* @date 2022/1/5 下午2:31 * @date 2022/1/5 下午2:31
*/ */
List<GoblinFrontHotWord> getHotWord(); GoblinFrontHotWord getHotWord();
/** /**
* @author zhangfuxin * @author zhangfuxin
......
...@@ -56,6 +56,7 @@ public class GoblinFrontSelectGoodsController extends BaseController { ...@@ -56,6 +56,7 @@ public class GoblinFrontSelectGoodsController extends BaseController {
queryWrapper.orderByDesc(GoblinGoods::getCreatedAt); queryWrapper.orderByDesc(GoblinGoods::getCreatedAt);
}else if(type.equals("2")){ }else if(type.equals("2")){
//销量 暂时不考虑 //销量 暂时不考虑
}else if(type.equals("3")){ }else if(type.equals("3")){
//价格从高到低 //价格从高到低
queryWrapper.orderByDesc(GoblinGoods::getPriceGe); queryWrapper.orderByDesc(GoblinGoods::getPriceGe);
...@@ -63,6 +64,7 @@ public class GoblinFrontSelectGoodsController extends BaseController { ...@@ -63,6 +64,7 @@ public class GoblinFrontSelectGoodsController extends BaseController {
queryWrapper.orderByAsc(GoblinGoods::getPriceGe); queryWrapper.orderByAsc(GoblinGoods::getPriceGe);
} }
List<GoblinGoods> list=goblinGoodsMapper.selectList(queryWrapper); List<GoblinGoods> list=goblinGoodsMapper.selectList(queryWrapper);
return AjaxResult.success(list); return AjaxResult.success(list);
} }
......
...@@ -79,7 +79,7 @@ ...@@ -79,7 +79,7 @@
align: 'center', align: 'center',
formatter: function (value, row, index) { formatter: function (value, row, index) {
var actions = []; var actions = [];
actions.push('<a class="btn btn-danger btn-xs ' + rmvFlg + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.fcateId + '\')"><i class="fa fa-trash"></i>删除</a>'); // actions.push('<a class="btn btn-danger btn-xs ' + rmvFlg + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.fcateId + '\')"><i class="fa fa-trash"></i>删除</a>');
return actions.join(''); return actions.join('');
} }
}] }]
......
...@@ -247,6 +247,7 @@ ...@@ -247,6 +247,7 @@
var prefix = ctx + "goblin/extag"; var prefix = ctx + "goblin/extag";
var platformUrl = [[${platformUrl}]]; var platformUrl = [[${platformUrl}]];
let type = '1'; let type = '1';
let id = '';
$(function () { $(function () {
$("#fileinput").fileinput({ $("#fileinput").fileinput({
'theme': 'explorer-fas', 'theme': 'explorer-fas',
...@@ -326,10 +327,16 @@ ...@@ -326,10 +327,16 @@
}, },
cancel: function(res){ cancel: function(res){
console.log(res, '111') console.log(res, '111')
reset()
// layer.msg('捕获就是从页面已经存在的元素上,包裹layer的结构', {time: 5000, icon:6}); // layer.msg('捕获就是从页面已经存在的元素上,包裹layer的结构', {time: 5000, icon:6});
} }
}); });
}) })
function reset() {
id = '';
$("#musicName").val('');
$("#viewImg").attr('src', '');
}
$("#button-open-11").click(function(){ $("#button-open-11").click(function(){
$("button[name=refresh]").click() $("button[name=refresh]").click()
}) })
...@@ -351,12 +358,14 @@ ...@@ -351,12 +358,14 @@
console.log(res) console.log(res)
if (res.code == 0) { if (res.code == 0) {
closeModal(); closeModal();
reset()
$("button[name=refresh]").click() $("button[name=refresh]").click()
} }
} }
}) })
} }
function closeModal () { function closeModal () {
reset()
$(".layui-layer-close1").click(); $(".layui-layer-close1").click();
} }
</script> </script>
......
...@@ -122,7 +122,7 @@ ...@@ -122,7 +122,7 @@
</div> </div>
<div class="tags"> <div class="tags">
<label> <label>
<input type="radio" checked value="1" id="optionsRadios1" name="optionsRadios"><span>一行一个</span></label> <input type="radio" value="1" id="optionsRadios1" name="optionsRadios"><span>一行一个</span></label>
<label> <label>
<input type="radio" value="2" id="optionsRadios2" name="optionsRadios"><span>一行两个</span></label> <input type="radio" value="2" id="optionsRadios2" name="optionsRadios"><span>一行两个</span></label>
<label> <label>
...@@ -184,6 +184,7 @@ ...@@ -184,6 +184,7 @@
} else { } else {
$("#optionsRadios4").attr('checked', true).parent().siblings().children().removeAttr('checked'); $("#optionsRadios4").attr('checked', true).parent().siblings().children().removeAttr('checked');
} }
mid = data[0].mid;
for (var i = 0; i < data.length; i++) { for (var i = 0; i < data.length; i++) {
let str = ''; let str = '';
str += `<div class="items" data-id="${data[i].mid}"> str += `<div class="items" data-id="${data[i].mid}">
...@@ -303,6 +304,7 @@ ...@@ -303,6 +304,7 @@
informationC: '', informationC: '',
informationD: '', informationD: '',
mid: mid || '0', mid: mid || '0',
delTag: '0',
pageType: '1', pageType: '1',
rowType: count, rowType: count,
spuId: [], spuId: [],
......
...@@ -25,12 +25,13 @@ ...@@ -25,12 +25,13 @@
.function_area .banner { .function_area .banner {
position: absolute; position: absolute;
width: 373px; width: 373px;
height: 180px; height: 244px;
background: rgba(0,0,0,0); background: rgba(0,0,0,0);
left: 1px; left: 1px;
top: 104px; top: 104px;
cursor: pointer; cursor: pointer;
} }
.banner span, .searchAreaModeSp { .banner span, .searchAreaModeSp {
/* display: inline-block; */ /* display: inline-block; */
position: relative; position: relative;
...@@ -46,11 +47,49 @@ ...@@ -46,11 +47,49 @@
cursor: pointer; cursor: pointer;
display: none; display: none;
} }
.banner:hover,.searchAreaMode:hover { .huDongBanner {
height: 160px;
position: absolute;
width: 373px;
background: rgba(0,0,0,0);
cursor: pointer;
}
.moFang span, .jinGangWei span, .huDongBanner span {
/* display: inline-block; */
position: relative;
width: 20px;
height: 20px;
border-radius: 50%;
text-align: center;
line-height: 18px;
border: 2px solid yellowgreen;
right: -358px;
top: -10px;
color: yellowgreen;
cursor: pointer;
display: none;
}
.function_area .moFang {
position: absolute;
width: 373px;
height: 450px;
background: rgba(0,0,0,0);
left: 1px;
cursor: pointer;
}
.function_area .jinGangWei {
position: absolute;
width: 373px;
height: 250px;
background: rgba(0,0,0,0);
left: 1px;
cursor: pointer;
}
.banner:hover,.searchAreaMode:hover,.moFang:hover,.jinGangWei:hover,.huDongBanner:hover {
border-radius: 8px; border-radius: 8px;
border: 2px dashed yellowgreen; border: 2px dashed yellowgreen;
} }
.banner:hover .bannerSp,.searchAreaMode:hover .searchAreaModeSp { .banner:hover .bannerSp,.searchAreaMode:hover .searchAreaModeSp, .moFang:hover .mofangSp, .jinGangWei:hover .jinGangWeiSp, .huDongBanner:hover .huDongBannerSp {
display: inline-block; display: inline-block;
} }
.searchAreaMode { .searchAreaMode {
...@@ -90,7 +129,16 @@ ...@@ -90,7 +129,16 @@
<div class="banner" onclick="goArea(6)"> <div class="banner" onclick="goArea(6)">
<!-- <span class="bannerSp" onclick="delbannerSp()">X</span> --> <!-- <span class="bannerSp" onclick="delbannerSp()">X</span> -->
</div> </div>
<iframe src="http://172.16.2.214:8080/#/goods/home?place=admin" width="375" height="896" frameborder="0"></iframe> <div class="moFang" onclick="goArea(4)">
<span class="mofangSp" onclick="delSp()">X</span>
</div>
<div class="jinGangWei" onclick="goArea(1)">
<span class="jinGangWeiSp" onclick="delSp(1)">X</span>
</div>
<div class="huDongBanner" onclick="goArea(2)">
<span class="huDongBannerSp" onclick="delSp(2)">X</span>
</div>
<iframe src="http://172.16.2.214:8080/#/goods/home?place=admin" width="375" height="1190" frameborder="0"></iframe>
</div> </div>
</div> </div>
...@@ -98,6 +146,9 @@ ...@@ -98,6 +146,9 @@
<th:block th:include="include :: footer"/> <th:block th:include="include :: footer"/>
<script th:inline="javascript"> <script th:inline="javascript">
var prefix2 = ctx + "local"; var prefix2 = ctx + "local";
$(function() {
modalPx()
})
function goArea (num) { function goArea (num) {
switch(num) { switch(num) {
case 1: case 1:
...@@ -120,8 +171,23 @@ ...@@ -120,8 +171,23 @@
break; break;
} }
} }
function delbannerSp () { function delSp (num) {
console.log($('.goods-banner-props'), '有吗') console.log($('.goods-banner-props'), '有吗')
let arr = [
{"mid":2,"moudleIndexId":"708754120962334729770775","moudleName":"jinGangWei","indexs":2,"updateTime":"2022-01-11 17:40:03","createTime":"2022-01-06 13:53:45","delTag":0,"status":0},
{"mid":1,"moudleIndexId":"708753099180072962244503","moudleName":"huDongBanner","indexs":1,"updateTime":"2022-01-06 13:52:22","createTime":"2022-01-06 13:52:19","delTag":0,"status":0},
{"mid":3,"moudleIndexId":"708754120962334729770777","moudleName":"xianShiMiaoSha","indexs":3,"updateTime":"2022-01-06 13:55:04","createTime":"2022-01-06 13:55:07","delTag":0,"status":0},
{"mid":4,"moudleIndexId":"708754120962334729772770","moudleName":"moFang","indexs":3,"updateTime":"2022-01-14 13:32:40","createTime":"2022-01-06 13:55:34","delTag":0,"status":0}
]
arr[num-1].delTag = 1;
$.ajax({
type: 'post',
url: '/front-index/update',
data: JSON.stringify(arr[num-1]),
success:function (res) {
console.log(res, 'res')
}
})
} }
function git () { function git () {
$.ajax({ $.ajax({
...@@ -129,6 +195,55 @@ ...@@ -129,6 +195,55 @@
url: '/frontBanner/online', url: '/frontBanner/online',
success:function(res) { success:function(res) {
console.log(res) console.log(res)
if (res.code == 0) {
layer.msg('上线成功!')
}
}
})
}
function modalPx(params) {
$.ajax({
type: 'post',
url: '/front-index/list',
success: function (res) {
console.log(res, 'resp')
let {data} = res;
let firstHeight = '';
let secondHeight = '';
let datas = []
data.map(item => {
if (item.moudleIndexId != "708754120962334729770777") {
datas.push({...item})
}
})
console.log(datas, '??')
datas.forEach((item,index)=>{
if (item.delTag) {
$('.'+item.moudleName+'').hide()
}
if (index == 0) {
$('.'+item.moudleName+'').css('top', 341)
if (item.moudleName == "huDongBanner") {
firstHeight = 501;
} else if (item.moudleName == "jinGangWei") {
firstHeight = 591;
} else if (item.moudleName == "moFang") {
firstHeight = 791;
}
} else if (index == 1) {
$('.'+item.moudleName+'').css('top', firstHeight)
console.log($('.'+item.moudleName+''),firstHeight)
if (item.moudleName == "huDongBanner") {
secondHeight = firstHeight+160;
} else if (item.moudleName == "jinGangWei") {
secondHeight = firstHeight+250;
} else if (item.moudleName == "moFang") {
secondHeight = firstHeight+450;
}
} else {
$('.'+item.moudleName+'').css('top', secondHeight)
}
})
} }
}) })
} }
......
...@@ -173,9 +173,10 @@ ...@@ -173,9 +173,10 @@
"updateTime": updateTime ? updateTime : '', "updateTime": updateTime ? updateTime : '',
"word": hotArr.toString() "word": hotArr.toString()
} }
console.log(data, 'data') console.log(data, 'data222')
promiseMethods('/hotWord/updateOrCreate', 'post', JSON.stringify(data), 'application/json').then(res => { promiseMethods('/hotWord/updateOrCreate', 'post', JSON.stringify(data), 'application/json').then(res => {
console.log(res, 121212) layer.msg('创建成功!')
$.operate.successCallback(res);
}) })
// refreshItem() // refreshItem()
} }
......
...@@ -233,8 +233,9 @@ ...@@ -233,8 +233,9 @@
<div class="title"> <div class="title">
时间设置: 时间设置:
</div> </div>
<div class="select_tiem"> <div class="select_tiem" style="display:flex;">
<input type="text" class="layui-input form-control timeStart" id="startTime${i+1}" value="${data[i].startTime}" autocomplete="off" placeholder="配置活动时间"> <input type="text" class="layui-input form-control timeStart" id="startTime${i+1}" value="${data[i].startTime}" autocomplete="off" placeholder="配置活动时间">
<input type="text" class="layui-input form-control timeEnd" id="endTime${i+1}" value="${data[i].endTime}" autocomplete="off" placeholder="配置活动时间">
</div> </div>
</div> </div>
<div class="set_function_time" style="width: 40%;"> <div class="set_function_time" style="width: 40%;">
...@@ -310,8 +311,9 @@ ...@@ -310,8 +311,9 @@
<div class="title"> <div class="title">
时间设置: 时间设置:
</div> </div>
<div class="select_tiem"> <div class="select_tiem" style="display:flex;">
<input type="text" class="layui-input form-control timeStart" id="startTime${num}" autocomplete="off" placeholder="配置活动时间"> <input type="text" class="layui-input form-control timeStart" id="startTime${num}" autocomplete="off" placeholder="配置活动时间">
<input type="text" class="layui-input form-control timeEnd" id="endTime${num}" autocomplete="off" placeholder="配置活动时间">
</div> </div>
</div> </div>
<div class="set_function_time" style="width: 40%;"> <div class="set_function_time" style="width: 40%;">
...@@ -347,6 +349,7 @@ ...@@ -347,6 +349,7 @@
obj.mid = item.getAttribute('data-mid') || 0; // obj.mid = item.getAttribute('data-mid') || 0; //
obj.picUrl = item.querySelector('.imgBox').getAttribute('src'); obj.picUrl = item.querySelector('.imgBox').getAttribute('src');
obj.startTime = item.querySelector('.timeStart').value; obj.startTime = item.querySelector('.timeStart').value;
obj.endTime = item.querySelector('.timeEnd').value;
obj.updateTime = item.getAttribute('data-upData'); obj.updateTime = item.getAttribute('data-upData');
if (item.querySelector('#jumpSelect'+(index+1)+'').value == 2) { if (item.querySelector('#jumpSelect'+(index+1)+'').value == 2) {
obj.ticketId = item.querySelector('.h5Url').getAttribute('data-id'); obj.ticketId = item.querySelector('.h5Url').getAttribute('data-id');
...@@ -474,6 +477,10 @@ ...@@ -474,6 +477,10 @@
elem: `#startTime${num}`, //指定元素 elem: `#startTime${num}`, //指定元素
type: 'datetime' type: 'datetime'
}); });
laydate.render({
elem: `#endTime${num}`, //指定元素
type: 'datetime'
});
}); });
$("#fileinput"+num+"").fileinput({ $("#fileinput"+num+"").fileinput({
'theme': 'explorer-fas', 'theme': 'explorer-fas',
......
...@@ -89,7 +89,6 @@ ...@@ -89,7 +89,6 @@
data: params, data: params,
success: function(params) { success: function(params) {
console.log(params) console.log(params)
data = res.params;
} }
}) })
return return
......
...@@ -48,7 +48,7 @@ public class GoblinFrontController { ...@@ -48,7 +48,7 @@ public class GoblinFrontController {
} }
@GetMapping("getHotWord") @GetMapping("getHotWord")
@ApiOperation("获得热词") @ApiOperation("获得热词")
public ResponseDto<List<GoblinFrontHotWord>> getHotWord() { public ResponseDto<GoblinFrontHotWord> getHotWord() {
return ResponseDto.success( goblinFrontService.getHotWord() ); return ResponseDto.success( goblinFrontService.getHotWord() );
} }
@GetMapping("getNavigation") @GetMapping("getNavigation")
......
...@@ -88,7 +88,7 @@ public class GoblinFrontServiceImpl implements GoblinFrontService { ...@@ -88,7 +88,7 @@ public class GoblinFrontServiceImpl implements GoblinFrontService {
} }
@Override @Override
public List<GoblinFrontHotWord> getHotWord() { public GoblinFrontHotWord getHotWord() {
// int index= (int) redisUtil.get(GoblinRedisConst.FRONT_HOTWORD_INDEX); // int index= (int) redisUtil.get(GoblinRedisConst.FRONT_HOTWORD_INDEX);
//获得value //获得value
List<GoblinFrontHotWord> list= (List<GoblinFrontHotWord>) redisUtil.get(GoblinRedisConst.FRONT_HOTWORD); List<GoblinFrontHotWord> list= (List<GoblinFrontHotWord>) redisUtil.get(GoblinRedisConst.FRONT_HOTWORD);
...@@ -100,7 +100,11 @@ public class GoblinFrontServiceImpl implements GoblinFrontService { ...@@ -100,7 +100,11 @@ public class GoblinFrontServiceImpl implements GoblinFrontService {
}else{ }else{
hotWord= list.get(0).getWord(); hotWord= list.get(0).getWord();
}*/ }*/
return list; if(null==list||list.size()==0){
return null;
}else{
return list.get(0);
}
} }
@Override @Override
......
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