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 @Override
public Result<GridLeaderRegisterDTO> listGridWhileLeaderRegister(String mobile) { public Result<GridLeaderRegisterDTO> listGridWhileLeaderRegister(String mobile) {
//TODO:该方法的获取组织结构不灵活,得重构 create by rongchao
QueryWrapper<SysUserEntity> wrapper = new QueryWrapper<>(); QueryWrapper<SysUserEntity> wrapper = new QueryWrapper<>();
wrapper.eq(FieldConstant.MOBILE, mobile) wrapper.eq(FieldConstant.MOBILE, mobile)
.eq(FieldConstant.DEL_FLAG, DelFlagEnum.NORMAL.value()); .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; package com.elink.esua.epdc.commons.tools.utils;
/** /**
* @Description TODO * @Description
* @Author yinzuomei * @Author yinzuomei
* @Date 2019/12/27 10:00 * @Date 2019/12/27 10:00
*/ */
@ -29,6 +29,7 @@ public class GPSUtils {
* pi)) * 2.0 / 3.0; * pi)) * 2.0 / 3.0;
return ret; return ret;
} }
public static double[] transform(double lat, double lon) { public static double[] transform(double lat, double lon) {
if (outOfChina(lat, lon)) { if (outOfChina(lat, lon)) {
return new double[]{lat, lon}; return new double[]{lat, lon};
@ -45,6 +46,7 @@ public class GPSUtils {
double mgLon = lon + dLon; double mgLon = lon + dLon;
return new double[]{mgLat, mgLon}; return new double[]{mgLat, mgLon};
} }
public static boolean outOfChina(double lat, double lon) { public static boolean outOfChina(double lat, double lon) {
if (lon < 72.004 || lon > 137.8347) if (lon < 72.004 || lon > 137.8347)
return true; return true;
@ -52,6 +54,7 @@ public class GPSUtils {
return true; return true;
return false; return false;
} }
/** /**
* 84 to 火星坐标系 (GCJ-02) World Geodetic System ==> Mars Geodetic System * 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 * * 火星坐标系 (GCJ-02) to 84 * * @param lon * @param lat * @return
* */ */
public static double[] gcj02_To_Gps84(double lat, double lon) { public static double[] gcj02_To_Gps84(double lat, double lon) {
double[] gps = transform(lat, lon); double[] gps = transform(lat, lon);
double lontitude = lon * 2 - gps[1]; double lontitude = lon * 2 - gps[1];
double latitude = lat * 2 - gps[0]; double latitude = lat * 2 - gps[0];
return new double[]{latitude, lontitude}; return new double[]{latitude, lontitude};
} }
/** /**
* 火星坐标系 (GCJ-02) 与百度坐标系 (BD-09) 的转换算法 GCJ-02 坐标转换成 BD-09 坐标 * 火星坐标系 (GCJ-02) 与百度坐标系 (BD-09) 的转换算法 GCJ-02 坐标转换成 BD-09 坐标
* *
@ -115,7 +119,9 @@ public class GPSUtils {
return gps; return gps;
} }
/**将gps84转为bd09 /**
* 将gps84转为bd09
*
* @param lat * @param lat
* @param lon * @param lon
* @return * @return
@ -125,6 +131,7 @@ public class GPSUtils {
double[] bd09 = gcj02_To_Bd09(gcj02[0], gcj02[1]); double[] bd09 = gcj02_To_Bd09(gcj02[0], gcj02[1]);
return bd09; return bd09;
} }
public static double[] bd09_To_gps84(double lat, double lon) { public static double[] bd09_To_gps84(double lat, double lon) {
double[] gcj02 = bd09_To_Gcj02(lat, lon); double[] gcj02 = bd09_To_Gcj02(lat, lon);
double[] gps84 = gcj02_To_Gps84(gcj02[0], gcj02[1]); double[] gps84 = gcj02_To_Gps84(gcj02[0], gcj02[1]);
@ -134,7 +141,9 @@ public class GPSUtils {
return gps84; return gps84;
} }
/**保留小数点后六位 /**
* 保留小数点后六位
*
* @param num * @param num
* @return * @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 com.elink.esua.epdc.service.DemoService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping; 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.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
@ -28,7 +29,7 @@ public class DemoController {
* @return * @return
*/ */
@PostMapping("seata") @PostMapping("seata")
public Result demo(Map<String, Object> map) { public Result demo(@RequestBody Map<String, Object> map) {
return demoService.demo(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(); GridLeaderRegisterDTO leaderRegisterDto = adminResult.getData();
// 组装用户注册信息 // 组装用户注册信息
EpdcGridLeaderRegisterDTO gridLeaderRegister = this.packageGridLeaderWhileRegister(leaderRegisterDto.getSysUser(), formDto.getWxCode());
List<UserGridRelationDTO> userGridList = ConvertUtils.sourceToTarget(leaderRegisterDto.getLeaderGridList(), UserGridRelationDTO.class); List<UserGridRelationDTO> userGridList = ConvertUtils.sourceToTarget(leaderRegisterDto.getLeaderGridList(), UserGridRelationDTO.class);
for (UserGridRelationDTO item : userGridList) { for (UserGridRelationDTO item : userGridList) {
//TODO:修改此地bug //TODO:修改此地bug
@ -297,6 +296,7 @@ public class AppUserServiceImpl implements AppUserService {
// item.setParentDeptNames(item.getDistrictId()+","+item.getStreetId()+","+item.getCommunityId()); // item.setParentDeptNames(item.getDistrictId()+","+item.getStreetId()+","+item.getCommunityId());
} }
EpdcGridLeaderRegisterFormDTO registerDto = new EpdcGridLeaderRegisterFormDTO(); EpdcGridLeaderRegisterFormDTO registerDto = new EpdcGridLeaderRegisterFormDTO();
EpdcGridLeaderRegisterDTO gridLeaderRegister = this.packageGridLeaderWhileRegister(leaderRegisterDto.getSysUser(), formDto.getWxCode());
registerDto.setGridLeader(gridLeaderRegister); registerDto.setGridLeader(gridLeaderRegister);
registerDto.setUserGridList(userGridList); 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; 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.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.ScanSwitchDTO; import com.elink.esua.epdc.dto.ScanSwitchDTO;
import com.elink.esua.epdc.feign.DemoFeignClient; import com.elink.esua.epdc.feign.DemoFeignClient;
import com.elink.esua.epdc.service.DemoService; import com.elink.esua.epdc.service.DemoService;
import com.elink.esua.epdc.service.ScanSwitchService; import com.elink.esua.epdc.service.ScanSwitchService;
import io.seata.spring.annotation.GlobalTransactional;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -24,13 +26,17 @@ public class DemoServiceImpl implements DemoService {
@Autowired @Autowired
private DemoFeignClient demoFeignClient; private DemoFeignClient demoFeignClient;
@GlobalTransactional(rollbackFor = Exception.class)
@Override @Override
public Result demo(Map<String, Object> map) { public Result demo(Map<String, Object> map) {
ScanSwitchDTO dto = new ScanSwitchDTO(); ScanSwitchDTO dto = new ScanSwitchDTO();
dto.setId("54185412da2bea73804fc1de69827e18"); dto.setId("54185412da2bea73804fc1de69827e18");
dto.setMaintainInfo(map.get("username").toString()); dto.setMaintainInfo(map.get("username").toString());
scanSwitchService.update(dto); 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(); 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 * 用户ID
*/ */
@TableId @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.dto.DemoDto;
import com.elink.esua.epdc.entity.DemoEntity; import com.elink.esua.epdc.entity.DemoEntity;
import com.elink.esua.epdc.service.DemoService; import com.elink.esua.epdc.service.DemoService;
import io.seata.spring.annotation.GlobalTransactional;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List; 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 @Test
public void Test() { public void Test() {
DemoEntity demoEntity = new DemoEntity(); DemoEntity demoEntity = new DemoEntity();
demoEntity.setId(1000L); // demoEntity.setId(1000L);
demoEntity.setName("name"); demoEntity.setName("name");
demoEntity.setAge(19); 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; import javax.xml.ws.Endpoint;
/** /**
* @Description TODO * @Description
* @Author yinzuomei * @Author yinzuomei
* @Date 2019/12/30 12:55 * @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; import java.io.Serializable;
/** /**
* @Description TODO * @Description
* @Author yinzuomei * @Author yinzuomei
* @Date 2019/12/30 17:28 * @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; package com.elink.esua.epdc.utils;
/** /**
* @Description TODO * @Description
* @Author yinzuomei * @Author yinzuomei
* @Date 2019/12/30 17:46 * @Date 2019/12/30 17:46
*/ */

Loading…
Cancel
Save