记得上下班打卡 | git大法好,push需谨慎

Commit 51a89773 authored by 胡佳晨's avatar 胡佳晨

提交 场地迁移,演出归属权迁移

parent f572b6be
......@@ -99,10 +99,7 @@ public class ImportServiceImpl implements IImportService {
params.add("mobile", enterMobile);
MultiValueMap<String, String> headers = CollectionUtil.linkedMultiValueMapStringString();
headers.add("Accept", "application/json;charset=UTF-8");
log.info("url = " + adamUrl.concat("/adam/rsc/reg/mobile"));
// String returnData = HttpUtil.post(adamUrl.concat("/adam/rsc/reg/mobile"), params, headers);
String returnData = HttpUtil.post("http://testadam.zhengzai.tv".concat("/adam/rsc/reg/mobile"), params, headers);
log.info("url = " + adamUrl.concat("/adam/rsc/reg/mobile"));
String returnData = HttpUtil.post(adamUrl.concat("/adam/rsc/reg/mobile"), params, headers);
AdamUserInfoVo adamUserInfoVo = JsonUtils.fromJson(returnData, new TypeReference<ResponseDto<AdamUserInfoVo>>() {
}).getData();
String uid = adamUserInfoVo.getUid();
......
......@@ -4,15 +4,23 @@ import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.core.type.TypeReference;
import com.liquidnet.common.cache.redis.util.RedisDataSourceUtil;
import com.liquidnet.commons.lang.util.*;
import com.liquidnet.service.adam.constant.AdamRedisConst;
import com.liquidnet.service.adam.dto.vo.AdamUserInfoVo;
import com.liquidnet.service.adam.entity.AdamUser;
import com.liquidnet.service.adam.mapper.AdamUserMapper;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.feign.stone.api.FeignStoneIntegralClient;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinPerformanceVo;
import com.liquidnet.service.kylin.entity.KylinExpressModule;
import com.liquidnet.service.kylin.entity.KylinPerformanceRelations;
import com.liquidnet.service.kylin.mapper.*;
import com.liquidnet.service.merchant.constant.MerchantRedisConst;
import com.liquidnet.service.merchant.dto.vo.MerchantFieldsVo;
import com.liquidnet.service.merchant.entity.MerchantFields;
import com.liquidnet.service.merchant.mapper.MerchantFieldsMapper;
import com.liquidnet.service.stone.constant.StoneConstant;
import com.liquidnet.service.stone.entity.StoneScoreLogs;
import com.liquidnet.service.stone.entity.StoneScoreUser;
......@@ -20,18 +28,22 @@ import com.liquidnet.service.stone.mapper.StoneScoreLogsMapper;
import com.liquidnet.service.stone.mapper.StoneScoreUserMapper;
import com.liquidnet.service.stone.vo.StoneUserVo;
import com.liquidnet.service.sweet.constant.SweetConstant;
import com.liquidnet.service.sweet.entity.SweetArtists;
import com.liquidnet.service.sweet.vo.SweetAppletUsersVo;
import com.liquidnet.service.sweet.vo.SweetWechatUsersVo;
import com.mysql.cj.jdbc.result.ResultSetImpl;
import lombok.extern.slf4j.Slf4j;
import org.bson.Document;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.convert.MongoConverter;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.data.mongodb.core.query.Update;
import org.springframework.stereotype.Service;
import org.springframework.util.MultiValueMap;
......@@ -55,6 +67,8 @@ public class DataImpl {
@Autowired
private MongoTemplate mongoTemplate;
@Autowired
private MongoConverter mongoConverter;
@Autowired
private RedisDataSourceUtil redisDataSourceUtil;
private static final List<String> defaultBackgroundList = Arrays.asList("https://img.zhengzai.tv/other/2021/07/27/150eeb0e20af4fc88e8a1ec57c46c362.png", "https://img.zhengzai.tv/files/2021/01/13/5ffeab3584b7d.png", "http://pic.zhengzai.tv/default/background.png", "http://img.zhengzai.tv/album/20171027/1509106243302.png");
......@@ -68,6 +82,10 @@ public class DataImpl {
StoneScoreLogsMapper stoneScoreLogsMapper;
@Autowired
FeignStoneIntegralClient stoneIntegralClient;
@Autowired
MerchantFieldsMapper merchantFieldsMapper;
@Autowired
KylinPerformanceRelationsMapper kylinPerformanceRelationsMapper;
public boolean initScore(int page, int size) {
......@@ -352,17 +370,44 @@ public class DataImpl {
}
private static final String SQL_URL = "jdbc:mysql://39.106.122.201:3308/test_ln_scene";
private static final String SQL_USER = "testmall";
private static final String SQL_PWD = "zhengzai!mYT";
private static final String ADAM_URL = "http://adam.zhengzai.tv";
//迁移场地和场地认领关系
public void fieldData() {
try {
String countSql = "select count(1) from";
String sql = "select count(1) from";
Connection connection = DriverManager.getConnection("jdbc:mysql://39.106.122.201:3308/test_ln_scene", "testmall", "zhengzai!mYT");
// //查询行数
// PreparedStatement preparedStatementCount = connection.prepareStatement(countSql);
// ResultSetImpl count = (ResultSetImpl) preparedStatementCount.executeQuery();
// int totalCount = count.getInt(1);
// int totalRows = totalCount;
// count.close();
String sql = "select mf.id AS 'field_id',\n" +
" 1 AS 'is_online',\n" +
" 0 AS 'is_check',\n" +
" mf.`name` AS 'name',\n" +
" '' AS 'logo',\n" +
" IF(LEFT(mf.cover_img, 4) = 'http', mf.cover_img, '') AS 'background',\n" +
" IF(ISNULL(mf.description), '', mf.description) AS 'description',\n" +
" NULL AS 'built_date',\n" +
" mf.province_id AS 'province_id',\n" +
" mf.province_name AS 'province_name',\n" +
" mf.city_id AS 'city_id',\n" +
" mf.city_name AS 'city_name',\n" +
" IF(mf.ad_code > 7000, mf.ad_code, '') AS 'district_id',\n" +
" mf.district_name AS 'district_name',\n" +
" mf.address AS 'address',\n" +
" mf.longitude AS 'longitude',\n" +
" mf.latitude AS 'latitude',\n" +
" mm.`name` AS 'contact_name',\n" +
" mm.mobile AS 'contact_mobile',\n" +
" mm.email AS 'contact_email',\n" +
" '' AS 'company_id',\n" +
" IF(ISNULL(mf.created_at), mf.updated_at, mf.created_at) AS 'created_at',\n" +
" mf.updated_at AS 'updated_at',\n" +
" mf.admin_id\n" +
"from kylin_performances as kp\n" +
" inner join kylin_performance_relations as kpr on kpr.performance_id = kp.performances_id\n" +
" inner join mall.fields as mf on mf.id = kpr.field_id\n" +
" left join mall.merchants as mm on mm.id = mf.admin_id\n" +
"group by field_id;";
Connection connection = DriverManager.getConnection(SQL_URL, SQL_USER, SQL_PWD);
//查询数据
PreparedStatement preparedStatement = connection.prepareStatement(sql);
ResultSetImpl row = (ResultSetImpl) preparedStatement.executeQuery();
......@@ -370,25 +415,109 @@ public class DataImpl {
preparedStatement.close();
//数据迁移
while (row.next()) {
//迁移省市县id
String url = "http://restapi.amap.com/v3/geocode/geo?key=389880a06e3f893ea46036f030c94700&s=rsv3&city=35&address=";
MerchantFields fields = new MerchantFields();
fields.setFieldId(row.getString("field_id"));
fields.setIsOnline(row.getInt("is_online"));
String contactMobile = row.getString("contact_mobile");
//判断场地认领逻辑
if (null != contactMobile && !contactMobile.isEmpty()) {
MultiValueMap<String, String> params = CollectionUtil.linkedMultiValueMapStringString();
params.add("mobile", contactMobile);
MultiValueMap<String, String> headers = CollectionUtil.linkedMultiValueMapStringString();
headers.add("Accept", "application/json;charset=UTF-8");
String returnData = HttpUtil.post(ADAM_URL.concat("/adam/rsc/reg/mobile"), params, headers);
AdamUserInfoVo adamUserInfoVo = JsonUtils.fromJson(returnData, new TypeReference<ResponseDto<AdamUserInfoVo>>() {
}).getData();
String uid = adamUserInfoVo.getUid();
fields.setClaimStatus(1);
fields.setUid(uid);
} else {
fields.setClaimStatus(0);
fields.setUid("");
}
//完成
fields.setIsCheck(row.getInt("is_check"));
fields.setName(row.getString("name"));
fields.setLogo(row.getString("logo"));
fields.setBackground(row.getString("background").contains(".") ? row.getString("background") : "");
fields.setDescription("空".equals(row.getString("description")) ? "" : row.getString("description"));
fields.setBuiltDate(null != row.getDate("built_date") ? row.getDate("built_date").toLocalDate() : null);
fields.setProvinceId(row.getString("province_id"));
fields.setProvinceName(row.getString("province_name"));
fields.setCityId(row.getString("city_id"));
fields.setCityName(row.getString("city_name"));
fields.setDistrictId(row.getString("district_id"));
fields.setDistrictName(row.getString("district_name"));
fields.setAddress(null != row.getString("address") ? row.getString("address") : "");
fields.setLongitude(row.getString("longitude").contains(".") ? row.getString("longitude") : "");
fields.setLatitude(row.getString("latitude").contains(".") ? row.getString("longitude") : "");
fields.setContactName(null != row.getString("contact_name") ? row.getString("contact_name") : "");
fields.setContactEmail(null != row.getString("contact_email") ? row.getString("contact_email") : "");
fields.setCompanyId(row.getString("company_id"));
fields.setCreatedAt(row.getTimestamp("created_at").toLocalDateTime());
fields.setUpdatedAt(row.getTimestamp("updated_at").toLocalDateTime());
MerchantFieldsVo vo = MerchantFieldsVo.getNew().copy(fields);
//MYSQL
merchantFieldsMapper.insert(fields);
//MONGO
setFieldsVoByFieldId(fields.getFieldId(), vo);
//REDIS
setRdsFieldsVoByFieldId(fields.getFieldId(), vo);
}
} catch (Exception e) {
e.printStackTrace();
}
}
//演出所属账号修改
public void Account() {
try {
String sql = "select merchant_id, mm.mobile\n" +
"from kylin_performances kp\n" +
" inner join kylin_performance_relations kpr on kpr.performance_id = kp.performances_id\n" +
" left join mall.merchants mm on mm.id = kpr.merchant_id\n" +
"group by mm.mobile";
Connection connection = DriverManager.getConnection(SQL_URL, SQL_USER, SQL_PWD);
//查询数据
PreparedStatement preparedStatement = connection.prepareStatement(sql);
ResultSetImpl row = (ResultSetImpl) preparedStatement.executeQuery();
row.close();
preparedStatement.close();
//数据迁移
while (row.next()) {
String mobile = row.getString("mobile");
String merchantId =row.getString("merchant_id");
//获取java用户id
MultiValueMap<String, String> params = CollectionUtil.linkedMultiValueMapStringString();
params.add("mobile", mobile);
MultiValueMap<String, String> headers = CollectionUtil.linkedMultiValueMapStringString();
headers.add("Accept", "application/json;charset=UTF-8");
// HttpUtil.get()
// $data = $data['geocodes'][0];
// $country = $data['country'];
// $province = $data['province'];
// $city = $data['city'];
// $district = $data['district'];
// $location = $data['location'];
String returnData = HttpUtil.post(ADAM_URL.concat("/adam/rsc/reg/mobile"), params, headers);
AdamUserInfoVo adamUserInfoVo = JsonUtils.fromJson(returnData, new TypeReference<ResponseDto<AdamUserInfoVo>>() {
}).getData();
String uid = adamUserInfoVo.getUid();
KylinPerformanceRelations kylinPerformanceRelations = KylinPerformanceRelations.getNew();
kylinPerformanceRelations.setMerchantId(uid);
kylinPerformanceRelationsMapper.update(kylinPerformanceRelations,
Wrappers.lambdaUpdate(KylinPerformanceRelations.class).eq(KylinPerformanceRelations::getMerchantId, merchantId));
}
} catch (Exception e) {
e.printStackTrace();
}
}
public void Account(){
//相关权限迁移
private void setFieldsVoByFieldId(String fieldId, MerchantFieldsVo vo) {
Query query = Query.query(Criteria.where("fieldId").is(fieldId));
Document document = (Document) mongoConverter.convertToMongoType(vo);
Update update = Update.fromDocument(document);
mongoTemplate.upsert(query, update, MerchantFieldsVo.class, MerchantFieldsVo.class.getSimpleName());
}
// 【场地】更新详情
private void setRdsFieldsVoByFieldId(String fieldId, MerchantFieldsVo vo) {
redisDataSourceUtil.getRedisKylinUtil().set(MerchantRedisConst.INFO_FIELD.concat(fieldId), vo);
}
}
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 to comment