Authored by 张帅

文章标签

... ... @@ -48,9 +48,6 @@ public class GrassArticleServiceImpl implements IGrassArticleService{
private IGrassArticleLabelDao grassArticleLabelDao;
@Resource
private IGrassLabelDAO grassLabelDAO;
private IGrassTopicDAO grassTopicDAO;
@Autowired
private ServiceCaller serviceCaller;
... ... @@ -63,6 +60,28 @@ public class GrassArticleServiceImpl implements IGrassArticleService{
logger.info("enter publishArticle, req is {}", req);
publishCheck(req);
List<Integer> labels = Lists.newArrayList();
String[] urls = req.getArticleImages().split(",");
String[] skns = null;
if(StringUtils.isNotEmpty(req.getArticleSkns())){
skns = req.getArticleSkns().split(",");
if(skns.length > 5){
logger.info("publishArticle , article products more than most publish number");
throw new PlatformException("publish products most number is 5 ", 405);
}
}
if(urls.length > 9){
logger.info("publishArticle , article images more than most publish number");
throw new PlatformException("publish images most number is 9 ", 405);
}
if(StringUtils.isNotEmpty(req.getLabelIds())){
labels = Arrays.stream(req.getLabelIds().split(",")).map(Integer::valueOf).collect(Collectors.toList());
if(labels.size() > 5){
logger.info("publishArticle , article labels more than most publish number");
throw new PlatformException("publish labels most number is 5 ", 405);
}
}
long now = System.currentTimeMillis();
GrassArticle article = new GrassArticle();
article.setAuthorUid(req.getAuthorUid());
... ... @@ -77,7 +96,6 @@ public class GrassArticleServiceImpl implements IGrassArticleService{
try{
List<GrassArticleBlock> contentList = Lists.newArrayList();
String[] urls = req.getArticleImages().split(",");
int contentOrder =0;
for (String url : urls) {
GrassArticleBlock content = new GrassArticleBlock();
... ... @@ -105,10 +123,9 @@ public class GrassArticleServiceImpl implements IGrassArticleService{
}
try{
List<GrassArticleProduct> sknList = Lists.newArrayList();
if(StringUtils.isNotEmpty( req.getArticleSkns())){
String[] skns = req.getArticleSkns().split(",");
int orderby = 0;
List<GrassArticleProduct> sknList = Lists.newArrayList();
for (String skn: skns) {
GrassArticleProduct grassArticleSkn = new GrassArticleProduct();
grassArticleSkn.setArticleId(article.getId());
... ... @@ -128,22 +145,13 @@ public class GrassArticleServiceImpl implements IGrassArticleService{
}
//构建lables 数据
List<Integer> labels = Lists.newArrayList();
if(StringUtils.isNotEmpty(req.getLabelIds())){
labels = Arrays.stream(req.getLabelIds().split(",")).map(Integer::valueOf).collect(Collectors.toList());
if(labels.size() > 5){
logger.info("publishArticle , article products more than most publish number");
// throw new ServiceException(ServiceError.GRASS_ARTICLE_LABLES_MORE);
}
List<GrassArticleLabel> grassArticleLabels = buildArticleLabels(article.getId(), labels);
try{
if(CollectionUtils.isNotEmpty(grassArticleLabels)){
grassArticleLabelDao.insertArticleLabels(grassArticleLabels);
}
}catch (Exception e){
logger.warn("publishArticle ,grassArticleLableDao insertArticleLables error, uid is {}, e is {}", req.getAuthorUid(), e);
List<GrassArticleLabel> grassArticleLabels = buildArticleLabels(article.getId(), labels);
try{
if(CollectionUtils.isNotEmpty(grassArticleLabels)){
grassArticleLabelDao.insertArticleLabels(grassArticleLabels);
}
}catch (Exception e){
logger.warn("publishArticle ,grassArticleLableDao insertArticleLables error, uid is {}, e is {}", req.getAuthorUid(), e);
}
}
... ...
... ... @@ -11,6 +11,7 @@
<span style="color:red">*</span><label>手动搜索商品</label> <br>
<input id="skn" name="skn" class="easyui-textbox" style="width: 380px;"/>
<a id="searchBtn" class="go-search btn btn-primary">搜索商品</a>
<a id="searchUfoBtn" class="go-search btn btn-primary">搜索UFO商品</a>
</td>
</tr>
... ... @@ -36,6 +37,16 @@
attribute_not: "2"});
}
});
$("#searchUfoBtn").linkbutton({
iconCls : "icon-search",
onClick : function() {
checkedItemsObj ={};
$("#labelGroupListTable").datagrid("load", {
query: $("#skn").textbox("getValue"),
// sales: "Y",
type: "UFO"});
}
});
$("#skn").textbox({
prompt: "请输入skn,多个以逗号隔开"
});
... ... @@ -56,6 +67,7 @@
attribute_not: "2"
},
url: serverContextPath+"/grassArticle/queryGoods",
// url: contextPath+"/search/queryGoods",
method: 'POST',
loadFilter: function (data) {
var tmp = defaultLoadFilter(data);
... ...
... ... @@ -26,7 +26,7 @@
<body class="easyui-layout" >
<div region="north" style="height: 100px;">
<script>
document.write(addHead('运营管理', '种草内容发布'));
document.write(addHead('种草管理', '种草内容发布'));
</script>
</div>
... ... @@ -51,8 +51,10 @@
<tr style="height: 60px">
<td>
<label>选择话题</label> <br>
<input id="topic" name="topicId" class="easyui-combobox" style="width:60% "/>
<label>选择标签</label> <br>
<input id="labelId" name="labelId" class="easyui-combobox" style="width:60% "/>
<input id="labelIds" name="labelIds" hidden="hidden"/>
</td>
</tr>
<tr style="height: 20px">
... ... @@ -71,7 +73,7 @@
<tr style="height: 60px">
<td>
<label>关联商品</label> <br>
<a id="addSkn" class="btn-primary" onclick="getEditDialog()" style="font-size: 15px">新增商品+</a>
<a id="addSkn" class="btn-primary" onclick="getEditDialog()" style="font-size: 15px">选择商品+</a>
<input id="skns" name="articleSkns" hidden="hidden"/>
</td>
... ... @@ -112,7 +114,7 @@
selectOnNavigation : true,
valueField: 'text',
textField: 'value',
url : serverContextPath + "/grassArticle/platPublishUser",
url : contextPath + "/grassArticle/platPublishUser",
loadFilter: function (data) {
var list = [];
var obj = {};
... ... @@ -126,13 +128,14 @@
}
});
$("#topic").combobox({
prompt: "请选择话题",
$("#labelId").combobox({
prompt: "请选择标签",
required: false,
selectOnNavigation : true,
valueField: 'id',
textField: 'topicName',
url : serverContextPath + "/grassTopicManage/getAllTopic",
textField: 'labelName',
multiple:true,
url : serverContextPath + "/grassLabelManage/getAllGrassLabelInfo",
loadFilter: function (data) {
return defaultLoadFilter(data);
}
... ... @@ -164,6 +167,17 @@
}
});
$("#imgs").val(imgs);
var labels = '';
$("input[name='labelId']").each(function(j,item){
debugger
var id = item.value;
if(labels == ''){
labels = id;
}else{
labels = labels + ","+id;
}
});
$("#labelIds").val(labels);
return true;
},
success : function(data) {
... ... @@ -192,7 +206,7 @@
// 编辑分组
function getEditDialog(data){
var labelGroupList = $("<div id='labelGroupList'>").appendTo($(document.body));
var title = "新增商品";
var title = "选择商品";
var textVar = "确认";
var msgVar = "确认新增吗?";
... ... @@ -332,8 +346,8 @@
function addcheckItem() {
var i=0;
$("input[type='checkbox'][name='product_skn']:checked").each(function () {
if(i > 7){
alert("最多只能选择八个商品");
if(i > 4){
alert("最多只能选择五个商品");
return false;
}
var k = findCheckedItem($(this).val());
... ...
... ... @@ -26,7 +26,7 @@
<body class="easyui-layout" >
<div region="north" style="height: 200px;">
<script>
document.write(addHead('内容管理', '内容管理'));
document.write(addHead('种草管理', '内容管理'));
</script>
<div style="margin-left: 20px;margin-top: 10px">
... ... @@ -48,8 +48,6 @@
<!--<a id="addActivityBtn" class="btn-success">新增</a>-->
<a id="allBtn" class="btn-info">全部 </a>
<span style="float: right; margin-left: 10px;font-size: medium"><label id="tips" style="display: none; color: red;"> *当前使用中的奖品不足8个,请添加!</label></span>
</div></div>
... ... @@ -103,7 +101,7 @@
textField : "text",
required:false,
prompt: "请选择来源",
data:[{text:"全部",value:"0"},{text:"用户发布",value:"1"},{text:"guang资讯",value:"2"},{text:"mars",value:"3"},{text:"晒单",value:"4"}]
data:[{text:"全部",value:"0"},{text:"用户发布",value:"1"},{text:"guang资讯",value:"2"},{text:"mars",value:"3"},{text:"晒单",value:"4"},{text:"now社区",value:"5"}]
});
$("#searchBtn").linkbutton({
... ... @@ -170,7 +168,15 @@
str = str + ' <img style="width: 60px; height: 60px" src="'+ imgList[i]+'">';
}
str =str + '</p>';
// str =str + '<p> #'+rowData.topicName+'</p>';
var labelList = rowData.labelList;
var labelStr = "";
if(labelList !=null && labelList!=''){
for (var i=0; i<labelList.length; i++) {
labelStr = labelStr + "#"+labelList[i].name+"# ";
}
str =str + '<p> '+labelStr+'</p>';
}
str = str + '</div>';
return str;
... ... @@ -306,8 +312,6 @@
index = "";
}
$(this).datagrid("getPanel").find("a[role='switchR']").linkbutton({
iconCls : "icon-edit",
onClick: function () {
... ... @@ -385,8 +389,6 @@
}, "json");
}
});
... ...