|
|
@@ -1,19 +1,26 @@
|
|
|
package com.fs.company.service.impl;
|
|
|
|
|
|
+import com.fs.common.core.domain.R;
|
|
|
import com.fs.common.core.redis.RedisCache;
|
|
|
import com.fs.common.core.text.Convert;
|
|
|
import com.fs.common.utils.DateUtils;
|
|
|
import com.fs.common.utils.StringUtils;
|
|
|
import com.fs.company.domain.CompanyConfig;
|
|
|
+import com.fs.company.domain.CompanyMiniapp;
|
|
|
import com.fs.company.mapper.CompanyConfigMapper;
|
|
|
+import com.fs.company.mapper.CompanyMiniappMapper;
|
|
|
+import com.fs.company.param.SaveCompanyMiniAppParam;
|
|
|
import com.fs.company.service.ICompanyConfigService;
|
|
|
+import com.fs.company.vo.CompanyMiniAppVO;
|
|
|
import com.fs.system.domain.SysConfig;
|
|
|
import org.apache.http.util.Asserts;
|
|
|
import org.redisson.api.RedissonClient;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.data.redis.core.RedisTemplate;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
+import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
+import java.util.Date;
|
|
|
import java.util.List;
|
|
|
import java.util.concurrent.ConcurrentHashMap;
|
|
|
import java.util.concurrent.TimeUnit;
|
|
|
@@ -38,6 +45,8 @@ public class CompanyConfigServiceImpl implements ICompanyConfigService
|
|
|
private static final String REDIS_KEY_PREFIX = "red_packet_config:";
|
|
|
private static final long CACHE_TIMEOUT = 24 * 60 * 60;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ CompanyMiniappMapper companyMiniappMapper;
|
|
|
/**
|
|
|
* 查询参数配置
|
|
|
*
|
|
|
@@ -171,4 +180,62 @@ public class CompanyConfigServiceImpl implements ICompanyConfigService
|
|
|
private static Object getSynchronizationObject(Long companyId) {
|
|
|
return LOCKS.computeIfAbsent(companyId, k -> new Object());
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 获取公司可配置小程序列表
|
|
|
+ * @param companyId
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public List<CompanyMiniAppVO> getCompanyMiniAppList(Long companyId){
|
|
|
+ return companyConfigMapper.getCompanyMiniAppList(companyId);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 公司编辑保存主备小程序数据
|
|
|
+ * @param param
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ @Transactional
|
|
|
+ public R saveCompanyMiniApp(SaveCompanyMiniAppParam param){
|
|
|
+ CompanyMiniapp companyMiniapp = new CompanyMiniapp();
|
|
|
+ companyMiniapp.setCompanyId(param.getCompanyId());
|
|
|
+ //主要小程序
|
|
|
+ Integer type_main = 0;
|
|
|
+ //备用小程序
|
|
|
+ Integer type_backup = 1;
|
|
|
+
|
|
|
+ List<CompanyMiniapp> companyMiniapps = companyMiniappMapper.selectCompanyMiniappList(companyMiniapp);
|
|
|
+ if(null != companyMiniapps && !companyMiniapps.isEmpty() && companyMiniapps.size() == 2){
|
|
|
+ for (CompanyMiniapp miniapp : companyMiniapps) {
|
|
|
+ //主要小程序更新
|
|
|
+ if(type_main.equals(miniapp.getType())){
|
|
|
+ miniapp.setAppId(param.getMainMiniAppId());
|
|
|
+ }
|
|
|
+ //备用小程序更新
|
|
|
+ if(type_backup.equals(miniapp.getType())){
|
|
|
+ miniapp.setAppId(param.getBackupMiniAppId());
|
|
|
+ }
|
|
|
+ miniapp.setUpdateTime(new Date());
|
|
|
+ int i = companyMiniappMapper.updateCompanyMiniapp(miniapp);
|
|
|
+ }
|
|
|
+ }else{
|
|
|
+ CompanyMiniapp mainMiniapp = new CompanyMiniapp();
|
|
|
+ mainMiniapp.setCreateTime(new Date());
|
|
|
+ mainMiniapp.setType(type_main);
|
|
|
+ mainMiniapp.setAppId(param.getMainMiniAppId());
|
|
|
+ mainMiniapp.setSortNum(0);
|
|
|
+ mainMiniapp.setCompanyId(param.getCompanyId());
|
|
|
+ int i = companyMiniappMapper.insertCompanyMiniapp(mainMiniapp);
|
|
|
+ CompanyMiniapp backupMiniapp = new CompanyMiniapp();
|
|
|
+ backupMiniapp.setCreateTime(new Date());
|
|
|
+ backupMiniapp.setType(type_backup);
|
|
|
+ backupMiniapp.setAppId(param.getBackupMiniAppId());
|
|
|
+ backupMiniapp.setSortNum(0);
|
|
|
+ backupMiniapp.setCompanyId(param.getCompanyId());
|
|
|
+ int j = companyMiniappMapper.insertCompanyMiniapp(backupMiniapp);
|
|
|
+ }
|
|
|
+ return R.ok();
|
|
|
+ }
|
|
|
}
|