Browse Source

分布式事务例子

feature/dangjian
管理员 6 years ago
parent
commit
fe42b50557
  1. 2
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/SysUserServiceImpl.java
  2. 17
      esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/utils/GPSUtils.java
  3. 3
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/DemoController.java
  4. 2
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/AppUserServiceImpl.java
  5. 8
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/DemoServiceImpl.java
  6. 2
      esua-epdc/epdc-module/epdc-demo/epdc-demo-server/src/main/java/com/elink/esua/epdc/entity/DemoEntity.java
  7. 2
      esua-epdc/epdc-module/epdc-demo/epdc-demo-server/src/main/java/com/elink/esua/epdc/service/impl/DemoServiceImpl.java
  8. 2
      esua-epdc/epdc-module/epdc-demo/epdc-demo-server/src/test/java/com/elink/esua/epdc/OrikaTest.java
  9. 2
      esua-epdc/epdc-module/epdc-webservice/src/main/java/com/elink/esua/epdc/config/WebServiceConfig.java
  10. 2
      esua-epdc/epdc-module/epdc-webservice/src/main/java/com/elink/esua/epdc/dto/form/TestDTO.java
  11. 2
      esua-epdc/epdc-module/epdc-webservice/src/main/java/com/elink/esua/epdc/utils/JaxbUtil.java

2
esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/SysUserServiceImpl.java

