| @@ -366,59 +366,72 @@ public class WxShopController extends BaseController { | |||
| @ApiOperation("查询店铺当前的用户信息") | |||
| @GetMapping("currentShopUsers") | |||
| public ResultData currentShopUsers(@ModelAttribute WxShopUsers wxShopUsersShop) { | |||
| if (null == wxShopUsersShop){ | |||
| wxShopUsersShop = new WxShopUsers(); | |||
| public ResultData currentShopUsers(@ModelAttribute WxShopUsers wxShopUsers) { | |||
| if (null == wxShopUsers){ | |||
| wxShopUsers = new WxShopUsers(); | |||
| } | |||
| if (null == wxShopUsersShop.getShopId()) { | |||
| if (null == wxShopUsers.getShopId()) { | |||
| return new ResultData(Result.ERROR,"shopId参数不能为空"); | |||
| } | |||
| if (null == wxShopUsersShop.getType()) { | |||
| if (null == wxShopUsers.getType()) { | |||
| return new ResultData(Result.ERROR,"type参数不能为空"); | |||
| } | |||
| wxShopUsersShop.updateTenantInfo(getTenantInfo()); | |||
| wxShopUsersShop.setStatus(EnumShopUsersStatus.LIVE.getCode()); | |||
| return new ResultData(wxShopService.getOneShopUsers(wxShopUsersShop)); | |||
| wxShopUsers.updateTenantInfo(getTenantInfo()); | |||
| wxShopUsers.setStatus(EnumShopUsersStatus.LIVE.getCode()); | |||
| return new ResultData(wxShopService.getOneShopUsers(wxShopUsers)); | |||
| } | |||
| @ApiOperation("更新店铺用户") | |||
| @PostMapping("saveShopUsers") | |||
| public ResultData saveShopUsers(@RequestBody WxShopUsersInfo wxShopUsers) { | |||
| public ResultData saveShopUsers(@RequestBody WxShopUsers wxShopUsers) { | |||
| wxShopUsers.updateTenantInfo(getTenantInfo()); | |||
| wxShopService.saveOrUpdateShopUsers(wxShopUsers); | |||
| return new ResultData(); | |||
| } | |||
| @ApiOperation("更新店铺用户") | |||
| @ApiOperation("更换用户") | |||
| @PostMapping("changeShopUsers") | |||
| public ResultData changeShopUsers(@RequestBody WxShopUsersInfo wxShopUsers) { | |||
| public ResultData changeShopUsers(@RequestBody WxShopUsers wxShopUsers) { | |||
| wxShopUsers.updateTenantInfo(getTenantInfo()); | |||
| wxShopUsers.setStatus(EnumShopUsersStatus.OLD.getCode()); | |||
| wxShopService.saveOrUpdateShopUsers(wxShopUsers); | |||
| wxShopService.changeShopUsers(wxShopUsers); | |||
| return new ResultData(); | |||
| } | |||
| @ApiOperation("删除店铺用户") | |||
| @PostMapping("deleteShopUsers") | |||
| public ResultData deleteShopUsers(@RequestBody WxShopUsersInfo wxShopUsers) { | |||
| public ResultData deleteShopUsers(@RequestBody WxShopUsers wxShopUsers) { | |||
| wxShopUsers.updateTenantInfo(getTenantInfo()); | |||
| wxShopUsers.setStatus(EnumShopUsersStatus.OLD.getCode()); | |||
| wxShopService.saveOrUpdateShopUsers(wxShopUsers); | |||
| wxShopService.deleteShopUsers(wxShopUsers); | |||
| return new ResultData(); | |||
| } | |||
| @ApiOperation("未出租商铺分页列表接口") | |||
| @ApiOperation("分页列表接口") | |||
| @GetMapping("shopUsersList") | |||
| @ApiImplicitParams({ | |||
| @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), | |||
| @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)}) | |||
| public ResultData shopUsersList(@ModelAttribute WxShopUsersInfo wxShopUsers, Integer pageNum, Integer pageSize) { | |||
| public ResultData shopUsersList(@ModelAttribute WxShopUsers wxShopUsers, Integer pageNum, Integer pageSize) { | |||
| if (null == wxShopUsers){ | |||
| wxShopUsers = new WxShopUsersInfo(); | |||
| wxShopUsers = new WxShopUsers(); | |||
| } | |||
| wxShopUsers.updateTenantInfo(getTenantInfo()); | |||
| wxShopUsers.setSortColumns(BaseEntity.SortField.CreateDate_DESC); | |||
| final PageInfo<WxShopUsersInfo> page = wxShopService.shopUsersListAsPage(wxShopUsers, pageNum, pageSize); | |||
| final PageInfo<WxShopUsers> page = wxShopService.shopUsersListAsPage(wxShopUsers, pageNum, pageSize); | |||
| return new ResultData(page); | |||
| } | |||
| @ApiOperation("分页列表接口") | |||
| @GetMapping("shopUsersInfoList") | |||
| @ApiImplicitParams({ | |||
| @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), | |||
| @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)}) | |||
| public ResultData shopUsersInfoList(@ModelAttribute WxShopUsersInfo wxShopUsersInfo, Integer pageNum, Integer pageSize) { | |||
| if (null == wxShopUsersInfo){ | |||
| wxShopUsersInfo = new WxShopUsersInfo(); | |||
| } | |||
| wxShopUsersInfo.updateTenantInfo(getTenantInfo()); | |||
| wxShopUsersInfo.setSortColumns(BaseEntity.SortField.CreateDate_DESC); | |||
| final PageInfo<WxShopUsersInfo> page = wxShopService.shopUsersInfoListAsPage(wxShopUsersInfo, pageNum, pageSize); | |||
| return new ResultData(page); | |||
| } | |||
| @@ -55,7 +55,7 @@ alter table wx_shop_users drop column type; | |||
| alter table wx_shop_users rename wx_shop_users_info; | |||
| CREATE TABLE `wx_shop_users_shop` ( | |||
| CREATE TABLE `wx_shop_users` ( | |||
| `id` bigint(20) NOT NULL COMMENT '主键ID', | |||
| `tenant_id` varchar(5) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '租户ID', | |||
| `parent_tenant_id` varchar(5) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '父租户ID', | |||
| @@ -65,7 +65,7 @@ CREATE TABLE `wx_shop_users_shop` ( | |||
| `create_date` datetime NOT NULL COMMENT '创建时间', | |||
| `update_date` datetime NOT NULL COMMENT '更新时间', | |||
| `status` int(1) NOT NULL DEFAULT '0' COMMENT '状态', | |||
| `shop_user_id` bigint(20) NOT NULL, | |||
| `info_id` bigint(20) NOT NULL, | |||
| `type` int(1) NOT NULL DEFAULT '2' COMMENT '类型', | |||
| PRIMARY KEY (`id`), | |||
| UNIQUE KEY `id_UNIQUE` (`id`), | |||
| @@ -31,7 +31,7 @@ public class WxShopUsers extends TenantEntity { | |||
| private Long shopId; | |||
| @io.swagger.annotations.ApiModelProperty(value = "人员编号", name = "shopUserId") | |||
| private Long shopUserId; | |||
| private Long infoId; | |||
| @io.swagger.annotations.ApiModelProperty(value = "类型EnumShopUsersType", name = "type") | |||
| private Integer type; | |||
| @@ -70,4 +70,22 @@ public class WxShopUsers extends TenantEntity { | |||
| @TableField(exist = false) | |||
| private List<Long> shopIds; | |||
| @TableField(exist = false) | |||
| private Integer principalType; | |||
| @TableField(exist = false) | |||
| private String principalTypeName; | |||
| @TableField(exist = false) | |||
| private String name; | |||
| @TableField(exist = false) | |||
| private String phone; | |||
| @TableField(exist = false) | |||
| private String legalPerson; | |||
| @TableField(exist = false) | |||
| private String idNumber; | |||
| @TableField(exist = false) | |||
| private Integer sex; | |||
| @TableField(exist = false) | |||
| private String sexName; | |||
| @TableField(exist = false) | |||
| private String linkPerson; | |||
| } | |||
| @@ -73,14 +73,4 @@ public class WxShopUsersInfo extends TenantEntity { | |||
| @io.swagger.annotations.ApiModelProperty(value="更新时间",name="updateDate") | |||
| private Date updateDate; | |||
| @TableField(exist = false) | |||
| private Date beginDate; | |||
| @TableField(exist = false) | |||
| private Date endDate; | |||
| @TableField(exist = false) | |||
| private Integer status; | |||
| @TableField(exist = false) | |||
| private String statusName; | |||
| @TableField(exist = false) | |||
| private Long shopUserShopId; | |||
| } | |||
| @@ -127,16 +127,20 @@ public interface WxShopService { | |||
| List<String> getShopNumberList(WxShop wxShop); | |||
| WxShopUsersInfo getOneShopUsers(WxShopUsers wxShopUsersShop); | |||
| WxShopUsers getOneShopUsers(WxShopUsers wxShopUsersShop); | |||
| void saveOrUpdateShopUsers(WxShopUsersInfo wxShopUsers); | |||
| void saveOrUpdateShopUsers(WxShopUsers wxShopUsers); | |||
| void deleteShopUsers(WxShopUsersInfo wxShopUsers); | |||
| void changeShopUsers(WxShopUsers wxShopUsers); | |||
| PageInfo<WxShopUsersInfo> shopUsersListAsPage(WxShopUsersInfo record,Integer pageIndex,Integer pageSize); | |||
| void deleteShopUsers(WxShopUsers wxShopUsers); | |||
| PageInfo<WxShopUsers> shopUsersListAsPage(WxShopUsers record,Integer pageIndex,Integer pageSize); | |||
| PageInfo<WxShopUsersPerson> shopUsersPersonListAsPage(WxShopUsersPerson record,Integer pageIndex,Integer pageSize); | |||
| PageInfo<WxShopUsersInfo> shopUsersInfoListAsPage(WxShopUsersInfo record,Integer pageIndex,Integer pageSize); | |||
| void saveOrUpdateShopUsersPerson(WxShopUsersPerson wxShopUsers); | |||
| void deleteShopUsersPerson(WxShopUsersPerson wxShopUsers); | |||
| @@ -70,10 +70,10 @@ public class WxShopServiceImpl implements WxShopService { | |||
| WxMerchantShopMapper wxMerchantShopMapper; | |||
| @Autowired | |||
| WxShopUsersInfoMapper wxShopUsersMapper; | |||
| WxShopUsersInfoMapper wxShopUsersInfoMapper; | |||
| @Autowired | |||
| WxShopUsersMapper wxShopUsersShopMapper; | |||
| WxShopUsersMapper wxShopUsersMapper; | |||
| @Autowired | |||
| WxShopUsersPersonMapper wxShopUsersPersonMapper; | |||
| @@ -1029,31 +1029,66 @@ public class WxShopServiceImpl implements WxShopService { | |||
| } | |||
| @Override | |||
| public WxShopUsersInfo getOneShopUsers(WxShopUsers wxShopUsersShop) { | |||
| wxShopUsersShop.setSortColumn(" status asc, type desc"); | |||
| List<WxShopUsers> shopUserList = wxShopUsersShopMapper.findList(wxShopUsersShop); | |||
| public WxShopUsers getOneShopUsers(WxShopUsers wxShopUsers) { | |||
| wxShopUsers.setSortColumn(" status asc, type desc"); | |||
| List<WxShopUsers> shopUserList = wxShopUsersMapper.findList(wxShopUsers); | |||
| if (null != shopUserList && shopUserList.size() > 0) { | |||
| WxShopUsers sus = shopUserList.get(0); | |||
| WxShopUsersInfo su = wxShopUsersMapper.selectById(sus.getShopUserId()); | |||
| if (null != su) { | |||
| su.setBeginDate(sus.getBeginDate()); | |||
| su.setEndDate(sus.getEndDate()); | |||
| su.setStatus(sus.getStatus()); | |||
| su.setStatusName(sus.getStatusName()); | |||
| } | |||
| return su; | |||
| setShopUserProperty(sus); | |||
| return sus; | |||
| } | |||
| return null; | |||
| } | |||
| private void setShopUserProperty(WxShopUsers sus) { | |||
| WxShopUsersInfo su = wxShopUsersInfoMapper.selectById(sus.getInfoId()); | |||
| if (null != su) { | |||
| sus.setPrincipalType(su.getPrincipalType()); | |||
| sus.setPrincipalTypeName(su.getPrincipalTypeName()); | |||
| sus.setName(su.getName()); | |||
| sus.setPhone(su.getPhone()); | |||
| sus.setLegalPerson(su.getLegalPerson()); | |||
| sus.setIdNumber(su.getIdNumber()); | |||
| sus.setSex(su.getSex()); | |||
| sus.setSexName(su.getSexName()); | |||
| sus.setLinkPerson(su.getLinkPerson()); | |||
| } | |||
| } | |||
| @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) | |||
| @Override | |||
| public void saveOrUpdateShopUsers(WxShopUsersInfo record) { | |||
| public void saveOrUpdateShopUsers(WxShopUsers record) { | |||
| final IdWorker idWorker = IdWorker.get(); | |||
| if (null == record.getInfoId()) { | |||
| WxShopUsersInfo userInfo = new WxShopUsersInfo(); | |||
| userInfo.updateTenantInfo(record); | |||
| userInfo.setCreateShopId(record.getShopId()); | |||
| userInfo.setPrincipalType(record.getPrincipalType()); | |||
| userInfo.setName(record.getName()); | |||
| userInfo.setPhone(record.getPhone()); | |||
| userInfo.setLegalPerson(record.getLegalPerson()); | |||
| userInfo.setIdNumber(record.getIdNumber()); | |||
| userInfo.setSex(record.getSex()); | |||
| userInfo.setLinkPerson(record.getLinkPerson()); | |||
| userInfo.setId(idWorker.nextId()); | |||
| userInfo.setCreateDate(new Date()); | |||
| userInfo.setUpdateDate(new Date()); | |||
| wxShopUsersInfoMapper.insert(userInfo); | |||
| record.setInfoId(userInfo.getId()); | |||
| }else { | |||
| WxShopUsersInfo userInfo = wxShopUsersInfoMapper.selectById(record.getInfoId()); | |||
| userInfo.setPrincipalType(record.getPrincipalType()); | |||
| userInfo.setName(record.getName()); | |||
| userInfo.setPhone(record.getPhone()); | |||
| userInfo.setLegalPerson(record.getLegalPerson()); | |||
| userInfo.setIdNumber(record.getIdNumber()); | |||
| userInfo.setSex(record.getSex()); | |||
| userInfo.setLinkPerson(record.getLinkPerson()); | |||
| userInfo.setUpdateDate(new Date()); | |||
| wxShopUsersInfoMapper.updateById(userInfo); | |||
| } | |||
| if (record.getId() == null) { | |||
| final IdWorker idWorker = IdWorker.get(); | |||
| record.setId(idWorker.nextId()); | |||
| record.setStatus(EnumShopUsersStatus.LIVE.getCode()); | |||
| Date date = new Date(); | |||
| @@ -1067,13 +1102,27 @@ public class WxShopServiceImpl implements WxShopService { | |||
| } | |||
| @Override | |||
| public void deleteShopUsers(WxShopUsersInfo wxShopUsers) { | |||
| public void changeShopUsers(WxShopUsers wxShopUsers) { | |||
| wxShopUsers.setStatus(EnumShopUsersStatus.OLD.getCode()); | |||
| wxShopUsers.setUpdateDate(new Date()); | |||
| wxShopUsersMapper.updateById(wxShopUsers); | |||
| } | |||
| @Override | |||
| public void deleteShopUsers(WxShopUsers wxShopUsers) { | |||
| wxShopUsersMapper.deleteById(wxShopUsers.getId()); | |||
| } | |||
| @Override | |||
| public PageInfo<WxShopUsersInfo> shopUsersListAsPage(WxShopUsersInfo record, Integer pageIndex, Integer pageSize) { | |||
| return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxShopUsersMapper.findList(record)); | |||
| public PageInfo<WxShopUsers> shopUsersListAsPage(WxShopUsers record, Integer pageIndex, Integer pageSize) { | |||
| PageInfo<WxShopUsers> page = PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxShopUsersMapper.findList(record)); | |||
| if (null != page && null != page.getList()) { | |||
| for (int i = 0 ; i < page.getList().size(); i++) { | |||
| WxShopUsers su = page.getList().get(i); | |||
| this.setShopUserProperty(su); | |||
| } | |||
| } | |||
| return page; | |||
| } | |||
| @Override | |||
| @@ -1081,6 +1130,12 @@ public class WxShopServiceImpl implements WxShopService { | |||
| Integer pageSize) { | |||
| return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxShopUsersPersonMapper.findList(record)); | |||
| } | |||
| @Override | |||
| public PageInfo<WxShopUsersInfo> shopUsersInfoListAsPage(WxShopUsersInfo record, Integer pageIndex, Integer pageSize) { | |||
| PageInfo<WxShopUsersInfo> page = PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxShopUsersInfoMapper.findList(record)); | |||
| return page; | |||
| } | |||
| @Override | |||
| public void saveOrUpdateShopUsersPerson(WxShopUsersPerson record) { | |||
| @@ -6,7 +6,7 @@ | |||
| <result column="tenant_id" jdbcType="VARCHAR" property="tenantId"/> | |||
| <result column="parent_tenant_id" jdbcType="VARCHAR" property="parentTenantId"/> | |||
| <result column="shop_id" jdbcType="BIGINT" property="shopId"/> | |||
| <result column="shop_user_id" jdbcType="BIGINT" property="shopUserId"/> | |||
| <result column="info_id" jdbcType="BIGINT" property="infoId"/> | |||
| <result column="type" jdbcType="INTEGER" property="type"/> | |||
| <result column="begin_date" jdbcType="TIMESTAMP" property="beginDate"/> | |||
| <result column="end_date" jdbcType="TIMESTAMP" property="endDate"/> | |||
| @@ -16,7 +16,7 @@ | |||
| </resultMap> | |||
| <sql id="allColumns"> | |||
| `id`,`tenant_id`,`parent_tenant_id`,`shop_id`,`shop_user_id`,`type`,`begin_date`,`end_date`,`create_date`,`update_date`,`status` | |||
| `id`,`tenant_id`,`parent_tenant_id`,`shop_id`,`info_id`,`type`,`begin_date`,`end_date`,`create_date`,`update_date`,`status` | |||
| </sql> | |||
| <sql id="dynamicWhereConditions"> | |||
| @@ -33,8 +33,8 @@ | |||
| and `parent_tenant_id` = #{parentTenantId} | |||
| </if> | |||
| <if test=" null != shopUserId"> | |||
| and `shop_user_id` = #{shopUserId} | |||
| <if test=" null != infoId"> | |||
| and `info_id` = #{infoId} | |||
| </if> | |||
| <if test=" null != type"> | |||