Commit 2ba83ed9 authored by 廖旭伟's avatar 廖旭伟

微信小程序登录以及手机号绑定;员工名片增加页面展示设置

parent be35ac55
......@@ -40,7 +40,7 @@
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.9.0</version>
<version>2.8.7</version>
</dependency>
<dependency>
......
package com.mortals.xhx.base.login.web;
import cn.hutool.core.util.IdUtil;
import cn.hutool.http.HttpUtil;
import com.alibaba.fastjson.JSONObject;
import com.mortals.framework.annotation.UnAuth;
import com.mortals.framework.service.IAuthTokenService;
import com.mortals.framework.util.DateUtils;
import com.mortals.framework.web.BaseJsonBodyController;
import com.mortals.xhx.base.system.user.model.UserEntity;
import com.mortals.xhx.base.system.user.model.UserQuery;
import com.mortals.xhx.base.system.user.service.UserService;
import com.mortals.xhx.common.utils.WechatTools;
import com.mortals.xhx.module.staff.model.StaffEntity;
import com.mortals.xhx.module.staff.model.StaffQuery;
import com.mortals.xhx.module.staff.service.StaffService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
@RestController
@Slf4j
@RequestMapping("wechat")
public class WechatLoginController extends BaseJsonBodyController implements InitializingBean {
@Autowired
private UserService userService;
@Autowired
private StaffService staffService;
@Autowired
private IAuthTokenService authTokenService;
@Value("${wechat.appId:wxdb349cd58dd0600b}")
private String AppId;
@Value("${wechat.secret:21eb0f1bdb87c79b9fb6f38db2b1a357}")
private String AppSecret;
@RequestMapping("login")
@UnAuth
public String getWxInfo(@RequestBody JSONObject obj) {
JSONObject ret = new JSONObject();
JSONObject wxJson = JSONObject.parseObject(WechatTools.getOpenid(obj.getString("code"), AppId, AppSecret));
log.info("微信的返回值{}", wxJson);
if(StringUtils.isEmpty(wxJson.getString("openid"))){
ret.put(KEY_RESULT_CODE, VALUE_RESULT_FAILURE);
ret.put(KEY_RESULT_MSG, wxJson.getString("errmsg"));
ret.put("errcode", wxJson.getString("errcode"));
return ret.toJSONString();
}else {
String ip = super.getRequestIP(request);
UserEntity userEntity = userService.wechatLogin(wxJson.getString("openid"),ip);
JSONObject data = new JSONObject();
data.put("userId", userEntity.getId());
if(userEntity.getStaffId()==null){
data.put("staffId", -1);
}else {
data.put("staffId", userEntity.getStaffId());
}
userEntity.setLoginTime(System.currentTimeMillis());
userEntity.setToken(IdUtil.fastSimpleUUID());
userEntity.setExpireTime(DateUtils.addCurrDate(7).getTime());
String token = authTokenService.createToken(userEntity);
data.put("token", token);
ret.put(KEY_RESULT_DATA, data);
ret.put(KEY_RESULT_CODE, VALUE_RESULT_SUCCESS);
ret.put(KEY_RESULT_MSG, "用户登录系统成功!");
return ret.toJSONString();
}
}
@RequestMapping("getPhoneNumber")
public String getPhoneNumber(@RequestBody JSONObject obj){
JSONObject ret = new JSONObject();
String tokenUrl =String.format("https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=%s&secret=%s",AppId,AppSecret);
JSONObject token = JSONObject.parseObject(HttpUtil.createGet(tokenUrl).execute().body());
log.info("微信的返回值{}", token);
String url = "https://api.weixin.qq.com/wxa/business/getuserphonenumber?access_token="+token.getString("access_token");
JSONObject param =new JSONObject();
param.put("code",obj.getString("code"));
String body = HttpUtil.createPost(url)
.contentType("application/json").body(param.toJSONString()).execute().body();
log.info("微信的返回值{}", body);
JSONObject jsonObject = JSONObject.parseObject(body);
if(jsonObject.getIntValue("errcode")==0){
JSONObject data = new JSONObject();
String phoneNumber = jsonObject.getJSONObject("phone_info").getString("phoneNumber");
data.put("phoneNumber", phoneNumber);
//UserEntity userEntity = this.getContext().getUser().getId();
if(this.getContext()!=null && this.getContext().getUser()!=null){
UserEntity userEntity = userService.get(this.getContext().getUser().getId());
if(userEntity!=null){
StaffEntity staffEntity = staffService.selectOne(new StaffQuery().phoneNumber(phoneNumber));
if(staffEntity!=null){
userEntity.setStaffId(staffEntity.getId());
data.put("staffId", staffEntity.getId());
data.put("staff",staffEntity);
}else {
data.put("staffId", -1);
}
userEntity.setPhone(phoneNumber);
userEntity.setUpdateTime(new Date());
userEntity.setUpdateUserId(userEntity.getId());
userService.update(userEntity);
}
}
ret.put(KEY_RESULT_DATA, data);
ret.put(KEY_RESULT_CODE, VALUE_RESULT_SUCCESS);
ret.put(KEY_RESULT_MSG, "用户登录系统成功!");
return ret.toJSONString();
}else {
ret.put(KEY_RESULT_CODE, VALUE_RESULT_FAILURE);
ret.put(KEY_RESULT_MSG, jsonObject.getString("errmsg"));
ret.put("errcode", jsonObject.getIntValue("errcode"));
return ret.toJSONString();
}
}
@Override
public void afterPropertiesSet() throws Exception {
}
}
......@@ -118,4 +118,12 @@ public interface UserService extends ICRUDService<UserEntity,Long> {
UserDao getUserDao();
/***
* 微信小程序登录 openId未绑定则创建新用户
* @param openId
* @param ip
* @return
*/
UserEntity wechatLogin(String openId,String ip);
}
\ No newline at end of file
......@@ -332,4 +332,27 @@ public class UserServiceImpl extends AbstractCRUDServiceImpl<UserDao, UserEntity
super.removeAfter(ids, context, result);
}
@Override
public UserEntity wechatLogin(String openId,String ip) {
UserEntity userEntity = this.selectOne(new UserQuery().openId(openId));
if(userEntity == null){
userEntity = new UserEntity();
userEntity.setStatus(1);
userEntity.setOpenId(openId);
userEntity.setUserType(1);
userEntity.setRealName("微信小程序访客");
userEntity.setCreateTime(new Date());
userEntity.setCreateUserId(1L);
userEntity.setCreateUserName("系统管理员");
userEntity.setLastLoginTime(userEntity.getCreateTime());
userEntity.setLastLoginAddress(ip);
this.save(userEntity);
}else {
userEntity.setLastLoginAddress(ip);
userEntity.setLastLoginTime(new Date());
this.update(userEntity);
}
return userEntity;
}
}
\ No newline at end of file
package com.mortals.xhx.common.utils;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
public class HttpUtils {
public static String getRequest(String httpurl) {
HttpURLConnection connection = null;
InputStream is = null;
BufferedReader br = null;
String result = null;// 返回结果字符串
try {
// 创建远程url连接对象
URL url = new URL(httpurl);
// 通过远程url连接对象打开一个连接,强转成httpURLConnection类
connection = (HttpURLConnection) url.openConnection();
// 设置连接方式:get
connection.setRequestMethod("GET");
// 设置连接主机服务器的超时时间:15000毫秒
connection.setConnectTimeout(15000);
// 设置读取远程返回的数据时间:60000毫秒
connection.setReadTimeout(60000);
// 发送请求
connection.connect();
// 通过connection连接,获取输入流
if (connection.getResponseCode() == 200) {
is = connection.getInputStream();
// 封装输入流is,并指定字符集
br = new BufferedReader(new InputStreamReader(is, "UTF-8"));
// 存放数据
StringBuffer sbf = new StringBuffer();
String temp = null;
while ((temp = br.readLine()) != null) {
sbf.append(temp);
sbf.append("\r\n");
}
result = sbf.toString();
}
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
// 关闭资源
if (null != br) {
try {
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (null != is) {
try {
is.close();
} catch (IOException e) {
e.printStackTrace();
}
}
connection.disconnect();// 关闭远程连接
}
return result;
}
}
package com.mortals.xhx.common.utils;
public class WechatTools {
public static String getOpenid(String code,String appid,String secret) {
// 调用接口必要的参数
StringBuilder data=new StringBuilder();
// appid、secret定义在配置文件中,注入到项目里
data.append("appid="+appid+"&");
data.append("secret="+ secret+"&");
data.append("js_code="+ code+"&");
data.append("grant_type="+ "authorization_code");
String response = HttpUtils.getRequest("https://api.weixin.qq.com/sns/jscode2session?" + data);
return response;
}
}
......@@ -14,7 +14,7 @@ import lombok.Data;
* 名片基本信息实体对象
*
* @author zxfei
* @date 2023-10-10
* @date 2024-11-19
*/
@Data
public class BussinesscardEntity extends BussinesscardVo {
......@@ -100,6 +100,10 @@ public class BussinesscardEntity extends BussinesscardVo {
* 发送名片次数
*/
private Integer sendBusinessCardTimes;
/**
* 名片展示设置
*/
private String setting;
@Override
public int hashCode() {
return this.getId().hashCode();
......@@ -137,5 +141,6 @@ public class BussinesscardEntity extends BussinesscardVo {
this.sumViews = 0;
this.viewsByDay = 0;
this.sendBusinessCardTimes = 0;
this.setting = "";
}
}
\ No newline at end of file
......@@ -7,7 +7,7 @@ import com.mortals.xhx.module.bussinesscard.model.BussinesscardEntity;
* 名片基本信息查询对象
*
* @author zxfei
* @date 2023-10-10
* @date 2024-11-19
*/
public class BussinesscardQuery extends BussinesscardEntity {
/** 开始 序号,主键,自增长 */
......@@ -171,6 +171,21 @@ public class BussinesscardQuery extends BussinesscardEntity {
/** 当日查看次数排除列表 */
private List <Integer> viewsByDayNotList;
/** 开始 发送名片次数 */
private Integer sendBusinessCardTimesStart;
/** 结束 发送名片次数 */
private Integer sendBusinessCardTimesEnd;
/** 增加 发送名片次数 */
private Integer sendBusinessCardTimesIncrement;
/** 发送名片次数列表 */
private List <Integer> sendBusinessCardTimesList;
/** 发送名片次数排除列表 */
private List <Integer> sendBusinessCardTimesNotList;
/** 开始 创建用户 */
private Long createUserIdStart;
......@@ -213,21 +228,11 @@ public class BussinesscardQuery extends BussinesscardEntity {
/** 结束 更新时间 */
private String updateTimeEnd;
/** 开始 发送名片次数 */
private Integer sendBusinessCardTimesStart;
/** 结束 发送名片次数 */
private Integer sendBusinessCardTimesEnd;
/** 增加 发送名片次数 */
private Integer sendBusinessCardTimesIncrement;
/** 发送名片次数列表 */
private List <Integer> sendBusinessCardTimesList;
/** 发送名片次数排除列表 */
private List <Integer> sendBusinessCardTimesNotList;
/** 名片展示设置 */
private List<String> settingList;
/** 名片展示设置排除列表 */
private List <String> settingNotList;
/** OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4) */
private List<BussinesscardQuery> orConditionList;
......@@ -1170,6 +1175,87 @@ public class BussinesscardQuery extends BussinesscardEntity {
}
/**
* 获取 开始 发送名片次数
* @return sendBusinessCardTimesStart
*/
public Integer getSendBusinessCardTimesStart(){
return this.sendBusinessCardTimesStart;
}
/**
* 设置 开始 发送名片次数
* @param sendBusinessCardTimesStart
*/
public void setSendBusinessCardTimesStart(Integer sendBusinessCardTimesStart){
this.sendBusinessCardTimesStart = sendBusinessCardTimesStart;
}
/**
* 获取 结束 发送名片次数
* @return $sendBusinessCardTimesEnd
*/
public Integer getSendBusinessCardTimesEnd(){
return this.sendBusinessCardTimesEnd;
}
/**
* 设置 结束 发送名片次数
* @param sendBusinessCardTimesEnd
*/
public void setSendBusinessCardTimesEnd(Integer sendBusinessCardTimesEnd){
this.sendBusinessCardTimesEnd = sendBusinessCardTimesEnd;
}
/**
* 获取 增加 发送名片次数
* @return sendBusinessCardTimesIncrement
*/
public Integer getSendBusinessCardTimesIncrement(){
return this.sendBusinessCardTimesIncrement;
}
/**
* 设置 增加 发送名片次数
* @param sendBusinessCardTimesIncrement
*/
public void setSendBusinessCardTimesIncrement(Integer sendBusinessCardTimesIncrement){
this.sendBusinessCardTimesIncrement = sendBusinessCardTimesIncrement;
}
/**
* 获取 发送名片次数
* @return sendBusinessCardTimesList
*/
public List<Integer> getSendBusinessCardTimesList(){
return this.sendBusinessCardTimesList;
}
/**
* 设置 发送名片次数
* @param sendBusinessCardTimesList
*/
public void setSendBusinessCardTimesList(List<Integer> sendBusinessCardTimesList){
this.sendBusinessCardTimesList = sendBusinessCardTimesList;
}
/**
* 获取 发送名片次数
* @return sendBusinessCardTimesNotList
*/
public List<Integer> getSendBusinessCardTimesNotList(){
return this.sendBusinessCardTimesNotList;
}
/**
* 设置 发送名片次数
* @param sendBusinessCardTimesNotList
*/
public void setSendBusinessCardTimesNotList(List<Integer> sendBusinessCardTimesNotList){
this.sendBusinessCardTimesNotList = sendBusinessCardTimesNotList;
}
/**
* 获取 开始 创建用户
* @return createUserIdStart
......@@ -1397,86 +1483,37 @@ public class BussinesscardQuery extends BussinesscardEntity {
}
/**
* 获取 开始 发送名片次数
* @return sendBusinessCardTimesStart
*/
public Integer getSendBusinessCardTimesStart(){
return this.sendBusinessCardTimesStart;
}
/**
* 设置 开始 发送名片次数
* @param sendBusinessCardTimesStart
*/
public void setSendBusinessCardTimesStart(Integer sendBusinessCardTimesStart){
this.sendBusinessCardTimesStart = sendBusinessCardTimesStart;
}
/**
* 获取 结束 发送名片次数
* @return $sendBusinessCardTimesEnd
*/
public Integer getSendBusinessCardTimesEnd(){
return this.sendBusinessCardTimesEnd;
}
/**
* 设置 结束 发送名片次数
* @param sendBusinessCardTimesEnd
*/
public void setSendBusinessCardTimesEnd(Integer sendBusinessCardTimesEnd){
this.sendBusinessCardTimesEnd = sendBusinessCardTimesEnd;
}
/**
* 获取 增加 发送名片次数
* @return sendBusinessCardTimesIncrement
*/
public Integer getSendBusinessCardTimesIncrement(){
return this.sendBusinessCardTimesIncrement;
}
/**
* 设置 增加 发送名片次数
* @param sendBusinessCardTimesIncrement
*/
public void setSendBusinessCardTimesIncrement(Integer sendBusinessCardTimesIncrement){
this.sendBusinessCardTimesIncrement = sendBusinessCardTimesIncrement;
}
/**
* 获取 发送名片次数
* @return sendBusinessCardTimesList
* 获取 名片展示设置
* @return settingList
*/
public List<Integer> getSendBusinessCardTimesList(){
return this.sendBusinessCardTimesList;
public List<String> getSettingList(){
return this.settingList;
}
/**
* 设置 发送名片次数
* @param sendBusinessCardTimesList
* 设置 名片展示设置
* @param settingList
*/
public void setSendBusinessCardTimesList(List<Integer> sendBusinessCardTimesList){
this.sendBusinessCardTimesList = sendBusinessCardTimesList;
public void setSettingList(List<String> settingList){
this.settingList = settingList;
}
/**
* 获取 发送名片次数
* @return sendBusinessCardTimesNotList
* 获取 名片展示设置
* @return settingNotList
*/
public List<Integer> getSendBusinessCardTimesNotList(){
return this.sendBusinessCardTimesNotList;
public List<String> getSettingNotList(){
return this.settingNotList;
}
/**
* 设置 发送名片次数
* @param sendBusinessCardTimesNotList
* 设置 名片展示设置
* @param settingNotList
*/
public void setSendBusinessCardTimesNotList(List<Integer> sendBusinessCardTimesNotList){
this.sendBusinessCardTimesNotList = sendBusinessCardTimesNotList;
public void setSettingNotList(List<String> settingNotList){
this.settingNotList = settingNotList;
}
/**
* 设置 序号,主键,自增长
* @param id
......@@ -2049,6 +2086,60 @@ public class BussinesscardQuery extends BussinesscardEntity {
return this;
}
/**
* 设置 发送名片次数
* @param sendBusinessCardTimes
*/
public BussinesscardQuery sendBusinessCardTimes(Integer sendBusinessCardTimes){
setSendBusinessCardTimes(sendBusinessCardTimes);
return this;
}
/**
* 设置 开始 发送名片次数
* @param sendBusinessCardTimesStart
*/
public BussinesscardQuery sendBusinessCardTimesStart(Integer sendBusinessCardTimesStart){
this.sendBusinessCardTimesStart = sendBusinessCardTimesStart;
return this;
}
/**
* 设置 结束 发送名片次数
* @param sendBusinessCardTimesEnd
*/
public BussinesscardQuery sendBusinessCardTimesEnd(Integer sendBusinessCardTimesEnd){
this.sendBusinessCardTimesEnd = sendBusinessCardTimesEnd;
return this;
}
/**
* 设置 增加 发送名片次数
* @param sendBusinessCardTimesIncrement
*/
public BussinesscardQuery sendBusinessCardTimesIncrement(Integer sendBusinessCardTimesIncrement){
this.sendBusinessCardTimesIncrement = sendBusinessCardTimesIncrement;
return this;
}
/**
* 设置 发送名片次数
* @param sendBusinessCardTimesList
*/
public BussinesscardQuery sendBusinessCardTimesList(List<Integer> sendBusinessCardTimesList){
this.sendBusinessCardTimesList = sendBusinessCardTimesList;
return this;
}
/**
* 设置 发送名片次数
* @param sendBusinessCardTimesNotList
*/
public BussinesscardQuery sendBusinessCardTimesNotList(List<Integer> sendBusinessCardTimesNotList){
this.sendBusinessCardTimesNotList = sendBusinessCardTimesNotList;
return this;
}
/**
* 设置 创建用户
* @param createUserId
......@@ -2159,57 +2250,22 @@ public class BussinesscardQuery extends BussinesscardEntity {
}
/**
* 设置 发送名片次数
* @param sendBusinessCardTimes
*/
public BussinesscardQuery sendBusinessCardTimes(Integer sendBusinessCardTimes){
setSendBusinessCardTimes(sendBusinessCardTimes);
return this;
}
/**
* 设置 开始 发送名片次数
* @param sendBusinessCardTimesStart
*/
public BussinesscardQuery sendBusinessCardTimesStart(Integer sendBusinessCardTimesStart){
this.sendBusinessCardTimesStart = sendBusinessCardTimesStart;
return this;
}
/**
* 设置 结束 发送名片次数
* @param sendBusinessCardTimesEnd
*/
public BussinesscardQuery sendBusinessCardTimesEnd(Integer sendBusinessCardTimesEnd){
this.sendBusinessCardTimesEnd = sendBusinessCardTimesEnd;
return this;
}
/**
* 设置 增加 发送名片次数
* @param sendBusinessCardTimesIncrement
*/
public BussinesscardQuery sendBusinessCardTimesIncrement(Integer sendBusinessCardTimesIncrement){
this.sendBusinessCardTimesIncrement = sendBusinessCardTimesIncrement;
return this;
}
/**
* 设置 发送名片次数
* @param sendBusinessCardTimesList
* 设置 名片展示设置
* @param setting
*/
public BussinesscardQuery sendBusinessCardTimesList(List<Integer> sendBusinessCardTimesList){
this.sendBusinessCardTimesList = sendBusinessCardTimesList;
public BussinesscardQuery setting(String setting){
setSetting(setting);
return this;
}
/**
* 设置 发送名片次数
* @param sendBusinessCardTimesNotList
* 设置 名片展示设置
* @param settingList
*/
public BussinesscardQuery sendBusinessCardTimesNotList(List<Integer> sendBusinessCardTimesNotList){
this.sendBusinessCardTimesNotList = sendBusinessCardTimesNotList;
public BussinesscardQuery settingList(List<String> settingList){
this.settingList = settingList;
return this;
}
......
......@@ -25,15 +25,14 @@
<result property="remark" column="remark" />
<result property="sumViews" column="sumViews" />
<result property="viewsByDay" column="viewsByDay" />
<result property="sendBusinessCardTimes" column="sendBusinessCardTimes" />
<result property="createUserId" column="createUserId" />
<result property="createTime" column="createTime" />
<result property="updateUserId" column="updateUserId" />
<result property="updateTime" column="updateTime" />
<result property="sendBusinessCardTimes" column="sendBusinessCardTimes" />
<result property="setting" column="setting" />
</resultMap>
<!-- 表所有列 -->
<sql id="_columns">
<trim suffixOverrides="," suffix="">
......@@ -97,6 +96,9 @@
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('viewsByDay') or colPickMode == 1 and data.containsKey('viewsByDay')))">
a.viewsByDay,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('sendBusinessCardTimes') or colPickMode == 1 and data.containsKey('sendBusinessCardTimes')))">
a.sendBusinessCardTimes,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createUserId') or colPickMode == 1 and data.containsKey('createUserId')))">
a.createUserId,
</if>
......@@ -109,26 +111,26 @@
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('updateTime') or colPickMode == 1 and data.containsKey('updateTime')))">
a.updateTime,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('sendBusinessCardTimes') or colPickMode == 1 and data.containsKey('sendBusinessCardTimes')))">
a.sendBusinessCardTimes,
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('setting') or colPickMode == 1 and data.containsKey('setting')))">
a.setting,
</if>
</trim>
</sql>
<!-- 新增 区分主键自增加还是业务插入 -->
<insert id="insert" parameterType="BussinesscardEntity" useGeneratedKeys="true" keyProperty="id">
insert into mortals_xhx_bussinesscard
(staffId,staffName,name,gender,birthday,photoPath,email,phoneNumber,idCard,companyId,companyName,positionId,positionName,bio,socialMedia,qRCode,remark,sumViews,viewsByDay,createUserId,createTime,updateUserId,updateTime,sendBusinessCardTimes)
(staffId,staffName,name,gender,birthday,photoPath,email,phoneNumber,idCard,companyId,companyName,positionId,positionName,bio,socialMedia,qRCode,remark,sumViews,viewsByDay,sendBusinessCardTimes,createUserId,createTime,updateUserId,updateTime,setting)
VALUES
(#{staffId},#{staffName},#{name},#{gender},#{birthday},#{photoPath},#{email},#{phoneNumber},#{idCard},#{companyId},#{companyName},#{positionId},#{positionName},#{bio},#{socialMedia},#{qRCode},#{remark},#{sumViews},#{viewsByDay},#{createUserId},#{createTime},#{updateUserId},#{updateTime},#{sendBusinessCardTimes})
(#{staffId},#{staffName},#{name},#{gender},#{birthday},#{photoPath},#{email},#{phoneNumber},#{idCard},#{companyId},#{companyName},#{positionId},#{positionName},#{bio},#{socialMedia},#{qRCode},#{remark},#{sumViews},#{viewsByDay},#{sendBusinessCardTimes},#{createUserId},#{createTime},#{updateUserId},#{updateTime},#{setting})
</insert>
<!-- 批量新增 -->
<insert id="insertBatch" parameterType="paramDto">
insert into mortals_xhx_bussinesscard
(staffId,staffName,name,gender,birthday,photoPath,email,phoneNumber,idCard,companyId,companyName,positionId,positionName,bio,socialMedia,qRCode,remark,sumViews,viewsByDay,createUserId,createTime,updateUserId,updateTime,sendBusinessCardTimes)
(staffId,staffName,name,gender,birthday,photoPath,email,phoneNumber,idCard,companyId,companyName,positionId,positionName,bio,socialMedia,qRCode,remark,sumViews,viewsByDay,sendBusinessCardTimes,createUserId,createTime,updateUserId,updateTime,setting)
VALUES
<foreach collection="data.dataList" item="item" index="index" separator="," >
(#{item.staffId},#{item.staffName},#{item.name},#{item.gender},#{item.birthday},#{item.photoPath},#{item.email},#{item.phoneNumber},#{item.idCard},#{item.companyId},#{item.companyName},#{item.positionId},#{item.positionName},#{item.bio},#{item.socialMedia},#{item.qRCode},#{item.remark},#{item.sumViews},#{item.viewsByDay},#{item.createUserId},#{item.createTime},#{item.updateUserId},#{item.updateTime},#{item.sendBusinessCardTimes})
(#{item.staffId},#{item.staffName},#{item.name},#{item.gender},#{item.birthday},#{item.photoPath},#{item.email},#{item.phoneNumber},#{item.idCard},#{item.companyId},#{item.companyName},#{item.positionId},#{item.positionName},#{item.bio},#{item.socialMedia},#{item.qRCode},#{item.remark},#{item.sumViews},#{item.viewsByDay},#{item.sendBusinessCardTimes},#{item.createUserId},#{item.createTime},#{item.updateUserId},#{item.updateTime},#{item.setting})
</foreach>
</insert>
......@@ -210,6 +212,12 @@
<if test="(colPickMode==0 and data.containsKey('viewsByDayIncrement')) or (colPickMode==1 and !data.containsKey('viewsByDayIncrement'))">
a.viewsByDay=ifnull(a.viewsByDay,0) + #{data.viewsByDayIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('sendBusinessCardTimes')) or (colPickMode==1 and !data.containsKey('sendBusinessCardTimes'))">
a.sendBusinessCardTimes=#{data.sendBusinessCardTimes},
</if>
<if test="(colPickMode==0 and data.containsKey('sendBusinessCardTimesIncrement')) or (colPickMode==1 and !data.containsKey('sendBusinessCardTimesIncrement'))">
a.sendBusinessCardTimes=ifnull(a.sendBusinessCardTimes,0) + #{data.sendBusinessCardTimesIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('createUserId')) or (colPickMode==1 and !data.containsKey('createUserId'))">
a.createUserId=#{data.createUserId},
</if>
......@@ -228,11 +236,8 @@
<if test="(colPickMode==0 and data.containsKey('updateTime')) or (colPickMode==1 and !data.containsKey('updateTime'))">
a.updateTime=#{data.updateTime},
</if>
<if test="(colPickMode==0 and data.containsKey('sendBusinessCardTimes')) or (colPickMode==1 and !data.containsKey('sendBusinessCardTimes'))">
a.sendBusinessCardTimes=#{data.sendBusinessCardTimes},
</if>
<if test="(colPickMode==0 and data.containsKey('sendBusinessCardTimesIncrement')) or (colPickMode==1 and !data.containsKey('sendBusinessCardTimesIncrement'))">
a.sendBusinessCardTimes=ifnull(a.sendBusinessCardTimes,0) + #{data.sendBusinessCardTimesIncrement},
<if test="(colPickMode==0 and data.containsKey('setting')) or (colPickMode==1 and !data.containsKey('setting'))">
a.setting=#{data.setting},
</if>
</trim>
<trim suffixOverrides="where" suffix="">
......@@ -404,6 +409,18 @@
</choose>
</foreach>
</trim>
<trim prefix="sendBusinessCardTimes=(case" suffix="ELSE sendBusinessCardTimes end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('sendBusinessCardTimes')) or (colPickMode==1 and !item.containsKey('sendBusinessCardTimes'))">
when a.id=#{item.id} then #{item.sendBusinessCardTimes}
</when>
<when test="(colPickMode==0 and item.containsKey('sendBusinessCardTimesIncrement')) or (colPickMode==1 and !item.containsKey('sendBusinessCardTimesIncrement'))">
when a.id=#{item.id} then ifnull(a.sendBusinessCardTimes,0) + #{item.sendBusinessCardTimesIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="createUserId=(case" suffix="ELSE createUserId end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
......@@ -442,16 +459,11 @@
</if>
</foreach>
</trim>
<trim prefix="sendBusinessCardTimes=(case" suffix="ELSE sendBusinessCardTimes end),">
<trim prefix="setting=(case" suffix="ELSE setting end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('sendBusinessCardTimes')) or (colPickMode==1 and !item.containsKey('sendBusinessCardTimes'))">
when a.id=#{item.id} then #{item.sendBusinessCardTimes}
</when>
<when test="(colPickMode==0 and item.containsKey('sendBusinessCardTimesIncrement')) or (colPickMode==1 and !item.containsKey('sendBusinessCardTimesIncrement'))">
when a.id=#{item.id} then ifnull(a.sendBusinessCardTimes,0) + #{item.sendBusinessCardTimesIncrement}
</when>
</choose>
<if test="(colPickMode==0 and item.containsKey('setting')) or (colPickMode==1 and !item.containsKey('setting'))">
when a.id=#{item.id} then #{item.setting}
</if>
</foreach>
</trim>
</trim>
......@@ -565,6 +577,10 @@
<!-- 条件映射-代参数 -->
<sql id="_condition_param_">
<bind name="conditionParamRef" value="${_conditionParam_}"/>
<if test="permissionSql != null and permissionSql != ''">
${permissionSql}
</if>
<if test="conditionParamRef.containsKey('id')">
<if test="conditionParamRef.id != null">
${_conditionType_} a.id=#{${_conditionParam_}.id}
......@@ -1020,6 +1036,33 @@
${_conditionType_} a.viewsByDay <![CDATA[ <= ]]> #{${_conditionParam_}.viewsByDayEnd}
</if>
<if test="conditionParamRef.containsKey('sendBusinessCardTimes')">
<if test="conditionParamRef.sendBusinessCardTimes != null ">
${_conditionType_} a.sendBusinessCardTimes = #{${_conditionParam_}.sendBusinessCardTimes}
</if>
<if test="conditionParamRef.sendBusinessCardTimes == null">
${_conditionType_} a.sendBusinessCardTimes is null
</if>
</if>
<if test="conditionParamRef.containsKey('sendBusinessCardTimesList') and conditionParamRef.sendBusinessCardTimesList.size() > 0">
${_conditionType_} a.sendBusinessCardTimes in
<foreach collection="conditionParamRef.sendBusinessCardTimesList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('sendBusinessCardTimesNotList') and conditionParamRef.sendBusinessCardTimesNotList.size() > 0">
${_conditionType_} a.sendBusinessCardTimes not in
<foreach collection="conditionParamRef.sendBusinessCardTimesNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('sendBusinessCardTimesStart') and conditionParamRef.sendBusinessCardTimesStart != null">
${_conditionType_} a.sendBusinessCardTimes <![CDATA[ >= ]]> #{${_conditionParam_}.sendBusinessCardTimesStart}
</if>
<if test="conditionParamRef.containsKey('sendBusinessCardTimesEnd') and conditionParamRef.sendBusinessCardTimesEnd != null">
${_conditionType_} a.sendBusinessCardTimes <![CDATA[ <= ]]> #{${_conditionParam_}.sendBusinessCardTimesEnd}
</if>
<if test="conditionParamRef.containsKey('createUserId')">
<if test="conditionParamRef.createUserId != null ">
${_conditionType_} a.createUserId = #{${_conditionParam_}.createUserId}
......@@ -1104,33 +1147,27 @@
<if test="conditionParamRef.containsKey('updateTimeEnd') and conditionParamRef.updateTimeEnd != null and conditionParamRef.updateTimeEnd!=''">
${_conditionType_} a.updateTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.updateTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('sendBusinessCardTimes')">
<if test="conditionParamRef.sendBusinessCardTimes != null ">
${_conditionType_} a.sendBusinessCardTimes = #{${_conditionParam_}.sendBusinessCardTimes}
<if test="conditionParamRef.containsKey('setting')">
<if test="conditionParamRef.setting != null and conditionParamRef.setting != ''">
${_conditionType_} a.setting like #{${_conditionParam_}.setting}
</if>
<if test="conditionParamRef.sendBusinessCardTimes == null">
${_conditionType_} a.sendBusinessCardTimes is null
<if test="conditionParamRef.setting == null">
${_conditionType_} a.setting is null
</if>
</if>
<if test="conditionParamRef.containsKey('sendBusinessCardTimesList') and conditionParamRef.sendBusinessCardTimesList.size() > 0">
${_conditionType_} a.sendBusinessCardTimes in
<foreach collection="conditionParamRef.sendBusinessCardTimesList" open="(" close=")" index="index" item="item" separator=",">
<if test="conditionParamRef.containsKey('settingList') and conditionParamRef.settingList.size() > 0">
${_conditionType_} a.setting in
<foreach collection="conditionParamRef.settingList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('sendBusinessCardTimesNotList') and conditionParamRef.sendBusinessCardTimesNotList.size() > 0">
${_conditionType_} a.sendBusinessCardTimes not in
<foreach collection="conditionParamRef.sendBusinessCardTimesNotList" open="(" close=")" index="index" item="item" separator=",">
<if test="conditionParamRef.containsKey('settingNotList') and conditionParamRef.settingNotList.size() > 0">
${_conditionType_} a.setting not in
<foreach collection="conditionParamRef.settingNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('sendBusinessCardTimesStart') and conditionParamRef.sendBusinessCardTimesStart != null">
${_conditionType_} a.sendBusinessCardTimes <![CDATA[ >= ]]> #{${_conditionParam_}.sendBusinessCardTimesStart}
</if>
<if test="conditionParamRef.containsKey('sendBusinessCardTimesEnd') and conditionParamRef.sendBusinessCardTimesEnd != null">
${_conditionType_} a.sendBusinessCardTimes <![CDATA[ <= ]]> #{${_conditionParam_}.sendBusinessCardTimesEnd}
</if>
</sql>
<sql id="_orderCols_">
<if test="orderColList != null and !orderColList.isEmpty()">
......@@ -1177,6 +1214,13 @@
</foreach>
,
</if>
<if test="conditionParamRef.containsKey('sendBusinessCardTimesList') and conditionParamRef.sendBusinessCardTimesList.size() > 0">
field(a.sendBusinessCardTimes,
<foreach collection="conditionParamRef.sendBusinessCardTimesList" open="" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
,
</if>
<if test="conditionParamRef.containsKey('createUserIdList') and conditionParamRef.createUserIdList.size() > 0">
field(a.createUserId,
<foreach collection="conditionParamRef.createUserIdList" open="" close=")" index="index" item="item" separator=",">
......@@ -1191,13 +1235,6 @@
</foreach>
,
</if>
<if test="conditionParamRef.containsKey('sendBusinessCardTimesList') and conditionParamRef.sendBusinessCardTimesList.size() > 0">
field(a.sendBusinessCardTimes,
<foreach collection="conditionParamRef.sendBusinessCardTimesList" open="" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
,
</if>
<trim suffixOverrides="," suffix="">
<foreach collection="orderColList" open="" close="" index="index" item="item" separator=",">
a.${item.colName} ${item.sortKind}
......@@ -1248,6 +1285,13 @@
</foreach>
,
</if>
<if test="conditionParamRef.containsKey('sendBusinessCardTimesList') and conditionParamRef.sendBusinessCardTimesList.size() > 0">
field(a.sendBusinessCardTimes,
<foreach collection="conditionParamRef.sendBusinessCardTimesList" open="" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
,
</if>
<if test="conditionParamRef.containsKey('createUserIdList') and conditionParamRef.createUserIdList.size() > 0">
field(a.createUserId,
<foreach collection="conditionParamRef.createUserIdList" open="" close=")" index="index" item="item" separator=",">
......@@ -1262,13 +1306,6 @@
</foreach>
,
</if>
<if test="conditionParamRef.containsKey('sendBusinessCardTimesList') and conditionParamRef.sendBusinessCardTimesList.size() > 0">
field(a.sendBusinessCardTimes,
<foreach collection="conditionParamRef.sendBusinessCardTimesList" open="" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
,
</if>
<trim suffixOverrides="," suffix="">
<if test="orderCol.containsKey('id')">
a.id
......@@ -1370,6 +1407,11 @@
<if test='orderCol.viewsByDay != null and "DESC".equalsIgnoreCase(orderCol.viewsByDay)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('sendBusinessCardTimes')">
a.sendBusinessCardTimes
<if test='orderCol.sendBusinessCardTimes != null and "DESC".equalsIgnoreCase(orderCol.sendBusinessCardTimes)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('createUserId')">
a.createUserId
<if test='orderCol.createUserId != null and "DESC".equalsIgnoreCase(orderCol.createUserId)'>DESC</if>
......@@ -1390,9 +1432,9 @@
<if test='orderCol.updateTime != null and "DESC".equalsIgnoreCase(orderCol.updateTime)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('sendBusinessCardTimes')">
a.sendBusinessCardTimes
<if test='orderCol.sendBusinessCardTimes != null and "DESC".equalsIgnoreCase(orderCol.sendBusinessCardTimes)'>DESC</if>
<if test="orderCol.containsKey('setting')">
a.setting
<if test='orderCol.setting != null and "DESC".equalsIgnoreCase(orderCol.setting)'>DESC</if>
,
</if>
</trim>
......
......@@ -61,6 +61,7 @@
<result property="updateUserId" column="updateUserId" />
<result property="updateTime" column="updateTime" />
<result property="sendBusinessCardTimes" column="sendBusinessCardTimes" />
<result property="setting" column="setting" />
</resultMap>
......@@ -156,7 +157,7 @@
<!-- 子表所有列 -->
<sql id="_columns_sub">
<trim suffixOverrides="," suffix="">
b.id,b.staffId,b.staffName,b.name,b.gender,b.birthday,b.photoPath,b.email,b.phoneNumber,b.idCard,b.companyId,b.companyName,b.positionId,b.positionName,b.bio,b.socialMedia,b.qRCode,b.remark,b.sumViews,b.viewsByDay,b.createUserId,b.createTime,b.updateUserId,b.updateTime,b.sendBusinessCardTimes,
b.id,b.staffId,b.staffName,b.name,b.gender,b.birthday,b.photoPath,b.email,b.phoneNumber,b.idCard,b.companyId,b.companyName,b.positionId,b.positionName,b.bio,b.socialMedia,b.qRCode,b.remark,b.sumViews,b.viewsByDay,b.createUserId,b.createTime,b.updateUserId,b.updateTime,b.sendBusinessCardTimes,b.setting,
</trim>
</sql>
<!-- 新增 区分主键自增加还是业务插入 -->
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment