Commit 010ac6c9 by Huang Linyu

后台修改资源操作,能记录操作人;修复因日期格式不对导致数据库存储无效数据(priceDate = null)的bug

parent 33e846af
...@@ -55,17 +55,28 @@ public class CourseResourceDao extends GenericHibernateDao<CourseResource, Integ ...@@ -55,17 +55,28 @@ public class CourseResourceDao extends GenericHibernateDao<CourseResource, Integ
} }
public void setStatus(CourseResourceStatusBean courseResourceStatusBean) { public void setStatus(CourseResourceStatusBean courseResourceStatusBean) {
String hql = "update CourseResource set status=:status where id in (" // String hql = "update CourseResource set status=:status,updateUser=:updateUser where id in ("
+ StringUtils.escapeSql(courseResourceStatusBean.getResourceIds()) + ")"; // + StringUtils.escapeSql(courseResourceStatusBean.getResourceIds()) + ")";
StringBuffer hql = new StringBuffer();
hql.append( "update CourseResource set status=:status where id in ("
+ StringUtils.escapeSql(courseResourceStatusBean.getResourceIds()) + ")");
if(org.apache.commons.lang.StringUtils.isNotBlank( courseResourceStatusBean.getUpdateUser())){
hql.append(" ,updateUser=:updateUser");
}
hql.append(" where id in ("+ StringUtils.escapeSql(courseResourceStatusBean.getResourceIds()) + ")");
Session session = this.getSession(); Session session = this.getSession();
String[] ids = courseResourceStatusBean.getResourceIds().split(","); String[] ids = courseResourceStatusBean.getResourceIds().split(",");
Integer[] ia = new Integer[ids.length]; Integer[] ia = new Integer[ids.length];
for (int i = 0; i < ids.length; i++) { for (int i = 0; i < ids.length; i++) {
ia[i] = Integer.parseInt(ids[i]); ia[i] = Integer.parseInt(ids[i]);
} }
session.createQuery(hql) Query query = session.createQuery(hql.toString())
.setParameter("status", courseResourceStatusBean.getResourceStatus()) .setParameter("status", courseResourceStatusBean.getResourceStatus());
.executeUpdate(); if(org.apache.commons.lang.StringUtils.isNotBlank( courseResourceStatusBean.getUpdateUser())){
query.setParameter("updateUser", courseResourceStatusBean.getUpdateUser());
}
query.executeUpdate();
} }
public int minusInvtory(Integer id, int num) { public int minusInvtory(Integer id, int num) {
......
...@@ -7,12 +7,15 @@ import java.util.Map; ...@@ -7,12 +7,15 @@ import java.util.Map;
import com.ctrip.fun.common.vo.product.ResourceCategoryEnum; import com.ctrip.fun.common.vo.product.ResourceCategoryEnum;
import com.ctrip.fun.common.vo.product.ResourceTypeEnum; import com.ctrip.fun.common.vo.product.ResourceTypeEnum;
import org.apache.commons.lang.StringUtils;
import org.hibernate.Query; import org.hibernate.Query;
import com.ctrip.fun.common.core.util.DateUtil; import com.ctrip.fun.common.core.util.DateUtil;
import com.ctrip.fun.common.vo.product.ResourceInventoryBean; import com.ctrip.fun.common.vo.product.ResourceInventoryBean;
import com.ctrip.fun.golf.dao.GenericHibernateDao; import com.ctrip.fun.golf.dao.GenericHibernateDao;
import com.ctrip.fun.golf.domain.product.ResourceInventory; import com.ctrip.fun.golf.domain.product.ResourceInventory;
import org.hibernate.criterion.CriteriaSpecification; import org.hibernate.criterion.CriteriaSpecification;
/** /**
...@@ -114,15 +117,20 @@ public class ResourceInventoryDao extends GenericHibernateDao<ResourceInventory, ...@@ -114,15 +117,20 @@ public class ResourceInventoryDao extends GenericHibernateDao<ResourceInventory,
* @param model * @param model
*/ */
public void saveOrUpdateByUniqueKey(ResourceInventory model) { public void saveOrUpdateByUniqueKey(ResourceInventory model) {
String sql = new StringBuilder().append("INSERT INTO prd_resourceInventory (ResourceCategory, ResourceID, Size, TheDate, Used) VALUES (:resourceCategory, :resourceId, :size, :theDate, :used) ") StringBuilder sql = new StringBuilder().append("INSERT INTO prd_resourceInventory (ResourceCategory, ResourceID, Size, TheDate, Used) VALUES (:resourceCategory, :resourceId, :size, :theDate, :used) ")
.append("ON DUPLICATE KEY UPDATE Size = :size, Used = :used").toString(); .append("ON DUPLICATE KEY UPDATE Size = :size, Used = :used");
Query query = this.getSession().createSQLQuery(sql); if(StringUtils.isNotBlank( model.getUpdateUser())){
sql.append(",updateUser=:updateUser");
}
Query query = this.getSession().createSQLQuery(sql.toString());
query.setParameter("resourceCategory", model.getResourceCategory()); query.setParameter("resourceCategory", model.getResourceCategory());
query.setParameter("resourceId", model.getResourceId()); query.setParameter("resourceId", model.getResourceId());
query.setParameter("size", model.getSize()); query.setParameter("size", model.getSize());
query.setParameter("theDate", model.getTheDate()); query.setParameter("theDate", model.getTheDate());
query.setParameter("used", model.getUsed()); query.setParameter("used", model.getUsed());
if(StringUtils.isNotBlank( model.getUpdateUser())){
query.setParameter("updateUser", model.getUpdateUser());
}
query.executeUpdate(); query.executeUpdate();
} }
} }
...@@ -189,6 +189,8 @@ public class CourseResource implements java.io.Serializable { ...@@ -189,6 +189,8 @@ public class CourseResource implements java.io.Serializable {
* 是否热门活动 * 是否热门活动
*/ */
private Boolean hotEvent; private Boolean hotEvent;
private String updateUser;
/** /**
* 赛事限制人员uid * 赛事限制人员uid
...@@ -579,4 +581,12 @@ public class CourseResource implements java.io.Serializable { ...@@ -579,4 +581,12 @@ public class CourseResource implements java.io.Serializable {
this.eventLimitUids = eventLimitUids; this.eventLimitUids = eventLimitUids;
} }
public String getUpdateUser() {
return updateUser;
}
public void setUpdateUser(String updateUser) {
this.updateUser = updateUser;
}
} }
...@@ -55,6 +55,8 @@ public class ResourceInventory implements java.io.Serializable { ...@@ -55,6 +55,8 @@ public class ResourceInventory implements java.io.Serializable {
* 创建时间 * 创建时间
*/ */
private Date createdTime; private Date createdTime;
private String updateUser;
@Id @Id
@GeneratedValue(strategy = IDENTITY) @GeneratedValue(strategy = IDENTITY)
...@@ -134,4 +136,12 @@ public class ResourceInventory implements java.io.Serializable { ...@@ -134,4 +136,12 @@ public class ResourceInventory implements java.io.Serializable {
this.used = used; this.used = used;
} }
public String getUpdateUser() {
return updateUser;
}
public void setUpdateUser(String updateUser) {
this.updateUser = updateUser;
}
} }
...@@ -114,6 +114,9 @@ public class ResourcePrice implements java.io.Serializable { ...@@ -114,6 +114,9 @@ public class ResourcePrice implements java.io.Serializable {
* 社员嘉宾立减 * 社员嘉宾立减
*/ */
private Double communeGuestMinus; private Double communeGuestMinus;
private String updateUser;
@Id @Id
@GeneratedValue(strategy = IDENTITY) @GeneratedValue(strategy = IDENTITY)
...@@ -313,4 +316,12 @@ public class ResourcePrice implements java.io.Serializable { ...@@ -313,4 +316,12 @@ public class ResourcePrice implements java.io.Serializable {
this.communeGuestMinus = communeGuestMinus; this.communeGuestMinus = communeGuestMinus;
} }
public String getUpdateUser() {
return updateUser;
}
public void setUpdateUser(String updateUser) {
this.updateUser = updateUser;
}
} }
...@@ -157,23 +157,25 @@ public class CourseResourceService extends ...@@ -157,23 +157,25 @@ public class CourseResourceService extends
.getResourceSiblings(resourceInventoryBean.getResourceId()); .getResourceSiblings(resourceInventoryBean.getResourceId());
for (Date date : dates) { for (Date date : dates) {
for (Integer resourceId : siblingResourceIds) { if(date!=null){
ResourceInventory resourceInventory = new ResourceInventory(); for (Integer resourceId : siblingResourceIds) {
BeanConverter.copyProperties(resourceInventory, resourceInventoryBean); ResourceInventory resourceInventory = new ResourceInventory();
resourceInventory.setTheDate(date); BeanConverter.copyProperties(resourceInventory, resourceInventoryBean);
resourceInventory.setResourceId(resourceId); resourceInventory.setTheDate(date);
this.resourceInventoryDao.saveOrUpdateByUniqueKey(resourceInventory); resourceInventory.setResourceId(resourceId);
} this.resourceInventoryDao.saveOrUpdateByUniqueKey(resourceInventory);
}
// ResourceInventory resource = this.resourceInventoryDao.getResourceInventory(date,
// resourceInventory.getResourceId(), // ResourceInventory resource = this.resourceInventoryDao.getResourceInventory(date,
// ResourceCategoryEnum.COURSE.getValue()); // resourceInventory.getResourceId(),
// if (resource != null) { // ResourceCategoryEnum.COURSE.getValue());
// resourceInventory.setId(resource.getId()); // if (resource != null) {
// this.resourceInventoryDao.merge(resourceInventory); // resourceInventory.setId(resource.getId());
// } else { // this.resourceInventoryDao.merge(resourceInventory);
// this.resourceInventoryDao.save(resourceInventory); // } else {
// } // this.resourceInventoryDao.save(resourceInventory);
// }
}
} }
} }
...@@ -1126,17 +1128,19 @@ public class CourseResourceService extends ...@@ -1126,17 +1128,19 @@ public class CourseResourceService extends
// Date[] dates = DateUtil.getDates(resourcePriceBean.getStartDate(),resourcePriceBean.getEndDate(), resourcePriceBean.getWeekdayStr()); // Date[] dates = DateUtil.getDates(resourcePriceBean.getStartDate(),resourcePriceBean.getEndDate(), resourcePriceBean.getWeekdayStr());
Date[] dates = resourcePriceBean.getTheDate(); Date[] dates = resourcePriceBean.getTheDate();
for (Date date : dates) { for (Date date : dates) {
ResourcePrice resourcePrice = new ResourcePrice(); if(date!=null){
BeanConverter.copyProperties(resourcePrice, resourcePriceBean); ResourcePrice resourcePrice = new ResourcePrice();
resourcePrice.setPriceDate(date); BeanConverter.copyProperties(resourcePrice, resourcePriceBean);
ResourcePrice price = this.resourcePriceDao.getResourcePrice(date, resourcePrice.setPriceDate(date);
resourcePriceBean.getResourceId()); ResourcePrice price = this.resourcePriceDao.getResourcePrice(date,
if (price != null) { resourcePriceBean.getResourceId());
resourcePrice.setId(price.getId()); if (price != null) {
this.resourcePriceDao.merge(resourcePrice); resourcePrice.setId(price.getId());
} else { this.resourcePriceDao.merge(resourcePrice);
this.resourcePriceDao.save(resourcePrice); } else {
} this.resourcePriceDao.save(resourcePrice);
}
}
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment