ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/constant/SecurityConstant.java
@@ -30,4 +30,9 @@ * 用户验证码前缀key */ String WX_TOKEN = "WX_TOKEN"; /** * 省市区列表key */ String REGION_LIST = "REGION_LIST"; } ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/GoodsFileMapper.xml
@@ -2,7 +2,7 @@ <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.ruoyi.goods.mapper.goods.GoodsFileMapper"> <resultMap type="GoodsFile" id="GoodsFileResult"> <resultMap type="com.ruoyi.system.api.domain.poji.goods.GoodsFile" id="GoodsFileResult"> <result property="id" column="id" /> <result property="delFlag" column="del_flag" /> <result property="goodsId" column="goods_id" /> @@ -14,7 +14,7 @@ select id, del_flag, goods_id, file_type, file_url from t_goods_file </sql> <select id="selectGoodsFileList" parameterType="GoodsFile" resultMap="GoodsFileResult"> <select id="selectGoodsFileList" parameterType="com.ruoyi.system.api.domain.poji.goods.GoodsFile" resultMap="GoodsFileResult"> <include refid="selectGoodsFileVo"/> <where> <if test="goodsId != null and goodsId != ''"> and goods_id = #{goodsId}</if> @@ -28,7 +28,7 @@ where id = #{id} </select> <insert id="insertGoodsFile" parameterType="GoodsFile" useGeneratedKeys="true" keyProperty="id"> <insert id="insertGoodsFile" parameterType="com.ruoyi.system.api.domain.poji.goods.GoodsFile" useGeneratedKeys="true" keyProperty="id"> insert into t_goods_file <trim prefix="(" suffix=")" suffixOverrides=","> <if test="delFlag != null">del_flag,</if> @@ -44,7 +44,7 @@ </trim> </insert> <update id="updateGoodsFile" parameterType="GoodsFile"> <update id="updateGoodsFile" parameterType="com.ruoyi.system.api.domain.poji.goods.GoodsFile"> update t_goods_file <trim prefix="SET" suffixOverrides=","> <if test="delFlag != null">del_flag = #{delFlag},</if> ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/GoodsMapper.xml
@@ -2,7 +2,7 @@ <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.ruoyi.goods.mapper.goods.GoodsMapper"> <resultMap type="Goods" id="GoodsResult"> <resultMap type="com.ruoyi.system.api.domain.poji.goods.Goods" id="GoodsResult"> <result property="goodsId" column="goods_id" /> <result property="delFlag" column="del_flag" /> <result property="goodsStatus" column="goods_status" /> @@ -30,7 +30,7 @@ select goods_id, del_flag, goods_status, goods_type, create_time, create_user_id, update_time, update_user_id, goods_class_id, goods_name, cycle_num_flag, service_num, goods_introduction, sales_price, mininum_price, subscription_flag, subscription, goods_detail, recommend_flag, goods_nurses, goods_tags from t_goods </sql> <select id="selectGoodsList" parameterType="Goods" resultMap="GoodsResult"> <select id="selectGoodsList" parameterType="com.ruoyi.system.api.domain.poji.goods.Goods" resultMap="GoodsResult"> <include refid="selectGoodsVo"/> <where> <if test="goodsStatus != null "> and goods_status = #{goodsStatus}</if> @@ -58,7 +58,7 @@ where goods_id = #{goodsId} </select> <insert id="insertGoods" parameterType="Goods"> <insert id="insertGoods" parameterType="com.ruoyi.system.api.domain.poji.goods.Goods"> insert into t_goods <trim prefix="(" suffix=")" suffixOverrides=","> <if test="goodsId != null">goods_id,</if> @@ -108,7 +108,7 @@ </trim> </insert> <update id="updateGoods" parameterType="Goods"> <update id="updateGoods" parameterType="com.ruoyi.system.api.domain.poji.goods.Goods"> update t_goods <trim prefix="SET" suffixOverrides=","> <if test="delFlag != null">del_flag = #{delFlag},</if> ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/ShopGoodsMapper.xml
@@ -2,7 +2,7 @@ <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.ruoyi.goods.mapper.goods.ShopGoodsMapper"> <resultMap type="ShopGoods" id="ShopGoodsResult"> <resultMap type="com.ruoyi.system.api.domain.poji.goods.ShopGoods" id="ShopGoodsResult"> <result property="id" column="id" /> <result property="delFlag" column="del_flag" /> <result property="shopId" column="shop_id" /> @@ -17,7 +17,7 @@ select id, del_flag, shop_id, goods_id, sales_price, service_num, update_time, update_user_id from t_shop_goods </sql> <select id="selectShopGoodsList" parameterType="ShopGoods" resultMap="ShopGoodsResult"> <select id="selectShopGoodsList" parameterType="com.ruoyi.system.api.domain.poji.goods.ShopGoods" resultMap="ShopGoodsResult"> <include refid="selectShopGoodsVo"/> <where> <if test="shopId != null "> and shop_id = #{shopId}</if> @@ -33,7 +33,7 @@ where id = #{id} </select> <insert id="insertShopGoods" parameterType="ShopGoods" useGeneratedKeys="true" keyProperty="id"> <insert id="insertShopGoods" parameterType="com.ruoyi.system.api.domain.poji.goods.ShopGoods" useGeneratedKeys="true" keyProperty="id"> insert into t_shop_goods <trim prefix="(" suffix=")" suffixOverrides=","> <if test="delFlag != null">del_flag,</if> @@ -55,7 +55,7 @@ </trim> </insert> <update id="updateShopGoods" parameterType="ShopGoods"> <update id="updateShopGoods" parameterType="com.ruoyi.system.api.domain.poji.goods.ShopGoods"> update t_shop_goods <trim prefix="SET" suffixOverrides=","> <if test="delFlag != null">del_flag = #{delFlag},</if> ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/dto/MgtMemberIntEditDto.java
@@ -14,9 +14,8 @@ @Data public class MgtMemberIntEditDto extends MgtBaseDto { @ApiModelProperty(value = "用户id") private Long memberUserId; @ApiModelProperty(value = "用户id 多个用,隔开") private String memberUserIds; @ApiModelProperty(value = "积分") private Integer integral; ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/dto/MgtMemberRelDelDto.java
@@ -14,8 +14,8 @@ @Data public class MgtMemberRelDelDto extends MgtBaseDto { @ApiModelProperty(value = "用户id") private Long memberUserId; @ApiModelProperty(value = "用户id 多个用,隔开") private String memberUserIds; ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/dto/MgtMemberRelEditDto.java
@@ -14,8 +14,8 @@ @Data public class MgtMemberRelEditDto extends MgtBaseDto { @ApiModelProperty(value = "用户id") private Long memberUserId; @ApiModelProperty(value = "用户id 多个用,隔开") private String memberUserIds; @ApiModelProperty(value = "商户id") ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java
@@ -711,14 +711,20 @@ */ @Override public void editMemberRelationShop(MgtMemberRelEditDto mgtMemberRelEditDto){ Member member = this.getByUserId(mgtMemberRelEditDto.getMemberUserId()); if(StringUtils.isNotBlank(mgtMemberRelEditDto.getMemberUserIds())){ Shop shop = shopService.getShop(mgtMemberRelEditDto.getShopId()).getData(); String memberUserIds = mgtMemberRelEditDto.getMemberUserIds(); String[] memberUserIdArr = memberUserIds.split(","); for(String str : memberUserIdArr){ Member member = this.getByUserId(Long.valueOf(str)); member.setRelationShopId(shop.getShopId()); member.setRelationShopName(shop.getShopName()); member.setBindingFlag(1); member.setUpdateTime(new Date()); member.setUpdateUserId(mgtMemberRelEditDto.getUserId()); this.saveOrUpdate(member); } } } @@ -728,11 +734,17 @@ */ @Override public void deleteMemberRelationShop(MgtMemberRelDelDto mgtMemberRelDelDto){ Member member = this.getById(mgtMemberRelDelDto.getMemberUserId()); if(StringUtils.isNotBlank(mgtMemberRelDelDto.getMemberUserIds())) { String memberUserIds = mgtMemberRelDelDto.getMemberUserIds(); String[] memberUserIdArr = memberUserIds.split(","); for(String str : memberUserIdArr) { Member member = this.getById(Long.valueOf(str)); member.setBindingFlag(0); member.setUpdateTime(new Date()); member.setUpdateUserId(mgtMemberRelDelDto.getUserId()); this.saveOrUpdate(member); } } } /** @@ -741,9 +753,14 @@ */ @Override public void editMemberIntegral(MgtMemberIntEditDto mgtMemberIntEditDto){ MemberIntegralChangeDto memberIntegralChangeDto = new MemberIntegralChangeDto(); Member member = this.getByUserId(mgtMemberIntEditDto.getMemberUserId()); memberIntegralChangeDto.setUserId(mgtMemberIntEditDto.getMemberUserId()); if(StringUtils.isNotBlank(mgtMemberIntEditDto.getMemberUserIds())) { String memberUserIds = mgtMemberIntEditDto.getMemberUserIds(); String[] memberUserIdArr = memberUserIds.split(","); MemberIntegralChangeDto memberIntegralChangeDto; for(String str : memberUserIdArr) { memberIntegralChangeDto = new MemberIntegralChangeDto(); Member member = this.getByUserId(Long.valueOf(str)); memberIntegralChangeDto.setUserId(Long.valueOf(str)); memberIntegralChangeDto.setMemberId(member.getMemberId()); memberIntegralChangeDto.setChangeType(1); memberIntegralChangeDto.setRecordType(3); @@ -751,6 +768,8 @@ //调用积分变动 memberIntegralChange(memberIntegralChangeDto); } } } ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml
@@ -80,7 +80,7 @@ <result column="payMoney" property="payMoney"/> <result column="orderFrom" property="orderFrom" /> <result column="createTime" property="createTime" /> <collection property="merOrderGoodsVoList" ofType="com.ruoyi.order.domain.vo.MerOrderGoodsPageVo"> <collection property="mgtOrderGoodsVoList" ofType="com.ruoyi.order.domain.vo.MerOrderGoodsPageVo"> <result column="goodsName" property="goodsName"/> <result column="buyNum" property="buyNum"/> </collection> ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/business/MerShopController.java
@@ -7,17 +7,16 @@ import com.ruoyi.shop.domain.dto.MerShopCertificateEditDto; import com.ruoyi.shop.domain.dto.MerShopCertificateListDto; import com.ruoyi.shop.domain.dto.MerShopSuggestDto; import com.ruoyi.shop.domain.pojo.shop.ShopRelUser; import com.ruoyi.shop.domain.vo.MerAgencyPageVo; import com.ruoyi.shop.domain.vo.MerShopCertificateListVo; import com.ruoyi.shop.domain.vo.MerShopSuggestVo; import com.ruoyi.shop.service.shop.ShopCertificateService; import com.ruoyi.shop.service.shop.ShopService; import com.ruoyi.shop.service.shop.ShopStaffService; import com.ruoyi.shop.service.shop.ShopSuggestService; import com.ruoyi.shop.service.shop.*; import com.ruoyi.system.api.domain.dto.MerBaseDto; import com.ruoyi.system.api.domain.dto.MerBaseGetDto; import com.ruoyi.system.api.domain.dto.MerEditUserDto; import com.ruoyi.system.api.domain.dto.MerPageDto; import com.ruoyi.system.api.domain.poji.shop.Shop; import com.ruoyi.system.api.domain.vo.MerHomeShopTotalVo; import com.ruoyi.system.api.domain.vo.MerStaffInfoVo; import io.swagger.annotations.Api; @@ -52,7 +51,8 @@ @Resource private ShopStaffService shopStaffService; @Resource private ShopRelUserService shopRelUserService; @Resource private ShopSuggestService shopSuggestService; @@ -110,7 +110,9 @@ @ApiOperation(value = "获取员工信息") public R<MerStaffInfoVo> getShopStaffInfo() { Long userId = SecurityUtils.getUserId(); MerStaffInfoVo merStaffInfoVo = shopStaffService.getShopStaffInfo(userId); ShopRelUser shopRelUser = shopRelUserService.getByUserId(userId); Shop shop = shopService.getByShopId(shopRelUser.getShopId()); MerStaffInfoVo merStaffInfoVo = shopStaffService.getShopStaffInfo(userId,shop); return R.ok(merStaffInfoVo); } ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/management/MgtShopController.java
@@ -5,10 +5,7 @@ import com.ruoyi.common.security.utils.SecurityUtils; import com.ruoyi.shop.domain.dto.*; import com.ruoyi.shop.domain.vo.*; import com.ruoyi.shop.service.shop.ShopProportionService; import com.ruoyi.shop.service.shop.ShopRelTagService; import com.ruoyi.shop.service.shop.ShopService; import com.ruoyi.shop.service.shop.ShopSuggestService; import com.ruoyi.shop.service.shop.*; import com.ruoyi.system.api.domain.dto.MgtBaseGetDto; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -44,6 +41,16 @@ @Resource private ShopSuggestService shopSuggestService; @Resource private ShopCertificateService shopCertificateService; @RequestMapping(value = "/listMgtShopSimpleVo", method = RequestMethod.POST) @ApiOperation(value = "分页获取商户列表") public R<List<MgtShopListSimpleVo>> listMgtShopSimpleVo(@RequestBody MgtShopListDto mgtShopListDto) { List<MgtShopListSimpleVo> mgtShopListSimpleVoList = shopService.listMgtShopSimpleVo(mgtShopListDto); return R.ok(mgtShopListSimpleVoList); } @RequestMapping(value = "/pageMgtShop", method = RequestMethod.POST) @ApiOperation(value = "分页获取商户列表") public R<Page<MgtShopPageVo>> pageMgtShop(@RequestBody MgtShopPageDto mgtShopPageDto) { @@ -73,7 +80,7 @@ @RequestMapping(value = "/getMgtShopTag", method = RequestMethod.POST) @ApiOperation(value = "获取商户标签") public R<List<MgtShopTagVo>> getMgtShopTag(@RequestBody MgtBaseGetDto mgtBaseGetDto) { List<MgtShopTagVo> mgtShopInfoVoList = shopRelTagService.listShopTagVo(Long.valueOf(mgtBaseGetDto.getId())); List<MgtShopTagVo> mgtShopInfoVoList = shopRelTagService.listShopTagVo(mgtBaseGetDto); return R.ok(mgtShopInfoVoList); } @@ -147,4 +154,25 @@ shopSuggestService.mgtEditShopSuggestTag(mgtTagShopSuggestDto); return R.ok(); } @RequestMapping(value = "/pageMgtShopCertificate", method = RequestMethod.POST) @ApiOperation(value = "平台获取商户证书审核列表") public R<Page<MgtShopCertificatePageVo>> pageMgtShopCertificate(@RequestBody MgtShopCertificatePageDto mgtShopCertificatePageDto) { Long userId = SecurityUtils.getUserId(); mgtShopCertificatePageDto.setUserId(userId); Page<MgtShopCertificatePageVo> page = new Page<>(); page.setSize(mgtShopCertificatePageDto.getPageSize()); page.setCurrent(mgtShopCertificatePageDto.getPageNum()); List<MgtShopCertificatePageVo> mgtShopCertificatePageVoList = shopCertificateService.pageMgtShopCertificate(page,mgtShopCertificatePageDto); return R.ok(page.setRecords(mgtShopCertificatePageVoList)); } @RequestMapping(value = "/mgtAuditShopCertificate", method = RequestMethod.POST) @ApiOperation(value = "平台编辑会员建议标签") public R mgtAuditShopCertificate(@RequestBody MgtAuditShopCertificateDto mgtAuditShopCertificateDto) { Long userId = SecurityUtils.getUserId(); mgtAuditShopCertificateDto.setUserId(userId); shopCertificateService.mgtAuditShopCertificate(mgtAuditShopCertificateDto); return R.ok(); } } ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MgtAuditShopCertificateDto.java
New file @@ -0,0 +1,25 @@ package com.ruoyi.shop.domain.dto; import com.ruoyi.system.api.domain.dto.MgtBaseDto; import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** * @ClassName MgtAuditShopCertificateDto * @Description TODO * @Author jqs * @Date 2023/6/12 17:48 * @Version 1.0 */ @Data public class MgtAuditShopCertificateDto extends MgtBaseDto { @ApiModelProperty(value = "证书id") private Long cerId; @ApiModelProperty(value = "证书状态1审核通过2审核拒绝") private Integer cerStatus; @ApiModelProperty(value = "拒绝理由") private String refuseReason; } ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MgtShopCertificatePageDto.java
New file @@ -0,0 +1,31 @@ package com.ruoyi.shop.domain.dto; import com.ruoyi.system.api.domain.dto.MgtPageDto; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; /** * @ClassName MgtShopCertificatePageDto * @Description TODO * @Author jqs * @Date 2023/6/12 16:47 * @Version 1.0 */ @Data public class MgtShopCertificatePageDto extends MgtPageDto { @ApiModelProperty(value = "搜索关键词") private String keyword; @ApiModelProperty(value = "提交开始时间") private Date createStartTime; @ApiModelProperty(value = "提交结束时间") private Date createEndTime; @ApiModelProperty(value = "证书状态0待审核1审核通过2审核拒绝") private Integer cerStatus; } ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MgtShopListDto.java
New file @@ -0,0 +1,22 @@ package com.ruoyi.shop.domain.dto; import com.ruoyi.system.api.domain.dto.MgtBaseDto; import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** * @ClassName MgtShopListDto * @Description TODO * @Author jqs * @Date 2023/6/12 14:36 * @Version 1.0 */ @Data public class MgtShopListDto extends MgtBaseDto { @ApiModelProperty(value = "商户类型1经销商2代理商") private Integer shopType ; @ApiModelProperty(value = "搜索关键词") private String keyword ; } ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/pojo/shop/ShopCertificate.java
@@ -1,15 +1,16 @@ package com.ruoyi.shop.domain.pojo.shop; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.activerecord.Model; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; import java.io.Serializable; import java.util.Date; /** * <p> @@ -62,6 +63,27 @@ */ @TableField("cer_picture") private String cerPicture; /** * 创建时间 */ @TableField("create_time") private Date createTime; /** * 审核用户id */ @TableField("audit_user_id") private Long auditUserId; /** * 审核时间 */ @TableField("audit_time") private Date auditTime; /** * 拒绝理由 */ @TableField("refuse_reason") private String refuseReason; @Override ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/MerShopCertificateListVo.java
@@ -1,8 +1,5 @@ package com.ruoyi.shop.domain.vo; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -32,4 +29,6 @@ @ApiModelProperty(value = "证书状态-1删除0待审核1审核通过2审核拒绝") private Integer cerStatus; @ApiModelProperty(value = "拒绝理由") private String refuseReason; } ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/MgtShopCertificatePageVo.java
New file @@ -0,0 +1,44 @@ package com.ruoyi.shop.domain.vo; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; /** * @ClassName MgtShopCertificatePageVo * @Description TODO * @Author jqs * @Date 2023/6/12 16:14 * @Version 1.0 */ @Data public class MgtShopCertificatePageVo { @ApiModelProperty(value = "证书id") private Long cerId; @ApiModelProperty(value = "证书名字") private String cerName; @ApiModelProperty(value = "证书编号") private String cerNumber; @ApiModelProperty(value = "证书图片") private String cerPicture; @ApiModelProperty(value = "证书状态-1删除0待审核1审核通过2审核拒绝") private Integer cerStatus; @ApiModelProperty(value = "提交时间") private Date createTime; @ApiModelProperty(value = "商户名称") private String shopName; @ApiModelProperty("店主姓名") private String shopownerName; @ApiModelProperty("店主联系方式") private String shopownerPhone; } ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/MgtShopListSimpleVo.java
New file @@ -0,0 +1,22 @@ package com.ruoyi.shop.domain.vo; import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** * @ClassName MgtShopListSimpleVo * @Description TODO * @Author jqs * @Date 2023/6/12 14:35 * @Version 1.0 */ @Data public class MgtShopListSimpleVo { @ApiModelProperty(value = "商户id") private Long shopId; @ApiModelProperty("商户名称") private String shopName; } ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/shop/ShopCertificateMapper.java
@@ -1,9 +1,12 @@ package com.ruoyi.shop.mapper.shop; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.shop.domain.dto.MerShopCertificateListDto; import com.ruoyi.shop.domain.dto.MgtShopCertificatePageDto; import com.ruoyi.shop.domain.pojo.shop.ShopCertificate; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ruoyi.shop.domain.vo.MerShopCertificateListVo; import com.ruoyi.shop.domain.vo.MgtShopCertificatePageVo; import org.apache.ibatis.annotations.Param; import java.util.List; @@ -25,4 +28,14 @@ * @return */ List<MerShopCertificateListVo> listShopCertificateVo(@Param("param") MerShopCertificateListDto merShopCertificateListDto); /** * @description 平台获取证书审核列表 * @author jqs * @date 2023/6/12 17:14 * @param page * @param mgtShopCertificatePageDto * @return List<MgtShopCertificatePageVo> */ List<MgtShopCertificatePageVo> pageMgtShopCertificate(Page page, @Param("param")MgtShopCertificatePageDto mgtShopCertificatePageDto); } ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/shop/ShopMapper.java
@@ -2,14 +2,8 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.shop.domain.dto.AppNearbyShopDto; import com.ruoyi.shop.domain.dto.MerAgencyPageDto; import com.ruoyi.shop.domain.dto.MgtShopPageDto; import com.ruoyi.shop.domain.dto.MgtShopProportionPageDto; import com.ruoyi.shop.domain.vo.AppNearShopVo; import com.ruoyi.shop.domain.vo.MerAgencyPageVo; import com.ruoyi.shop.domain.vo.MgtShopPageVo; import com.ruoyi.shop.domain.vo.MgtShopProportionPageVo; import com.ruoyi.shop.domain.dto.*; import com.ruoyi.shop.domain.vo.*; import com.ruoyi.system.api.domain.dto.MgtShopIdByCodeDto; import com.ruoyi.system.api.domain.poji.shop.Shop; import org.apache.ibatis.annotations.Param; @@ -76,4 +70,13 @@ * @return MgtShopIdByCodeVo */ List<Long> getShopIdByCode(@Param("param")MgtShopIdByCodeDto mgtShopIdByCodeDto); /** * @description 获取商户list * @author jqs * @date 2023/6/12 14:37 * @param mgtShopListDto * @return List<MgtShopListSimpleVo> */ List<MgtShopListSimpleVo> listMgtShopSimpleVo(@Param("param")MgtShopListDto mgtShopListDto); } ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopCertificateServiceImpl.java
@@ -2,17 +2,22 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.common.core.utils.bean.BeanUtils; import com.ruoyi.shop.domain.dto.MerShopCertificateEditDto; import com.ruoyi.shop.domain.dto.MerShopCertificateListDto; import com.ruoyi.shop.domain.dto.MgtAuditShopCertificateDto; import com.ruoyi.shop.domain.dto.MgtShopCertificatePageDto; import com.ruoyi.shop.domain.pojo.shop.ShopCertificate; import com.ruoyi.shop.domain.vo.MerShopCertificateListVo; import com.ruoyi.shop.domain.vo.MgtShopCertificatePageVo; import com.ruoyi.shop.mapper.shop.ShopCertificateMapper; import com.ruoyi.shop.service.shop.ShopCertificateService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.Date; import java.util.List; /** @@ -65,6 +70,7 @@ BeanUtils.copyProperties(merShopCertificateEditDto,shopCertificate); shopCertificate.setCerStatus(0); shopCertificate.setDelFlag(0); shopCertificate.setCreateTime(new Date()); this.saveOrUpdate(shopCertificate); } @@ -79,4 +85,35 @@ shopCertificate.setCerStatus(-1); this.saveOrUpdate(shopCertificate); } /** * @description 平台获取证书审核列表 * @author jqs * @date 2023/6/12 17:14 * @param page * @param mgtShopCertificatePageDto * @return List<MgtShopCertificatePageVo> */ @Override public List<MgtShopCertificatePageVo> pageMgtShopCertificate(Page page, MgtShopCertificatePageDto mgtShopCertificatePageDto){ List<MgtShopCertificatePageVo> mgtShopCertificatePageVoList = shopCertificateMapper.pageMgtShopCertificate(page, mgtShopCertificatePageDto); return mgtShopCertificatePageVoList; } /** * @description 审核证书 * @author jqs * @date 2023/6/12 17:50 * @param mgtAuditShopCertificateDto * @return void */ @Override public void mgtAuditShopCertificate(MgtAuditShopCertificateDto mgtAuditShopCertificateDto){ ShopCertificate shopCertificate = this.getById(mgtAuditShopCertificateDto.getCerId()); shopCertificate.setCerStatus(mgtAuditShopCertificateDto.getCerStatus()); shopCertificate.setAuditUserId(mgtAuditShopCertificateDto.getUserId()); shopCertificate.setAuditTime(new Date()); shopCertificate.setRefuseReason(mgtAuditShopCertificateDto.getRefuseReason()); this.saveOrUpdate(shopCertificate); } } ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopRelTagServiceImpl.java
@@ -3,10 +3,12 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.shop.domain.pojo.shop.ShopRelTag; import com.ruoyi.shop.domain.vo.MgtShopTagVo; import com.ruoyi.shop.mapper.shop.ShopRelTagMapper; import com.ruoyi.shop.service.shop.ShopRelTagService; import com.ruoyi.system.api.domain.dto.MgtBaseGetDto; import com.ruoyi.system.api.domain.poji.config.SysTag; import com.ruoyi.system.api.service.RemoteConfigService; import org.apache.commons.lang3.ArrayUtils; @@ -55,18 +57,21 @@ /** * 获取商户标签 * @param shopId * @param mgtBaseGetDto * @return */ @Override public List<MgtShopTagVo> listShopTagVo(Long shopId){ List<ShopRelTag> shopRelTagList = listShopRelTagByShopId(shopId); public List<MgtShopTagVo> listShopTagVo(MgtBaseGetDto mgtBaseGetDto){ Long[] tagIdArr =null; if(StringUtils.isNotBlank(mgtBaseGetDto.getId())){ Long shopId = Long.valueOf(mgtBaseGetDto.getId()); List<ShopRelTag> shopRelTagList = listShopRelTagByShopId(shopId); if(shopRelTagList!=null && !shopRelTagList.isEmpty()){ tagIdArr = shopRelTagList.stream() .map(ShopRelTag::getTagId) .toArray(Long[]::new); } } List<SysTag> sysTagsList = remoteConfigService.listSysTag(2).getData(); //生成返回结果 List<MgtShopTagVo> mgtShopTagVoList = new ArrayList<>(); ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java
@@ -156,6 +156,7 @@ if(shopSame!=null){ throw new ServiceException(AppErrorConstant.SHOP_DOUBLE); } shop.setDelFlag(0); shop.setShopStatus(3); shop.setCreateTime(new Date()); shop.setCreateUserId(mgtEditShopDto.getUserId()); @@ -192,8 +193,10 @@ this.saveOrUpdate(shop); } //商户归属员工 if(shop.getBelongUserId()!=null){ SysUser belongSysUser = sysUserService.getSysUser(shop.getBelongUserId()).getData(); handleShopStaff(shop.getShopId(),belongSysUser); } //商户关联人员 String relUserIds = mgtEditShopDto.getRelUserIds(); if(StringUtils.isNotBlank(relUserIds)){ @@ -540,4 +543,16 @@ } return mgtShopIdByCodeVo; } /** * @description 获取商户list * @author jqs * @date 2023/6/12 14:37 * @param mgtShopListDto * @return List<MgtShopListSimpleVo> */ @Override public List<MgtShopListSimpleVo> listMgtShopSimpleVo(MgtShopListDto mgtShopListDto){ return shopMapper.listMgtShopSimpleVo(mgtShopListDto); } } ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopStaffServiceImpl.java
@@ -5,11 +5,8 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.common.core.utils.bean.BeanUtils; import com.ruoyi.shop.domain.pojo.shop.ShopRelUser; import com.ruoyi.shop.domain.pojo.shop.ShopStaff; import com.ruoyi.shop.mapper.shop.ShopStaffMapper; import com.ruoyi.shop.service.shop.ShopRelUserService; import com.ruoyi.shop.service.shop.ShopService; import com.ruoyi.shop.service.shop.ShopStaffService; import com.ruoyi.system.api.domain.dto.MerEditUserDto; import com.ruoyi.system.api.domain.poji.shop.Shop; @@ -29,11 +26,6 @@ @Service public class ShopStaffServiceImpl extends ServiceImpl<ShopStaffMapper, ShopStaff> implements ShopStaffService { @Resource private ShopService shopService; @Resource private ShopRelUserService shopRelUserService; @Resource private ShopStaffMapper shopStaffMapper; @@ -69,19 +61,16 @@ * @return */ @Override public MerStaffInfoVo getShopStaffInfo(Long userId){ public MerStaffInfoVo getShopStaffInfo(Long userId,Shop shop){ MerStaffInfoVo merStaffInfoVo = new MerStaffInfoVo(); ShopStaff shopStaff = this.getByUserId(userId); BeanUtils.copyProperties(shopStaff,merStaffInfoVo); ShopRelUser shopRelUser = shopRelUserService.getByUserId(userId); Shop shop = shopService.getByShopId(shopRelUser.getShopId()); merStaffInfoVo.setShopName(shop.getShopName()); merStaffInfoVo.setShopAddress(shop.getShopAddress()); merStaffInfoVo.setShopServicePhone(shop.getShopServicePhone()); merStaffInfoVo.setBusinessTime(shop.getBusinessStartTime()+"-"+shop.getBusinessEndTime()); merStaffInfoVo.setShopType(shop.getShopType()); merStaffInfoVo.setShopNumber(shop.getShopNumber()); return merStaffInfoVo; } ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/shop/ShopCertificateService.java
@@ -1,10 +1,14 @@ package com.ruoyi.shop.service.shop; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.shop.domain.dto.MerShopCertificateEditDto; import com.ruoyi.shop.domain.dto.MerShopCertificateListDto; import com.ruoyi.shop.domain.dto.MgtAuditShopCertificateDto; import com.ruoyi.shop.domain.dto.MgtShopCertificatePageDto; import com.ruoyi.shop.domain.pojo.shop.ShopCertificate; import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.shop.domain.vo.MerShopCertificateListVo; import com.ruoyi.shop.domain.vo.MgtShopCertificatePageVo; import java.util.List; @@ -25,21 +29,41 @@ List<ShopCertificate> listShopCertificateByShopId(Long shopId); /** * * 商户获取证书列表 * @param merShopCertificateListDto * @return */ List<MerShopCertificateListVo> listShopCertificateVo(MerShopCertificateListDto merShopCertificateListDto); /** * * 商户编辑证书 * @param merShopCertificateEditDto */ void editShopCertificate(MerShopCertificateEditDto merShopCertificateEditDto); /** * * 商户删除证书 * @param certId */ void deleteShopCertificate(Long certId); /** * @description 平台获取证书审核列表 * @author jqs * @date 2023/6/12 17:14 * @param page * @param mgtShopCertificatePageDto * @return List<MgtShopCertificatePageVo> */ List<MgtShopCertificatePageVo> pageMgtShopCertificate(Page page, MgtShopCertificatePageDto mgtShopCertificatePageDto); /** * @description 审核证书 * @author jqs * @date 2023/6/12 17:50 * @param mgtAuditShopCertificateDto * @return void */ void mgtAuditShopCertificate(MgtAuditShopCertificateDto mgtAuditShopCertificateDto); } ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/shop/ShopRelTagService.java
@@ -3,6 +3,7 @@ import com.ruoyi.shop.domain.pojo.shop.ShopRelTag; import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.shop.domain.vo.MgtShopTagVo; import com.ruoyi.system.api.domain.dto.MgtBaseGetDto; import java.util.List; @@ -30,8 +31,8 @@ /** * 获取商户标签 * @param shopId * @param mgtBaseGetDto * @return */ List<MgtShopTagVo> listShopTagVo(Long shopId); List<MgtShopTagVo> listShopTagVo(MgtBaseGetDto mgtBaseGetDto); } ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/shop/ShopService.java
@@ -120,4 +120,13 @@ * @return MgtShopIdByCodeVo */ MgtShopIdByCodeVo getShopIdByCode(MgtShopIdByCodeDto mgtShopIdByCodeDto); /** * @description 获取商户list * @author jqs * @date 2023/6/12 14:37 * @param mgtShopListDto * @return List<MgtShopListSimpleVo> */ List<MgtShopListSimpleVo> listMgtShopSimpleVo(MgtShopListDto mgtShopListDto); } ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/shop/ShopStaffService.java
@@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.shop.domain.pojo.shop.ShopStaff; import com.ruoyi.system.api.domain.dto.MerEditUserDto; import com.ruoyi.system.api.domain.poji.shop.Shop; import com.ruoyi.system.api.domain.vo.MerStaffInfoVo; /** @@ -34,7 +35,7 @@ * @param userId * @return */ MerStaffInfoVo getShopStaffInfo(Long userId); MerStaffInfoVo getShopStaffInfo(Long userId, Shop shop); /** * 编辑商户员工信息 ruoyi-modules/ruoyi-shop/src/main/resources/mapper/shop/ShopCertificateMapper.xml
@@ -82,7 +82,8 @@ cer_name cerName, cer_number cerNumber, cer_picture cerPicture, cer_status cerStatus cer_status cerStatus, refuse_reason refuseReason FROM t_shop_certificate WHERE del_flag = 0 AND shop_id = #{param.shopId} <if test="param.status != null and param.status == 1"> @@ -92,4 +93,31 @@ AND (cer_status = 0 OR cer_status = 2) </if> </select> <select id="pageMgtShopCertificate" resultType="com.ruoyi.shop.domain.vo.MgtShopCertificatePageVo"> SELECT tsc.cer_id cerId, tsc.cer_name cerName, tsc.cer_number cerNumber, tsc.cer_picture cerPicture, tsc.cer_status cerStatus, tsc.create_time createTime, ts.shop_name shopName, ts.shopowner_name shopownerName, ts.shopowner_phone shopownerPhone FROM t_shop_certificate tsc INNER JOIN t_shop ts ON tsc.shop_id = ts.shop_id <if test="param.cerStatus != null"> AND tsc.cer_status = #{param.cerStatus} </if> <if test="param.keyword!=null and param.keyword!=''"> AND (ts.shop_name LIKE CONCAT('%',#{param.keyword},'%') OR ts.shopowner_name LIKE CONCAT('%',#{param.keyword},'%') OR ts.shopowner_phone LIKE CONCAT('%',#{param.keyword},'%')) </if> <if test="param.createStartTime!=null and param.createStartTime!=''"> AND tsc.create_time >= #{param.createStartTime} </if> <if test="param.createEndTime!=null and param.createEndTime!=''"> AND tsc.create_time <= #{param.createEndTime} </if> </select> </mapper> ruoyi-modules/ruoyi-shop/src/main/resources/mapper/shop/ShopMapper.xml
@@ -462,4 +462,18 @@ AND ts.shop_area_code = #{param.shopAreaCode} </if> </select> <select id="listMgtShopSimpleVo" resultType="com.ruoyi.shop.domain.vo.MgtShopListSimpleVo"> SELECT shop_id, shop_name FROM t_shop WHERE del_flag = 0 <if test="param.shopType!=null and param.shopType!=''"> AND shop_type = #{param.shopType} </if> <if test="param.keyword!=null and param.keyword!=''"> AND shop_name LIKE CONCAT('%',#{param.keyword},'%') </if> </select> </mapper> 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_sys?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.system"); packageConfig.setController("app"); packageConfig.setEntity("domain.pojo"); packageConfig.setMapper("mapper"); @@ -74,7 +74,7 @@ strategy.setControllerMappingHyphenStyle(true); //表和前缀处理 String[] table = { "t_back_message" "t_region" }; strategy.setInclude(table); String[] tablePre = new String[]{"t_"}; ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/management/MgtConfigController.java
@@ -63,6 +63,9 @@ @Resource private ArticleService articleService; @Resource private RegionService regionService; @RequestMapping(value = "/getCustomConfig", method = RequestMethod.POST) @ApiOperation(value = "获取单个配置") @@ -330,7 +333,7 @@ } @RequestMapping(value = "/pageArticle", method = RequestMethod.POST) @ApiOperation(value = "分页获取标签列表") @ApiOperation(value = "分页获取文章列表") public R<Page<MgtArticlePageVo>> pageArticle(@RequestBody MgtArticlePageDto mgtArticlePageDto) { Long userId = SecurityUtils.getUserId(); mgtArticlePageDto.setUserId(userId); @@ -358,6 +361,11 @@ } @RequestMapping(value = "/listRegion", method = RequestMethod.POST) @ApiOperation(value = "获取省市区列表") public R<List<RegionVo>> listRegion(){ List<RegionVo> regionVoList = regionService.listRegionVo(); return R.ok(regionVoList); } } ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/management/MgtStaffController.java
@@ -36,6 +36,14 @@ @Resource private StaffSuggestService staffSuggestService; /*@RequestMapping(value = "/listMgtDeptStaff", method = RequestMethod.POST) @ApiOperation(value = "获取部门员工列表") public R<List<MgtDeptStaffListVo>> listMgtStaffSuggestTag(@RequestBody MgtBaseGetDto mgtBaseGetDto) { List<MgtStaffSuggestTagVo> mgtStaffSuggestTagVoList= staffSuggestService.listMgtStaffSuggestTag(Long.valueOf(mgtBaseGetDto.getId())); return R.ok(mgtStaffSuggestTagVoList); }*/ @RequestMapping(value = "/pageMgtStaffSuggest", method = RequestMethod.POST) @ApiOperation(value = "平台获取员工建议列表") public R<Page<MgtStaffSuggestPageVo>> pageMgtStaffSuggest(@RequestBody MgtStaffSuggestPageDto mgtStaffSuggestPageDto) { ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/pojo/config/CustomConfig.java
@@ -31,8 +31,8 @@ /** * 配置id */ @TableId(value = "id", type = IdType.AUTO) private Long id; @TableId(value = "config_id", type = IdType.AUTO) private Long configId; /** * 删除标记 */ @@ -41,19 +41,23 @@ /** * 配置类型 */ private Integer type; @TableField("config_type") private Integer configType; /** * 配置键 */ private String key; @TableField("config_key") private String configKey; /** * 配置名 */ private String name; @TableField("config_name") private String configName; /** * 配置值 */ private String value; @TableField("config_value") private String configValue; /** * 创建时间 */ @@ -68,7 +72,7 @@ @Override protected Serializable pkVal() { return this.id; return this.configId; } } ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/pojo/config/Region.java
New file @@ -0,0 +1,76 @@ package com.ruoyi.system.domain.pojo.config; import com.baomidou.mybatisplus.activerecord.Model; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.IdType; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; import java.io.Serializable; /** * <p> * 省市区三级联动 * </p> * * @author jqs * @since 2023-06-12 */ @Data @EqualsAndHashCode(callSuper = false) @Accessors(chain = true) @TableName("t_region") public class Region extends Model<Region> { private static final long serialVersionUID = 1L; /** * 主键ID */ @TableId(value = "id", type = IdType.AUTO) private Integer id; /** * 城市名称 */ private String name; /** * code */ private String code; /** * 城市code */ private String citycode; /** * 父级ID */ @TableField("parent_id") private Integer parentId; /** * 英文名称 */ private String english; /** * 等级 */ private Integer level; /** * 层级 */ private String hierarchy; /** * 区域全称 */ @TableField("all_name") private String allName; @Override protected Serializable pkVal() { return this.id; } } ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MgtDeptStaffListVo.java
New file @@ -0,0 +1,27 @@ package com.ruoyi.system.domain.vo; import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** * @ClassName MgtDeptStaffListVo * @Description TODO * @Author jqs * @Date 2023/6/12 15:48 * @Version 1.0 */ @Data public class MgtDeptStaffListVo { @ApiModelProperty(value = "部门id") private Long deptId; @ApiModelProperty(value = "部门名称") private String deptName; @ApiModelProperty(value = "用户id") private Long userId; @ApiModelProperty(value = "用户名称") private String nickName; } ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/RegionVo.java
New file @@ -0,0 +1,35 @@ package com.ruoyi.system.domain.vo; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.List; /** * @author jqs34 * @ClassName AppRegionVo * @description: TODO * @date 2023年04月06日 * @version: 1.0 */ @Data public class RegionVo { @ApiModelProperty(value = "区域代码") private String value; @ApiModelProperty(value = "区域名称") private String label; @ApiModelProperty(value = "子级列表") private List<RegionVo> children; @ApiModelProperty(value = "id") private Long id; @ApiModelProperty(value = "父级id") private Long parentId; @ApiModelProperty(value = "层级") private Integer level; } ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/config/RegionMapper.java
New file @@ -0,0 +1,27 @@ package com.ruoyi.system.mapper.config; import com.ruoyi.system.domain.pojo.config.Region; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ruoyi.system.domain.vo.RegionVo; import java.util.List; /** * <p> * 省市区三级联动 Mapper 接口 * </p> * * @author jqs * @since 2023-06-12 */ public interface RegionMapper extends BaseMapper<Region> { /** * @description * @author jqs * @date 2023/6/12 15:20 * @param * @return List<RegionVo> */ List<RegionVo> listRegionVo(); } ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/config/SysTagMapper.java
@@ -27,4 +27,13 @@ * @return List<MgtTagPageVo> */ List<MgtTagPageVo> pageTag(Page page, MgtTagPageDto mgtTagPageDto); /** * @description 删除员工建议标签 * @author jqs * @date 2023/6/9 10:24 * @param suggestTag * @return void */ void deleteStaffSuggestTag(String suggestTag); } ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/config/RegionService.java
New file @@ -0,0 +1,27 @@ package com.ruoyi.system.service.config; import com.ruoyi.system.domain.pojo.config.Region; import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.system.domain.vo.RegionVo; import java.util.List; /** * <p> * 省市区三级联动 服务类 * </p> * * @author jqs * @since 2023-06-12 */ public interface RegionService extends IService<Region> { /** * @description * @author jqs * @date 2023/6/12 15:20 * @param * @return List<RegionVo> */ List<RegionVo> listRegionVo(); } ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/CustomConfigServiceImpl.java
@@ -73,10 +73,10 @@ customConfig.setCreateTime(new Date()); } // 设置配置的类型、键、名称、值和更新时间 customConfig.setType(ConfigEnum.PLATFORM_SERVICE_PHONE.getKeyType()); customConfig.setKey(ConfigEnum.PLATFORM_SERVICE_PHONE.getKey()); customConfig.setName(ConfigEnum.PLATFORM_SERVICE_PHONE.getKeyName()); customConfig.setValue(mgtServiceMobileEditDto.getServiceMobile()); customConfig.setConfigType(ConfigEnum.PLATFORM_SERVICE_PHONE.getKeyType()); customConfig.setConfigKey(ConfigEnum.PLATFORM_SERVICE_PHONE.getKey()); customConfig.setConfigName(ConfigEnum.PLATFORM_SERVICE_PHONE.getKeyName()); customConfig.setConfigValue(mgtServiceMobileEditDto.getServiceMobile()); customConfig.setUpdateTime(new Date()); // 保存或更新配置 this.saveOrUpdate(customConfig); @@ -95,57 +95,57 @@ //获取自定义配置 List<CustomConfig> customConfigList = customConfigMapper.selectList(new LambdaQueryWrapper<CustomConfig>().eq(CustomConfig::getDelFlag, 0)); Optional.ofNullable(customConfigList).ifPresent(list -> { Map<String, CustomConfig> configMap = list.stream().collect(Collectors.toMap(CustomConfig::getKey, Function.identity())); Map<String, CustomConfig> configMap = list.stream().collect(Collectors.toMap(CustomConfig::getConfigKey, Function.identity())); // 遍历配置映射,设置相应的属性值 configMap.forEach((key, value) -> { switch (key) { case "SHARE_INTEGRAL": mgtAllCustomConfigVo.setShareIntegral(Integer.valueOf(value.getValue())); mgtAllCustomConfigVo.setShareIntegral(Integer.valueOf(value.getConfigValue())); break; case "SUGGEST_PLATFORM_INTEGRAL": mgtAllCustomConfigVo.setSuggestPlatformIntegral(Integer.valueOf(value.getValue())); mgtAllCustomConfigVo.setSuggestPlatformIntegral(Integer.valueOf(value.getConfigValue())); break; case "SIGN_IN_INTEGRAL": mgtAllCustomConfigVo.setSignInIntegral(Integer.valueOf(value.getValue())); mgtAllCustomConfigVo.setSignInIntegral(Integer.valueOf(value.getConfigValue())); break; case "SUGGEST_SHOP_INTEGRAL": mgtAllCustomConfigVo.setSuggestShopIntegral(Integer.valueOf(value.getValue())); mgtAllCustomConfigVo.setSuggestShopIntegral(Integer.valueOf(value.getConfigValue())); break; case "PAY_MONEY_INTEGRAL": mgtAllCustomConfigVo.setPayMoneyIntegral(Integer.valueOf(value.getValue())); mgtAllCustomConfigVo.setPayMoneyIntegral(Integer.valueOf(value.getConfigValue())); break; case "ORDER_AUTO_CANCEL_TIME": mgtAllCustomConfigVo.setOrderAutoCancelTime(Integer.valueOf(value.getValue())); mgtAllCustomConfigVo.setOrderAutoCancelTime(Integer.valueOf(value.getConfigValue())); break; case "HOME_STYLE": mgtAllCustomConfigVo.setHomeStyle(Integer.valueOf(value.getValue())); mgtAllCustomConfigVo.setHomeStyle(Integer.valueOf(value.getConfigValue())); break; case "SHOP_EMERGENCY_DEGREE": mgtAllCustomConfigVo.setShopEmergencyDegree(value.getValue()); mgtAllCustomConfigVo.setShopEmergencyDegree(value.getConfigValue()); break; case "SHOP_FOLLOW_TYPE": mgtAllCustomConfigVo.setShopFollowType(value.getValue()); mgtAllCustomConfigVo.setShopFollowType(value.getConfigValue()); break; case "SHOP_CUSTOM_STATUS": mgtAllCustomConfigVo.setShopCustomStatus(value.getValue()); mgtAllCustomConfigVo.setShopCustomStatus(value.getConfigValue()); break; case "SHOP_SOURCE_CHANNEL": mgtAllCustomConfigVo.setShopSourceChannel(value.getValue()); mgtAllCustomConfigVo.setShopSourceChannel(value.getConfigValue()); break; case "MEMBER_SOURCE_CHANNEL": mgtAllCustomConfigVo.setMemberSourceChannel(value.getValue()); mgtAllCustomConfigVo.setMemberSourceChannel(value.getConfigValue()); break; case "MEMBER_CHARACTER": mgtAllCustomConfigVo.setMemberCharacter(value.getValue()); mgtAllCustomConfigVo.setMemberCharacter(value.getConfigValue()); break; case "MEMBER_LEVEL": mgtAllCustomConfigVo.setMemberLevel(value.getValue()); mgtAllCustomConfigVo.setMemberLevel(value.getConfigValue()); break; case "MEMBER_TYPE": mgtAllCustomConfigVo.setMemberType(value.getValue()); mgtAllCustomConfigVo.setMemberType(value.getConfigValue()); break; case "NURSE_PROBLEM": mgtAllCustomConfigVo.setNurseProblem(value.getValue()); mgtAllCustomConfigVo.setNurseProblem(value.getConfigValue()); break; default: break; @@ -209,7 +209,7 @@ private void deletePastConfig(Date updateTime) { List<CustomConfig> customConfigList = customConfigMapper.selectList(new LambdaQueryWrapper<CustomConfig>() .eq(CustomConfig::getDelFlag, 0) .eq(CustomConfig::getType, 2)); .eq(CustomConfig::getConfigType, 2)); for (CustomConfig customConfig : customConfigList) { customConfig.setDelFlag(1); customConfig.setUpdateTime(updateTime); @@ -229,10 +229,10 @@ for (ConfigEnum configEnum : ConfigEnum.values()) { CustomConfig customConfig = new CustomConfig(); customConfig.setDelFlag(0); customConfig.setType(configEnum.getKeyType()); customConfig.setKey(configEnum.getKey()); customConfig.setName(configEnum.getKeyName()); customConfig.setValue(getConfigValue(configEnum, mgtOtherConfigEditDto)); customConfig.setConfigType(configEnum.getKeyType()); customConfig.setConfigKey(configEnum.getKey()); customConfig.setConfigName(configEnum.getKeyName()); customConfig.setConfigValue(getConfigValue(configEnum, mgtOtherConfigEditDto)); customConfig.setCreateTime(updateTime); customConfig.setUpdateTime(updateTime); this.saveOrUpdate(customConfig); @@ -283,7 +283,7 @@ List<CustomConfig> customConfigList = customConfigMapper.selectList( new LambdaQueryWrapper<CustomConfig>() .eq(CustomConfig::getDelFlag, 0) .eq(CustomConfig::getType, 3) .eq(CustomConfig::getConfigType, 3) ); if (customConfigList != null && !customConfigList.isEmpty()) { String key; @@ -292,8 +292,8 @@ List<CustomConfig> updatedCustomConfigs = new ArrayList<>(); // 遍历配置列表,根据 key 更新配置值 for (CustomConfig customConfig : customConfigList) { key = customConfig.getKey(); oldValue = customConfig.getValue(); key = customConfig.getConfigKey(); oldValue = customConfig.getConfigValue(); switch (key) { case "SHOP_EMERGENCY_DEGREE": newValue = mgtShopConfigEditDto.getShopEmergencyDegree(); @@ -310,7 +310,7 @@ default: break; } customConfig.setValue(newValue); customConfig.setConfigValue(newValue); customConfig.setUpdateTime(updateTime); handleChangeConfig(oldValue, newValue, key); updatedCustomConfigs.add(customConfig); @@ -340,7 +340,7 @@ List<CustomConfig> customConfigList = customConfigMapper.selectList( new LambdaQueryWrapper<CustomConfig>() .eq(CustomConfig::getDelFlag, 0) .eq(CustomConfig::getType, 4) .eq(CustomConfig::getConfigType, 4) ); if (customConfigList != null && !customConfigList.isEmpty()) { String key; @@ -349,8 +349,8 @@ List<CustomConfig> updatedCustomConfigs = new ArrayList<>(); // 遍历配置列表,根据 key 更新配置值 for (CustomConfig customConfig : customConfigList) { key = customConfig.getKey(); oldValue = customConfig.getValue(); key = customConfig.getConfigKey(); oldValue = customConfig.getConfigValue(); switch (key) { case "MEMBER_SOURCE_CHANNEL": newValue = mgtMemberConfigEditDto.getMemberSourceChannel(); @@ -370,7 +370,7 @@ default: break; } customConfig.setValue(newValue); customConfig.setConfigValue(newValue); customConfig.setUpdateTime(updateTime); handleChangeConfig(oldValue, newValue, key); updatedCustomConfigs.add(customConfig); @@ -398,10 +398,10 @@ private void createNewConfig(ConfigEnum configEnum, String value, Date updateTime) { CustomConfig customConfig = new CustomConfig(); customConfig.setDelFlag(0); customConfig.setType(configEnum.getKeyType()); customConfig.setKey(configEnum.getKey()); customConfig.setName(configEnum.getKeyName()); customConfig.setValue(value); customConfig.setConfigType(configEnum.getKeyType()); customConfig.setConfigKey(configEnum.getKey()); customConfig.setConfigName(configEnum.getKeyName()); customConfig.setConfigValue(value); customConfig.setCreateTime(updateTime); customConfig.setUpdateTime(updateTime); this.saveOrUpdate(customConfig); @@ -472,8 +472,10 @@ public MgtCustomConfigVo getCustomConfig(MgtCustomConfigDto mgtCustomConfigDto){ CustomConfig customConfig = this.getByKey(mgtCustomConfigDto.getConfigType()); MgtCustomConfigVo mgtCustomConfigVo = new MgtCustomConfigVo(); mgtCustomConfigVo.setCustomConfig(customConfig.getValue()); if(customConfig!=null){ mgtCustomConfigVo.setCustomConfig(customConfig.getConfigValue()); mgtCustomConfigVo.setConfigType(mgtCustomConfigDto.getConfigType()); } return mgtCustomConfigVo; } } ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/RegionServiceImpl.java
New file @@ -0,0 +1,102 @@ package com.ruoyi.system.service.impl.config; import com.ruoyi.common.redis.service.RedisService; import com.ruoyi.system.api.constant.SecurityConstant; import com.ruoyi.system.domain.pojo.config.Region; import com.ruoyi.system.domain.vo.RegionVo; import com.ruoyi.system.mapper.config.RegionMapper; import com.ruoyi.system.service.config.RegionService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.ArrayList; import java.util.Iterator; import java.util.List; /** * <p> * 省市区三级联动 服务实现类 * </p> * * @author jqs * @since 2023-06-12 */ @Service public class RegionServiceImpl extends ServiceImpl<RegionMapper, Region> implements RegionService { @Resource private RegionMapper regionMapper; @Resource private RedisService redisService; /** * @param * @return List<RegionVo> * @description * @author jqs * @date 2023/6/12 15:18 */ @Override public List<RegionVo> listRegionVo() { if (redisService.hasKey(SecurityConstant.REGION_LIST)) { // 如果存在,则直接从缓存中获取并返回 List<RegionVo> result = redisService.getCacheList(SecurityConstant.REGION_LIST); return result; } else { // 如果不存在,则从数据库中查询并进行处理 List<RegionVo> regionVoList = regionMapper.listRegionVo(); List<RegionVo> regionVoList1 = new ArrayList<>(); List<RegionVo> regionVoList2 = new ArrayList<>(); List<RegionVo> regionVoList3 = new ArrayList<>(); // 将地区按照级别分别存放到不同的列表中 for (RegionVo regionVo : regionVoList) { if (regionVo.getLevel() == 1) { regionVoList1.add(regionVo); } if (regionVo.getLevel() == 2) { regionVoList2.add(regionVo); } if (regionVo.getLevel() == 3) { regionVoList3.add(regionVo); } } Iterator<RegionVo> regionVoIterator3; RegionVo children; // 将第三级地区挂到第二级地区下面 for (RegionVo regionVo : regionVoList2) { if (null == regionVo.getChildren()) { regionVo.setChildren(new ArrayList<>()); } regionVoIterator3 = regionVoList3.iterator(); while (regionVoIterator3.hasNext()) { children = regionVoIterator3.next(); if (regionVo.getId().equals(children.getParentId())) { regionVo.getChildren().add(children); regionVoIterator3.remove(); } } } Iterator<RegionVo> regionVoIterator2; // 将第二级地区挂到第一级地区下面 for (RegionVo regionVo : regionVoList1) { if (null == regionVo.getChildren()) { regionVo.setChildren(new ArrayList<>()); } regionVoIterator2 = regionVoList2.iterator(); while (regionVoIterator2.hasNext()) { children = regionVoIterator2.next(); if (regionVo.getId().equals(children.getParentId())) { regionVo.getChildren().add(children); regionVoIterator2.remove(); } } } // 将处理后的地区列表存入缓存中 redisService.setCacheList(SecurityConstant.REGION_LIST, regionVoList1); // 返回处理后的地区列表 return regionVoList1; } } } ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/SysTagServiceImpl.java
@@ -14,7 +14,6 @@ import com.ruoyi.system.domain.dto.MgtTagPageDto; import com.ruoyi.system.domain.vo.MgtTagPageVo; import com.ruoyi.system.mapper.config.SysTagMapper; import com.ruoyi.system.service.config.StaffSuggestService; import com.ruoyi.system.service.config.SysTagService; import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; @@ -47,8 +46,6 @@ @Resource private RemoteMemberService remoteMemberService; @Resource private StaffSuggestService staffSuggestService; /** @@ -163,7 +160,7 @@ case 4: remoteMemberService.deleteMemberSuggestTag(tagName); remoteShopService.deleteShopSuggestTag(tagName); staffSuggestService.deleteStaffSuggestTag(tagName); sysTagMapper.deleteStaffSuggestTag(tagName); break; default: break; ruoyi-modules/ruoyi-system/src/main/resources/mapper/config/CustomConfigMapper.xml
@@ -2,86 +2,12 @@ <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.ruoyi.system.mapper.config.CustomConfigMapper"> <resultMap type="CustomConfig" id="CustomConfigResult"> <result property="id" column="id" /> <result property="delFlag" column="del_flag" /> <result property="type" column="type" /> <result property="key" column="key" /> <result property="name" column="name" /> <result property="value" column="value" /> <result property="createTime" column="create_time" /> <result property="updateTime" column="update_time" /> </resultMap> <sql id="selectCustomConfigVo"> select id, del_flag, type, key, name, value, create_time, update_time from t_custom_config </sql> <select id="selectCustomConfigList" parameterType="CustomConfig" resultMap="CustomConfigResult"> <include refid="selectCustomConfigVo"/> <where> <if test="type != null "> and type = #{type}</if> <if test="key != null and key != ''"> and key = #{key}</if> <if test="name != null and name != ''"> and name like concat('%', #{name}, '%')</if> <if test="value != null and value != ''"> and value = #{value}</if> </where> </select> <select id="selectCustomConfigById" parameterType="Long" resultMap="CustomConfigResult"> <include refid="selectCustomConfigVo"/> where id = #{id} </select> <insert id="insertCustomConfig" parameterType="CustomConfig" useGeneratedKeys="true" keyProperty="id"> insert into t_custom_config <trim prefix="(" suffix=")" suffixOverrides=","> <if test="delFlag != null">del_flag,</if> <if test="type != null">type,</if> <if test="key != null">key,</if> <if test="name != null">name,</if> <if test="value != null">value,</if> <if test="createTime != null">create_time,</if> <if test="updateTime != null">update_time,</if> </trim> <trim prefix="values (" suffix=")" suffixOverrides=","> <if test="delFlag != null">#{delFlag},</if> <if test="type != null">#{type},</if> <if test="key != null">#{key},</if> <if test="name != null">#{name},</if> <if test="value != null">#{value},</if> <if test="createTime != null">#{createTime},</if> <if test="updateTime != null">#{updateTime},</if> </trim> </insert> <update id="updateCustomConfig" parameterType="CustomConfig"> update t_custom_config <trim prefix="SET" suffixOverrides=","> <if test="delFlag != null">del_flag = #{delFlag},</if> <if test="type != null">type = #{type},</if> <if test="key != null">key = #{key},</if> <if test="name != null">name = #{name},</if> <if test="value != null">value = #{value},</if> <if test="createTime != null">create_time = #{createTime},</if> <if test="updateTime != null">update_time = #{updateTime},</if> </trim> where id = #{id} </update> <delete id="deleteCustomConfigById" parameterType="Long"> delete from t_custom_config where id = #{id} </delete> <delete id="deleteCustomConfigByIds" parameterType="String"> delete from t_custom_config where id in <foreach item="id" collection="array" open="(" separator="," close=")"> #{id} </foreach> </delete> <select id="getByKey" resultMap="CustomConfigResult"> <include refid="selectCustomConfigVo"/> WHERE del_flag = 0 AND key = #{key} <select id="getByKey" resultType="CustomConfig"> SELECT * FROM t_custom_config WHERE del_flag = 0 AND config_key = #{key} </select> <select id="pageOperLog" resultType="com.ruoyi.system.domain.vo.MgtOperLogPageVo"> ruoyi-modules/ruoyi-system/src/main/resources/mapper/config/RegionMapper.xml
New file @@ -0,0 +1,9 @@ <?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.system.mapper.config.RegionMapper"> <select id="listRegionVo" resultType="com.ruoyi.system.domain.vo.RegionVo"> SELECT tr.id id,tr.parent_id parentId,tr.level level,tr.code value,tr.name label FROM t_region tr </select> </mapper> ruoyi-modules/ruoyi-system/src/main/resources/mapper/config/SysTagMapper.xml
@@ -25,4 +25,8 @@ ORDER BY create_time DESC </select> <update id="deleteStaffSuggestTag"> UPDATE t_staff_suggest SET suggest_tags = TRIM(BOTH ',' FROM REPLACE(CONCAT(',', suggest_tags, ','), CONCAT(',',#{suggestTag},','), ',')) WHERE FIND_IN_SET(#{suggestTag}, suggest_tags) > 0 </update> </mapper> ruoyi-modules/ruoyi-system/src/main/resources/mapper/sys/SysLogininforMapper.xml
@@ -16,7 +16,7 @@ <insert id="insertLogininfor" parameterType="SysLogininfor"> insert into sys_logininfor (user_name, status, ipaddr, msg, access_time,login_from) values (#{userName}, #{status}, #{ipaddr}, #{msg}, sysdate(),loginFrom) values (#{userName}, #{status}, #{ipaddr}, #{msg}, sysdate(),#{loginFrom}) </insert> <select id="selectLogininforList" parameterType="SysLogininfor" resultMap="SysLogininforResult">