2 Commits ca021dc12c ... f06dc99e19

Autore SHA1 Messaggio Data
  jinshihui f06dc99e19 Merge remote-tracking branch 'origin/dev' into dev 6 giorni fa
  jinshihui 57e02bc330 开发上传合同接口 6 giorni fa

+ 43 - 0
nightFragrance-admin/src/main/java/com/ylx/web/controller/massage/MaTechnicianController.java

@@ -45,6 +45,7 @@ import com.ylx.massage.domain.MaTechnician;
 import com.ylx.massage.service.IMaTechnicianService;
 import com.ylx.common.utils.poi.ExcelUtil;
 import com.ylx.common.core.page.TableDataInfo;
+import org.springframework.web.multipart.MultipartFile;
 
 /**
  * 技师Controller
@@ -310,6 +311,48 @@ public class MaTechnicianController extends BaseController {
         }
     }
 
+    /**
+     * 后台编辑商户
+     *
+     * @param id 商户ID
+     * @param dto 商户编辑DTO
+     * @return AjaxResult 结果
+     */
+    @ApiOperation("后台编辑商户")
+    @PreAuthorize("@ss.hasPermi('technician:technician:edit')")
+    @Log(title = "商户", businessType = BusinessType.UPDATE)
+    @PutMapping("/merchant/{id}")
+    public AjaxResult editMerchant(@PathVariable("id") Long id, @RequestBody MaTechnicianMerchantAddDTO dto) {
+        try {
+            LoginUser loginUser = getLoginUser();
+            return toAjax(maTechnicianService.updateMerchant(id, dto, loginUser));
+        } catch (Exception e) {
+            e.printStackTrace();
+            throw new RuntimeException(e);
+        }
+    }
+
+    /**
+     * 后台上传商户合同文件
+     *
+     * @param id 商户ID
+     * @param file 合同文件
+     * @return AjaxResult 上传结果
+     */
+    @ApiOperation("后台上传商户合同文件")
+    @PreAuthorize("@ss.hasPermi('technician:technician:edit')")
+    @Log(title = "商户合同", businessType = BusinessType.UPDATE)
+    @PostMapping("/merchant/{id}/contract")
+    public AjaxResult uploadMerchantContract(@PathVariable("id") Integer id, @RequestParam("file") MultipartFile file) {
+        try {
+            LoginUser loginUser = getLoginUser();
+            return maTechnicianService.uploadMerchantContract(id, file, loginUser);
+        } catch (Exception e) {
+            e.printStackTrace();
+            throw new RuntimeException(e);
+        }
+    }
+
     /**
      * 查询商户列表
      *

+ 69 - 0
nightFragrance-massage/src/main/java/com/ylx/massage/domain/ContractRecord.java

@@ -0,0 +1,69 @@
+package com.ylx.massage.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * 合同记录实体类。
+ */
+@Data
+@TableName("contract_records")
+@ApiModel(value = "MerchantContractRecord", description = "合同记录")
+public class ContractRecord {
+
+    /**
+     * 主键ID。
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    @ApiModelProperty("主键ID")
+    private Long id;
+
+    /**
+     * 商户ID。
+     */
+    @TableField("merchant_id")
+    @ApiModelProperty("商户ID")
+    private Integer merchantId;
+
+    /**
+     * 合同名称。
+     */
+    @TableField("contract_name")
+    @ApiModelProperty("合同名称")
+    private String contractName;
+
+    /**
+     * 上传文件URL。
+     */
+    @TableField("file_url")
+    @ApiModelProperty("上传文件URL")
+    private String fileUrl;
+
+    /**
+     * 合同签定时间。
+     */
+    @TableField("sign_time")
+    @ApiModelProperty("合同签定时间")
+    private Date signTime;
+
+    /**
+     * 签订人姓名。
+     */
+    @TableField("signer_name")
+    @ApiModelProperty("签订人姓名")
+    private String signerName;
+
+    /**
+     * 创建时间。
+     */
+    @TableField("create_time")
+    @ApiModelProperty("创建时间")
+    private Date createTime;
+}

+ 3 - 3
nightFragrance-massage/src/main/java/com/ylx/massage/domain/MaTechnician.java

