| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249 |
- package cn.com.lzt.appversion.service.impl;
- import cn.com.lzt.appversion.entity.AppVersionEntity;
- import cn.com.lzt.appversion.service.AppVersionServiceI;
- import cn.com.lzt.common.dao.RedisDao;
- import cn.com.lzt.common.service.TSysFileServiceI;
- import cn.com.lzt.common.util.CustomerConstant;
- import org.jeecgframework.core.common.service.impl.CommonServiceImpl;
- import org.jeecgframework.core.util.ApplicationContextUtil;
- import org.jeecgframework.core.util.MyClassLoader;
- import org.jeecgframework.core.util.StringUtil;
- import org.jeecgframework.web.cgform.enhance.CgformEnhanceJavaInter;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import org.springframework.transaction.annotation.Transactional;
- import java.io.Serializable;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- import java.util.UUID;
- @Service("appVersionService")
- @Transactional
- public class AppVersionServiceImpl extends CommonServiceImpl implements AppVersionServiceI {
-
- @Autowired
- private TSysFileServiceI tSysFileService;
- @Autowired
- private RedisDao redisDao;
-
- public void delete(AppVersionEntity entity) throws Exception{
- super.delete(entity);
- //执行删除操作增强业务
- this.doDelBus(entity);
- //添加删除文件
- tSysFileService.deleteByBusiId(entity.getId(), CustomerConstant.APPVERSION);
- //更新缓存中版本号
- AppVersionEntity appVersionNew = this.findNewAppVersion(entity.getSystemFlag());
- if(appVersionNew != null){
- Map<String,Object> param = new HashMap<String,Object>();
- param.put("versionCode", appVersionNew.getVersionCode());
- param.put("systemFlag", appVersionNew.getSystemFlag());
- param.put("updateFlag", appVersionNew.getUpdateFlag());
- try {
- redisDao.save(CustomerConstant.APPVERSION_FLAG + appVersionNew.getSystemFlag(), param);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }else{
- try {
- redisDao.delete(CustomerConstant.APPVERSION_FLAG + entity.getSystemFlag());
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- }
-
- public Serializable save(AppVersionEntity entity) throws Exception{
- Serializable t = super.save(entity);
- //执行新增操作增强业务
- this.doAddBus(entity);
- return t;
- }
-
- public Serializable save(AppVersionEntity entity, String tempBusiId) throws Exception{
- Serializable t = super.save(entity);
- tSysFileService.updateBusiIdWithTempBusiId(tempBusiId, entity.getId());
-
- //更新缓存中版本号
- AppVersionEntity appVersionNew = this.findNewAppVersion(entity.getSystemFlag());
- if(appVersionNew != null){
- Map<String,Object> param = new HashMap<String,Object>();
- param.put("versionCode", appVersionNew.getVersionCode());
- param.put("systemFlag", appVersionNew.getSystemFlag());
- param.put("updateFlag", appVersionNew.getUpdateFlag());
- try {
- redisDao.save(CustomerConstant.APPVERSION_FLAG + appVersionNew.getSystemFlag(), param);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }else{
- try {
- redisDao.delete(CustomerConstant.APPVERSION_FLAG + entity.getSystemFlag());
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- return t;
- }
-
-
- public Serializable saveAndUpdateRedis(AppVersionEntity entity, String tempBusiId) throws Exception{
- Serializable t = super.save(entity);
- tSysFileService.updateBusiIdWithTempBusiId(tempBusiId, entity.getId());
- //将最新版本号存入redis
- Map<String,Object> param = new HashMap<String,Object>();
- param.put("versionCode", entity.getVersionCode());
- param.put("systemFlag", entity.getSystemFlag());
- param.put("updateFlag", entity.getUpdateFlag());
- try {
- redisDao.save(CustomerConstant.APPVERSION_FLAG + entity.getSystemFlag(), param);
- } catch (Exception e) {
- e.printStackTrace();
- }
- return t;
- }
-
- public void saveOrUpdate(AppVersionEntity entity) throws Exception{
- super.saveOrUpdate(entity);
- //执行更新操作增强业务
- this.doUpdateBus(entity);
- }
-
-
- public void saveOrUpdate(AppVersionEntity entity, String tempBusiId) throws Exception{
- super.saveOrUpdate(entity);
-
- tSysFileService.updateBusiIdWithTempBusiId(tempBusiId, entity.getId());
-
- //更新时需要更新版本号信息,将最新的版本号放入redis缓存
- AppVersionEntity appVersion = this.findNewAppVersion(entity.getSystemFlag());
- if(appVersion != null){
- Map<String,Object> param = new HashMap<String,Object>();
- param.put("versionCode", appVersion.getVersionCode());
- param.put("systemFlag", appVersion.getSystemFlag());
- param.put("updateFlag", appVersion.getUpdateFlag());
- try {
- redisDao.save(CustomerConstant.APPVERSION_FLAG + appVersion.getSystemFlag(), param);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- }
-
- /**
- * 查询最新版本的app安装包信息
- *
- * @return
- */
- public AppVersionEntity findNewAppVersion(String systemFlag) {
- List<AppVersionEntity> versionInfoList = this.findHql(
- "FROM AppVersionEntity WHERE systemFlag=? ORDER BY createDate DESC", systemFlag);
- if(versionInfoList != null && versionInfoList.size() > 0 ){
- return versionInfoList.get(0);
- }
- return null;
- }
-
-
-
- /**
- * 新增操作增强业务
- * @param t
- * @return
- */
- private void doAddBus(AppVersionEntity t) throws Exception{
- //-----------------sql增强 start----------------------------
- //-----------------sql增强 end------------------------------
-
- //-----------------java增强 start---------------------------
- //-----------------java增强 end-----------------------------
- }
- /**
- * 更新操作增强业务
- * @param t
- * @return
- */
- private void doUpdateBus(AppVersionEntity t) throws Exception{
- //-----------------sql增强 start----------------------------
- //-----------------sql增强 end------------------------------
-
- //-----------------java增强 start---------------------------
- //-----------------java增强 end-----------------------------
- }
- /**
- * 删除操作增强业务
- * @param id
- * @return
- */
- private void doDelBus(AppVersionEntity t) throws Exception{
- //-----------------sql增强 start----------------------------
- //-----------------sql增强 end------------------------------
-
- //-----------------java增强 start---------------------------
- //-----------------java增强 end-----------------------------
- }
-
- private Map<String,Object> populationMap(AppVersionEntity t){
- Map<String,Object> map = new HashMap<String,Object>();
- map.put("id", t.getId());
- map.put("version_code", t.getVersionCode());
- map.put("system_flag", t.getSystemFlag());
- map.put("update_flag", t.getUpdateFlag());
- map.put("remark", t.getRemark());
- map.put("create_name", t.getCreateName());
- map.put("create_by", t.getCreateBy());
- map.put("create_date", t.getCreateDate());
- map.put("update_name", t.getUpdateName());
- map.put("update_by", t.getUpdateBy());
- map.put("update_date", t.getUpdateDate());
- return map;
- }
-
- /**
- * 替换sql中的变量
- * @param sql
- * @param t
- * @return
- */
- public String replaceVal(String sql,AppVersionEntity t){
- sql = sql.replace("#{id}",String.valueOf(t.getId()));
- sql = sql.replace("#{version_code}",String.valueOf(t.getVersionCode()));
- sql = sql.replace("#{system_flag}",String.valueOf(t.getSystemFlag()));
- sql = sql.replace("#{update_flag}",String.valueOf(t.getUpdateFlag()));
- sql = sql.replace("#{remark}",String.valueOf(t.getRemark()));
- sql = sql.replace("#{create_name}",String.valueOf(t.getCreateName()));
- sql = sql.replace("#{create_by}",String.valueOf(t.getCreateBy()));
- sql = sql.replace("#{create_date}",String.valueOf(t.getCreateDate()));
- sql = sql.replace("#{update_name}",String.valueOf(t.getUpdateName()));
- sql = sql.replace("#{update_by}",String.valueOf(t.getUpdateBy()));
- sql = sql.replace("#{update_date}",String.valueOf(t.getUpdateDate()));
- sql = sql.replace("#{UUID}",UUID.randomUUID().toString());
- return sql;
- }
-
- /**
- * 执行JAVA增强
- */
- private void executeJavaExtend(String cgJavaType,String cgJavaValue,Map<String,Object> data) throws Exception {
- if(StringUtil.isNotEmpty(cgJavaValue)){
- Object obj = null;
- try {
- if("class".equals(cgJavaType)){
- //因新增时已经校验了实例化是否可以成功,所以这块就不需要再做一次判断
- obj = MyClassLoader.getClassByScn(cgJavaValue).newInstance();
- }else if("spring".equals(cgJavaType)){
- obj = ApplicationContextUtil.getContext().getBean(cgJavaValue);
- }
- if(obj instanceof CgformEnhanceJavaInter){
- CgformEnhanceJavaInter javaInter = (CgformEnhanceJavaInter) obj;
- javaInter.execute("t_bus_app_version",data);
- }
- } catch (Exception e) {
- e.printStackTrace();
- throw new Exception("执行JAVA增强出现异常!");
- }
- }
- }
- }
|