memberSystem/src/main/java/com/ifish/daoImpl/DeviceDaoImpl.java

68 lines
2.0 KiB
Java

package com.ifish.daoImpl;
import java.math.BigInteger;
import java.util.List;
import org.hibernate.transform.Transformers;
import org.springframework.stereotype.Repository;
import com.ifish.dao.DeviceDao;
import com.ifish.entity.Device;
import com.ifish.entity.UpgradeNotes;
import com.ifish.hibernate.HibernateBaseDao;
/**
* @ClassName: DeviceDaoImpl
* @Description: TODO
* @author ggw
*
*/
@Repository("deviceDao")
public class DeviceDaoImpl extends HibernateBaseDao<Device, Integer> implements DeviceDao {
@Override
protected Class<Device> getEntityClass() {
return Device.class;
}
@Override
public int OnUpgrade(UpgradeNotes upgradeNotes) {
Integer upgradeVersion = upgradeNotes.getUpgradeVersion();
Integer sdkVersion = upgradeNotes.getSdkVersion();
sdkVersion = sdkVersion==null?-1:sdkVersion;
String factoryCode = upgradeNotes.getFactoryList().getFactoryCode();
String brandCode = upgradeNotes.getVenderList().getBrandCode();
String hardwareType = upgradeNotes.getHardwareType().getHardwareType();
String sql = "update tbl_device SET is_upgrade=1,upgrade_version=? where IF(? != '', factory_code=?, true) and IF(? != '', brand_code=?, true) and IF(? != '', hardware_type=?, true) and IF(? != -1, sdk_version=?, true)";
int number = this.getSession().createSQLQuery(sql)
.setInteger(0, upgradeVersion)
.setString(1, factoryCode)
.setString(2, factoryCode)
.setString(3, brandCode)
.setString(4, brandCode)
.setString(5, hardwareType)
.setString(6, hardwareType)
.setInteger(7, sdkVersion)
.setInteger(8, sdkVersion)
.executeUpdate();
return number;
}
@Override
public List<?> getReportDataByGroup(String sql,Class<?> claz) {
return this.getSession().createSQLQuery(sql).setResultTransformer(Transformers.aliasToBean(claz)).list();
}
@Override
public int getNumber(String sql) {
return ((BigInteger) this.getSession().createSQLQuery(sql).uniqueResult()).intValue();
}
@Override
public int executeSql(String sql) {
return this.getSession().createSQLQuery(sql).executeUpdate();
}
}