@@ -113,7 +113,7 @@ public class MaTechnician extends BaseEntity {
     private String openService;
 
     /**
-     * 可服务项目
+     * 可服务项目名称
      */
     @TableField("te_project")
     private String teProject;
@@ -163,7 +163,7 @@ public class MaTechnician extends BaseEntity {
      * 宣传视频
      */
     @Excel(name = "宣传视频")
-    @TableField("c_mr_address_id")
+    @TableField("promo_video")
     private String promoVideo;
     /**
      * 承诺书
@@ -242,7 +242,7 @@ public class MaTechnician extends BaseEntity {
      * 是否删除(0否1是)
      */
     @Excel(name = "是否删除(0否1是)")
-    private Long isDelete;
+    private Integer isDelete;
 
     /**
      * 评分

+ 8 - 0
nightFragrance-massage/src/main/java/com/ylx/massage/mapper/ContractRecordMapper.java

@@ -0,0 +1,8 @@
+package com.ylx.massage.mapper;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ylx.massage.domain.ContractRecord;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface ContractRecordMapper extends BaseMapper<ContractRecord> {
+}

+ 11 - 0
nightFragrance-massage/src/main/java/com/ylx/massage/mapper/MaTeProjectMapper.java

@@ -1,5 +1,6 @@
 package com.ylx.massage.mapper;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.ylx.massage.domain.MaTeProject;
 import org.apache.ibatis.annotations.Mapper;
@@ -20,4 +21,14 @@ public interface MaTeProjectMapper extends BaseMapper<MaTeProject> {
      * @return 影响行数
      */
     int insertBatch(@Param("entities") List<MaTeProject> entities);
+
+    /**
+     * 根据商户ID删除服务项目关联。
+     *
+     * @param technicianId 商户ID
+     * @return 影响行数
+     */
+    default int deleteByTechnicianId(Long technicianId) {
+        return delete(new LambdaQueryWrapper<MaTeProject>().eq(MaTeProject::getTeId, technicianId));
+    }
 }

+ 30 - 0
nightFragrance-massage/src/main/java/com/ylx/massage/mapper/MaTechnicianMapper.java

@@ -89,6 +89,36 @@ public interface MaTechnicianMapper extends BaseMapper<MaTechnician>
      */
     MaTechnicianMerchantDetailVO selectMerchantDetailById(@Param("id") Long id);
 
+    /**
+     * 根据商户ID查询商户。
+     *
+     * @param id 商户ID
+     * @return 商户信息
+     */
+    default MaTechnician selectMerchantById(Integer id) {
+        return selectById(id);
+    }
+
+    /**
+     * 根据商户ID更新商户。
+     *
+     * @param maTechnician 商户信息
+     * @return 影响行数
+     */
+    default int updateMerchantById(MaTechnician maTechnician) {
+        return updateById(maTechnician);
+    }
+
+    /**
+     * 根据商户ID更新合同文件。
+     *
+     * @param maTechnician 商户合同文件信息
+     * @return 影响行数
+     */
+    default int updateMerchantContractById(MaTechnician maTechnician) {
+        return updateById(maTechnician);
+    }
+
     List<MerchantVo> getMerchantRecommend(@Param("dto") MassageMerchantRecommendDto dto);
 
     /**

+ 22 - 0
nightFragrance-massage/src/main/java/com/ylx/massage/service/IMaTechnicianService.java

@@ -4,6 +4,7 @@ import java.util.List;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.ylx.common.core.domain.AjaxResult;
 import com.ylx.common.core.domain.model.LoginUser;
 import com.ylx.massage.domain.MaProject;
 import com.ylx.massage.domain.MaTechnician;
@@ -17,6 +18,7 @@ import com.ylx.massage.domain.vo.MaTechnicianMerchantListVO;
 import com.ylx.massage.domain.vo.MerchantVo;
 import com.ylx.project.domain.Project;
 import org.springframework.stereotype.Service;
+import org.springframework.web.multipart.MultipartFile;
 
 /**
  * 技师Service接口
@@ -58,6 +60,26 @@ public interface IMaTechnicianService extends IService<MaTechnician> {
      */
     public int insertMerchant(MaTechnicianMerchantAddDTO dto, LoginUser loginUser);
 
+    /**
+     * 后台编辑商户
+     *
+     * @param id        商户ID
+     * @param dto       编辑商户参数
+     * @param loginUser 当前登录用户
+     * @return 结果
+     */
+    public int updateMerchant(Long id, MaTechnicianMerchantAddDTO dto, LoginUser loginUser);
+
+    /**
+     * 后台上传商户合同文件
+     *
+     * @param id        商户ID
+     * @param file      合同文件
+     * @param loginUser 当前登录用户
+     * @return 上传结果
+     */
+    AjaxResult uploadMerchantContract(Integer id, MultipartFile file, LoginUser loginUser);
+
     /**
      * 后台查询商户列表
      *