发表于: 2017-06-27 09:14:07
2 1068
今天完成的任务:
1.修改优化代码,因为我们的product表是单独的一张表.前端传参的时候需要多穿一个json Object.把代码做了修改.从传字符串改为对象,companyTag因为只需要一个tagName所以仍然是用字符串传参.后端用函数处理.
company控制类
@RequestMapping(value = "/a/u/company", method = RequestMethod.POST)
public String addCompanyInfoJson(HttpServletRequest request, HttpServletResponse response, ModelMap model,
@RequestBody CompanyData companyData) {
Long uid = null;
Long companyId = null;
Company company = companyData.getCompany();
String comTag =companyData.getComTag();
Product product = companyData.getProduct();
Product productSource = new Product();
// String productName =companyData.getProductName();
// String productLogo =companyData.getProductLogo();
// String productSlogan = companyData.getProductSlogan();
// String productIntro = companyData.getProductIntro();
CompanyTag companyTag = new CompanyTag();
log.info("update company : company= " + company);
log.info("update companyTag:companyTag=" + companyData.getComTag());
//入参校验打*的不能为空
/* 检查公司名称是否为空 */
if (company.getCompanyName() == null) {
model.addAttribute("code", -6500);
return "/common/fail";
}
/* 检查公司标语是否为空 */
if (company.getCompanySlogan() == null) {
model.addAttribute("code", -6501);
return "/common/fail";
}
/* 检查公司人数 */
if (company.getStuffNumber() == null) {
model.addAttribute("code", -6502);
return "/common/fail";
}
/* 检查公司LOGO */
if (company.getCompanyLogo() == null) {
model.addAttribute("code", -6509);
return "/common/fail";
}
/* 检查公司介绍 */
if (company.getCompanyIntro() == null) {
model.addAttribute("code", -6510);
return "/common/fail";
}
/* 从cookie中获取管理者id */
uid = Long.valueOf(cookieUtil.getKeyIdentity(request, com.qding.common.util.http.cookie.CookieUtil.USER_ID));
company.setCreateBy(uid);
company.setUpdateBy(company.getCreateBy());
/* 获取修改时间戳 */
try {
//设置新增公司条目创建时间,updateAt
company.setCreateAt(System.currentTimeMillis());
company.setUpdateAt(company.getCreateAt());
/* 默认设置新增公司为解冻状态 */
company.setFreezed(UN_FREEZE);
//默认设置新增公司为未认证状态
company.setApproved(UN_APPROVED);
//日志输出参数
log.info("set company data: createAt,updateAt,freezed,approved "
+ company.getCreateAt() +" " + company.getUpdateAt() +" " +company.getFreezed() + " " +company.getApproved());
} catch (Throwable t) {
t.printStackTrace();
//日志输出异常信息
log.error(t.getMessage());
log.error(" set company data error ,company" + t);
model.addAttribute("code", -1);
return "/common/fail";
}
/* 插入公司记录 */
try {
companyId = companyService.insert(company);
log.info("insert companyId=" + companyId);
model.addAttribute("companyId", companyId);
//插入公司标签
if (null != comTag) {
String[] stringComTag = comTag.split(",");
List<String> comTaglist = Arrays.asList(stringComTag);
for (String t : comTaglist) {
companyTag.setComTagName(t);
companyTag.setCompanyId(companyId);
companyTag.setCreateAt(System.currentTimeMillis());companyTag.setUpdateAt(companyTag.getCreateAt());
这个地方还要再做优化,将service放到外面.
companyTagService.insert(companyTag);
}
if (null != product) {
productSource.setCompanyId(companyId);
productSource.setProductName(product.getProductName());
productSource.setProductLogo(product.getProductLogo());
productSource.setProductSlogan(product.getProductSlogan());
productSource.setProductIntro(product.getProductIntro());
productSource.setCreateAt(System.currentTimeMillis());
productSource.setUpdateAt(productSource.getCreateAt());
productService.insert(productSource);
}
log.info("get productSource data :" + productSource );
}
model.addAttribute("code", 0);
} catch (Throwable t) {
t.printStackTrace();
log.error(t.getMessage());
log.error("add companyTag error " + t);
model.addAttribute("code", -1);
return "/common/fail";
}
return "/common/addsuccess";
}
增加了一个Product PO,并从字符串优化成类.
package com.ptteng.carrots.sixgod.admin.po;
import com.ptteng.carrots.sixgod.model.Company;
import com.ptteng.carrots.sixgod.model.Product;
/**
* Created by dreamboy on 2017/6/27.
*/
public class CompanyData {
private Company company;
private String comTag;
private Product product;
// private String productName;
// private String productLogo;
// private String productSlogan;
// private String productIntro;
public Company getCompany() {
return company;
}
public void setCompany(Company company) {
this.company = company;
}
public String getComTag(){ return comTag;}
public void setcomTag(String comTag) {
this.comTag = comTag;
}
public Product getProduct() { return product;}
public void setProduct(Product product) { this.product = product;}
// public String getProductName(){return productName;}
//
// public void setProductName(String productName) { this.productName = productName;}
//
// public String getProductLogo(){return productLogo;}
//
// public void setProductLogo(String productLogo) { this.productLogo = productLogo;}
//
// public String getProductSlogan(){return productSlogan;}
//
// public void setProductSlogan(String productSlogan) { this.productSlogan = productSlogan;}
//
// public String getProductIntro(){return productIntro;}
//
// public void setProductIntro(String productIntro) { this.productIntro = productIntro;}}
2.图片上传本地联调没有问题,部署到开发机报错-100000.
问题的原因在于jar包冲突.在本地运行的时候,依赖的jar包在各自的仓库中.而打成war包上传到开发机后,所有的依赖jar包会放在lib下面,如下图
这样原来放在两个地方的jar包都会一起放在lib下面.如果有相同功能的包,就会产生jar包冲突.
而在本地开发的时候,它是这样放的
因为在不同的文件路径下,所以不会产生冲突.本地可以运行.
遇到的问题及其收获:
就是和后端联调的时候,需要提高效率.及早沟通.这都是教训也是收获.加油!
明天的计划:
demo一定要通过啊.不要再出幺蛾子.
评论