package com.java110.user.cmd.property; import com.alibaba.fastjson.JSONObject; import com.java110.core.annotation.Java110Cmd; import com.java110.core.annotation.Java110Transactional; 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.user.dao.property.IAppVersionV1ServiceDao; import com.java110.utils.exception.CmdException; import com.java110.utils.util.Assert; import com.java110.vo.ResultVo; import org.springframework.beans.factory.annotation.Autowired; import java.util.HashMap; import java.util.Map; @Java110Cmd(serviceCode = "appVersion.saveAppVersion") public class SaveAppVersionCmd extends Cmd { @Autowired private IAppVersionV1ServiceDao appVersionV1ServiceDao; @Override public void validate(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) { Assert.hasKeyAndValue(reqJson, "versionCode", "未包含版本号"); Assert.hasKeyAndValue(reqJson, "versionName", "未包含版本名称"); Assert.hasKeyAndValue(reqJson, "downloadUrl", "未包含下载地址"); Assert.hasKeyAndValue(reqJson, "platform", "未包含平台"); } @Override @Java110Transactional public void doCmd(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException { Map params = new HashMap<>(); params.put("avId", GenerateCodeFactory.getGeneratorId("AV")); params.put("versionCode", reqJson.getIntValue("versionCode")); params.put("versionName", reqJson.getString("versionName")); params.put("downloadUrl", reqJson.getString("downloadUrl")); params.put("forceUpdate", reqJson.getIntValue("forceUpdate")); params.put("updateMessage", reqJson.getString("updateMessage")); params.put("platform", reqJson.getString("platform")); int flag = appVersionV1ServiceDao.saveAppVersion(params); if (flag < 1) { throw new CmdException("保存版本信息失败"); } context.setResponseEntity(ResultVo.success()); } }