Browse Source

fix:地址

wrj 1 year ago
parent
commit
cc4a824083
22 changed files with 227 additions and 40 deletions
  1. 10 4
      nightFragrance-admin/src/main/java/com/ylx/web/controller/massage/TCollectController.java
  2. 7 10
      nightFragrance-admin/src/main/java/com/ylx/web/controller/massage/TCommentController.java
  3. 5 7
      nightFragrance-admin/src/main/java/com/ylx/web/controller/massage/TJsController.java
  4. 30 2
      nightFragrance-admin/src/main/java/com/ylx/web/controller/massage/TRechargeController.java
  5. 3 0
      nightFragrance-admin/src/main/java/com/ylx/web/controller/massage/WxController.java
  6. 7 0
      nightFragrance-common/pom.xml
  7. 2 0
      nightFragrance-common/src/main/java/com/ylx/common/constant/MassageConstants.java
  8. 44 0
      nightFragrance-framework/src/main/java/com/ylx/framework/config/RedissonConfig.java
  9. 1 1
      nightFragrance-framework/src/main/java/com/ylx/framework/config/SecurityConfig.java
  10. 4 0
      nightFragrance-massage/src/main/java/com/ylx/massage/domain/TComment.java
  11. 8 0
      nightFragrance-massage/src/main/java/com/ylx/massage/domain/TJs.java
  12. 2 0
      nightFragrance-massage/src/main/java/com/ylx/massage/service/TCollectService.java
  13. 2 0
      nightFragrance-massage/src/main/java/com/ylx/massage/service/TCommentService.java
  14. 1 1
      nightFragrance-massage/src/main/java/com/ylx/massage/service/TJsService.java
  15. 8 0
      nightFragrance-massage/src/main/java/com/ylx/massage/service/impl/TCollectServiceImpl.java
  16. 44 0
      nightFragrance-massage/src/main/java/com/ylx/massage/service/impl/TCommentServiceImpl.java
  17. 29 3
      nightFragrance-massage/src/main/java/com/ylx/massage/service/impl/TJsServiceImpl.java
  18. 4 3
      nightFragrance-massage/src/main/java/com/ylx/massage/service/impl/TOrderServiceImpl.java
  19. 4 0
      nightFragrance-massage/src/main/java/com/ylx/massage/service/impl/TRechargeServiceImpl.java
  20. 3 4
      nightFragrance-massage/src/main/java/com/ylx/massage/utils/LocationUtil.java
  21. 3 1
      nightFragrance-massage/src/main/java/com/ylx/massage/utils/OrderNumberGenerator.java
  22. 6 4
      nightFragrance-massage/src/main/resources/mapper/massage/TCollectMapper.xml

+ 10 - 4
nightFragrance-admin/src/main/java/com/ylx/web/controller/massage/TCollectController.java

