‘linchangsheng’ hai 3 meses
pai
achega
69ece73f6d

+ 3 - 1
mall-miniapp-service/src/main/java/com/gree/mall/miniapp/logic/apply/WorkerApplyLogic.java

@@ -69,7 +69,9 @@ public class WorkerApplyLogic {
 
         WorkerInvolveApplyDetail workerInvolveApplyDetail = BeanUtil.toBean(workerInvolveApply, WorkerInvolveApplyDetail.class);
 
-        List<WorkerInvolveApplyItem> workerInvolveApplyItemList = workerInvolveApplyItemService.lambdaQuery().eq(WorkerInvolveApplyItem::getInvolveApplyId, id).list();
+        List<WorkerInvolveApplyItem> workerInvolveApplyItemList = workerInvolveApplyItemService.lambdaQuery()
+                .orderByDesc(WorkerInvolveApplyItem::getCreateTime)
+                .eq(WorkerInvolveApplyItem::getInvolveApplyId, workerInvolveApply.getId()).list();
 
         workerInvolveApplyDetail.setWorkerInvolveApplyItems(workerInvolveApplyItemList);
 

+ 22 - 0
mall-server-api/src/main/java/com/gree/mall/manager/bean/apply/WorkerInvolveApplyDetail.java

@@ -0,0 +1,22 @@
+package com.gree.mall.manager.bean.apply;
+
+
+import com.gree.mall.manager.plus.entity.PgOrderBase;
+import com.gree.mall.manager.plus.entity.WorkerInvolveApply;
+import com.gree.mall.manager.plus.entity.WorkerInvolveApplyItem;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+@ApiModel
+@Data
+public class WorkerInvolveApplyDetail extends WorkerInvolveApply {
+
+    @ApiModelProperty(value = "工单详情")
+    private PgOrderBase pgOrderBase;
+
+    @ApiModelProperty(value = "结果")
+    private List<WorkerInvolveApplyItem> workerInvolveApplyItems;
+}

+ 57 - 20
mall-server-api/src/main/java/com/gree/mall/manager/bean/apply/WorkerInvolveApplyVO.java

@@ -1,58 +1,95 @@
 package com.gree.mall.manager.bean.apply;
 
-import com.gree.mall.miniapp.plus.entity.PgOrderBase;
-import com.gree.mall.miniapp.plus.entity.WorkerInvolveApply;
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.gree.mall.manager.annotation.ZfireField;
+import com.gree.mall.manager.enums.WorkerInvolveEnum;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 import java.math.BigDecimal;
+import java.util.Date;
 
 @ApiModel
 @Data
-public class WorkerInvolveApplyVO   {
+@ZfireField(tbName = "a")
+public class WorkerInvolveApplyVO    {
 
-    @ApiModelProperty(value = "工单编号")
+    @ApiModelProperty(value = "状态")
+    private WorkerInvolveEnum status;
+
+    @ApiModelProperty(value = "工单id")
     private String orderBaseId;
 
-    @ApiModelProperty(value = "客户名称")
+
+    @ApiModelProperty(value = "联系人")
     private String linkName;
 
     @ApiModelProperty(value = "客户电话")
     private String userMobile;
 
-    @ApiModelProperty(value = "提交时间")
-    private String createTime;
-
-
-    @ApiModelProperty(value = "申请费用")
-    private BigDecimal maintenancePricePass;
-
 
+    @ZfireField(tbName = "b")
     @ApiModelProperty(value = "省")
     private String province;
-
+    @ZfireField(tbName = "b",hide = true)
     @ApiModelProperty(value = "省id")
     private String provinceId;
-
+    @ZfireField(tbName = "b")
     @ApiModelProperty(value = "市")
     private String city;
-
+    @ZfireField(tbName = "b",hide = true)
     @ApiModelProperty(value = "市id")
     private String cityId;
-
+    @ZfireField(tbName = "b")
     @ApiModelProperty(value = "区")
     private String area;
-
+    @ZfireField(tbName = "b",hide = true)
     @ApiModelProperty(value = "区id")
     private String areaId;
-
+    @ZfireField(tbName = "b")
     @ApiModelProperty(value = "街道")
     private String street;
-
+    @ZfireField(tbName = "b",hide = true)
     @ApiModelProperty(value = "街道id")
     private String streetId;
-
+    @ZfireField(tbName = "b")
     @ApiModelProperty(value = "详细地址")
     private String address;
+
+
+    @ApiModelProperty(value = "网点编号")
+    private String websitNumber;
+
+    @ApiModelProperty(value = "网点名称")
+    private String websitName;
+    @ZfireField(tbName = "b")
+    @ApiModelProperty(value = "师傅编号")
+    private String workerNumber;
+    @ZfireField(tbName = "b")
+    @ApiModelProperty(value = "师傅名称")
+    private String workerName;
+
+
+    @ApiModelProperty(value = "申请服务人员编号")
+    private String applyWorkerNumber;
+
+    @ApiModelProperty(value = "申请服务人员名称")
+    private String applyWorkerName;
+
+
+    @ZfireField(tbName = "b")
+    @ApiModelProperty(value = "完工时间")
+    private Date overTime;
+
+    @ApiModelProperty(value = "问题描述")
+    private String problemDescription;
+
+    @ApiModelProperty(value = "创建时间")
+    @TableField(fill = FieldFill.INSERT)
+    private Date createTime;
+
+    @ApiModelProperty(value = "申请理由")
+    private String reason;
 }

+ 4 - 0
mall-server-api/src/main/java/com/gree/mall/manager/commonmapper/CommonMapper.java

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.gree.mall.manager.bean.activity.PromotionActivityVO;
 import com.gree.mall.manager.bean.admin.AdminCompanyPayConfigVO;
+import com.gree.mall.manager.bean.apply.WorkerInvolveApplyVO;
 import com.gree.mall.manager.bean.apply.WorkerInvolvePrincipalVO;
 import com.gree.mall.manager.bean.charging.ChargingStandardBean;
 import com.gree.mall.manager.bean.common.AmityUrlVO;
@@ -765,4 +766,7 @@ public interface CommonMapper {
 
     @InterceptorIgnore(tenantLine = "1", blockAttack = "1", illegalSql = "1")
     IPage<WorkerInvolvePrincipalVO> principalPage(Page page, @Param("ex")ZfireParamBean zfireParamBean);
+
+    @InterceptorIgnore(tenantLine = "1", blockAttack = "1", illegalSql = "1")
+    IPage<WorkerInvolveApplyVO> listApply(Page page,  @Param("ex")ZfireParamBean zfireParamBean);
 }

+ 33 - 11
mall-server-api/src/main/java/com/gree/mall/manager/controller/apply/WorkerInvolveController.java

@@ -5,12 +5,12 @@ package com.gree.mall.manager.controller.apply;
 import cn.hutool.core.lang.TypeReference;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.gree.mall.manager.annotation.ZfireList;
+import com.gree.mall.manager.bean.apply.WorkerInvolveApplyDetail;
 import com.gree.mall.manager.bean.apply.WorkerInvolveApplyVO;
-import com.gree.mall.manager.bean.apply.WorkerInvolvePrincipalDetail;
-import com.gree.mall.manager.bean.apply.WorkerInvolvePrincipalVO;
-import com.gree.mall.manager.exception.RemoteServiceException;
 import com.gree.mall.manager.helper.ResponseHelper;
 import com.gree.mall.manager.logic.apply.WorkerInvolveLogic;
+import com.gree.mall.manager.plus.entity.LeLetterItem;
+import com.gree.mall.manager.plus.entity.WorkerInvolveApplyItem;
 import com.gree.mall.manager.zfire.bean.ZfireParamBean;
 import com.gree.mall.manager.zfire.util.FieldUtils;
 import io.swagger.annotations.Api;
@@ -24,6 +24,7 @@ import org.springframework.web.bind.annotation.*;
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+import java.text.ParseException;
 
 
 @Slf4j
@@ -37,7 +38,6 @@ public class WorkerInvolveController {
 
 
 
-/*
     @ZfireList
     @PostMapping("/list")
     @ApiOperation(value = "难度费用申请-列表")
@@ -63,14 +63,36 @@ public class WorkerInvolveController {
 
 
     @PostMapping("/detail")
-    @ApiOperation(value = "难度费用审批人设置-详情")
-    public ResponseHelper<WorkerInvolvePrincipalDetail> detail(
-            @ApiParam(value = "id", required = true) @RequestParam String id
-    ) throws RemoteServiceException {
-        WorkerInvolvePrincipalDetail bean = workerInvolveLogic.detail(id);
-        return ResponseHelper.success(bean);
+    @ApiOperation(value = "难度费详情")
+    public ResponseHelper<WorkerInvolveApplyDetail> detailApply(
+            @ApiParam("id") @RequestParam String orderBaseId,
+            HttpServletRequest request
+    ) throws Exception {
+
+        WorkerInvolveApplyDetail workerInvolveApplyDetail = workerInvolveLogic.detailApply(orderBaseId);
+        return ResponseHelper.success(workerInvolveApplyDetail);
+    }
+
+    @PostMapping("/websitAppeal")
+    @ApiOperation("网点审批")
+    public ResponseHelper websitAppeal(
+            @RequestBody WorkerInvolveApplyItem workerInvolveApplyItem,
+            HttpServletRequest request
+    ) throws ParseException {
+        workerInvolveLogic.websitAppeal(workerInvolveApplyItem);
+        return ResponseHelper.success();
+    }
+
+
+    @PostMapping("/appeal")
+    @ApiOperation("中心审批")
+    public ResponseHelper appeal(
+            @RequestBody WorkerInvolveApplyItem workerInvolveApplyItem,
+            HttpServletRequest request
+    ) throws ParseException {
+        workerInvolveLogic.appeal(workerInvolveApplyItem);
+        return ResponseHelper.success();
     }
-*/
 
 
 }

+ 31 - 0
mall-server-api/src/main/java/com/gree/mall/manager/enums/WorkerInvolveEnum.java

@@ -0,0 +1,31 @@
+package com.gree.mall.manager.enums;
+
+import com.baomidou.mybatisplus.annotation.IEnum;
+import com.fasterxml.jackson.annotation.JsonValue;
+import com.gree.mall.manager.enums.base.BaseEnum;
+import lombok.AccessLevel;
+import lombok.Getter;
+import lombok.RequiredArgsConstructor;
+
+@Getter
+@RequiredArgsConstructor(access = AccessLevel.PRIVATE)
+public enum WorkerInvolveEnum implements BaseEnum , IEnum<Integer> {
+    ONE("1","待网点审核"),
+    TWO("2","驳回重申"),
+    THREE("3","待中心审核") ,
+    four("4","驳回禁止申诉"),
+    five("5","通过审核")
+    ;
+
+
+    private final String key;
+    private final String remark;
+
+    @JsonValue
+    @Override
+    public Integer getValue() {
+        return getIntKey();
+    }
+}
+
+

+ 67 - 4
mall-server-api/src/main/java/com/gree/mall/manager/logic/apply/WorkerInvolveLogic.java

@@ -5,16 +5,16 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.gree.mall.manager.bean.activity.PromotionActivityBatchBean;
 import com.gree.mall.manager.bean.admin.AdminUserCom;
+import com.gree.mall.manager.bean.apply.WorkerInvolveApplyDetail;
+import com.gree.mall.manager.bean.apply.WorkerInvolveApplyVO;
 import com.gree.mall.manager.bean.apply.WorkerInvolvePrincipalDetail;
 import com.gree.mall.manager.bean.apply.WorkerInvolvePrincipalVO;
 import com.gree.mall.manager.bean.es.ESGoodsVO;
 import com.gree.mall.manager.commonmapper.CommonMapper;
 import com.gree.mall.manager.exception.RemoteServiceException;
 import com.gree.mall.manager.logic.common.CommonLogic;
-import com.gree.mall.manager.plus.entity.WorkerInvolvePrincipal;
-import com.gree.mall.manager.plus.entity.WorkerInvolvePrincipalItem;
-import com.gree.mall.manager.plus.service.WorkerInvolvePrincipalItemService;
-import com.gree.mall.manager.plus.service.WorkerInvolvePrincipalService;
+import com.gree.mall.manager.plus.entity.*;
+import com.gree.mall.manager.plus.service.*;
 import com.gree.mall.manager.zfire.bean.ZfireParamBean;
 import com.gree.mall.manager.zfire.util.FieldUtils;
 import lombok.RequiredArgsConstructor;
@@ -32,6 +32,9 @@ public class WorkerInvolveLogic {
     private final CommonMapper commonMapper;
     private final WorkerInvolvePrincipalService workerInvolvePrincipalService;
     private final WorkerInvolvePrincipalItemService workerInvolvePrincipalItemService;
+    private final WorkerInvolveApplyService workerInvolveApplyService;
+    private final WorkerInvolveApplyItemService workerInvolveApplyItemService;
+    private final PgOrderBaseService pgOrderBaseService;
 
     public IPage<WorkerInvolvePrincipalVO> list(ZfireParamBean zfireParamBean) {
 
@@ -89,4 +92,64 @@ public class WorkerInvolveLogic {
 
         workerInvolvePrincipalItemService.saveBatch(bean.getWorkerInvolvePrincipalItems());
     }
+
+    public IPage<WorkerInvolveApplyVO> listApply(ZfireParamBean zfireParamBean) {
+
+        AdminUserCom adminUser = commonLogic.getAdminUser();
+        FieldUtils.supplyParam(zfireParamBean, WorkerInvolveApplyVO.class, adminUser);
+        IPage<WorkerInvolveApplyVO> page = commonMapper.listApply(new Page(zfireParamBean.getPageNum(), zfireParamBean.getPageSize()), zfireParamBean);
+
+        return page;
+
+    }
+
+    public WorkerInvolveApplyDetail detailApply(String orderBaseId) {
+        WorkerInvolveApply workerInvolveApply = workerInvolveApplyService.lambdaQuery()
+                .eq(WorkerInvolveApply::getOrderBaseId,orderBaseId)
+                .last("limit 1").one();
+
+        if (workerInvolveApply == null)
+            return null;
+
+        WorkerInvolveApplyDetail workerInvolveApplyDetail = BeanUtil.toBean(workerInvolveApply, WorkerInvolveApplyDetail.class);
+
+        List<WorkerInvolveApplyItem> workerInvolveApplyItemList = workerInvolveApplyItemService.lambdaQuery()
+                .eq(WorkerInvolveApplyItem::getInvolveApplyId, workerInvolveApply.getId())
+                .orderByDesc(WorkerInvolveApplyItem::getCreateTime)
+                .list();
+
+        workerInvolveApplyDetail.setWorkerInvolveApplyItems(workerInvolveApplyItemList);
+
+
+        PgOrderBase pgOrderBase = pgOrderBaseService.getById(workerInvolveApply.getOrderBaseId());
+
+        workerInvolveApplyDetail.setPgOrderBase(pgOrderBase);
+        return workerInvolveApplyDetail;
+    }
+
+    public void websitAppeal(WorkerInvolveApplyItem workerInvolveApplyItem) {
+
+        WorkerInvolveApply workerInvolveApply = workerInvolveApplyService.getById(workerInvolveApplyItem.getInvolveApplyId());
+
+        workerInvolveApply.setStatus(workerInvolveApplyItem.getWebsitStatus());
+
+        workerInvolveApply.updateById();
+
+        workerInvolveApplyItem.insert();
+    }
+
+    public void appeal(WorkerInvolveApplyItem workerInvolveApplyItem) {
+
+        if (!workerInvolveApplyItem.getWebsitStatus().equals(5))
+            throw new RemoteServiceException("网点未审批通过");
+
+
+        WorkerInvolveApply workerInvolveApply = workerInvolveApplyService.getById(workerInvolveApplyItem.getInvolveApplyId());
+
+        workerInvolveApply.setStatus(workerInvolveApplyItem.getStatus());
+
+        workerInvolveApply.updateById();
+
+        workerInvolveApplyItem.updateById();
+    }
 }

+ 18 - 0
mall-server-api/src/main/resources/mapper/CommonMapper.xml

@@ -1750,6 +1750,24 @@
         </if>
         ${ex.orderBy}
     </select>
+    <select id="listApply" resultType="com.gree.mall.manager.bean.apply.WorkerInvolveApplyVO">
+        SELECT
+        ${ex.selected}
+        FROM
+        worker_involve_apply a
+        join pg_order_base b on a.order_base_id = b.id
+        ${ex.query}
+        <if test="ex.adminWebsitIds != null and ex.adminWebsitIds.size > 0">
+            AND a.websit_id IN
+            <foreach item="item" index="index" collection="ex.adminWebsitIds" open="(" separator="," close=")">
+                #{item}
+            </foreach>
+        </if>
+        <if test="ex.orderBy == null or ex.orderBy ==''">
+            ORDER BY a.create_time DESC
+        </if>
+        ${ex.orderBy}
+    </select>
 
 
 </mapper>