diff --git a/src/main/java/com/hxtec/polaris/controller/LocationController.java b/src/main/java/com/hxtec/polaris/controller/LocationController.java index 9ee9b0ca1deb59bb7652dde32d0ac0ac58287ca1..56ce09af5f7564ad27361f56e6d24728ed1456f8 100644 --- a/src/main/java/com/hxtec/polaris/controller/LocationController.java +++ b/src/main/java/com/hxtec/polaris/controller/LocationController.java @@ -49,4 +49,9 @@ public class LocationController { List list = Arrays.asList(ids.split(",")); return locationService.deleteLoaction(list); } + + @GetMapping("getDefault") + public Object getDefaultLocation(){ + return locationService.getDefaultLocation(); + } } diff --git a/src/main/java/com/hxtec/polaris/mapper/ShopAddressMapper.java b/src/main/java/com/hxtec/polaris/mapper/ShopAddressMapper.java index 08df527f830957da7f0681cbd6e22458b9b545a1..3a9508914e4bb88e82e031d3c7e3b1851389aabd 100644 --- a/src/main/java/com/hxtec/polaris/mapper/ShopAddressMapper.java +++ b/src/main/java/com/hxtec/polaris/mapper/ShopAddressMapper.java @@ -84,4 +84,18 @@ public interface ShopAddressMapper extends MyMapper { * @return */ int updateDefaultState(ShopAddress shopAddress); + + /** + * 根据用户名获取默认收货地址 + * @param username + * @return + */ + Map selectDefaultByUsername(@Param("username") String username); + + /** + * 根据用户名获取默认收货地址,当没有默认地址的情况下 + * @param username + * @return + */ + Map getDefaultWhenNoDefaultByUsername(@Param("username") String username); } \ No newline at end of file diff --git a/src/main/java/com/hxtec/polaris/service/LocationService.java b/src/main/java/com/hxtec/polaris/service/LocationService.java index 427dba768ff624f0a499b9f79d476b9e5e0babd2..8f1059dd871b18b3b6c9393e23a4bc8d995b3e85 100644 --- a/src/main/java/com/hxtec/polaris/service/LocationService.java +++ b/src/main/java/com/hxtec/polaris/service/LocationService.java @@ -35,4 +35,10 @@ public interface LocationService { * @return */ Object deleteLoaction(List ids); + + /** + * 获取当前用户的默认收货地址 + * @return + */ + Object getDefaultLocation(); } diff --git a/src/main/java/com/hxtec/polaris/service/impl/LocationServiceImpl.java b/src/main/java/com/hxtec/polaris/service/impl/LocationServiceImpl.java index 50cd2170ec2eff156071fb6ed0d377d37f988322..dc60875e7cbb2668b503b55472d2f0e30becc268 100644 --- a/src/main/java/com/hxtec/polaris/service/impl/LocationServiceImpl.java +++ b/src/main/java/com/hxtec/polaris/service/impl/LocationServiceImpl.java @@ -16,6 +16,7 @@ import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.text.MessageFormat; import java.util.Date; +import java.util.HashMap; import java.util.List; import java.util.Map; @@ -86,6 +87,23 @@ public class LocationServiceImpl implements LocationService { return Result.ok(Msg.COMMON_OK); } + @Override + public Object getDefaultLocation() { + Map map = new HashMap<>(16); + try { + int count = shopAddressMapper.selectDefaultCountByUsername(addressService.getUser()); + if (count > 0){ + map = shopAddressMapper.selectDefaultByUsername(addressService.getUser()); + }else { + //没有设置默认地址让用户自己设置 + //map = shopAddressMapper.getDefaultWhenNoDefaultByUsername(addressService.getUser()); + } + }catch (Exception e){ + throw new MyException(Result.error(Code.FAIL_4501,Msg.COMMON_QUERY_NULL)); + } + return Result.ok(map); + } + /** * 执行添加收货地址业务 * @param shopAddress diff --git a/src/main/resources/mapper/ShopAddressMapper.xml b/src/main/resources/mapper/ShopAddressMapper.xml index 45b44b2b41680ae9a12f2ef9fbd1823f54783f97..23c5079cad98e70481fc971464917170252e7ef2 100644 --- a/src/main/resources/mapper/ShopAddressMapper.xml +++ b/src/main/resources/mapper/ShopAddressMapper.xml @@ -43,6 +43,15 @@ WHERE u.mobile = #{username} and a.weight = 1 + + + select + + from shop_address a left join shop_user u on a.user_id = u.id + WHERE u.mobile = #{username} + order by a.update_time desc + limit 0,1 + \ No newline at end of file