@@ -40,9 +40,15 @@ public class TCollectController {
     @RequestMapping(value = "/wx/addCollect", method = RequestMethod.POST)
     public R addCollect(@RequestBody TCollect collect) {
         try {
-            if (StringUtils.isBlank(collect.getcId())) {
-                collect.setcId(IdUtils.fastSimpleUUID());
-                collect.setDtCreateTime(LocalDateTime.now());
+            if (StringUtils.isBlank(collect.getcWxOpenId())) {
+                return R.fail("openId不能为空");
+            }
+            if (StringUtils.isBlank(collect.getcJsId())) {
+                return R.fail("技师Id不能为空");
+            }
+            TCollect collect1 = collectService.selectCollect(collect);
+            if(collect1 !=null){
+                return R.ok();
             }
             return R.ok(collectService.save(collect));
         } catch (Exception e) {
@@ -60,7 +66,7 @@ public class TCollectController {
      */
     @ApiOperation("获取收藏")
     @RequestMapping(value = "/wx/getCollect", method = RequestMethod.POST)
-    public R getCollect(@RequestBody TCollect param) {
+    public R<List<TCollect>> getCollect(@RequestBody TCollect param) {
         List<TCollect> list = collectService.getAll(param);
         return R.ok(list);
     }

+ 7 - 10
nightFragrance-admin/src/main/java/com/ylx/web/controller/massage/TCommentController.java

@@ -3,7 +3,9 @@ package com.ylx.web.controller.massage;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ylx.common.core.controller.BaseController;
 import com.ylx.common.core.domain.R;
+import com.ylx.common.core.domain.model.WxLoginUser;
 import com.ylx.common.utils.StringUtils;
 import com.ylx.common.utils.uuid.IdUtils;
 import com.ylx.massage.domain.TComment;
@@ -29,7 +31,7 @@ import java.util.List;
 @RestController
 @Api(tags = {"评论"})
 @RequestMapping("api/comment/v1")
-public class TCommentController {
+public class TCommentController extends BaseController {
     @Resource
     private TCommentService commentService;
 
@@ -38,15 +40,10 @@ public class TCommentController {
 
     @ApiOperation("新增评论")
     @RequestMapping(value = "wx/add", method = RequestMethod.POST)
-    public boolean add(@RequestBody TComment comment) {
-        comment.setcId(IdUtils.fastSimpleUUID());
-        comment.setdTime(LocalDateTime.now());
-        TOrder order = new TOrder();
-        //修改订单状态(已完成以评论)
-        order.setnStatus(OrderStatusEnum.COMPLETE.getCode());
-        order.setcId(comment.getOrderId());
-        orderService.updateById(order);
-        return commentService.save(comment);
+    public R add(@RequestBody TComment comment) {
+
+        WxLoginUser wxLoginUser = getWxLoginUser();
+        return R.ok(commentService.saveComment(comment,wxLoginUser));
     }
 
     @ApiOperation("查询评论")

+ 5 - 7
nightFragrance-admin/src/main/java/com/ylx/web/controller/massage/TJsController.java

@@ -18,14 +18,12 @@ import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 
 import javax.annotation.Resource;
 import java.math.BigDecimal;
+import java.math.RoundingMode;
 import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
@@ -99,7 +97,6 @@ public class TJsController extends BaseController {
      * @param
      * @return
      */
-    @Log(title = "微信技师列表", businessType = BusinessType.OTHER)
     @RequestMapping(value = "wx/select", method = RequestMethod.GET)
     @ApiOperation("微信查询")
     public R wxSelect(Page<TJs> page, TJsVo js) {
@@ -121,11 +118,12 @@ public class TJsController extends BaseController {
                     page.setCurrent(1);
                     Page<TJs> all = jsService.getAll(page, js);
                     all.getRecords().forEach(item -> {
-                        item.setDistance(collect.get(item.getcOpenId()));
+                        item.setDistance(collect.get(item.getcOpenId()).setScale(2, RoundingMode.DOWN));
                     });
                     List<TJs> objects = (List<TJs>) ListUtils.subList(all.getRecords(), size, pageNum);
                     page.setRecords(objects);
                     page.setSize(size);
+                    return R.ok(page);
                 }
             }
             return R.ok(jsService.getAll(page, js));
@@ -165,7 +163,7 @@ public class TJsController extends BaseController {
     @RequestMapping(value = "/wx/getByid", method = RequestMethod.POST)
     public R getById(@RequestBody TJs js) {
         try {
-            return R.ok(jsService.getByJsId(js.getId()));
+            return R.ok(jsService.getByJsId(js.getId(), js.getcOpenId()));
         } catch (ServiceException s) {
             log.error(s.getMessage());
             return R.fail(s.getMessage());

+ 30 - 2
nightFragrance-admin/src/main/java/com/ylx/web/controller/massage/TRechargeController.java

@@ -4,10 +4,11 @@ import com.ylx.common.core.domain.R;
 import com.ylx.common.exception.ServiceException;
 import com.ylx.massage.domain.TRecharge;
 import com.ylx.massage.service.TRechargeService;
-import com.ylx.massage.service.TWxUserService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
+import org.redisson.api.RLock;
+import org.redisson.api.RedissonClient;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
@@ -27,7 +28,7 @@ public class TRechargeController {
     private TRechargeService rechargeService;
 
     @Resource
-    private TWxUserService wxUserService;
+    private RedissonClient redissonClient;
 
     @ApiOperation("微信充值")
     @RequestMapping(value = "wx/add", method = RequestMethod.POST)
@@ -42,4 +43,31 @@ public class TRechargeController {
             return R.fail("系统异常");
         }
     }
+
+    @ApiOperation("微信充值")
+    @RequestMapping(value = "test", method = RequestMethod.POST)
+    private R test(@RequestBody TRecharge recharge) {
+        RLock lock = redissonClient.getLock("lock"+recharge.getRechargeNo());
+
+        try {
+            if(!lock.tryLock()){
+                return R.ok("当前单号正在操作");
+            }else {
+                Thread.sleep(10000);
+                return R.ok("好");
+            }
+        } catch (ServiceException s) {
+            log.error(s.getMessage());
+            return R.fail(s.getMessage());
+        } catch (Exception e) {
+            log.error(e.getMessage());
+            return R.fail("系统异常");
+        } finally {
+            if(lock.isLocked() && lock.isHeldByCurrentThread()) {
+                lock.unlock();
+            }
+        }
+    }
+
+
 }

+ 3 - 0
nightFragrance-admin/src/main/java/com/ylx/web/controller/massage/WxController.java

@@ -11,12 +11,14 @@ import com.alibaba.fastjson2.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ylx.common.annotation.Log;
 import com.ylx.common.constant.Constants;
 import com.ylx.common.core.controller.BaseController;
 import com.ylx.common.core.domain.AjaxResult;
 import com.ylx.common.core.domain.R;
 
 import com.ylx.common.core.domain.model.WxLoginUser;
+import com.ylx.common.enums.BusinessType;
 import com.ylx.framework.web.service.WxTokenService;
 import com.ylx.massage.utils.LocationUtil;
 import com.ylx.massage.utils.WxQrCodeUtil;
@@ -198,6 +200,7 @@ public class WxController extends BaseController {
      * 登录接口
      */
     @ApiOperation("小程序登录")
+    @Log(title = "小程序登录", businessType = BusinessType.OTHER)
     @PostMapping("/login")
     public R<Object> login(@RequestParam("code") String code, @RequestParam("encryptedData") String encryptedData,
                                 @RequestParam("iv") String iv) {

+ 7 - 0
nightFragrance-common/pom.xml

@@ -123,6 +123,13 @@
             <artifactId>spring-boot-starter-data-redis</artifactId>
         </dependency>
 
+        <!-- redisson -->
+        <dependency>
+            <groupId>org.redisson</groupId>
+            <artifactId>redisson</artifactId>
+            <version>3.11.1</version>
+        </dependency>
+
         <!-- pool 对象池 -->
         <dependency>
             <groupId>org.apache.commons</groupId>

+ 2 - 0
nightFragrance-common/src/main/java/com/ylx/common/constant/MassageConstants.java

@@ -25,5 +25,7 @@ public class MassageConstants {
      */
     public static final String NUMBER = "number:";
 
+    public static final String ATLAS = "atlas:";
+
 
 }

+ 44 - 0
nightFragrance-framework/src/main/java/com/ylx/framework/config/RedissonConfig.java

@@ -0,0 +1,44 @@
+package com.ylx.framework.config;
+
+import org.redisson.Redisson;
+import org.redisson.api.RedissonClient;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.redisson.Redisson;
+import org.redisson.api.RedissonClient;
+import org.redisson.config.Config;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+
+/**
+ * @author jianlong
+ * @date 2024-04-22 15:24
+ */
+@Configuration
+public class RedissonConfig {
+
+    @Value("${spring.redis.host}")
+    private String host;
+
+    @Value("${spring.redis.port}")
+    private String port;
+
+    @Value("${spring.redis.password}")
+    private String password;
+
+
+    @Bean
+    public RedissonClient redissonClient() {
+
+        // redis 地址为127.0.0.1:6379 时, 可以无需配置 一行代码搞定
+//        RedissonClient redisson = Redisson.create();
+        Config config = new Config();
+        config.useSingleServer()
+                .setAddress("redis://" + host + ":" + port)
+                .setPassword(password);
+        return Redisson.create(config);
+
+    }
+}

+ 1 - 1
nightFragrance-framework/src/main/java/com/ylx/framework/config/SecurityConfig.java

@@ -113,7 +113,7 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter
                 // 对于登录login 注册register 验证码captchaImage 允许匿名访问
                 .antMatchers("/login", "/register", "/captchaImage","/wx/login",
                         "/api/lbt/v1/getAll", "/api/js/v1/select", "/api/xiangmu/v1/wx/getAll", "/api/order/v1/getStatus",
-                        "/api/xiangmu/v1/getByid", "/api/js/v1/wx/getByid","/api/js/v1/wx/select").permitAll()
+                        "/api/xiangmu/v1/getByid", "/api/js/v1/wx/getByid","/api/js/v1/wx/select", "/api/recharge/v1/test").permitAll()
                 // 静态资源,可匿名访问
                 .antMatchers(HttpMethod.GET, "/", "/*.html", "/**/*.html", "/**/*.css", "/**/*.js", "/profile/**").permitAll()
                 .antMatchers("/swagger-ui.html", "/swagger-resources/**", "/webjars/**", "/*/api-docs", "/druid/**").permitAll()

+ 4 - 0
nightFragrance-massage/src/main/java/com/ylx/massage/domain/TComment.java

@@ -89,6 +89,10 @@ public class TComment implements Serializable {
     @TableLogic
     private Integer isDelete;
 
+    @TableField("order_no")
+    @ApiModelProperty("订单号")
+    private String orderNo;
+
     /**
      * 订单id
      */

+ 8 - 0
nightFragrance-massage/src/main/java/com/ylx/massage/domain/TJs.java

@@ -210,6 +210,10 @@ public class TJs implements Serializable {
     @ApiModelProperty("收藏人员数量")
     private Integer number;
 
+    @TableField(exist = false)
+    @ApiModelProperty("当前用户是否收藏")
+    private Boolean isCollection;
+
     @TableField(exist = false)
     @ApiModelProperty("技师距离")
     private BigDecimal distance = BigDecimal.valueOf(10000L);
@@ -218,6 +222,10 @@ public class TJs implements Serializable {
     @ApiModelProperty("技师项目")
     private List<TXiangmu> projects;
 
+    @TableField(exist = false)
+    @ApiModelProperty("技师评价")
+    private List<TComment> comments;
+
     public String getcOpenId() {
         return cOpenId;
     }

+ 2 - 0
nightFragrance-massage/src/main/java/com/ylx/massage/service/TCollectService.java

@@ -11,4 +11,6 @@ import java.util.List;
 public interface TCollectService extends IService<TCollect> {
 
     public List<TCollect> getAll(TCollect param);
+
+    TCollect selectCollect(TCollect collect);
 }

+ 2 - 0
nightFragrance-massage/src/main/java/com/ylx/massage/service/TCommentService.java

@@ -1,6 +1,7 @@
 package com.ylx.massage.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.ylx.common.core.domain.model.WxLoginUser;
 import com.ylx.massage.domain.TComment;
 
 /**
@@ -8,4 +9,5 @@ import com.ylx.massage.domain.TComment;
  */
 public interface TCommentService extends IService<TComment> {
 
+    Boolean saveComment(TComment comment, WxLoginUser wxLoginUser);
 }

+ 1 - 1
nightFragrance-massage/src/main/java/com/ylx/massage/service/TJsService.java

@@ -16,7 +16,7 @@ public interface TJsService extends IService<TJs> {
 
     boolean addJs(TJs js);
 
-    TJs getByJsId(String s);
+    TJs getByJsId(String s, String openId);
 
     boolean wxUpdateJs(TJs js);
 }

+ 8 - 0
nightFragrance-massage/src/main/java/com/ylx/massage/service/impl/TCollectServiceImpl.java

@@ -1,5 +1,6 @@
 package com.ylx.massage.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ylx.massage.domain.TCollect;
 import com.ylx.massage.mapper.TCollectMapper;
@@ -20,4 +21,11 @@ public class TCollectServiceImpl extends ServiceImpl<TCollectMapper, TCollect> i
     public List<TCollect> getAll(TCollect param) {
         return collectMapper.getAll(param);
     }
+
+    @Override
+    public TCollect selectCollect(TCollect collect) {
+        LambdaQueryWrapper<TCollect> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(TCollect::getcWxOpenId,collect.getcWxOpenId()).eq(TCollect::getcJsId,collect.getcJsId());
+        return this.getOne(wrapper);
+    }
 }

+ 44 - 0
nightFragrance-massage/src/main/java/com/ylx/massage/service/impl/TCommentServiceImpl.java

@@ -1,10 +1,20 @@
 package com.ylx.massage.service.impl;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ylx.common.core.domain.model.WxLoginUser;
+import com.ylx.common.exception.ServiceException;
+import com.ylx.common.utils.StringUtils;
 import com.ylx.massage.domain.TComment;
+import com.ylx.massage.domain.TOrder;
+import com.ylx.massage.enums.OrderStatusEnum;
 import com.ylx.massage.mapper.TCommentMapper;
 import com.ylx.massage.service.TCommentService;
+import com.ylx.massage.service.TOrderService;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.annotation.Resource;
+import java.time.LocalDateTime;
 
 
 /**
@@ -13,4 +23,38 @@ import org.springframework.stereotype.Service;
 @Service
 public class TCommentServiceImpl extends ServiceImpl<TCommentMapper, TComment> implements TCommentService {
 
+    @Resource
+    private TOrderService orderService;
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public Boolean saveComment(TComment comment, WxLoginUser wxLoginUser) {
+
+        if(StringUtils.isBlank(comment.getOrderNo())){
+            throw new ServiceException("订单号不能为空");
+        }
+        if(StringUtils.isBlank(comment.getOrderId())){
+            throw new ServiceException("订单id不能为空");
+        }
+        if(StringUtils.isBlank(comment.getcJsid())){
+            throw new ServiceException("技师id不能空");
+        }
+        if(StringUtils.isBlank(comment.getcText())){
+            throw new ServiceException("评论内容不能空");
+        }
+        if(StringUtils.isBlank(comment.getName())){
+            throw new ServiceException("技师姓名不能空");
+        }
+        comment.setcIcon(wxLoginUser.getCIcon());
+        comment.setcNickName(wxLoginUser.getCNickName());
+        comment.setcOpenId(wxLoginUser.getCOpenid());
+        comment.setdTime(LocalDateTime.now());
+        this.save(comment);
+        TOrder order = new TOrder();
+        //修改订单状态(已完成以评论)
+        order.setnStatus(OrderStatusEnum.COMPLETE.getCode());
+        order.setcId(comment.getOrderId());
+        return orderService.updateById(order);
+
+    }
 }

+ 29 - 3
nightFragrance-massage/src/main/java/com/ylx/massage/service/impl/TJsServiceImpl.java

@@ -1,20 +1,23 @@
 package com.ylx.massage.service.impl;
 
 
+import cn.hutool.core.collection.CollectionUtil;
 import cn.hutool.json.JSONObject;
-import com.alibaba.fastjson.JSONArray;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.google.common.collect.Lists;
 import com.ylx.common.constant.MassageConstants;
 import com.ylx.common.exception.ServiceException;
 import com.ylx.common.utils.StringUtils;
+import com.ylx.massage.domain.TCollect;
+import com.ylx.massage.domain.TComment;
 import com.ylx.massage.domain.TJs;
 import com.ylx.massage.domain.TXiangmu;
 import com.ylx.massage.domain.vo.TJsVo;
 import com.ylx.massage.enums.JsStatusEnum;
 import com.ylx.massage.mapper.TJsMapper;
+import com.ylx.massage.service.TCollectService;
+import com.ylx.massage.service.TCommentService;
 import com.ylx.massage.service.TJsService;
 import com.ylx.massage.service.TXiangmuService;
 import com.ylx.massage.utils.LocationUtil;
@@ -41,9 +44,15 @@ public class TJsServiceImpl extends ServiceImpl<TJsMapper, TJs> implements TJsSe
     @Resource
     private LocationUtil locationUtil;
 
+    @Resource
+    private TCollectService collectService;
+
     @Resource
     private TXiangmuService xiangmuService;
 
+    @Resource
+    private TCommentService commentService;
+
     @Override
     public Page<TJs> getAll(Page<TJs> page, TJsVo param) {
         return mapper.getAll(page, param);
@@ -84,7 +93,7 @@ public class TJsServiceImpl extends ServiceImpl<TJsMapper, TJs> implements TJsSe
     }
 
     @Override
-    public TJs getByJsId(String jsId) {
+    public TJs getByJsId(String jsId, String openId) {
         if (jsId == null || jsId.trim().isEmpty()) {
             // 处理空或空白的jsId
             throw new ServiceException("Id为空");
@@ -99,11 +108,28 @@ public class TJsServiceImpl extends ServiceImpl<TJsMapper, TJs> implements TJsSe
             js.setProjects(new ArrayList<>()); // 设置空列表,避免后续调用空指针
             return js;
         }
+        //项目
         List<String> projectIds = Arrays.stream(js.getcBhList().split(",")).collect(Collectors.toList());
         LambdaQueryWrapper<TXiangmu> xiangmuLambdaQueryWrapper = new LambdaQueryWrapper<>();
         xiangmuLambdaQueryWrapper.in(TXiangmu::getcId, projectIds);
         List<TXiangmu> projects = xiangmuService.list(xiangmuLambdaQueryWrapper);
         js.setProjects(projects);
+        //评论
+        LambdaQueryWrapper<TComment> commentLambdaQueryWrapper = new LambdaQueryWrapper<>();
+        commentLambdaQueryWrapper.eq(TComment::getcJsid, jsId);
+        List<TComment> list = commentService.list(commentLambdaQueryWrapper);
+        if(CollectionUtil.isNotEmpty(list)){
+            js.setComments(list);
+        }
+        //是否收藏
+        LambdaQueryWrapper<TCollect> objectLambdaQueryWrapper = new LambdaQueryWrapper<>();
+        objectLambdaQueryWrapper.eq(TCollect::getcJsId, jsId).eq(TCollect::getcWxOpenId, openId);
+        TCollect collect = collectService.getOne(objectLambdaQueryWrapper);
+        if (collect != null) {
+            js.setIsCollection(true);
+        } else {
+            js.setIsCollection(false);
+        }
         return js;
     }
 

+ 4 - 3
nightFragrance-massage/src/main/java/com/ylx/massage/service/impl/TOrderServiceImpl.java

@@ -81,7 +81,7 @@ public class TOrderServiceImpl extends ServiceImpl<TOrderMapper, TOrder> impleme
         order.setcName(address.getUserName());
         order.setAtlasAdd(address.getAtlasAdd());
 
-        order.setOrderNo(generator.generateNextOrderNumber(OrderNumberGenerator.KEY_PREFIX));
+        order.setOrderNo(generator.generateNextOrderNumber(OrderNumberGenerator.KEY_PREFIX_ORDER));
         order.setnStatus(OrderStatusEnum.WAIT_PAY.getCode());
         order.setDtCreateTime(LocalDateTime.now());
         save(order);
@@ -94,6 +94,7 @@ public class TOrderServiceImpl extends ServiceImpl<TOrderMapper, TOrder> impleme
      * @param order
      */
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public Boolean payOrder(TOrder order) {
 //        if(order.getPayType().equals(PayTypeEnum.WEI_PAY.getCode())){
 //            //调用微信支付
@@ -193,14 +194,14 @@ public class TOrderServiceImpl extends ServiceImpl<TOrderMapper, TOrder> impleme
         TOrder orderNew = getById(order);
         // 更新技师信息
         TJs jsParam = new TJs();
-        jsParam.setcOpenId(orderNew.getcJsId());
+        jsParam.setId(orderNew.getcJsId());
         jsParam.setnStatus(JsStatusEnum.JS_SERVICEABLE.getCode());
         // 更新技师状态
         jsService.updateById(jsParam);
         // 更新技师钱包金额
         TJs jsById = jsService.getById(orderNew.getcJsId());
         // 获取技师抽成
-        BigDecimal multiply = orderNew.getdTotalMoney().multiply(new BigDecimal(100 - jsById.getnBili()));
+        BigDecimal multiply = orderNew.getdTotalMoney().multiply(new BigDecimal(jsById.getnBili()));
         multiply = multiply.divide(new BigDecimal(100), MassageConstants.INTEGER_TWO, RoundingMode.HALF_UP);
         // 获取技师所对应的用户
         TWxUser jsUser = wxUserService.getByOpenId(jsById.getcOpenId());

+ 4 - 0
nightFragrance-massage/src/main/java/com/ylx/massage/service/impl/TRechargeServiceImpl.java

@@ -9,6 +9,7 @@ import com.ylx.massage.domain.TWxUser;
 import com.ylx.massage.mapper.TRechargeMapper;
 import com.ylx.massage.service.TRechargeService;
 import com.ylx.massage.service.TWxUserService;
+import com.ylx.massage.utils.OrderNumberGenerator;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -25,6 +26,8 @@ public class TRechargeServiceImpl extends ServiceImpl<TRechargeMapper, TRecharge
     @Resource
     private TWxUserService wxUserService;
 
+    @Resource
+    private OrderNumberGenerator generator;
     @Override
     @Transactional(rollbackFor = Exception.class)
     public R recharge(TRecharge recharge) {
@@ -33,6 +36,7 @@ public class TRechargeServiceImpl extends ServiceImpl<TRechargeMapper, TRecharge
         if(StringUtils.isBlank(recharge.getcOpenId())){
             throw new ServiceException("openId不能为空");
         }
+        recharge.setRechargeNo(generator.generateNextOrderNumber(OrderNumberGenerator.KEY_PREFIX_RECHAR));
         recharge.setDtCreateTime(LocalDateTime.now());
         save(recharge);
 

+ 3 - 4
nightFragrance-massage/src/main/java/com/ylx/massage/utils/LocationUtil.java

@@ -1,7 +1,7 @@
 package com.ylx.massage.utils;
 
 import cn.hutool.core.collection.CollectionUtil;
-import com.ylx.common.core.domain.R;
+import com.ylx.common.constant.MassageConstants;
 import com.ylx.massage.domain.Location;
 import com.ylx.massage.domain.TJs;
 import org.apache.commons.compress.utils.Lists;
@@ -12,7 +12,6 @@ import org.springframework.data.redis.core.BoundGeoOperations;
 import org.springframework.data.redis.core.GeoOperations;
 import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.stereotype.Component;
-import org.springframework.web.bind.annotation.RequestBody;
 
 import java.math.BigDecimal;
 import java.util.*;
@@ -31,7 +30,7 @@ public class LocationUtil {
     /**
      * 作为存储经纬度列表的key值
      */
-    private static final String GEO_KEY = "JS_POSITION";
+    private static final String GEO_KEY = MassageConstants.ATLAS + "JS_POSITION";
 
     /**
      * 将经纬度信息添加到redis中
@@ -93,7 +92,7 @@ public class LocationUtil {
         //设置当前位置
         Point point = new Point(locationBo.getLongitude(), locationBo.getLatitude());
         //设置半径范围
-        Metric metric = RedisGeoCommands.DistanceUnit.METERS;
+        Metric metric = RedisGeoCommands.DistanceUnit.KILOMETERS;
         Distance distance = new Distance(locationBo.getRadius(), metric);
         Circle circle = new Circle(point, distance);
         //设置参数 包括距离、坐标、条数

+ 3 - 1
nightFragrance-massage/src/main/java/com/ylx/massage/utils/OrderNumberGenerator.java

@@ -12,7 +12,9 @@ import java.util.Collections;
 public class OrderNumberGenerator {
 
     //订单单号前缀
-    public static final String KEY_PREFIX = "YORDER";
+    public static final String KEY_PREFIX_ORDER = "YORDER";
+
+    public static final String KEY_PREFIX_RECHAR = "RECHAR";
     private static final DateTimeFormatter DATE_FORMATTER = DateTimeFormatter.ofPattern("yyyyMMdd");
 
     private final StringRedisTemplate stringRedisTemplate;

+ 6 - 4
nightFragrance-massage/src/main/resources/mapper/massage/TCollectMapper.xml

@@ -8,9 +8,9 @@
         <result column="c_js_id" property="cJsId"/>
         <result column="dt_create_time" property="dtCreateTime"/>
         <association property="js" javaType="com.ylx.massage.domain.TJs">
-            <id column="c_open_id" property="cOpenId"/>
-            <result column="c_bh_list" property="cBhList"
-                    typeHandler="com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler"/>
+            <id column="id" property="id"/>
+            <result column="c_open_id" property="cOpenId"/>
+            <result column="c_bh_list" property="cBhList"/>
             <result column="c_img_list" property="cImgList"
                     typeHandler="com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler"/>
             <result column="c_sfz_img" property="cSfzImg"
@@ -41,6 +41,7 @@
                t_collect.c_wx_open_id,
                t_collect.c_js_id,
                t_collect.dt_create_time,
+               t_js.id,
                t_js.c_open_id,
                t_js.c_bh_list,
                t_js.c_img_list,
@@ -67,8 +68,9 @@
         left join
             t_js
         on
-            t_collect.c_js_id = t_js.c_open_id
+            t_collect.c_js_id = t_js.id
         <where>
+            t_collect.is_delete = 0 and t_js.is_delete = 0
             <if test="param.cWxOpenId != null and param.cWxOpenId != ''">
                 and t_collect.c_wx_open_id = #{ param.cWxOpenId }
             </if>