发表于: 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一定要通过啊.不要再出幺蛾子.



返回列表 返回列表
评论

    分享到