bug
jiangqs
2023-08-22 95044dd4dacee5f7ecb081af5d557d14fad83c24
bug
13个文件已修改
8个文件已添加
836 ■■■■■ 已修改文件
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/poji/shop/Shop.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/staff/StaffShopController.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/StaffCustomerDto.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/StaffShopDetailDto.java 171 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/pojo/shop/ShopDetail.java 172 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/MgtShopAuthGetVo.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/StaffShopDetailVo.java 188 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/shop/ShopDetailMapper.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/task/ShopTaskMapper.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopDetailServiceImpl.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java 88 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/ShopTaskServiceImpl.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/shop/ShopDetailService.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/shop/ShopService.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/task/ShopTaskService.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/resources/mapper/shop/ShopDetailMapper.xml 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/resources/mapper/task/ShopTaskMapper.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/pom.xml 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/GeneratorMybatisPlus.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/poji/shop/Shop.java
@@ -280,10 +280,13 @@
     */
    @TableField("auth_flag")
    private Integer authFlag;
    /**
     * 店铺二维码
     */
    @TableField("shop_code")
    private String shopCode;
    @Override
    protected Serializable pkVal() {
        return this.shopId;
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java
@@ -1629,7 +1629,7 @@
        // 调用remoteMemberService的getMember方法获取Member对象
        Member member = remoteMemberService.getMember(userId).getData();
        //如果是商户优惠券,验证商户一致
        if (memberCoupon.getCouponFrom() == 2 && !memberCoupon.getShopId().equals(shopId)) {
        if (memberCoupon.getCouponFrom() == 2) {
            if(!memberCoupon.getShopId().equals(member.getRelationShopId())){
                throw new ServiceException(AppErrorConstant.BLINDING_VERIFY_SHOP_ERROR);
            }
@@ -1642,6 +1642,7 @@
            /*if(!memberCoupon.getShopId().equals(member.getRelationShopId())){
                throw new ServiceException(AppErrorConstant.BLINDING_VERIFY_SHOP_ERROR);
            }*/
            //判断绑定商户是否和核销商户一致
            if(!member.getRelationShopId().equals(shopId)){
                throw new ServiceException(AppErrorConstant.VERIFY_SHOP_ERROR);
            }
@@ -3265,7 +3266,7 @@
        Long userId = verifyCouponGetVo.getUserId();
        Member member = remoteMemberService.getMember(userId).getData();
        //如果是商户优惠券,验证商户一致
        if (memberCoupon.getCouponFrom() == 2 && !memberCoupon.getShopId().equals(shopId)) {
        if (memberCoupon.getCouponFrom() == 2) {
            if(!memberCoupon.getShopId().equals(member.getRelationShopId())){
                throw new ServiceException(AppErrorConstant.BLINDING_VERIFY_SHOP_ERROR);
            }
@@ -3278,6 +3279,7 @@
            /*if(!memberCoupon.getShopId().equals(member.getRelationShopId())){
                throw new ServiceException(AppErrorConstant.BLINDING_VERIFY_SHOP_ERROR);
            }*/
            //判断绑定商户是否和核销商户一致
            if(!member.getRelationShopId().equals(shopId)){
                throw new ServiceException(AppErrorConstant.VERIFY_SHOP_ERROR);
            }
@@ -4530,10 +4532,6 @@
                    orderFromDesc = "商城订单";
                }
                merOrderPageVo.setOrderFromDesc(orderFromDesc);
                merOrderPageVo.setUnPaidMoney(merOrderPageVo.getPayMoney().subtract(merOrderPageVo.getReceiveMoney()));
                if (merOrderPageVo.getUnPaidMoney() == null) {
                    merOrderPageVo.setUnPaidMoney(zeroBig);
                }
                if(merOrderPageVo.getUnPaidMoney().compareTo(zeroBig)<0){
                    merOrderPageVo.setUnPaidMoney(zeroBig);
                }
ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml
@@ -1418,7 +1418,7 @@
        IFNULL(SUM(CASE WHEN order_from = 1 THEN 1 ELSE 0 END),0) onlineTotal,
        IFNULL(SUM(CASE WHEN order_from = 3 THEN 1 ELSE 0 END),0) offlineTotal,
        IFNULL(SUM(CASE WHEN order_from = 2 THEN 1 ELSE 0 END),0) activityTotal,
        IFNULL(SUM(order_money),0) orderMoney,
        IFNULL(SUM(change_receivable_money),0) orderMoney,
        IFNULL(SUM(CASE WHEN order_from = 1 THEN change_receivable_money ELSE 0 END),0) onlineMoney,
        IFNULL(SUM(CASE WHEN order_from = 3 THEN change_receivable_money ELSE 0 END),0) offlineMoney,
        IFNULL(SUM(CASE WHEN order_from = 2 THEN change_receivable_money ELSE 0 END),0) activityMoney
@@ -1448,7 +1448,7 @@
            SUM(tog.goods_receivable_money) AS mapValueSecond
        FROM t_order toc
        INNER JOIN t_order_goods tog ON toc.order_id = tog.order_id
        WHERE toc.del_flag = 0 AND toc.order_status = 3  AND tog.del_flag = 0 AND tog.goods_type = #{param.goodsType}
        WHERE toc.del_flag = 0 AND toc.order_status IN (2,3)  AND tog.del_flag = 0 AND tog.goods_type = #{param.goodsType}
        <if test="param.shopId != null and param.shopId != ''">
            AND shop_id = #{param.shopId}
        </if>
@@ -1469,7 +1469,7 @@
        IFNULL(SUM(tog.goods_receivable_money),0) AS mapValueSecond
        FROM t_order toc
        INNER JOIN t_order_goods tog ON tog.order_id = toc.order_id
        WHERE toc.del_flag = 0 AND toc.order_status = 3
        WHERE toc.del_flag = 0 AND toc.order_status IN (2,3)
        <if test="param.shopId != null and param.shopId != ''">
            AND toc.shop_id = #{param.shopId}
        </if>
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/staff/StaffShopController.java
@@ -3,14 +3,8 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.security.utils.SecurityUtils;
import com.ruoyi.shop.domain.dto.StaffShopCCEditDto;
import com.ruoyi.shop.domain.dto.StaffShopECEditDto;
import com.ruoyi.shop.domain.dto.StaffShopEstimateEditDto;
import com.ruoyi.shop.domain.dto.StaffShopPageDto;
import com.ruoyi.shop.domain.vo.StaffHomeShopTotalVo;
import com.ruoyi.shop.domain.vo.StaffShopInfoGetVo;
import com.ruoyi.shop.domain.vo.StaffShopPageVo;
import com.ruoyi.shop.domain.vo.StaffShopSimpleTotalVo;
import com.ruoyi.shop.domain.dto.*;
import com.ruoyi.shop.domain.vo.*;
import com.ruoyi.shop.service.shop.ShopService;
import com.ruoyi.system.api.domain.dto.StaffBaseGetDto;
import com.ruoyi.system.api.service.RemoteSysStaffService;
@@ -114,5 +108,21 @@
        return R.ok();
    }
    @RequestMapping(value = "/editShopDetail", method = RequestMethod.POST)
    @ApiOperation(value = "修改店铺详细资料")
    public R editShopDetail(@RequestBody StaffShopDetailDto staffShopDetailDto) {
        Long userId = SecurityUtils.getUserId();
        staffShopDetailDto.setUserId(userId);
        shopService.editShopDetail(staffShopDetailDto);
        return R.ok();
    }
    @RequestMapping(value = "/getShopDetail", method = RequestMethod.POST)
    @ApiOperation(value = "获取店铺详细资料")
    public R<StaffShopDetailVo> getShopDetail(@RequestBody StaffBaseGetDto staffBaseGetDto) {
        Long userId = SecurityUtils.getUserId();
        staffBaseGetDto.setUserId(userId);
        StaffShopDetailVo staffShopDetailVo = shopService.getShopDetail(Long.valueOf(staffBaseGetDto.getId()));
        return R.ok(staffShopDetailVo);
    }
}
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/StaffCustomerDto.java
New file
@@ -0,0 +1,28 @@
package com.ruoyi.shop.domain.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
 * @ClassName StaffCustomerDto
 * @Description TODO
 * @Author jqs
 * @Date 2023/8/22 14:44
 * @Version 1.0
 */
@Data
public class StaffCustomerDto {
    /**
     * 客户姓名
     */
    @ApiModelProperty(value = "客户姓名 ")
    private String customerName;
    /**
     * 客户电话
     */
    @ApiModelProperty(value = "客户电话")
    private String customerMobile;
}
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/StaffShopDetailDto.java
New file
@@ -0,0 +1,171 @@
package com.ruoyi.shop.domain.dto;
import com.ruoyi.system.api.domain.dto.StaffBaseDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
 * @ClassName StaffShopDetailDto
 * @Description TODO
 * @Author jqs
 * @Date 2023/8/22 14:39
 * @Version 1.0
 */
@Data
public class StaffShopDetailDto extends StaffBaseDto {
    /**
     * 商户id
     */
    @ApiModelProperty(value = "商户id")
    private Long shopId;
    /**
     * 客户姓名
     */
    @ApiModelProperty(value = "客户联系列表 ")
    private List<StaffCustomerDto> staffCustomerDtoList;
    /**
     * 手机归属地
     */
    @ApiModelProperty(value = "手机归属地")
    private String mobileBelongArea;
    /**
     * 意向区域
     */
    @ApiModelProperty(value = "意向区域")
    private String intentionArea;
    /**
     * 意向方式
     */
    @ApiModelProperty(value = "意向方式")
    private String intentionType;
    /**
     * 开店初衷1本人操作2投资
     */
    @ApiModelProperty(value = "开店初衷1本人操作2投资")
    private Integer openShopType;
    /**
     * 家庭情况
     */
    @ApiModelProperty(value = "家庭情况")
    private String familySituation;
    /**
     * 经济情况
     */
    @ApiModelProperty(value = "经济情况")
    private String economicSituation;
    /**
     * 朋友圈情况
     */
    @ApiModelProperty(value = "朋友圈情况")
    private String friendSituation;
    /**
     * 作主权
     */
    @ApiModelProperty(value = "作主权")
    private String exerciseSovereignty;
    /**
     * 客户简介
     */
    @ApiModelProperty(value = "客户简介")
    private String customerIntroduction;
    /**
     * 客户类型
     */
    @ApiModelProperty(value = "客户类型")
    private String customerType;
    /**
     * 客户等级
     */
    @ApiModelProperty(value = "客户等级")
    private String customerLevel;
    /**
     * 客户状态
     */
    @ApiModelProperty(value = "客户状态")
    private String customerStatus;
    /**
     * 所属行业
     */
    @ApiModelProperty(value = "所属行业")
    private String customerIndustry;
    /**
     * 观摩类型
     */
    @ApiModelProperty(value = "观摩类型")
    private String observationType;
    /**
     * 观摩门店id
     */
    @ApiModelProperty(value = "观摩门店id")
    private Integer observationShopId;
    /**
     * 客户来源
     */
    @ApiModelProperty(value = "客户来源")
    private String customerFrom;
    /**
     * 客户性别
     */
    @ApiModelProperty(value = "客户性别")
    private Integer customerGender;
    /**
     * 客户年龄
     */
    @ApiModelProperty(value = "客户年龄")
    private Integer customerAge;
    /**
     * 关联企业微信用户id
     */
    @ApiModelProperty(value = "关联企业微信用户id")
    private Long relationUserId;
    /**
     * 协作人
     */
    @ApiModelProperty(value = "协作人id 多个用,号隔开 ")
    private String collaborateUserId;
    /**
     * 推荐人
     */
    @ApiModelProperty(value = "推荐人")
    private String referrer;
    /**
     * 标签
     */
    @ApiModelProperty(value = "标签 多个用,号隔开")
    private String customerTags;
    /**
     * 备注
     */
    @ApiModelProperty(value = "备注")
    private String remark;
}
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/pojo/shop/ShopDetail.java
New file
@@ -0,0 +1,172 @@
package com.ruoyi.shop.domain.pojo.shop;
import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.io.Serializable;
/**
 * <p>
 * 商户客户信息
 * </p>
 *
 * @author jqs
 * @since 2023-08-22
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("t_shop_detail")
public class ShopDetail extends Model<ShopDetail> {
    private static final long serialVersionUID = 1L;
    /**
     * 商户id
     */
    @TableId("shop_id")
    private Integer shopId;
    /**
     * 删除标记
     */
    @TableField("del_flag")
    private Integer delFlag;
    /**
     * 客户姓名
     */
    @TableField("customer_name")
    private String customerName;
    /**
     * 客户电话
     */
    @TableField("customer_mobile")
    private String customerMobile;
    /**
     * 手机归属地
     */
    @TableField("mobile_belong_area")
    private String mobileBelongArea;
    /**
     * 意向区域
     */
    @TableField("intention_area")
    private String intentionArea;
    /**
     * 意向方式
     */
    @TableField("intention_type")
    private String intentionType;
    /**
     * 开店初衷1本人操作2投资
     */
    @TableField("open_shop_type")
    private Integer openShopType;
    /**
     * 家庭情况
     */
    @TableField("family_situation")
    private String familySituation;
    /**
     * 经济情况
     */
    @TableField("economic_situation")
    private String economicSituation;
    /**
     * 朋友圈情况
     */
    @TableField("friend_situation")
    private String friendSituation;
    /**
     * 作主权
     */
    @TableField("exercise_sovereignty")
    private String exerciseSovereignty;
    /**
     * 客户简介
     */
    @TableField("customer_introduction")
    private String customerIntroduction;
    /**
     * 客户类型
     */
    @TableField("customer_type")
    private String customerType;
    /**
     * 客户等级
     */
    @TableField("customer_level")
    private String customerLevel;
    /**
     * 客户状态
     */
    @TableField("customer_status")
    private String customerStatus;
    /**
     * 所属行业
     */
    @TableField("customer_industry")
    private String customerIndustry;
    /**
     * 观摩类型
     */
    @TableField("observation_type")
    private String observationType;
    /**
     * 观摩门店id
     */
    @TableField("observation_shop_id")
    private Integer observationShopId;
    /**
     * 客户来源
     */
    @TableField("customer_from")
    private String customerFrom;
    /**
     * 客户性别
     */
    @TableField("customer_gender")
    private Integer customerGender;
    /**
     * 客户年龄
     */
    @TableField("customer_age")
    private Integer customerAge;
    /**
     * 关联企业微信用户id
     */
    @TableField("relation_user_id")
    private Long relationUserId;
    /**
     * 协作人
     */
    @TableField("collaborate_user_id")
    private String collaborateUserId;
    /**
     * 推荐人
     */
    @TableField("referrer")
    private String referrer;
    /**
     * 标签
     */
    @TableField("customer_tags")
    private String customerTags;
    /**
     * 备注
     */
    @TableField("remark")
    private String remark;
    @Override
    protected Serializable pkVal() {
        return this.shopId;
    }
}
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/MgtShopAuthGetVo.java
@@ -66,6 +66,9 @@
     */
    @ApiModelProperty(value = "营业执照注册地址")
    private String blRegisteredAddress;
    @ApiModelProperty(value = "营业执照开始时间")
    private String blBusinessStartTime;
    /**
     * 营业执照期限
     */
@@ -89,6 +92,9 @@
     */
    @ApiModelProperty(value = "法人身份证号")
    private String lpIdCard;
    @ApiModelProperty(value = "法人身份证地址")
    private String lpIdAddress;
    /**
     * 法人身份证开始日期
     */
@@ -158,6 +164,10 @@
    @ApiModelProperty(value = "拒绝理由")
    private String adRejectReason;
    @ApiModelProperty(value = "法人是否受益人 0否1是")
    private Integer owner;
    /**
     * 受益人姓名
     */
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/StaffShopDetailVo.java
New file
@@ -0,0 +1,188 @@
package com.ruoyi.shop.domain.vo;
import com.ruoyi.shop.domain.dto.StaffCustomerDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
 * @ClassName StaffShopDetailVo
 * @Description TODO
 * @Author jqs
 * @Date 2023/8/22 14:47
 * @Version 1.0
 */
@Data
public class StaffShopDetailVo {
    /**
     * 商户id
     */
    @ApiModelProperty(value = "商户id")
    private Long shopId;
    @ApiModelProperty(value = "联系人")
    private String contactName;
    @ApiModelProperty(value = "客户归属")
    private String belongUser;
    @ApiModelProperty(value = "下次跟进时间")
    private String nextTaskDate;
    /**
     * 客户姓名
     */
    @ApiModelProperty(value = "客户联系列表 ")
    private List<StaffCustomerDto> staffCustomerDtoList;
    /**
     * 手机归属地
     */
    @ApiModelProperty(value = "手机归属地")
    private String mobileBelongArea;
    /**
     * 意向区域
     */
    @ApiModelProperty(value = "意向区域")
    private String intentionArea;
    /**
     * 意向方式
     */
    @ApiModelProperty(value = "意向方式")
    private String intentionType;
    /**
     * 开店初衷1本人操作2投资
     */
    @ApiModelProperty(value = "开店初衷1本人操作2投资")
    private Integer openShopType;
    /**
     * 家庭情况
     */
    @ApiModelProperty(value = "家庭情况")
    private String familySituation;
    /**
     * 经济情况
     */
    @ApiModelProperty(value = "经济情况")
    private String economicSituation;
    /**
     * 朋友圈情况
     */
    @ApiModelProperty(value = "朋友圈情况")
    private String friendSituation;
    /**
     * 作主权
     */
    @ApiModelProperty(value = "作主权")
    private String exerciseSovereignty;
    /**
     * 客户简介
     */
    @ApiModelProperty(value = "客户简介")
    private String customerIntroduction;
    /**
     * 客户类型
     */
    @ApiModelProperty(value = "客户类型")
    private String customerType;
    /**
     * 客户等级
     */
    @ApiModelProperty(value = "客户等级")
    private String customerLevel;
    /**
     * 客户状态
     */
    @ApiModelProperty(value = "客户状态")
    private String customerStatus;
    /**
     * 所属行业
     */
    @ApiModelProperty(value = "所属行业")
    private String customerIndustry;
    /**
     * 观摩类型
     */
    @ApiModelProperty(value = "观摩类型")
    private String observationType;
    /**
     * 观摩门店id
     */
    @ApiModelProperty(value = "观摩门店id")
    private Long observationShopId;
    @ApiModelProperty(value = "观摩门店名字")
    private String observationShopName;
    /**
     * 客户来源
     */
    @ApiModelProperty(value = "客户来源")
    private String customerFrom;
    /**
     * 客户性别
     */
    @ApiModelProperty(value = "客户性别")
    private Integer customerGender;
    /**
     * 客户年龄
     */
    @ApiModelProperty(value = "客户年龄")
    private Integer customerAge;
    /**
     * 关联企业微信用户id
     */
    @ApiModelProperty(value = "关联企业微信用户id")
    private Long relationUserId;
    @ApiModelProperty(value = "关联企业微信用户名字")
    private String relationUserName;
    /**
     * 协作人
     */
    @ApiModelProperty(value = "协作人id 多个用,号隔开 ")
    private String collaborateUserId;
    @ApiModelProperty(value = "协作人名字 多个用,号隔开")
    private String collaborateUserName;
    /**
     * 推荐人
     */
    @ApiModelProperty(value = "推荐人")
    private String referrer;
    /**
     * 标签
     */
    @ApiModelProperty(value = "标签 多个用,号隔开")
    private String customerTags;
    /**
     * 备注
     */
    @ApiModelProperty(value = "备注")
    private String remark;
}
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/shop/ShopDetailMapper.java
New file
@@ -0,0 +1,16 @@
package com.ruoyi.shop.mapper.shop;
import com.ruoyi.shop.domain.pojo.shop.ShopDetail;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
 * <p>
 * 商户客户信息 Mapper 接口
 * </p>
 *
 * @author jqs
 * @since 2023-08-22
 */
public interface ShopDetailMapper extends BaseMapper<ShopDetail> {
}
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/task/ShopTaskMapper.java
@@ -64,4 +64,13 @@
     * @return  void
     */
    void checkMemberTaskStatus();
    /**
     * @description  获取商户最近任务
     * @author  jqs
     * @date    2023/8/22 17:27
     * @param shopId
     * @return  ShopTask
     */
    ShopTask getLastTask(@Param("shopId")Long shopId);
}
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopDetailServiceImpl.java
New file
@@ -0,0 +1,20 @@
package com.ruoyi.shop.service.impl.shop;
import com.ruoyi.shop.domain.pojo.shop.ShopDetail;
import com.ruoyi.shop.mapper.shop.ShopDetailMapper;
import com.ruoyi.shop.service.shop.ShopDetailService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
 * <p>
 * 商户客户信息 服务实现类
 * </p>
 *
 * @author jqs
 * @since 2023-08-22
 */
@Service
public class ShopDetailServiceImpl extends ServiceImpl<ShopDetailMapper, ShopDetail> implements ShopDetailService {
}
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java
@@ -20,6 +20,7 @@
import com.ruoyi.shop.domain.dto.*;
import com.ruoyi.shop.domain.pojo.shop.*;
import com.ruoyi.shop.domain.pojo.task.ShopFile;
import com.ruoyi.shop.domain.pojo.task.ShopTask;
import com.ruoyi.shop.domain.vo.*;
import com.ruoyi.shop.enums.WxApplyMentStateEnum;
import com.ruoyi.shop.mapper.shop.ShopMapper;
@@ -122,6 +123,12 @@
    @Resource
    private WechatPayUtils wechatPayUtils;
    @Resource
    private ShopDetailService shopDetailService;
    @Resource
    private RemoteUserService remoteUserService;
    /**
     * 获取商户详情
@@ -1002,7 +1009,7 @@
    public void mgtShopAuth(MgtShopAuthDto mgtShopAuthDto) throws WxPayException {
        ShopAuthentication shopAuthentication = shopAuthenticationService.getById(mgtShopAuthDto.getAuthId());
        Shop shop = this.getByShopId(shopAuthentication.getShopId());
        String applyNumber = IdUtils.simpleUUID();
        if(mgtShopAuthDto.getBlBusinessFoeverFlag()!=null&&mgtShopAuthDto.getBlBusinessFoeverFlag()==1){
            mgtShopAuthDto.setBlBusinessDeanline(mgtShopAuthDto.getBlBusinessStartTime()+",长期");
        }
@@ -1010,7 +1017,11 @@
            mgtShopAuthDto.setLpIcEndDate("长期");
        }
        BeanUtils.copyProperties(mgtShopAuthDto , shopAuthentication);
        shopAuthentication.setApplyNumber(applyNumber);
        String applyNumber = shopAuthentication.getApplyNumber();
        if(StringUtils.isBlank(applyNumber)){
            applyNumber = IdUtils.simpleUUID();
            shopAuthentication.setApplyNumber(applyNumber);
        }
        ApplymentsResult applymentsResult;
        try {
            applymentsResult = wechatPayUtils.ecommerceApply(shopAuthentication,applyNumber,shop);
@@ -1465,4 +1476,77 @@
            throw new RuntimeException(e);
        }
    }
    /**
     * @description  修改店铺详细资料
     * @author  jqs
     * @date    2023/8/22 14:51
     * @param staffShopDetailDto
     * @return  void
     */
    @Override
    public void editShopDetail(StaffShopDetailDto staffShopDetailDto){
        ShopDetail shopDetail = shopDetailService.getById(staffShopDetailDto.getShopId());
        if(shopDetail == null){
            shopDetail = new ShopDetail();
            shopDetail.setDelFlag(0);
        }
        BeanUtils.copyProperties(staffShopDetailDto, shopDetail);
        List<StaffCustomerDto> staffCustomerDtoList = staffShopDetailDto.getStaffCustomerDtoList();
        if(staffCustomerDtoList!=null&&!staffCustomerDtoList.isEmpty()){
            StringJoiner customerNameSJ = new StringJoiner(",");
            StringJoiner customerMobileSJ = new StringJoiner(",");
            for(StaffCustomerDto staffCustomerDto : staffCustomerDtoList){
                customerNameSJ.add(staffCustomerDto.getCustomerName());
                customerMobileSJ.add(staffCustomerDto.getCustomerMobile());
            }
            shopDetail.setCustomerName(customerNameSJ.toString());
            shopDetail.setCustomerMobile(customerMobileSJ.toString());
        }
        shopDetailService.saveOrUpdate(shopDetail);
    }
    /**
     * @description  获取店铺详细资料
     * @author  jqs
     * @date    2023/8/22 16:15
     * @param shopId
     * @return  StaffShopDetailVo
     */
    @Override
    public StaffShopDetailVo getShopDetail(Long shopId){
        ShopDetail shopDetail = shopDetailService.getById(shopId);
        StaffShopDetailVo staffShopDetailVo = new StaffShopDetailVo();
        BeanUtils.copyProperties(shopDetail, staffShopDetailVo);
        //归属客户
        Shop shop = this.getByShopId(shopId);
        Long belongUserId = shop.getBelongUserId();
        if(belongUserId!=null){
            SysUser sysUser = remoteUserService.getSysUser(belongUserId).getData();
            if(sysUser!=null){
                staffShopDetailVo.setBelongUser(sysUser.getNickName());
            }
        }
        //最近任务时间
        ShopTask shopTask = shopTaskService.getLastTask(shopId);
        if(shopTask!=null){
            staffShopDetailVo.setNextTaskDate(shopTask.getTaskDate());
        }
        //处理联系人
        String customerName = shopDetail.getCustomerName();
        String customerMobile = shopDetail.getCustomerMobile();
        List<StaffCustomerDto> staffCustomerDtoList = new ArrayList<>();
        String[] customerNameArr = customerName.split(",");
        String[] customerMobileArr = customerMobile.split(",");
        staffShopDetailVo.setContactName(customerNameArr[0]);
        StaffCustomerDto staffCustomerDto;
        for(int i=0;i<customerNameArr.length;i++){
            staffCustomerDto = new StaffCustomerDto();
            staffCustomerDto.setCustomerName(customerNameArr[i]);
            staffCustomerDto.setCustomerMobile(customerMobileArr[i]);
            staffCustomerDtoList.add(staffCustomerDto);
        }
        staffShopDetailVo.setStaffCustomerDtoList(staffCustomerDtoList);
        return staffShopDetailVo;
    }
}
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/ShopTaskServiceImpl.java
@@ -331,4 +331,16 @@
        shopTaskMapper.checkAgencyTaskStatus();
        shopTaskMapper.checkMemberTaskStatus();
    }
    /**
     * @description  获取商户最近任务
     * @author  jqs
     * @date    2023/8/22 17:27
     * @param shopId
     * @return  ShopTask
     */
    @Override
    public ShopTask getLastTask(Long shopId){
        return shopTaskMapper.getLastTask(shopId);
    }
}
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/shop/ShopDetailService.java
New file
@@ -0,0 +1,16 @@
package com.ruoyi.shop.service.shop;
import com.ruoyi.shop.domain.pojo.shop.ShopDetail;
import com.baomidou.mybatisplus.extension.service.IService;
/**
 * <p>
 * 商户客户信息 服务类
 * </p>
 *
 * @author jqs
 * @since 2023-08-22
 */