@ -188,7 +188,7 @@ public class SysUserServiceImpl extends BaseServiceImpl<SysUserDao, SysUserEntit
@Override
public Result<GridLeaderRegisterDTO> listGridWhileLeaderRegister(String mobile) {
//TODO:该方法的获取组织结构不灵活,得重构 create by rongchao
QueryWrapper<SysUserEntity> wrapper = new QueryWrapper<>();
wrapper.eq(FieldConstant.MOBILE, mobile)
.eq(FieldConstant.DEL_FLAG, DelFlagEnum.NORMAL.value());

17
esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/utils/GPSUtils.java

@ -1,7 +1,7 @@
package com.elink.esua.epdc.commons.tools.utils;
/**
* @Description TODO
* @Description
* @Author yinzuomei
* @Date 2019/12/27 10:00
*/
@ -29,6 +29,7 @@ public class GPSUtils {
* pi)) * 2.0 / 3.0;
return ret;
}
public static double[] transform(double lat, double lon) {
if (outOfChina(lat, lon)) {
return new double[]{lat, lon};
@ -45,6 +46,7 @@ public class GPSUtils {
double mgLon = lon + dLon;
return new double[]{mgLat, mgLon};
}
public static boolean outOfChina(double lat, double lon) {
if (lon < 72.004 || lon > 137.8347)
return true;
@ -52,6 +54,7 @@ public class GPSUtils {
return true;
return false;
}
/**
* 84 to 火星坐标系 (GCJ-02) World Geodetic System ==> Mars Geodetic System
*
@ -78,13 +81,14 @@ public class GPSUtils {
/**
* * 火星坐标系 (GCJ-02) to 84 * * @param lon * @param lat * @return
* */
*/
public static double[] gcj02_To_Gps84(double lat, double lon) {
double[] gps = transform(lat, lon);
double lontitude = lon * 2 - gps[1];
double latitude = lat * 2 - gps[0];
return new double[]{latitude, lontitude};
}
/**
* 火星坐标系 (GCJ-02) 与百度坐标系 (BD-09) 的转换算法 GCJ-02 坐标转换成 BD-09 坐标
*
@ -115,7 +119,9 @@ public class GPSUtils {
return gps;
}
/**将gps84转为bd09
/**
* 将gps84转为bd09
*
* @param lat
* @param lon
* @return
@ -125,6 +131,7 @@ public class GPSUtils {
double[] bd09 = gcj02_To_Bd09(gcj02[0], gcj02[1]);
return bd09;
}
public static double[] bd09_To_gps84(double lat, double lon) {
double[] gcj02 = bd09_To_Gcj02(lat, lon);
double[] gps84 = gcj02_To_Gps84(gcj02[0], gcj02[1]);
@ -134,7 +141,9 @@ public class GPSUtils {
return gps84;
}
/**保留小数点后六位
/**
* 保留小数点后六位
*
* @param num
* @return
*/

3
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/DemoController.java

@ -4,6 +4,7 @@ import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.service.DemoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@ -28,7 +29,7 @@ public class DemoController {
* @return
*/
@PostMapping("seata")
public Result demo(Map<String, Object> map) {
public Result demo(@RequestBody Map<String, Object> map) {
return demoService.demo(map);
}

2
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/AppUserServiceImpl.java

@ -287,7 +287,6 @@ public class AppUserServiceImpl implements AppUserService {
GridLeaderRegisterDTO leaderRegisterDto = adminResult.getData();
// 组装用户注册信息
EpdcGridLeaderRegisterDTO gridLeaderRegister = this.packageGridLeaderWhileRegister(leaderRegisterDto.getSysUser(), formDto.getWxCode());
List<UserGridRelationDTO> userGridList = ConvertUtils.sourceToTarget(leaderRegisterDto.getLeaderGridList(), UserGridRelationDTO.class);
for (UserGridRelationDTO item : userGridList) {
//TODO:修改此地bug
@ -297,6 +296,7 @@ public class AppUserServiceImpl implements AppUserService {
// item.setParentDeptNames(item.getDistrictId()+","+item.getStreetId()+","+item.getCommunityId());
}
EpdcGridLeaderRegisterFormDTO registerDto = new EpdcGridLeaderRegisterFormDTO();
EpdcGridLeaderRegisterDTO gridLeaderRegister = this.packageGridLeaderWhileRegister(leaderRegisterDto.getSysUser(), formDto.getWxCode());
registerDto.setGridLeader(gridLeaderRegister);
registerDto.setUserGridList(userGridList);

8
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/DemoServiceImpl.java

@ -1,10 +1,12 @@
package com.elink.esua.epdc.service.impl;
import com.elink.esua.epdc.commons.tools.exception.RenException;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.ScanSwitchDTO;
import com.elink.esua.epdc.feign.DemoFeignClient;
import com.elink.esua.epdc.service.DemoService;
import com.elink.esua.epdc.service.ScanSwitchService;
import io.seata.spring.annotation.GlobalTransactional;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -24,13 +26,17 @@ public class DemoServiceImpl implements DemoService {
@Autowired
private DemoFeignClient demoFeignClient;
@GlobalTransactional(rollbackFor = Exception.class)
@Override
public Result demo(Map<String, Object> map) {
ScanSwitchDTO dto = new ScanSwitchDTO();
dto.setId("54185412da2bea73804fc1de69827e18");
dto.setMaintainInfo(map.get("username").toString());
scanSwitchService.update(dto);
demoFeignClient.seata(map.get("username").toString(), Integer.parseInt(map.get("age").toString()));
Result<String> r = demoFeignClient.seata(map.get("username").toString(), Integer.parseInt(map.get("age").toString()));
if (!r.success()) {
throw new RenException("添加失败");
}
return new Result();
}
}

2
esua-epdc/epdc-module/epdc-demo/epdc-demo-server/src/main/java/com/elink/esua/epdc/entity/DemoEntity.java

@ -28,7 +28,7 @@ public class DemoEntity implements Serializable {
* 用户ID
*/
@TableId
private Long id;
private String id;
/**
* 用户名
*/

2
esua-epdc/epdc-module/epdc-demo/epdc-demo-server/src/main/java/com/elink/esua/epdc/service/impl/DemoServiceImpl.java

@ -16,7 +16,9 @@ import com.elink.esua.epdc.dao.DemoDao;
import com.elink.esua.epdc.dto.DemoDto;
import com.elink.esua.epdc.entity.DemoEntity;
import com.elink.esua.epdc.service.DemoService;
import io.seata.spring.annotation.GlobalTransactional;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;

2
esua-epdc/epdc-module/epdc-demo/epdc-demo-server/src/test/java/com/elink/esua/epdc/OrikaTest.java

@ -29,7 +29,7 @@ public class OrikaTest {
@Test
public void Test() {
DemoEntity demoEntity = new DemoEntity();
demoEntity.setId(1000L);
// demoEntity.setId(1000L);
demoEntity.setName("name");
demoEntity.setAge(19);

2
esua-epdc/epdc-module/epdc-webservice/src/main/java/com/elink/esua/epdc/config/WebServiceConfig.java

@ -10,7 +10,7 @@ import org.springframework.context.annotation.Configuration;
import javax.xml.ws.Endpoint;
/**
* @Description TODO
* @Description
* @Author yinzuomei
* @Date 2019/12/30 12:55
*/

2
esua-epdc/epdc-module/epdc-webservice/src/main/java/com/elink/esua/epdc/dto/form/TestDTO.java

@ -6,7 +6,7 @@ import javax.xml.bind.annotation.*;
import java.io.Serializable;
/**
* @Description TODO
* @Description
* @Author yinzuomei
* @Date 2019/12/30 17:28
*/

2
esua-epdc/epdc-module/epdc-webservice/src/main/java/com/elink/esua/epdc/utils/JaxbUtil.java

@ -1,7 +1,7 @@
package com.elink.esua.epdc.utils;
/**
* @Description TODO
* @Description
* @Author yinzuomei
* @Date 2019/12/30 17:46
*/

Loading…
Cancel
Save