From 95044dd4dacee5f7ecb081af5d557d14fad83c24 Mon Sep 17 00:00:00 2001 From: jiangqs <jiangqs> Date: 星期二, 22 八月 2023 18:39:47 +0800 Subject: [PATCH] bug --- ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/shop/ShopService.java | 25 + ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml | 6 ruoyi-modules/ruoyi-shop/src/main/resources/mapper/shop/ShopDetailMapper.xml | 7 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/staff/StaffShopController.java | 26 + ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/StaffCustomerDto.java | 28 ++ ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/pojo/shop/ShopDetail.java | 172 ++++++++++++ ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/StaffShopDetailDto.java | 171 ++++++++++++ ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java | 88 ++++++ ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java | 10 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/task/ShopTaskService.java | 9 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/StaffShopDetailVo.java | 188 +++++++++++++ ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/shop/ShopDetailService.java | 16 + ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/poji/shop/Shop.java | 5 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopDetailServiceImpl.java | 20 + ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/GeneratorMybatisPlus.java | 6 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/ShopTaskServiceImpl.java | 12 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/task/ShopTaskMapper.java | 9 ruoyi-modules/ruoyi-system/pom.xml | 7 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/MgtShopAuthGetVo.java | 10 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/shop/ShopDetailMapper.java | 16 + ruoyi-modules/ruoyi-shop/src/main/resources/mapper/task/ShopTaskMapper.xml | 5 21 files changed, 813 insertions(+), 23 deletions(-) diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/poji/shop/Shop.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/poji/shop/Shop.java index 5186b44..ab6c083 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/poji/shop/Shop.java +++ b/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; diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java index 3c83650..d9ee052 100644 --- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java +++ b/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); } diff --git a/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml b/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml index 0010e74..9366618 100644 --- a/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml +++ b/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> diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/staff/StaffShopController.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/staff/StaffShopController.java index 1b1f773..dcef08b 100644 --- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/staff/StaffShopController.java +++ b/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); + } } diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/StaffCustomerDto.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/StaffCustomerDto.java new file mode 100644 index 0000000..8be7b44 --- /dev/null +++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/StaffCustomerDto.java @@ -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; +} diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/StaffShopDetailDto.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/StaffShopDetailDto.java new file mode 100644 index 0000000..6a17526 --- /dev/null +++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/StaffShopDetailDto.java @@ -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; + +} diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/pojo/shop/ShopDetail.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/pojo/shop/ShopDetail.java new file mode 100644 index 0000000..09b08c3 --- /dev/null +++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/pojo/shop/ShopDetail.java @@ -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; + } + +} diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/MgtShopAuthGetVo.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/MgtShopAuthGetVo.java index 105027f..5e3d46d 100644 --- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/MgtShopAuthGetVo.java +++ b/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; + /** * 受益人姓名 */ diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/StaffShopDetailVo.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/StaffShopDetailVo.java new file mode 100644 index 0000000..4efb3d4 --- /dev/null +++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/StaffShopDetailVo.java @@ -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; +} diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/shop/ShopDetailMapper.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/shop/ShopDetailMapper.java new file mode 100644 index 0000000..2b95cf2 --- /dev/null +++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/shop/ShopDetailMapper.java @@ -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> { + +} diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/task/ShopTaskMapper.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/task/ShopTaskMapper.java index cc6b98b..bc764cd 100644 --- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/task/ShopTaskMapper.java +++ b/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); } diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopDetailServiceImpl.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopDetailServiceImpl.java new file mode 100644 index 0000000..266aae1 --- /dev/null +++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopDetailServiceImpl.java @@ -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 { + +} diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java index b2915ae..1f31e90 100644 --- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java +++ b/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; + } } diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/ShopTaskServiceImpl.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/ShopTaskServiceImpl.java index bde2aa4..62cecdf 100644 --- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/ShopTaskServiceImpl.java +++ b/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); + } } diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/shop/ShopDetailService.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/shop/ShopDetailService.java new file mode 100644 index 0000000..0e3ed08 --- /dev/null +++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/shop/ShopDetailService.java @@ -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> { + +} diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/shop/ShopService.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/shop/ShopService.java index 938e098..c6beec2 100644 --- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/shop/ShopService.java +++ b/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); } diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/task/ShopTaskService.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/task/ShopTaskService.java index dc33eb1..01c8d34 100644 --- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/task/ShopTaskService.java +++ b/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); } diff --git a/ruoyi-modules/ruoyi-shop/src/main/resources/mapper/shop/ShopDetailMapper.xml b/ruoyi-modules/ruoyi-shop/src/main/resources/mapper/shop/ShopDetailMapper.xml new file mode 100644 index 0000000..ef2d221 --- /dev/null +++ b/ruoyi-modules/ruoyi-shop/src/main/resources/mapper/shop/ShopDetailMapper.xml @@ -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> diff --git a/ruoyi-modules/ruoyi-shop/src/main/resources/mapper/task/ShopTaskMapper.xml b/ruoyi-modules/ruoyi-shop/src/main/resources/mapper/task/ShopTaskMapper.xml index 97af8c1..9b73cec 100644 --- a/ruoyi-modules/ruoyi-shop/src/main/resources/mapper/task/ShopTaskMapper.xml +++ b/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> diff --git a/ruoyi-modules/ruoyi-system/pom.xml b/ruoyi-modules/ruoyi-system/pom.xml index ea8ad32..3f02e14 100644 --- a/ruoyi-modules/ruoyi-system/pom.xml +++ b/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> diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/GeneratorMybatisPlus.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/GeneratorMybatisPlus.java index 59aad18..3a1b395 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/GeneratorMybatisPlus.java +++ b/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_"}; -- Gitblit v1.7.1