|
|
@@ -0,0 +1,184 @@
|
|
|
+package com.fs.app.controller.app;
|
|
|
+
|
|
|
+
|
|
|
+import cn.hutool.core.bean.BeanUtil;
|
|
|
+import com.fs.app.annotation.Login;
|
|
|
+import com.fs.app.controller.AppBaseController;
|
|
|
+import com.fs.app.utils.CityTreeUtil;
|
|
|
+import com.fs.app.vo.CityVO;
|
|
|
+import com.fs.common.core.domain.R;
|
|
|
+import com.fs.common.utils.ParseUtils;
|
|
|
+import com.fs.his.domain.FsCity;
|
|
|
+import com.fs.his.domain.FsUserAddress;
|
|
|
+import com.fs.his.service.IFsCityService;
|
|
|
+import com.fs.his.service.IFsExpressService;
|
|
|
+import com.fs.his.service.IFsUserAddressService;
|
|
|
+import com.fs.hisStore.param.FsAddressParseParam;
|
|
|
+import com.fs.store.param.FsUserAddressAddEditParam;
|
|
|
+import com.google.common.collect.Lists;
|
|
|
+import io.swagger.annotations.Api;
|
|
|
+import io.swagger.annotations.ApiOperation;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.web.bind.annotation.*;
|
|
|
+import springfox.documentation.annotations.Cacheable;
|
|
|
+
|
|
|
+import javax.servlet.http.HttpServletRequest;
|
|
|
+import javax.validation.Valid;
|
|
|
+import java.util.List;
|
|
|
+
|
|
|
+
|
|
|
+@Api("地址接口")
|
|
|
+@RestController
|
|
|
+@RequestMapping(value="/app/address")
|
|
|
+public class AddressController extends AppBaseController {
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private IFsExpressService expressService;
|
|
|
+ @Autowired
|
|
|
+ private IFsUserAddressService addressService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private IFsCityService cityService;
|
|
|
+ @Login
|
|
|
+ @ApiOperation("获取城市数据")
|
|
|
+ @GetMapping("/getCity")
|
|
|
+ @Cacheable("citys")
|
|
|
+ public R getCity(HttpServletRequest request){
|
|
|
+ List<FsCity> list=cityService.selectFsCitys();
|
|
|
+ return R.ok().put("data", list);
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ @Login
|
|
|
+ @ApiOperation("获取城市数据")
|
|
|
+ @GetMapping("/getCitys")
|
|
|
+ @Cacheable("cityData")
|
|
|
+ public R getCitys(HttpServletRequest request){
|
|
|
+ List<FsCity> list=cityService.selectFsCitys();
|
|
|
+ List<CityVO> cityVOS = Lists.newArrayList();
|
|
|
+ for (FsCity city : list){
|
|
|
+ CityVO cityVO = new CityVO();
|
|
|
+ cityVO.setV(city.getCityId());
|
|
|
+ cityVO.setN(city.getCityName());
|
|
|
+ cityVO.setPid(city.getParentId());
|
|
|
+ cityVOS.add(cityVO);
|
|
|
+ }
|
|
|
+ return R.ok().put("data", CityTreeUtil.list2TreeConverter(cityVOS, "0"));
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ @Login
|
|
|
+// @ApiOperation("获取地址列表")
|
|
|
+ @GetMapping("/getAddressList")
|
|
|
+ public R getAddressList(HttpServletRequest request){
|
|
|
+ try {
|
|
|
+ FsUserAddress map=new FsUserAddress();
|
|
|
+ map.setUserId(Long.parseLong(getUserId()));
|
|
|
+ map.setIsDel(0);
|
|
|
+ List<FsUserAddress> list=addressService.selectFsUserAddressList(map);
|
|
|
+ return R.ok().put("data",list);
|
|
|
+ } catch (Exception e){
|
|
|
+ return R.error("操作异常");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ @Login
|
|
|
+// @ApiOperation("获取地址信息")
|
|
|
+ @GetMapping("/getAddressById")
|
|
|
+ public R getAddressById(@RequestParam("id")Long id, HttpServletRequest request){
|
|
|
+ FsUserAddress address=addressService.selectFsUserAddressByAddressId(id);
|
|
|
+ if(!address.getUserId().equals(Long.parseLong(getUserId()))){
|
|
|
+
|
|
|
+ return R.error("非法操作");
|
|
|
+ }
|
|
|
+ return R.ok().put("data",address);
|
|
|
+ }
|
|
|
+ @Login
|
|
|
+ @ApiOperation("添加地址")
|
|
|
+ @PostMapping("/addAddress")
|
|
|
+ public R addAddress(@Valid @RequestBody FsUserAddressAddEditParam address, HttpServletRequest request){
|
|
|
+ //处理地址数量 最大20个
|
|
|
+ Integer count=addressService.selectFsUserAddressCountsByUserId(Long.parseLong(getUserId()));
|
|
|
+ if(count>20){
|
|
|
+ return R.error("最多可创建20个地址");
|
|
|
+ }
|
|
|
+ address.setUserId(Long.parseLong(getUserId()));
|
|
|
+ if(address.getIsDefault()==1){
|
|
|
+ //处理默认地址
|
|
|
+ addressService.clearIsDefalut(Long.parseLong(getUserId()));
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ Long cityId= addressService.selectFsUserAddressByCityName(address.getCity());
|
|
|
+ address.setCityId(cityId);
|
|
|
+ if (cityId==null){
|
|
|
+ return R.error("系统中暂无此区县,请手动选择所在地区");
|
|
|
+ }
|
|
|
+
|
|
|
+ address.setPhone(address.getPhone().trim());
|
|
|
+ FsUserAddress userAddress=new FsUserAddress();
|
|
|
+ BeanUtil.copyProperties(address, userAddress);
|
|
|
+ addressService.insertFsUserAddress(userAddress);
|
|
|
+ return R.ok("操作成功");
|
|
|
+ }
|
|
|
+
|
|
|
+ @Login
|
|
|
+ @ApiOperation("编辑地址")
|
|
|
+ @PostMapping("/editAddress")
|
|
|
+ public R editAddress(@Valid @RequestBody FsUserAddressAddEditParam address, HttpServletRequest request){
|
|
|
+ if(address.getIsDefault()==1){
|
|
|
+ //处理默认地址
|
|
|
+ addressService.clearIsDefalut(Long.parseLong(getUserId()));
|
|
|
+ }
|
|
|
+
|
|
|
+ Long cityId= addressService.selectFsUserAddressByCityName(address.getCity());
|
|
|
+ address.setCityId(cityId);
|
|
|
+ if (cityId==null){
|
|
|
+ return R.error("系统中暂无此区县,请手动选择所在地区");
|
|
|
+ }
|
|
|
+ FsUserAddress userAddress=new FsUserAddress();
|
|
|
+ BeanUtil.copyProperties(address, userAddress);
|
|
|
+ addressService.updateFsUserAddress(userAddress);
|
|
|
+ return R.ok("操作成功");
|
|
|
+ }
|
|
|
+
|
|
|
+ @Login
|
|
|
+ @ApiOperation("删除地址")
|
|
|
+ @PostMapping("/delAddress")
|
|
|
+ public R delAddress(@RequestBody FsUserAddressAddEditParam address, HttpServletRequest request){
|
|
|
+ addressService.deleteFsUserAddressByAddressId(address.getAddressId());
|
|
|
+ return R.ok("操作成功");
|
|
|
+ }
|
|
|
+
|
|
|
+ @Login
|
|
|
+ @ApiOperation("地址解析")
|
|
|
+ @PostMapping("/parseAddress")
|
|
|
+ public R parseAddress(@RequestBody FsAddressParseParam param){
|
|
|
+ return expressService.parseAddress(param.getContent());
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ @Login
|
|
|
+ @ApiOperation("删除所有地址")
|
|
|
+ @PostMapping("/delAllAddress")
|
|
|
+ public R delAllAddress( HttpServletRequest request){
|
|
|
+ addressService.delAllAddress(Long.parseLong(getUserId()));
|
|
|
+ return R.ok("操作成功");
|
|
|
+ }
|
|
|
+
|
|
|
+ @Login
|
|
|
+ @ApiOperation("获取默认地址信息")
|
|
|
+ @GetMapping("/getAddressByDefault")
|
|
|
+ public R getAddressByDefault( HttpServletRequest request){
|
|
|
+ FsUserAddress address=addressService.selectFsUserAddressByDefault(Long.parseLong(getUserId()));
|
|
|
+ if (address!=null&&address.getPhone()!=null&&address.getPhone().length()>11&&!address.getPhone().matches("\\d+")){
|
|
|
+ address.setPhone(ParseUtils.parsePhone(address.getPhone()));
|
|
|
+ }
|
|
|
+ if (null!=address){
|
|
|
+ if(!address.getUserId().equals(Long.parseLong(getUserId()))){
|
|
|
+ return R.error("非法操作");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return R.ok().put("data",address);
|
|
|
+ }
|
|
|
+
|
|
|
+}
|