public interface ShopDetailService extends IService<ShopDetail> {
}
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/shop/ShopService.java
@@ -342,5 +342,30 @@
     */
    List<Long> listShopIdByCityCode(List<String> cityCodes);
    /**
     * @description  提交进件
     * @author  jqs
     * @date    2023/8/22 14:51
     * @param
     * @return  void
     */
    void authShop();
    /**
     * @description  修改店铺详细资料
     * @author  jqs
     * @date    2023/8/22 14:51
     * @param staffShopDetailDto
     * @return  void
     */
    void editShopDetail(StaffShopDetailDto staffShopDetailDto);
    /**
     * @description  获取店铺详细资料
     * @author  jqs
     * @date    2023/8/22 16:15
     * @param shopId
     * @return  StaffShopDetailVo
     */
    StaffShopDetailVo getShopDetail(Long shopId);
}
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/task/ShopTaskService.java
@@ -82,4 +82,13 @@
     * @return  void
     */
    void checkTaskDateStatus();
    /**
     * @description  获取商户最近任务
     * @author  jqs
     * @date    2023/8/22 17:27
     * @param shopId
     * @return  ShopTask
     */
    ShopTask getLastTask(Long shopId);
}
ruoyi-modules/ruoyi-shop/src/main/resources/mapper/shop/ShopDetailMapper.xml
New file
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.shop.mapper.shop.ShopDetailMapper">
</mapper>
ruoyi-modules/ruoyi-shop/src/main/resources/mapper/task/ShopTaskMapper.xml
@@ -147,4 +147,9 @@
        END
    </update>
    <select id="getLastTask" resultType="com.ruoyi.shop.domain.pojo.task.ShopTask">
        SELECT * FROM t_shop_task
        WHERE del_flag = 0 AND task_status IN (0,1) AND shop_id = #{shopId}
        ORDER BY task_date,create_time DESC LIMIT 1
    </select>
