Prechádzať zdrojové kódy

Merge remote-tracking branch 'origin/develop' into develop

‘linchangsheng’ 6 mesiacov pred
rodič
commit
980f2f1531

+ 19 - 0
mall-server-api/src/main/java/com/gree/mall/manager/bean/contract/WebsitContractSignRecordBean.java

@@ -0,0 +1,19 @@
+package com.gree.mall.manager.bean.contract;
+
+import com.gree.mall.manager.plus.entity.WebsitContractSignItem;
+import com.gree.mall.manager.plus.entity.WebsitContractSignRecord;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.List;
+
+@EqualsAndHashCode(callSuper = true)
+@Data
+@ApiModel
+public class WebsitContractSignRecordBean extends WebsitContractSignRecord {
+
+    @ApiModelProperty(value = "明细")
+    private List<WebsitContractSignItem> items;
+}

+ 72 - 0
mall-server-api/src/main/java/com/gree/mall/manager/bean/contract/WebsitContractSignVO.java

@@ -0,0 +1,72 @@
+package com.gree.mall.manager.bean.contract;
+
+import com.gree.mall.manager.annotation.ZfireField;
+import com.gree.mall.manager.enums.IsYesNoEnum;
+import com.gree.mall.manager.enums.contract.SignContractStatusEnum;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+@ApiModel
+@ZfireField(tbName = "a")
+public class WebsitContractSignVO {
+
+    @ZfireField(hide = true)
+    private String id;
+
+    @ZfireField(hide = true)
+    @ApiModelProperty(value = "商户id")
+    private String companyWechatId;
+
+    @ZfireField(hide = true)
+    @ApiModelProperty(value = "商户名称")
+    private String companyWechatName;
+
+    @ApiModelProperty(value = "所属公司")
+    private String belongCompany;
+
+    @ApiModelProperty(value = "所属公司编号")
+    private String belongCompanyCode;
+
+    @ApiModelProperty(value = "网点编号")
+    private String websitId;
+
+    @ApiModelProperty(value = "网点名称")
+    private String websitName;
+
+    @ApiModelProperty(value = "上级网点名称")
+    private String parentName;
+
+    @ApiModelProperty(value = "上级网点编号")
+    private String parentId;
+
+    @ApiModelProperty(value = "合同名称")
+    private String contractName;
+
+    @ApiModelProperty(value = "实名状态")
+    private IsYesNoEnum authStatus;
+
+    @ApiModelProperty(value = "审核状态")
+    private SignContractStatusEnum status;
+
+    @ApiModelProperty(value = "签约时间")
+    private Date signTime;
+
+    @ApiModelProperty(value = "签约过期时间")
+    private Date signOverTime;
+
+    @ApiModelProperty(value = "审核人")
+    private String confirmBy;
+
+    @ApiModelProperty(value = "审核时间")
+    private Date confirmTime;
+
+    @ApiModelProperty(value = "失效操作人")
+    private String cancelBy;
+
+    @ApiModelProperty(value = "失效操作时间")
+    private Date cancelTime;
+}

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

@@ -9,10 +9,7 @@ import com.gree.mall.manager.bean.charging.ChargingStandardBean;
 import com.gree.mall.manager.bean.common.AmityUrlVO;
 import com.gree.mall.manager.bean.common.CallRecordOrderVo;
 import com.gree.mall.manager.bean.common.CallRecordVo;
-import com.gree.mall.manager.bean.contract.CompanyCaAuthVO;
-import com.gree.mall.manager.bean.contract.ContractTemplateVO;
-import com.gree.mall.manager.bean.contract.ContractWebsitBean;
-import com.gree.mall.manager.bean.contract.SettleRelaConfigVO;
+import com.gree.mall.manager.bean.contract.*;
 import com.gree.mall.manager.bean.engin.OrderEnginBaseVO;
 import com.gree.mall.manager.bean.engin.ProjectRepairVO;
 import com.gree.mall.manager.bean.es.ESGoodsVO;
