/* * Copyright 2017-2020 吴学文 and java110 team. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.java110.common.cmd.smallProgram; import com.alibaba.fastjson.JSONObject; import com.java110.core.annotation.Java110Cmd; import com.java110.core.context.ICmdDataFlowContext; import com.java110.core.event.cmd.Cmd; import com.java110.core.event.cmd.CmdEvent; import com.java110.core.factory.GenerateCodeFactory; import com.java110.doc.annotation.Java110CmdDoc; import com.java110.doc.annotation.Java110ParamDoc; import com.java110.doc.annotation.Java110ParamsDoc; import com.java110.dto.smallProgramAdvert.SmallProgramAdvert; import com.java110.dto.smallProgramAdvert.SmallProgramAdvertSaveDto; import com.java110.intf.common.ISmallProgramAdvertServiceSMO; import com.java110.utils.exception.CmdException; import com.java110.utils.util.Assert; import com.java110.utils.util.BeanConvertUtil; import com.java110.vo.ResultVo; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.util.StringUtils; import javax.annotation.Resource; import java.util.Date; /** * 类表述:查询 * 服务编码:advert.listAdvert * 请求路劲:/app/advert.ListAdvert * add by 吴学文 at 2022-06-19 10:07:43 mail: 928255095@qq.com * open source address: https://gitee.com/wuxw7/MicroCommunity * 官网:http://www.homecommunity.cn * 温馨提示:如果您对此文件进行修改 请不要删除原有作者及注释信息,请补充您的 修改的原因以及联系邮箱如下 * // modify by 张三 at 2021-09-12 第10行在某种场景下存在某种bug 需要修复,注释10至20行 加入 20行至30行 */ @Java110CmdDoc(title = "保存小程序广告", description = "保存小程序广告", httpMethod = "post", url = "http://{ip}:{port}/app/smallProgram.saveAdverts", resource = "communityDoc", serviceCode = "smallProgram.saveAdverts", seq = 16 ) @Java110ParamsDoc(params = { @Java110ParamDoc(name = "id", type = "string", length = 20, remark = "id"), @Java110ParamDoc(name = "position", type = "string", length = 255, remark = "广告位"), @Java110ParamDoc(name = "advertsName", type = "string", length = 255, remark = "广告名称"), @Java110ParamDoc(name = "picUrl", type = "string", length = 255, remark = "图片url"), @Java110ParamDoc(name = "url", type = "string", length = 255, remark = "查询关键字"), @Java110ParamDoc(name = "sort", type = "int", length = 255, remark = "排序"), @Java110ParamDoc(name = "supplierName", type = "string", length = 255, remark = "供应商名称"), @Java110ParamDoc(name = "desc", type = "string", length = 255, remark = "广告说明"), }) @Java110Cmd(serviceCode = "smallProgram.saveAdverts") public class SaveSmallProgramAdvertCmd extends Cmd { private static Logger logger = LoggerFactory.getLogger(SaveSmallProgramAdvertCmd.class); @Resource private ISmallProgramAdvertServiceSMO smallProgramAdvertService; @Override public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) { Assert.hasKeyAndValue(reqJson, "position", "广告位不能为空"); Assert.hasKeyAndValue(reqJson, "advertsName", "广告名称不能为空"); Assert.hasKeyAndValue(reqJson, "picUrl", "图片不能为空"); Assert.hasKeyAndValue(reqJson, "sort", "排序不能为空"); } @Override public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException { String userId = cmdDataFlowContext.getReqHeaders().get("user-id"); SmallProgramAdvertSaveDto smallProgramAdvertSaveDto = BeanConvertUtil.covertBean(reqJson, SmallProgramAdvertSaveDto.class); String advertId = GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_advertId); SmallProgramAdvert smallProgramAdvert = new SmallProgramAdvert(); smallProgramAdvert.setId(advertId); if(StringUtils.isEmpty(smallProgramAdvertSaveDto.getPosition())){ smallProgramAdvert.setPosition("业主小程序首页轮播图"); }else{ smallProgramAdvert.setPosition(smallProgramAdvertSaveDto.getPosition()); } smallProgramAdvert.setAdvertsName(smallProgramAdvertSaveDto.getAdvertsName()); smallProgramAdvert.setPicUrl(smallProgramAdvertSaveDto.getPicUrl()); smallProgramAdvert.setUrl(smallProgramAdvertSaveDto.getUrl()); smallProgramAdvert.setSort(smallProgramAdvertSaveDto.getSort()); smallProgramAdvert.setSupplierName(smallProgramAdvertSaveDto.getSupplierName()); //初始状态为草稿 smallProgramAdvert.setStatus(4); smallProgramAdvert.setDesc(smallProgramAdvertSaveDto.getDesc()); smallProgramAdvert.setCreateTime(new Date()); smallProgramAdvert.setUpdateTime(new Date()); smallProgramAdvert.setCreateUserId(userId); smallProgramAdvert.setUpdateUserId(userId); smallProgramAdvertService.saveSmallAdverts(smallProgramAdvert); cmdDataFlowContext.setResponseEntity(ResultVo.createResponseEntity(ResultVo.CODE_OK, "保存成功")); } }