</mapper>
ruoyi-modules/ruoyi-system/pom.xml
@@ -121,6 +121,13 @@
            <artifactId>weixin-java-cp</artifactId>
            <version>4.5.0</version>
        </dependency>
        <!-- 生成实体类 -->
        <!--<dependency>
            <groupId>org.apache.velocity</groupId>
            <artifactId>velocity-engine-core</artifactId>
            <version>2.3</version>
        </dependency>-->
    </dependencies>
    <build>
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/GeneratorMybatisPlus.java
@@ -44,7 +44,7 @@
        DataSourceConfig dataSourceConfig = new DataSourceConfig();
        dataSourceConfig.setDbType(DbType.MYSQL);
        dataSourceConfig.setTypeConvert(new MySqlTypeConvert());
        dataSourceConfig.setUrl("jdbc:mysql://47.109.78.184:10010/hrt_order?tinyInt1isBit=false");
        dataSourceConfig.setUrl("jdbc:mysql://47.109.78.184:10010/hrt_shop?tinyInt1isBit=false");
        dataSourceConfig.setDriverName("com.mysql.cj.jdbc.Driver");
        dataSourceConfig.setUsername("root");
        dataSourceConfig.setPassword("hrt123456");
@@ -53,7 +53,7 @@
        // 包名配置
        PackageConfig packageConfig = new PackageConfig();
        // 父包和子包名分开处理
        packageConfig.setParent("com.ruoyi.order");
        packageConfig.setParent("com.ruoyi.shop");
        packageConfig.setController("app");
        packageConfig.setEntity("domain.pojo");
        packageConfig.setMapper("mapper");
@@ -74,7 +74,7 @@
        strategy.setControllerMappingHyphenStyle(true);
        //表和前缀处理
        String[] table = {
                "t_pay_record"
                "t_shop_customer"
        };
        strategy.setInclude(table);
        String[] tablePre = new String[]{"t_"};