68 lines
2.0 KiB
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();
|
|
}
|
|
|
|
}
|