| @@ -19,6 +19,7 @@ import com.iformall.enums.EnumAppPlat; | |||||
| import com.iformall.enums.EnumCUserFrom; | import com.iformall.enums.EnumCUserFrom; | ||||
| import com.iformall.enums.EnumEnableType; | import com.iformall.enums.EnumEnableType; | ||||
| import com.iformall.enums.EnumLevelConfigDiscountStatus; | import com.iformall.enums.EnumLevelConfigDiscountStatus; | ||||
| import com.iformall.enums.EnumYesOrNo; | |||||
| import com.iformall.exception.MallinkException; | import com.iformall.exception.MallinkException; | ||||
| import com.iformall.service.*; | import com.iformall.service.*; | ||||
| import com.iformall.service.cuser.CUserServiceFactory; | import com.iformall.service.cuser.CUserServiceFactory; | ||||
| @@ -273,7 +274,7 @@ public class WxUserGrantController extends BaseController { | |||||
| } | } | ||||
| //处理登陆用户 | //处理登陆用户 | ||||
| cUser = cuserFactory.getCUserService(appPlat).handleLoginUser(cUser,wxCUserFrom); | cUser = cuserFactory.getCUserService(appPlat).handleLoginUser(cUser,wxCUserFrom); | ||||
| resultMap.put("agreeProtocol", cUser.getAgreeProtocol()); | |||||
| resultMap.put("token", cUser.getToken()); | resultMap.put("token", cUser.getToken()); | ||||
| // request.setAttribute(Constant.LOGIN_USER_KEY, cUser.getId()); | // request.setAttribute(Constant.LOGIN_USER_KEY, cUser.getId()); | ||||
| @@ -306,6 +307,41 @@ public class WxUserGrantController extends BaseController { | |||||
| // | // | ||||
| // return new ResultData(); | // return new ResultData(); | ||||
| // } | // } | ||||
| @ApiOperation("是否需要强制弹协议窗口") | |||||
| @GetMapping("/needAgreeProtocol") | |||||
| public ResultData needAgreeProtocol() { | |||||
| SysConfig config = sysConfigService.getByKey(SysConfigConstant.need_agree_protocol, getCUser()); | |||||
| if (null == config || null == config.getConfigItemValue() || "0".equals(config.getConfigItemValue())) { | |||||
| return new ResultData(0); | |||||
| }else { | |||||
| return new ResultData(1); | |||||
| } | |||||
| } | |||||
| @ApiOperation("appInfo") | |||||
| @GetMapping("/appInfoDetail") | |||||
| public ResultData appInfoDetail(String appId) { | |||||
| WxAppinfo wxAppinfo = wxAppinfoService.getOnlyByAppIdFromRedis(appId); | |||||
| if(wxAppinfo == null){ | |||||
| return new ResultData(ErrorCode.APP_ID_NOT_FOUND); | |||||
| } | |||||
| return new ResultData(wxAppinfo); | |||||
| } | |||||
| @PostMapping("/agreementProtocol") | |||||
| @ApiOperation(value = "同意协议scene", notes = "{}") | |||||
| public ResultData agreementProtocol(@RequestBody Map<String, String> map) { | |||||
| //logger.info(map.toString()); | |||||
| //String scene = map.get("openId"); | |||||
| CUser user = getCUser(); | |||||
| if (null == user.getAgreeProtocol() || | |||||
| user.getAgreeProtocol().intValue() == EnumYesOrNo.NO.getCode().intValue()) { | |||||
| cuserFactory.getCUserService(user.getAppPlat()).agreeProtocol(user); | |||||
| removeCacheCUser(); | |||||
| } | |||||
| return new ResultData(); | |||||
| } | |||||
| @PostMapping("/updateScene") | @PostMapping("/updateScene") | ||||
| @ApiOperation(value = "用户更新scene", notes = "{\"scene\":\"string\"}") | @ApiOperation(value = "用户更新scene", notes = "{\"scene\":\"string\"}") | ||||
| @@ -13,4 +13,5 @@ public class SysConfigConstant { | |||||
| public static final String bill_before_days = "billBeforeDays"; | public static final String bill_before_days = "billBeforeDays"; | ||||
| public static final String bill_near_days = "billNearDays"; | public static final String bill_near_days = "billNearDays"; | ||||
| public static final String rent_share_bill_rate = "rentsharebillrate"; | public static final String rent_share_bill_rate = "rentsharebillrate"; | ||||
| public static final String need_agree_protocol = "needagreeprotocol"; | |||||
| } | } | ||||
| @@ -109,6 +109,9 @@ public class CUser extends BaseCUserEntity { | |||||
| @io.swagger.annotations.ApiModelProperty(value="微信二维码",name="qrCode") | @io.swagger.annotations.ApiModelProperty(value="微信二维码",name="qrCode") | ||||
| private String qrCode; | private String qrCode; | ||||
| @io.swagger.annotations.ApiModelProperty(value="是否同意隐私协议EnumYesOrNo",name="agreeProtocol") | |||||
| private Integer agreeProtocol; | |||||
| public String getWeappPath() { | public String getWeappPath() { | ||||
| if(userId == null) | if(userId == null) | ||||
| @@ -53,6 +53,8 @@ public class WxAppinfo extends BaseTenantEntity { | |||||
| private String icp; | private String icp; | ||||
| @io.swagger.annotations.ApiModelProperty(value="抖音来客ID",name="laikeId") | @io.swagger.annotations.ApiModelProperty(value="抖音来客ID",name="laikeId") | ||||
| private String laikeId; | private String laikeId; | ||||
| @io.swagger.annotations.ApiModelProperty(value="抖音来客ID",name="companyName") | |||||
| private String companyName; | |||||
| public WxAppinfo(){} | public WxAppinfo(){} | ||||
| public WxAppinfo(Integer mouldType){ | public WxAppinfo(Integer mouldType){ | ||||
| @@ -33,6 +33,8 @@ public interface CUserServiceApapter { | |||||
| CUser getById(Long id, String tenantId); | CUser getById(Long id, String tenantId); | ||||
| CUser getByOpenId(String openId, String tenantId); | CUser getByOpenId(String openId, String tenantId); | ||||
| void agreeProtocol(CUser user); | |||||
| void updateScene(CUser user); | void updateScene(CUser user); | ||||
| @@ -15,6 +15,7 @@ import com.iformall.domain.vo.UserCountVo; | |||||
| import com.iformall.domain.vo.UserStructureVo; | import com.iformall.domain.vo.UserStructureVo; | ||||
| import com.iformall.douyin.miniapp.api.TtMaService; | import com.iformall.douyin.miniapp.api.TtMaService; | ||||
| import com.iformall.enums.EnumAppPlat; | import com.iformall.enums.EnumAppPlat; | ||||
| import com.iformall.enums.EnumYesOrNo; | |||||
| import com.iformall.exception.MallinkException; | import com.iformall.exception.MallinkException; | ||||
| import com.iformall.mapper.TtBuserMapper; | import com.iformall.mapper.TtBuserMapper; | ||||
| import com.iformall.service.WxAppinfoService; | import com.iformall.service.WxAppinfoService; | ||||
| @@ -210,6 +211,17 @@ public class TtBUserServiceAdapter extends BasicCUserService implements CUserSer | |||||
| buser.setOpenId(openId); | buser.setOpenId(openId); | ||||
| return ttBuserMapper.findByOpenId(buser); | return ttBuserMapper.findByOpenId(buser); | ||||
| } | } | ||||
| @Override | |||||
| public void agreeProtocol(CUser user) { | |||||
| TtBuser userL = new TtBuser(); | |||||
| userL.updateTenantInfo(user); | |||||
| userL.setId(user.getId()); | |||||
| userL.setAgreeProtocol(EnumYesOrNo.YES.getCode()); | |||||
| userL.setUpdateDate(new Date()); | |||||
| ttBuserMapper.updateById(userL); | |||||
| cleanCuserToken(user.getToken()); | |||||
| } | |||||
| @Override | @Override | ||||
| public void updateScene(CUser user) { | public void updateScene(CUser user) { | ||||
| @@ -270,6 +270,17 @@ public class TtCUserServiceAdapter extends BasicCUserService implements CUserSer | |||||
| return ttCUserMapper.findByOpenId(cUser); | return ttCUserMapper.findByOpenId(cUser); | ||||
| } | } | ||||
| @Override | |||||
| public void agreeProtocol(CUser user) { | |||||
| TtCUser userL = new TtCUser(); | |||||
| userL.updateTenantInfo(user); | |||||
| userL.setId(user.getId()); | |||||
| userL.setAgreeProtocol(EnumYesOrNo.YES.getCode()); | |||||
| userL.setUpdateDate(new Date()); | |||||
| ttCUserMapper.updateById(userL); | |||||
| cleanCuserToken(user.getToken()); | |||||
| } | |||||
| @Override | @Override | ||||
| public void updateScene(CUser user) { | public void updateScene(CUser user) { | ||||
| TtCUser userL = new TtCUser(); | TtCUser userL = new TtCUser(); | ||||
| @@ -15,6 +15,7 @@ import com.iformall.domain.po.base.BaseCUserEntity; | |||||
| import com.iformall.domain.vo.UserCountVo; | import com.iformall.domain.vo.UserCountVo; | ||||
| import com.iformall.domain.vo.UserStructureVo; | import com.iformall.domain.vo.UserStructureVo; | ||||
| import com.iformall.enums.EnumAppPlat; | import com.iformall.enums.EnumAppPlat; | ||||
| import com.iformall.enums.EnumYesOrNo; | |||||
| import com.iformall.exception.MallinkException; | import com.iformall.exception.MallinkException; | ||||
| import com.iformall.mapper.WxAppinfoMapper; | import com.iformall.mapper.WxAppinfoMapper; | ||||
| import com.iformall.mapper.WxBuserMapper; | import com.iformall.mapper.WxBuserMapper; | ||||
| @@ -216,6 +217,17 @@ public class WxBUserServiceAdapter extends BasicCUserService implements CUserSer | |||||
| buser.setOpenId(openId); | buser.setOpenId(openId); | ||||
| return wxBuserMapper.findByOpenId(buser); | return wxBuserMapper.findByOpenId(buser); | ||||
| } | } | ||||
| @Override | |||||
| public void agreeProtocol(CUser user) { | |||||
| WxBuser userL = new WxBuser(); | |||||
| userL.updateTenantInfo(user); | |||||
| userL.setId(user.getId()); | |||||
| userL.setAgreeProtocol(EnumYesOrNo.YES.getCode()); | |||||
| userL.setUpdateDate(new Date()); | |||||
| wxBuserMapper.updateById(userL); | |||||
| cleanCuserToken(user.getToken()); | |||||
| } | |||||
| @Override | @Override | ||||
| public void updateScene(CUser user) { | public void updateScene(CUser user) { | ||||
| @@ -278,6 +278,17 @@ public class WxCUserServiceAdapter extends BasicCUserService implements CUserSer | |||||
| return wxCUserMapper.findByOpenId(wxCUser); | return wxCUserMapper.findByOpenId(wxCUser); | ||||
| } | } | ||||
| @Override | |||||
| public void agreeProtocol(CUser user) { | |||||
| WxCUser userL = new WxCUser(); | |||||
| userL.updateTenantInfo(user); | |||||
| userL.setId(user.getId()); | |||||
| userL.setAgreeProtocol(EnumYesOrNo.YES.getCode()); | |||||
| userL.setUpdateDate(new Date()); | |||||
| wxCUserMapper.updateById(userL); | |||||
| cleanCuserToken(user.getToken()); | |||||
| } | |||||
| @Override | @Override | ||||
| public void updateScene(CUser user) { | public void updateScene(CUser user) { | ||||
| WxCUser userL = new WxCUser(); | WxCUser userL = new WxCUser(); | ||||
| @@ -49,7 +49,7 @@ | |||||
| <result column="active_time" jdbcType="TIMESTAMP" property="activeTime"/> | <result column="active_time" jdbcType="TIMESTAMP" property="activeTime"/> | ||||
| <result column="qr_code" jdbcType="VARCHAR" property="qrCode"/> | <result column="qr_code" jdbcType="VARCHAR" property="qrCode"/> | ||||
| <result column="user_id" jdbcType="BIGINT" property="userId"/> | <result column="user_id" jdbcType="BIGINT" property="userId"/> | ||||
| <result column="agree_protocol" jdbcType="INTEGER" property="agreeProtocol"/> | |||||
| </resultMap> | </resultMap> | ||||
| <sql id="allColumns"> | <sql id="allColumns"> | ||||
| @@ -59,7 +59,8 @@ | |||||
| `update_date`,`create_date`,`app_id`,`token`,`expire_time`,`latitude`, `longitude`, `locate_city`, | `update_date`,`create_date`,`app_id`,`token`,`expire_time`,`latitude`, `longitude`, `locate_city`, | ||||
| `login_count`, `extra_info`, `is_subscribe`,`open_app_id`,`user_id`, | `login_count`, `extra_info`, `is_subscribe`,`open_app_id`,`user_id`, | ||||
| `mp_open_id`,`mp_app_id`,`mp_subscribe`,`mp_subscribe_time`,`mp_subscribe_scene`, | `mp_open_id`,`mp_app_id`,`mp_subscribe`,`mp_subscribe_time`,`mp_subscribe_scene`, | ||||
| `subs_open_id`,`subs_app_id`,`subs_subscribe`,`subs_subscribe_time`,`subs_subscribe_scene`,`credit`,`active_time`,`qr_code` | |||||
| `subs_open_id`,`subs_app_id`,`subs_subscribe`,`subs_subscribe_time`,`subs_subscribe_scene`,`credit`, | |||||
| `active_time`,`qr_code`,`agree_protocol` | |||||
| </sql> | </sql> | ||||
| <sql id="dynamicWhereConditions"> | <sql id="dynamicWhereConditions"> | ||||
| @@ -49,6 +49,7 @@ | |||||
| <result column="credit" jdbcType="INTEGER" property="credit"/> | <result column="credit" jdbcType="INTEGER" property="credit"/> | ||||
| <result column="active_time" jdbcType="TIMESTAMP" property="activeTime"/> | <result column="active_time" jdbcType="TIMESTAMP" property="activeTime"/> | ||||
| <result column="qr_code" jdbcType="VARCHAR" property="qrCode"/> | <result column="qr_code" jdbcType="VARCHAR" property="qrCode"/> | ||||
| <result column="agree_protocol" jdbcType="INTEGER" property="agreeProtocol"/> | |||||
| </resultMap> | </resultMap> | ||||
| <sql id="allColumns"> | <sql id="allColumns"> | ||||
| @@ -59,7 +60,8 @@ | |||||
| `login_count`, `extra_info`, `is_subscribe`, | `login_count`, `extra_info`, `is_subscribe`, | ||||
| `open_app_id`, | `open_app_id`, | ||||
| `mp_open_id`,`mp_app_id`,`mp_subscribe`,`mp_subscribe_time`,`mp_subscribe_scene`, | `mp_open_id`,`mp_app_id`,`mp_subscribe`,`mp_subscribe_time`,`mp_subscribe_scene`, | ||||
| `subs_open_id`,`subs_app_id`,`subs_subscribe`,`subs_subscribe_time`,`subs_subscribe_scene`,`credit`,`active_time`,`qr_code` | |||||
| `subs_open_id`,`subs_app_id`,`subs_subscribe`,`subs_subscribe_time`,`subs_subscribe_scene`,`credit`, | |||||
| `active_time`,`qr_code`,`agree_protocol` | |||||
| </sql> | </sql> | ||||
| <sql id="dynamicWhereConditions"> | <sql id="dynamicWhereConditions"> | ||||
| @@ -25,13 +25,14 @@ | |||||
| <result column="business_license" jdbcType="VARCHAR" property="businessLicense"/> | <result column="business_license" jdbcType="VARCHAR" property="businessLicense"/> | ||||
| <result column="icp" jdbcType="VARCHAR" property="icp"/> | <result column="icp" jdbcType="VARCHAR" property="icp"/> | ||||
| <result column="laike_id" jdbcType="VARCHAR" property="laikeId"/> | <result column="laike_id" jdbcType="VARCHAR" property="laikeId"/> | ||||
| <result column="company_name" jdbcType="VARCHAR" property="companyName"/> | |||||
| </resultMap> | </resultMap> | ||||
| <sql id="allColumns"> | <sql id="allColumns"> | ||||
| `id`,`tenant_id`,`app_id`,`parent_app_id`,`name`, | `id`,`tenant_id`,`app_id`,`parent_app_id`,`name`, | ||||
| `secret`,`token`,`aes_key`,`msg_data_format`,`access_token`,`last_token_time`,`expires_in`, | `secret`,`token`,`aes_key`,`msg_data_format`,`access_token`,`last_token_time`,`expires_in`, | ||||
| `pay_id`,`type`,`mould_type`,`enable`,`plat`,`sort_url`,`business_license`,`icp`,`laike_id` | |||||
| `pay_id`,`type`,`mould_type`,`enable`,`plat`,`sort_url`,`business_license`,`icp`,`laike_id`,`company_name` | |||||
| </sql> | </sql> | ||||
| <sql id="dynamicWhereConditions"> | <sql id="dynamicWhereConditions"> | ||||
| @@ -49,7 +49,7 @@ | |||||
| <result column="active_time" jdbcType="TIMESTAMP" property="activeTime"/> | <result column="active_time" jdbcType="TIMESTAMP" property="activeTime"/> | ||||
| <result column="qr_code" jdbcType="VARCHAR" property="qrCode"/> | <result column="qr_code" jdbcType="VARCHAR" property="qrCode"/> | ||||
| <result column="user_id" jdbcType="BIGINT" property="userId"/> | <result column="user_id" jdbcType="BIGINT" property="userId"/> | ||||
| <result column="agree_protocol" jdbcType="INTEGER" property="agreeProtocol"/> | |||||
| </resultMap> | </resultMap> | ||||
| <sql id="allColumns"> | <sql id="allColumns"> | ||||
| @@ -59,7 +59,8 @@ | |||||
| `update_date`,`create_date`,`app_id`,`token`,`expire_time`,`latitude`, `longitude`, `locate_city`, | `update_date`,`create_date`,`app_id`,`token`,`expire_time`,`latitude`, `longitude`, `locate_city`, | ||||
| `login_count`, `extra_info`, `is_subscribe`,`open_app_id`,`user_id`, | `login_count`, `extra_info`, `is_subscribe`,`open_app_id`,`user_id`, | ||||
| `mp_open_id`,`mp_app_id`,`mp_subscribe`,`mp_subscribe_time`,`mp_subscribe_scene`, | `mp_open_id`,`mp_app_id`,`mp_subscribe`,`mp_subscribe_time`,`mp_subscribe_scene`, | ||||
| `subs_open_id`,`subs_app_id`,`subs_subscribe`,`subs_subscribe_time`,`subs_subscribe_scene`,`credit`,`active_time`,`qr_code` | |||||
| `subs_open_id`,`subs_app_id`,`subs_subscribe`,`subs_subscribe_time`,`subs_subscribe_scene`,`credit`, | |||||
| `active_time`,`qr_code`,`agree_protocol` | |||||
| </sql> | </sql> | ||||
| <sql id="dynamicWhereConditions"> | <sql id="dynamicWhereConditions"> | ||||
| @@ -52,6 +52,7 @@ | |||||
| <result column="authorize_state" jdbcType="INTEGER" property="authorizeState"/> | <result column="authorize_state" jdbcType="INTEGER" property="authorizeState"/> | ||||
| <result column="authorize_time" jdbcType="TIMESTAMP" property="authorizeTime"/> | <result column="authorize_time" jdbcType="TIMESTAMP" property="authorizeTime"/> | ||||
| <result column="deauthorize_time" jdbcType="TIMESTAMP" property="deauthorizeTime"/> | <result column="deauthorize_time" jdbcType="TIMESTAMP" property="deauthorizeTime"/> | ||||
| <result column="agree_protocol" jdbcType="INTEGER" property="agreeProtocol"/> | |||||
| </resultMap> | </resultMap> | ||||
| <sql id="allColumns"> | <sql id="allColumns"> | ||||
| @@ -63,7 +64,7 @@ | |||||
| `open_app_id`, | `open_app_id`, | ||||
| `mp_open_id`,`mp_app_id`,`mp_subscribe`,`mp_subscribe_time`,`mp_subscribe_scene`, | `mp_open_id`,`mp_app_id`,`mp_subscribe`,`mp_subscribe_time`,`mp_subscribe_scene`, | ||||
| `subs_open_id`,`subs_app_id`,`subs_subscribe`,`subs_subscribe_time`,`subs_subscribe_scene`,`credit`,`active_time`,`qr_code`, | `subs_open_id`,`subs_app_id`,`subs_subscribe`,`subs_subscribe_time`,`subs_subscribe_scene`,`credit`,`active_time`,`qr_code`, | ||||
| `authorize_state`,`authorize_time`, `deauthorize_time` | |||||
| `authorize_state`,`authorize_time`, `deauthorize_time`,`agree_protocol` | |||||
| </sql> | </sql> | ||||
| <sql id="dynamicWhereConditions"> | <sql id="dynamicWhereConditions"> | ||||