@@ -721,4 +718,8 @@ public interface CommonMapper {
     IPage<CallRecordOrderVo> listOrder(Page page, @Param("ex") ZfireParamBean zfireParam);
 
     IPage<CompanyCaAuthVO> companyCaAuthPage(Page page, @Param("ex") ZfireParamBean zfireParamBean);
+
+    IPage<WebsitContractSignVO> websitContractSignPage(Page page,
+                                                       @Param("ex") ZfireParamBean zfireParamBean,
+                                                       @Param("websitId") String websitId);
 }

+ 68 - 0
mall-server-api/src/main/java/com/gree/mall/manager/controller/contract/WebsitContractSignController.java

@@ -0,0 +1,68 @@
+package com.gree.mall.manager.controller.contract;
+
+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.contract.WebsitContractSignRecordBean;
+import com.gree.mall.manager.bean.contract.WebsitContractSignVO;
+import com.gree.mall.manager.helper.ResponseHelper;
+import com.gree.mall.manager.logic.contract.WebsitContractSignLogic;
+import com.gree.mall.manager.zfire.bean.ZfireParamBean;
+import com.gree.mall.manager.zfire.util.FieldUtils;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+@Slf4j
+@RestController
+@Api(value = "网点合同签约API", tags ={"网点合同签约API"} )
+@RequestMapping("/websit/contract/sign/")
+public class WebsitContractSignController {
+
+    @Resource
+    WebsitContractSignLogic websitContractSignLogic;
+
+    @ZfireList
+    @PostMapping("/list")
+    @ApiOperation(value = "网点合同签约-列表")
+    public ResponseHelper<IPage<WebsitContractSignVO>> list(@RequestBody ZfireParamBean zfireParamBean) {
+        IPage<WebsitContractSignVO> list = websitContractSignLogic.list(zfireParamBean);
+        return ResponseHelper.success(list, new TypeReference<WebsitContractSignVO>() {
+        });
+    }
+
+    @PostMapping("/list/export")
+    @ApiOperation(value = "网点合同签约-导出")
+    public void listExport(@RequestBody ZfireParamBean zfireParamBean, HttpServletRequest request, HttpServletResponse response) throws Exception {
+        //2.查询要导出的内容
+        IPage<WebsitContractSignVO> list = websitContractSignLogic.list(zfireParamBean);
+        //3.导出
+        FieldUtils.exportData(list.getRecords(), zfireParamBean.getExportFields(), request, response);
+    }
+
+    @PostMapping("/detail")
+    @ApiOperation(value = "网点合同签约-详情")
+    public ResponseHelper<WebsitContractSignRecordBean> detail(@RequestParam String id) {
+        WebsitContractSignRecordBean detail = websitContractSignLogic.detail(id);
+        return ResponseHelper.success(detail);
+    }
+
+    @PostMapping("/cancel")
+    @ApiOperation(value = "网点合同签约-失效")
+    public ResponseHelper cancel(@RequestParam String id) {
+        websitContractSignLogic.cancel(id);
+        return ResponseHelper.success();
+    }
+
+    @PostMapping("/sign")
+    @ApiOperation(value = "网点合同签约-签约")
+    public ResponseHelper sign(@RequestParam String id) {
+        websitContractSignLogic.sign(id);
+        return ResponseHelper.success();
+    }
+}

+ 18 - 0
mall-server-api/src/main/java/com/gree/mall/manager/enums/contract/SignContractStatusEnum.java

@@ -0,0 +1,18 @@
+package com.gree.mall.manager.enums.contract;
+
+import com.gree.mall.manager.enums.base.BaseEnum;
+import lombok.Getter;
+
+@Getter
+public enum SignContractStatusEnum implements BaseEnum {
+    WAIT_SIGN("WAIT_SIGN","待签约"),
+    WAIT("WAIT","待审核"),
+    OK("OK","审核通过"),
+    CANCEL("CANCEL","已失效"),;
+
+    SignContractStatusEnum(String key, String remark) {
+        this.key=key;this.remark = remark;
+    }
+    private final String key;
+    private final String remark;
+}

