UPDATE tb_executive_company a INNER JOIN tb_winning_company b ON a.order_id = b.id and a.policy = 'BKP' and b.policy = 'KP' SET a.policy = b.policy
时间: 2024-04-06 16:30:03 浏览: 18
这是一个 MySQL 的 UPDATE 语句,它将 tb_executive_company 表中的 policy 字段值为 'BKP',且 order_id 字段与 tb_winning_company 表中的 id 字段匹配的记录,将它们的 policy 字段值更新为 'KP'。也就是说,将 tb_winning_company 表中获胜者的政策类型同步到 tb_executive_company 表中。
相关问题
ERROR com.winning.polaris.container.jetty.server.JettyServer - moduleId:Polaris_hmb_mobile_web For input string: ""
这个错误信息看上去像是一个字符串转换错误。"For input string: """的意思是说,代码尝试将一个空字符串转换为数字或其他类型的值,但是无法完成转换,因为该字符串不是有效的数字或类型。这可能是由于输入的数据格式不正确或代码中的错误所致。
您需要查看代码中相关的部分,检查代码是否正确处理了字符串转换操作,并确认输入的数据格式是否正确。如果您无法解决该问题,请提供更多的上下文和代码细节,我可以帮助您更好地理解和解决该问题。
for (Winning winning : winnings) { // 若存在物流信息 发货时间不能为空 if (winning.getPostTime() != null){ rightNow.setTime(winning.getPostTime()); //日期加1个月 rightNow.add(Calendar.MONTH,1); flg = rightNow.getTime().compareTo(new Date()); if (flg <= 0 ){ flag = true; } } if (!VtuzxUtil.isEmpty(winning.getOutState())){ // 自动收货 if(winning.getOutState().equals(String.valueOf(PrizeOutStateEnum.Sent_ENUM.value())) && flag){ // 修改发放状态为已收货 winningDao.updOutStateById(String.valueOf(winning.getId()),PrizeOutStateEnum.Receive_Goods.value()); winning.setOutState(PrizeOutStateEnum.Receive_Goods.value()); flag = false; } } dataList.add( new VtuzxMap("prizeName",winning.getPrizeName()) .append("receiptNo",winning.getReceiptNo()) .append("companyName",winning.getCompanyName()) .append("department",winning.getDepartment()) .append("prizeNum",winning.getPrizeNum()) .append("outStore",winning.getOutStore()) .append("giveOut",winning.getGiveOut()) .append("userName",winning.getUserName()) .append("activityName",winning.getActivityName()) .append("outState",winning.getOutState()) .append("mobile",winning.getMobile()) .append("activityId",winning.getAwardActivityId()) .append("prizeType",winning.getPrizeType()) .append("clearingState",winning.getClearingState()) .append("postCompany",winning.getPostCompany()) .append("storeName", winning.getStoreName()) .append("postNo",winning.getPostNo()) .append("postName",winning.getPostName()) .append("contactMobile",winning.getContactMobile()) .append("province",winning.getProvince()) .append("city",winning.getCity()) .append("area",winning.getArea()) .append("createdAt",VtuzxUtil.formatYmdHmsF(winning.getCreatedAt())) .append("addressDetail",winning.getAddressDetail()) ); }使用stream优化
可以使用 Java 8 中的 stream 来优化上述代码,具体实现如下:
```
List<Map<String, Object>> dataList = winnings.stream()
.filter(winning -> winning.getPostTime() != null)
.map(winning -> {
Calendar rightNow = Calendar.getInstance();
rightNow.setTime(winning.getPostTime());
rightNow.add(Calendar.MONTH, 1);
boolean flag = rightNow.getTime().compareTo(new Date()) <= 0;
if (!VtuzxUtil.isEmpty(winning.getOutState()) && winning.getOutState().equals(String.valueOf(PrizeOutStateEnum.Sent_ENUM.value())) && flag) {
winningDao.updOutStateById(String.valueOf(winning.getId()), PrizeOutStateEnum.Receive_Goods.value());
winning.setOutState(PrizeOutStateEnum.Receive_Goods.value());
flag = false;
}
return new VtuzxMap("prizeName", winning.getPrizeName())
.append("receiptNo", winning.getReceiptNo())
.append("companyName", winning.getCompanyName())
.append("department", winning.getDepartment())
.append("prizeNum", winning.getPrizeNum())
.append("outStore", winning.getOutStore())
.append("giveOut", winning.getGiveOut())
.append("userName", winning.getUserName())
.append("activityName", winning.getActivityName())
.append("outState", winning.getOutState())
.append("mobile", winning.getMobile())
.append("activityId", winning.getAwardActivityId())
.append("prizeType", winning.getPrizeType())
.append("clearingState", winning.getClearingState())
.append("postCompany", winning.getPostCompany())
.append("storeName", winning.getStoreName())
.append("postNo", winning.getPostNo())
.append("postName", winning.getPostName())
.append("contactMobile", winning.getContactMobile())
.append("province", winning.getProvince())
.append("city", winning.getCity())
.append("area", winning.getArea())
.append("createdAt", VtuzxUtil.formatYmdHmsF(winning.getCreatedAt()))
.append("addressDetail", winning.getAddressDetail());
})
.collect(Collectors.toList());
```
使用 stream 可以让代码更加简洁和易于理解,同时也有更好的可读性和可维护性。