Browse Source

fix:优惠卷逻辑调整

wrj 9 months ago
parent
commit
30dbf88ab4

+ 6 - 0
nightFragrance-admin/src/main/java/com/ylx/web/controller/massage/TConsumptionLogController.java

@@ -6,6 +6,8 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ylx.common.core.controller.BaseController;
 import com.ylx.massage.domain.TConsumptionLog;
 import com.ylx.massage.service.TConsumptionLogService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
 import org.springframework.web.bind.annotation.*;
 import com.ylx.common.core.domain.R;
 import javax.annotation.Resource;
@@ -20,6 +22,7 @@ import java.util.List;
  */
 @RestController
 @RequestMapping("tConsumptionLog")
+@Api(tags = {"余额记录"})
 public class TConsumptionLogController extends BaseController {
     /**
      * 服务对象
@@ -35,8 +38,11 @@ public class TConsumptionLogController extends BaseController {
      * @return 所有数据
      */
     @GetMapping
+    @ApiOperation("分页查询数据")
     public R selectAll(Page<TConsumptionLog> page, TConsumptionLog tConsumptionLog) {
         LambdaQueryWrapper<TConsumptionLog> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(TConsumptionLog::getOpenId, tConsumptionLog.getOpenId())
+                .eq(tConsumptionLog.getBillType() != null,TConsumptionLog::getBillType, tConsumptionLog.getBillType());
         return R.ok(this.tConsumptionLogService.page(page, queryWrapper));
     }
 

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

@@ -112,7 +112,7 @@ public class TJsController extends BaseController {
         } catch (ServiceException s) {
             log.error(s.toString());
             return R.fail(s.getMessage());
-        } catch (Exception e) {
+            } catch (Exception e) {
             log.error(e.toString());
             return R.fail("系统异常");
         }

+ 6 - 0
nightFragrance-admin/src/main/java/com/ylx/web/controller/massage/TJsDayController.java

@@ -55,6 +55,12 @@ public class TJsDayController extends BaseController {
         return R.ok(this.tJsDayService.page(page, tJsDayLambdaQueryWrapper));
     }
 
+    @GetMapping("selectApp")
+    @ApiOperation("技师app数据-本月")
+    public R selectAll(TJsDay tJsDay) {
+        return R.ok(this.tJsDayService.selectApp(tJsDay));
+    }
+
     @Log(title = "技师统计信息导出", businessType = BusinessType.EXPORT)
     @ApiOperation("导出")
     @RequestMapping(value = "export", method = RequestMethod.POST)

+ 14 - 1
nightFragrance-massage/src/main/java/com/ylx/massage/domain/TConsumptionLog.java

@@ -4,6 +4,7 @@ package com.ylx.massage.domain;
 import com.baomidou.mybatisplus.annotation.TableLogic;
 import com.baomidou.mybatisplus.extension.activerecord.Model;
 import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 import java.io.Serializable;
@@ -22,32 +23,44 @@ import java.util.Date;
 @ApiModel(value = "TConsumptionLog", description = "余额记录")
 public class TConsumptionLog extends Model<TConsumptionLog> {
     //id
+    @ApiModelProperty("id")
     private String id;
     //金额
+    @ApiModelProperty("金额")
     private BigDecimal amount;
     //业务类型 1充值,2余额支付,3技师收益,4技师提现
+    @ApiModelProperty("业务类型 1充值,2余额支付,3技师收益,4技师提现")
     private Integer billType;
     //业务单号
+    @ApiModelProperty("业务单号")
     private String billNo;
     //openId
+    @ApiModelProperty("openId")
     private String openId;
 
-    //openId
+    //部门id
+    @ApiModelProperty("部门id")
     private String deptId;
 
     //deptName
+    @ApiModelProperty("deptName")
     private String deptName;
 
     //是否可提0否1是
+    @ApiModelProperty("是否可提0否1是")
     private Integer isGet;
     //备注
+    @ApiModelProperty("备注")
     private String note;
     //系统创建时间
+    @ApiModelProperty("系统创建时间")
     private Date createTime;
     //系统修改时间
+    @ApiModelProperty("系统修改时间")
     private Date updateTime;
     //是否删除0否1是
     @TableLogic
+    @ApiModelProperty("是否删除0否1是")
     private Integer isDelete;
 
 

+ 3 - 0
nightFragrance-massage/src/main/java/com/ylx/massage/mapper/TJsDayMapper.java

@@ -33,5 +33,8 @@ public interface TJsDayMapper extends BaseMapper<TJsDay> {
 
     List<TJsDay> selectRanking(@Param("deptName") String deptName, @Param("deptId") String deptId, @Param("start") String start, @Param("end") String end);
 
+
+    TJsDay selectApp(@Param("openId") String openId, @Param("start") String start, @Param("end") String end);
+
 }
 

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

@@ -11,5 +11,6 @@ import com.ylx.massage.domain.TJsDay;
  */
 public interface TJsDayService extends IService<TJsDay> {
 
+    TJsDay selectApp(TJsDay tJsDay);
 }
 

+ 13 - 0
nightFragrance-massage/src/main/java/com/ylx/massage/service/impl/TJsDayServiceImpl.java

@@ -1,11 +1,16 @@
 package com.ylx.massage.service.impl;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ylx.common.utils.DateUtils;
 import com.ylx.massage.mapper.TJsDayMapper;
 import com.ylx.massage.domain.TJsDay;
 import com.ylx.massage.service.TJsDayService;
+import com.ylx.massage.utils.DateTimeUtils;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
+import java.util.Date;
+
 /**
  * 技师数据统计(TJsDay)表服务实现类
  *
@@ -15,5 +20,13 @@ import org.springframework.stereotype.Service;
 @Service("tJsDayService")
 public class TJsDayServiceImpl extends ServiceImpl<TJsDayMapper, TJsDay> implements TJsDayService {
 
+    @Resource
+    private TJsDayMapper tJsDayMapper;
+    @Override
+    public TJsDay selectApp(TJsDay tJsDay) {
+        Date firstDayOfMonth = DateTimeUtils.getFirstDayOfMonth();
+        Date lastDayOfMonth = DateTimeUtils.getLastDayOfMonth();
+        return tJsDayMapper.selectApp(tJsDay.getOpenId(),DateTimeUtils.formatDate(firstDayOfMonth),DateTimeUtils.formatDate(lastDayOfMonth));
+    }
 }
 

+ 21 - 8
nightFragrance-massage/src/main/java/com/ylx/massage/service/impl/YlxAlarmServiceImpl.java

@@ -1,6 +1,7 @@
 package com.ylx.massage.service.impl;
 
 
+import cn.hutool.core.collection.CollectionUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ylx.common.exception.ServiceException;
@@ -8,16 +9,19 @@ import com.ylx.common.utils.StringUtils;
 import com.ylx.massage.domain.TJs;
 import com.ylx.massage.domain.TOrder;
 import com.ylx.massage.domain.YlxAlarm;
+import com.ylx.massage.enums.OrderStatusEnum;
 import com.ylx.massage.mapper.YlxAlarmMapper;
 import com.ylx.massage.service.TJsService;
 import com.ylx.massage.service.TOrderService;
 import com.ylx.massage.service.YlxAlarmService;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.PageImpl;
 import org.springframework.data.domain.PageRequest;
 
 import javax.annotation.Resource;
+import java.util.List;
 
 /**
  * 报警记录表(YlxAlarm)表服务实现类
@@ -25,6 +29,7 @@ import javax.annotation.Resource;
  * @author makejava
  * @since 2024-04-28 09:19:05
  */
+@Slf4j
 @Service("ylxAlarmService")
 public class YlxAlarmServiceImpl extends ServiceImpl<YlxAlarmMapper, YlxAlarm> implements YlxAlarmService {
     @Resource
@@ -92,17 +97,25 @@ public class YlxAlarmServiceImpl extends ServiceImpl<YlxAlarmMapper, YlxAlarm> i
 
     @Override
     public YlxAlarm addAlarm(YlxAlarm ylxAlarm) {
-        if(StringUtils.isBlank(ylxAlarm.getOrderNo())){
-            throw new ServiceException("订单号不能为空");
+        if(StringUtils.isBlank(ylxAlarm.getJsId())){
+            throw new ServiceException("技师ID不能为空");
         }
-        LambdaQueryWrapper<YlxAlarm> queryWrapper = new LambdaQueryWrapper<>();
-        queryWrapper.eq(YlxAlarm::getOrderNo,ylxAlarm.getOrderNo());
-        YlxAlarm one = this.getOne(queryWrapper);
-        if(one != null){
-            throw new ServiceException("该订单已报警");
+        LambdaQueryWrapper<TOrder> tOrderLambdaQueryWrapper = new LambdaQueryWrapper<>();
+        tOrderLambdaQueryWrapper.eq(TOrder::getcJsId,ylxAlarm.getJsId()).eq(TOrder::getnStatus, OrderStatusEnum.SERVICE);
+        List<TOrder> orders = orderService.list(tOrderLambdaQueryWrapper);
+
+        if(CollectionUtil.isEmpty(orders)) {
+            throw new ServiceException("没有服务中的订单");
         }
-        TOrder order = orderService.getByNo(ylxAlarm.getOrderNo());
+        log.info("addAlarm-订单信息:{}", orders);
+        TOrder order = orders.get(0);
         if(order!=null){
+            LambdaQueryWrapper<YlxAlarm> queryWrapper = new LambdaQueryWrapper<>();
+            queryWrapper.eq(YlxAlarm::getOrderNo,order.getOrderNo());
+            YlxAlarm one = this.getOne(queryWrapper);
+            if(one != null){
+                throw new ServiceException("该订单已报警");
+            }
             YlxAlarm ylxAlarm1 = new YlxAlarm();
             TJs js = jsService.getById(order.getcJsId());
             ylxAlarm1.setJsId(order.getcJsId());

+ 6 - 9
nightFragrance-massage/src/main/resources/mapper/massage/TConsumptionLogMapper.xml

@@ -19,7 +19,7 @@
 
     <!-- 批量插入 -->
     <insert id="insertBatch" keyProperty="id" useGeneratedKeys="true">
-        insert into t_consumption_log(amount,bill_type,bill_no,open_id,isGet,note,create_time,update_time,is_delete)
+        insert into t_consumption_log(amount,bill_type,bill_no,open_id,is_get,note,create_time,update_time,is_delete)
         values
         <foreach collection="entities" item="entity" separator=",">
             (
@@ -29,18 +29,15 @@
         </foreach>
     </insert>
     <!-- 批量插入或按主键更新 -->
-    <insert id="insertOrUpdateBatch" keyProperty="id" useGeneratedKeys="true">
-        insert into t_consumption_log(amount,bill_type,bill_no,open_id,isGet,note,create_time,update_time,is_delete)
+    <insert id="insertOrUpdateBatch" keyProperty="id">
+        insert into t_consumption_log(id,amount,bill_type,bill_no,open_id,is_get,note)
         values
         <foreach collection="entities" item="entity" separator=",">
-            (
-            #{entity.amount},#{entity.billType},#{entity.billNo},#{entity.openId},#{entity.isGet},
-            #{entity.note},#{entity.createTime},#{entity.updateTime},#{entity.isDelete}
-            )
+            (#{entity.id},#{entity.amount},#{entity.billType},#{entity.billNo},#{entity.openId},#{entity.isGet},#{entity.note})
         </foreach>
         on duplicate key update
-        amount = values(amount), bill_type = values(bill_type), bill_no = values(bill_no), open_id = values(open_id), is_get = values(isGet),
-        note = values(note), create_time = values(create_time), update_time = values(update_time), is_delete = values(is_delete)
+        id = values(id),amount = values(amount), bill_type = values(bill_type), bill_no = values(bill_no), open_id = values(open_id), is_get = values(is_get),
+        note = values(note)
     </insert>
 
 

+ 17 - 0
nightFragrance-massage/src/main/resources/mapper/massage/TJsDayMapper.xml

@@ -71,5 +71,22 @@
         LIMIT 10
     </select>
 
+    <select id="selectApp" resultType="com.ylx.massage.domain.TJsDay">
+        SELECT
+        IFNULL( SUM( on_line ), 0 ) AS onLine,
+        IFNULL( SUM( order_num ), 0 ) AS orderNum,
+        IFNULL( SUM( turnover ), 0 ) AS turnover,
+        IFNULL( SUM( add_num ), 0 ) AS addNum,
+        IFNULL( SUM( upgrade_num ), 0 ) AS upgradeNum,
+        IFNULL( SUM( recharge ), 0 ) AS recharge
+        FROM
+        t_js_day
+        WHERE
+        is_delete = 0
+        AND open_id = #{openId}
+        AND count_date &gt;= #{start}
+        AND count_date &lt;= #{end}
+    </select>
+
 </mapper>