+ 68 - 0
mall-server-api/src/main/java/com/gree/mall/manager/logic/contract/WebsitContractSignLogic.java

@@ -0,0 +1,68 @@
+package com.gree.mall.manager.logic.contract;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.gree.mall.manager.bean.admin.AdminUserCom;
+import com.gree.mall.manager.bean.contract.WebsitContractSignRecordBean;
+import com.gree.mall.manager.bean.contract.WebsitContractSignVO;
+import com.gree.mall.manager.commonmapper.CommonMapper;
+import com.gree.mall.manager.logic.common.CommonLogic;
+import com.gree.mall.manager.plus.entity.AdminWebsit;
+import com.gree.mall.manager.plus.entity.WebsitContractSignItem;
+import com.gree.mall.manager.plus.entity.WebsitContractSignRecord;
+import com.gree.mall.manager.plus.service.AdminWebsitService;
+import com.gree.mall.manager.plus.service.WebsitContractSignItemService;
+import com.gree.mall.manager.plus.service.WebsitContractSignRecordService;
+import com.gree.mall.manager.zfire.bean.ZfireParamBean;
+import com.gree.mall.manager.zfire.util.FieldUtils;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Slf4j
+@Service
+@RequiredArgsConstructor
+public class WebsitContractSignLogic {
+
+    private final CommonLogic commonLogic;
+    private final CommonMapper commonMapper;
+    private final AdminWebsitService adminWebsitService;
+    private final WebsitContractSignRecordService websitContractSignRecordService;
+    private final WebsitContractSignItemService websitContractSignItemService;
+
+    public IPage<WebsitContractSignVO> list(ZfireParamBean zfireParamBean) {
+        AdminUserCom adminUser = commonLogic.getAdminUser();
+        FieldUtils.supplyParam(zfireParamBean, WebsitContractSignVO.class, adminUser);
+        String websitId = null;
+        if (adminUser.getType().equals(0) && adminUser.getAdminWebsitIds().size() == 1) {
+            final AdminWebsit websit = adminWebsitService.lambdaQuery()
+                    .eq(AdminWebsit::getCompanyWechatId, adminUser.getCompanyWechatId())
+                    .eq(AdminWebsit::getWebsitId, adminUser.getAdminWebsitIds().get(0))
+                    .one();
+            if (websit.getLevel() == 2) {
+                websitId = websit.getWebsitId();
+            }
+        }
+        return commonMapper.websitContractSignPage(new Page(zfireParamBean.getPageNum(), zfireParamBean.getPageSize()), zfireParamBean, websitId);
+    }
+
+    public WebsitContractSignRecordBean detail(String id) {
+        final WebsitContractSignRecord record = websitContractSignRecordService.getById(id);
+        WebsitContractSignRecordBean bean = new WebsitContractSignRecordBean();
+        BeanUtils.copyProperties(record, bean);
+        final List<WebsitContractSignItem> signItems = websitContractSignItemService.lambdaQuery()
+                .eq(WebsitContractSignItem::getWebsitContractSignRecordId, id)
+                .list();
+        bean.setItems(signItems);
+        return bean;
+    }
+
+    public void cancel(String id) {
+    }
+
+    public void sign(String id) {
+    }
+}

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

@@ -1452,6 +1452,33 @@
             LEFT JOIN admin_websit b ON a.websit_id = b.websit_id
         ${ex.query}
         AND a.del = 0
+        <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>
+
+    <select id="websitContractSignPage" resultType="com.gree.mall.manager.bean.contract.WebsitContractSignVO">
+        SELECT
+        ${ex.selected}
+        FROM
+        websit_contract_sign_record a
+        ${ex.query}
+        <if test="websitId != null">
+            a.websit_id = #{websitId}
+        </if>
+        <if test="websitId == null and ex.adminWebsitIds != null and ex.adminWebsitIds.size > 0">
+            AND a.parent_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>